From db85dead588a51969af27b46382816ad4ac7711b Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sun, 7 Jul 2019 12:24:01 +0200 Subject: [PATCH] Revert "dio/diotemp.c, drop DIOgradingCoeff limit" This reverts commit 5542f2ec108c6069a38922c1cbfbb806fdb24f71. --- src/spicelib/devices/dio/diotemp.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/spicelib/devices/dio/diotemp.c b/src/spicelib/devices/dio/diotemp.c index 10b6b370d..8853d70ec 100644 --- a/src/spicelib/devices/dio/diotemp.c +++ b/src/spicelib/devices/dio/diotemp.c @@ -38,6 +38,13 @@ DIOtemp(GENmodel *inModel, CKTcircuit *ckt) model->DIOnomTemp = ckt->CKTnomTemp; } vtnom = CONSTKoverQ * model->DIOnomTemp; + /* limit grading coeff to max of .9 */ + if(model->DIOgradingCoeff>.9) { + SPfrontEnd->IFerrorf (ERR_WARNING, + "%s: grading coefficient too large, limited to 0.9", + model->DIOmodName); + model->DIOgradingCoeff=.9; + } /* limit activation energy to min of .1 */ if(model->DIOactivationEnergy<.1) { SPfrontEnd->IFerrorf (ERR_WARNING, @@ -87,6 +94,16 @@ DIOtemp(GENmodel *inModel, CKTcircuit *ckt) + (model->DIOgradCoeffTemp2 * dt * dt); here->DIOtGradingCoeff = model->DIOgradingCoeff * factor; + /* limit temperature adjusted grading coeff + * to max of .9 + */ + if(here->DIOtGradingCoeff>.9) { + SPfrontEnd->IFerrorf (ERR_WARNING, + "%s: temperature adjusted grading coefficient too large, limited to 0.9", + here->DIOname); + here->DIOtGradingCoeff=.9; + } + vt = CONSTKoverQ * here->DIOtemp; /* this part gets really ugly - I won't even try to * explain these equations */