Initialization failed to converge charge update


Hi, I am simulate the voltage-current characteristics of a P-N junctions based on relatively complicated III-V layers. But the solver always says that “The program terminated due to an error: Initialization failed to converge charge update” and “there was an unknown parallel error. The error code is 9002, the process number is 0”. I know the same question also emerged in other people’s simulation in this community and I have tried to refine the mesh by adding the refine steps and optimizing the edge length. But this usually took too much time to get a result and it still failed. I have read your answers on similar questions for other people but I still can’t find the solution for my case. Can you help me solve this problem? The simulated file is attached. Thank you very much.


Hi @lei.liu, I noticed that in your file the work function for all the semiconductors that you have created are set to zero. Try to set the work functions to real (nonzero) values and see if that helps. Another thing that I noticed is that you have layers named barrier and well. This tells me that you are designing a structure with quantum wells. Please note that currently the CHARGE solver does not have a quantum mechanical model to calculate the energy levels and therefore the transport in quantum wells.


Hi Aalam,
Thank you for your response. The work functions of binary alloys are shown in the material library, but those of the ternary alloys are not shown in the “Visualize” on their material properties window. Are the work functions of ternary alloys determined by linear interpolation of two binary alloys? When we build the Quaternary alloys, will their work function be automatically calculated by the interpolation of their base semiconductors? In addition, when I delete all the other layers and only reserve the QW and QB layers as well as the upper and down electrodes, the simulation of V-I characteristics can be finished. Since the Device Solver cann’t solve the quantum mechanical model, does it means that the result is inaccurate? Thank you.


Hi @lei.liu,

My apologies for the tardy reply. The work function of an alloy is calculated as a linear interpolation of the two semiconductors used to create that alloy. However, as you have mentioned, the work function can not be visualized from the material database. When you create a ternary alloy, you use two binary alloys as semiconductor A and B and their work function gets interpolated to calculate the work function of the ternary alloy (for a given value of alloy fraction, x). Similarly, when you create a quaternary alloy, you first have to create a new semiconductor for the ternary alloy (How to make a quaternary alloy). You have to define a work function for this ternary alloy “semiconductor” based on your choice of x. Then when you use the quaternary alloy in the simulation, its work function will be calculated by linear interpolation based on the work function of the ternary and binary alloys.

Unfortunately that should be the case. The CHARGE solver will be able to calculate the thermionic current going over the barriers but it will not be able to calculate any tunneling current through the barriers. Also if the band structure of the quantum wells are different from the bulk nature of the material then the CHARGE solver will not be able to model that as well.


Thank you very much for the detailed answer.

Lei Liu