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;
|
model->DIOtranTimeTemp2 = 0.0;
|
||||||
}
|
}
|
||||||
if(!model->DIOjunctionCapGiven) {
|
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) {
|
if(!model->DIOjunctionSWCapGiven) {
|
||||||
model->DIOjunctionSWCap = 0;
|
model->DIOjunctionSWCap = 0;
|
||||||
|
|
@ -210,10 +223,12 @@ DIOsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
|
||||||
if((!model->DIOresistGiven) || (model->DIOresist==0)) {
|
if((!model->DIOresistGiven) || (model->DIOresist==0)) {
|
||||||
if (newcompat.ps || newcompat.lt) {
|
if (newcompat.ps || newcompat.lt) {
|
||||||
double rsdiode = 0.;
|
double rsdiode = 0.;
|
||||||
if (cp_getvar("rsdiode", CP_REAL, &rsdiode, 0) && rsdiode > 0) {
|
/* to improve convergence (sometimes) */
|
||||||
model->DIOconductance = 1./rsdiode; /* sometimes improves convergence */
|
if (cp_getvar("diode_rser", CP_REAL, &rsdiode, 0) && rsdiode > 0) {
|
||||||
|
model->DIOconductance = 1./rsdiode;
|
||||||
|
model->DIOresist = rsdiode;
|
||||||
if (ft_ngdebug)
|
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
|
else
|
||||||
model->DIOconductance = 0.0;
|
model->DIOconductance = 0.0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue