VDMOS include thermal components into convtest

This commit is contained in:
dwarning 2020-03-15 09:47:58 +01:00 committed by Holger Vogt
parent 7b77a13d3d
commit 8c2bdd2f7a
1 changed files with 15 additions and 2 deletions

View File

@ -23,6 +23,8 @@ VDMOSconvTest(GENmodel *inModel, CKTcircuit *ckt)
double vgd;
double vgdo;
double tol;
int selfheat;
double delTemp, deldelTemp;
for( ; model != NULL; model = VDMOSnextModel(model)) {
for(here = VDMOSinstances(model); here!= NULL;
@ -41,18 +43,29 @@ VDMOSconvTest(GENmodel *inModel, CKTcircuit *ckt)
delvds = vds - *(ckt->CKTstate0 + here->VDMOSvds);
delvgd = vgd-vgdo;
selfheat = (here->VDMOSthermalGiven) && (model->VDMOSrthjcGiven);
if (selfheat) {
delTemp = *(ckt->CKTrhs + here->VDMOStempNode);
deldelTemp = delTemp - *(ckt->CKTstate0 + here->VDMOSdelTemp);
} else {
delTemp = 0.0;
deldelTemp = 0.0;
}
/* these are needed for convergence testing */
if (here->VDMOSmode >= 0) {
cdhat=
here->VDMOScd -
here->VDMOSgm * delvgs +
here->VDMOSgds * delvds ;
here->VDMOSgds * delvds +
here->VDMOSgmT * deldelTemp;
} else {
cdhat=
here->VDMOScd -
here->VDMOSgm * delvgd +
here->VDMOSgds * delvds ;
here->VDMOSgds * delvds +
here->VDMOSgmT * deldelTemp;
}
/*
* check convergence