Transient simulation of Forward Bias PIN diode


I am trying to simulate transient response for a pulse input. Simulation runs till 100 % and shows non finite solution at N detected. Please suggest possible problems for this error


Hi @ee13s067,

Can you provide the simulation file?



Please find the attached google drive with setup. We have imported doping
data from Tsuprem4 process simulation…


Thanks for sharing the file! I’m not too sure what the issue is so I asked one of my colleagues to have a look. Thanks for your patience!


Hi @ee13s067, Thanks for waiting. I have taken a look at your file and found a couple of things that needed fixing.

  1. The top surface of the silicon layer on the n++ region was not getting doped. This sometime can happen if the solver fails to identify whether the edge of the semiconductor surface lies inside or outside the doping data. The way you can confirm this is by calculating the mesh and then plotting the absolute value of N to see if the value is zero anywhere.

To solve this problem I simply lowered the “waveguide” geometry by 1 nm (you can use an even smaller number) to ensure that the silicon top surface falls inside the imported doping data.

  1. The min time step in your transient setup was too small (100 fs). Even though this should not affect the convergence of the solver (in most cases), the drift-diffusion algorithm cannot model the mechanisms that takes place over such a small time scale. The min value that you can use and get accurate results is 1 ps (or may be 500 fs). I have changed the min time step to 1 ps in your file. I have also made the max time step slightly smaller as well.

  1. The last thing I changed was the “abs lte limit” and “rel lte limit” in the Transient tab. These parameters decide whether the solver will switch to a larger time step or not depending on the variation in the result between two consecutive time steps ( I have made this number larger to ensure that the solver does speed up the simulation. You can make this number smaller if you’d like to keep the time steps smaller.

With these changes the simulation should run fine. Let me know if you still have problems.