Transient Solver Convergence



Hi I trying to look at transient response of a device, similar to the InP UTC structure. The issue I’m having is that the solver initializes but it seems that no matter how small I make the minimum time step the first step does not converge. The transient BC is almost identical to that of the utc_ssac.ldev file (a -5V bias with a small ac voltage).
So basically even though the time step on the electrical contact is 5000 fs, the solver doesn’t converge after the first time step of as low as 10 fs.

Any input that would help me understand this would be appreciated.

DEVICE transient 模擬一直錯誤
DEVICE transient 模擬一直錯誤

The first thing I would ask to check is to make sure that the simulation works in steady state. Try running a steady state simulation and vary the bias from 0 to -5 V and see if the simulation converges. Once that works, then switch to transient simulation. To make the initialization easier, you can use the result from your steady state simulation as an initial guess for the transient simulation as discussed here.

Regarding the minimum step size, the energy relaxation time for semiconductors is about 200 to 1000 fs. The min aloowed time step is limited by this number. So a time step of 10 fs will not give you accurate results. Generally speaking, the min time step should be at least 500 fs in my understanding.


Hi sorry for not responding in a while. The simulation does work in steady state mode as expected. I realized the time steps I was using were a bit absurd but I was not sure what else to try to make it converge.

I have noticed though that even the InP UTC example does not converge on the first time step. I’ve tried this a two different computers without any modifications to the file downloaded from the application page here:

I believe I was able to run this at some point in the past. Perhaps you can provide some insight on this as well.

Thanks again for your reply.


Hi. You are right. I have checked the transient simulation example file for the UTC PD and it does fail to run in the current version. The same example does run with the older version of DEVICE (which is probably what you were referring to when you said that you were able to do it in the past). It looks like that there might be an issue with the latest version of DEVICE that is creating this problem (most likely related to the meshing). I will look into this problem and get back to you. If the problem with the online example gets fixed then may be it will solve the issue with your design as well. In the mean time, if you would like to keep on working by yourself, then I would recommend trying to run the simulation with finer mesh.