cogenda / pyEDA

A python framework for EDA applications.
http://www.cogenda.com
34 stars 16 forks source link

Convergence issue with modified diode example #2

Closed arvindajoy closed 12 years ago

arvindajoy commented 12 years ago

Hi

I have been looking into pyEDA to better understand the Genius code. I am trying to run a modified version of the diode example. The diode provided as an example is a P-N diode ( net doping Nd- Na = C < 0 for x < 0). This example runs well. However, when I change the structure into an N-P diode (C > 0 for x < 0), I get warnings regarding a singular jacobian matrix. The final result is junk.

I think I am missing something trivial. Does anyone have an idea as to what might be happening?

Regards Arvind Ajoy

arvindajoy commented 12 years ago

I have solved the above problem. By comparing against the mathfunc.h file provided with Genius, I find that there is a typo in line 486 of the file AutoDeriv.py. pd = (tmp - y_math.cosh(y))/(tmp_tmp) instead of pd = (z - y_math.cosh(y))/(z_z) With this change, both the N-P and P-N diodes converge nicely.

Thank you for releasing pyEDA and GSS/Genius under open licenses!

Regards Arvind