On May 10, 2012, at 6:36 AM, jimmy.123 wrote: > I am trying to solve the drift-diffusion equations of electrons and holes in > a semiconductor, in which Scharfetter-Gummel discretization is needed. Hence, > I would like to kindly ask whether it is possible for you (or one related) to > provide me one script to solve the drift-diffusion equations or a script to > calculate the current density from carrier density and electric field by > using Scharfetter-Gummel discretization? (I supposed it is possible because I > saw in one previous reply it was mentioned request of the script was > possible). > > If there is no available script at present, could you please provide an > example on the scharfetterGummelFaceVariable module so that I can understand > it and make further changes based on it?
I've posted a script that I wrote quite awhile ago to http://matforge.org/fipy/wiki/ScharfetterGummel. It's not the way my current PV codes work, but they require a much more complicated infrastructure that I'm not quite ready to release yet. Although that script still runs with FiPy 2.1, it diverges with the PySparse solvers and the current is not stable when using the Trilinos solvers. I don't have time to diagnose why, but the code should at least give you an idea of how to go about it. In this case, I implemented Scharfetter-Gummel as an interpolation scheme. It calculates the concentration at a face based on the Fermi levels in the neighboring cells. This is a little bit different from the more typical presentation of Scharfetter-Gummel as a specialized discretization of the fluxes, but the end effect is essentially the same. _______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
