Streamline the simple diode model.
This commit is contained in:
parent
dc8c7db718
commit
a741ccf4e1
|
|
@ -131,7 +131,9 @@ void cm_sidiode(ARGS) /* structure holding parms,
|
|||
|
||||
if (INIT==1) { /* First pass...allocate memory and calculate some constants... */
|
||||
|
||||
double grev, goff, gon, Va, Vb, Vc, Vd, hEpsilon, hRevepsilon;
|
||||
double grev, goff, gon, Va, Vb, Vc, Vd;
|
||||
double lEpsilon = PARAM(epsilon);
|
||||
double lRevepsilon = PARAM(revepsilon);
|
||||
|
||||
CALLBACK = cm_sidiode_callback;
|
||||
|
||||
|
|
@ -146,23 +148,21 @@ void cm_sidiode(ARGS) /* structure holding parms,
|
|||
else
|
||||
grev = 1./PARAM(rrev);
|
||||
|
||||
hRevepsilon = 0.5 * PARAM(revepsilon);
|
||||
loc->Va = Va = Vrev - PARAM(revepsilon); //hRevepsilon;
|
||||
loc->Vb = Vb = Vrev; //+ hRevepsilon;
|
||||
loc->Va = Va = Vrev - lRevepsilon;
|
||||
loc->Vb = Vb = Vrev;
|
||||
loc->a2 = grev/Revilimit;
|
||||
if(hRevepsilon > 0.0) {
|
||||
loc->a1 = (goff - grev)/PARAM(revepsilon);
|
||||
if(lRevepsilon > 0.0) {
|
||||
loc->a1 = (goff - grev)/lRevepsilon;
|
||||
loc->revepsi = MIF_TRUE;
|
||||
}
|
||||
else
|
||||
loc->revepsi = MIF_FALSE;
|
||||
|
||||
hEpsilon = 0.5 * PARAM(epsilon);
|
||||
loc->Vc = Vc = Vfwd; // - hEpsilon;
|
||||
loc->Vd = Vd = Vfwd + PARAM(epsilon); //hEpsilon;
|
||||
loc->Vc = Vc = Vfwd;
|
||||
loc->Vd = Vd = Vfwd + lEpsilon;
|
||||
loc->b2 = gon/Ilimit;
|
||||
if(hEpsilon > 0.0) {
|
||||
loc->b1 = (gon - goff)/PARAM(epsilon);
|
||||
if(lEpsilon > 0.0) {
|
||||
loc->b1 = (gon - goff)/lEpsilon;
|
||||
loc->epsi = MIF_TRUE;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue