Merge branch 'pre-master-44' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-44
This commit is contained in:
commit
b2802e5eb9
|
|
@ -79,7 +79,20 @@ DIOsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
|
|||
model->DIOtranTimeTemp2 = 0.0;
|
||||
}
|
||||
if(!model->DIOjunctionCapGiven) {
|
||||
model->DIOjunctionCap = 0;
|
||||
if (newcompat.ps || newcompat.lt) {
|
||||
double cdiode = 0.;
|
||||
/* to improve convergence (sometimes) */
|
||||
if (cp_getvar("diode_cj0", CP_REAL, &cdiode, 0) && cdiode > 0) {
|
||||
model->DIOjunctionCap = cdiode;
|
||||
if (ft_ngdebug)
|
||||
fprintf(stderr, "Diode junction capacitance in model %s set to %e F\n", model->gen.GENmodName, cdiode);
|
||||
}
|
||||
else
|
||||
model->DIOjunctionCap = 0.0;
|
||||
}
|
||||
else {
|
||||
model->DIOjunctionCap = 0.0;
|
||||
}
|
||||
}
|
||||
if(!model->DIOjunctionSWCapGiven) {
|
||||
model->DIOjunctionSWCap = 0;
|
||||
|
|
@ -210,10 +223,12 @@ DIOsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
|
|||
if((!model->DIOresistGiven) || (model->DIOresist==0)) {
|
||||
if (newcompat.ps || newcompat.lt) {
|
||||
double rsdiode = 0.;
|
||||
if (cp_getvar("rsdiode", CP_REAL, &rsdiode, 0) && rsdiode > 0) {
|
||||
model->DIOconductance = 1./rsdiode; /* sometimes improves convergence */
|
||||
/* to improve convergence (sometimes) */
|
||||
if (cp_getvar("diode_rser", CP_REAL, &rsdiode, 0) && rsdiode > 0) {
|
||||
model->DIOconductance = 1./rsdiode;
|
||||
model->DIOresist = rsdiode;
|
||||
if (ft_ngdebug)
|
||||
fprintf(stderr, "Diode series resistance in model %s set to 100 microOhm\n", model->gen.GENmodName);
|
||||
fprintf(stderr, "Diode series resistance in model %s set to %e Ohm\n", model->gen.GENmodName, rsdiode);
|
||||
}
|
||||
else
|
||||
model->DIOconductance = 0.0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue