|
|
|
@ -17,9 +17,6 @@ RESload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
{ |
|
|
|
RESmodel *model = (RESmodel *)inModel; |
|
|
|
double m; |
|
|
|
double difference; |
|
|
|
double factor; |
|
|
|
|
|
|
|
|
|
|
|
/* loop through all the resistor models */ |
|
|
|
for( ; model != NULL; model = model->RESnextModel ) { |
|
|
|
@ -29,18 +26,12 @@ RESload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
for (here = model->RESinstances; here != NULL ; |
|
|
|
here = here->RESnextInstance) { |
|
|
|
|
|
|
|
if(!here->REStc1Given) here->REStc1 = 0.0; |
|
|
|
if(!here->REStc2Given) here->REStc2 = 0.0; |
|
|
|
if(!here->RESmGiven) here->RESm = 1.0; |
|
|
|
|
|
|
|
here->REScurrent = (*(ckt->CKTrhsOld+here->RESposNode) - |
|
|
|
*(ckt->CKTrhsOld+here->RESnegNode)) * here->RESconduct; |
|
|
|
|
|
|
|
difference = (here->REStemp + here->RESdtemp) - 300.15; |
|
|
|
factor = 1.0 + (here->REStc1)*difference + |
|
|
|
(here->REStc2)*difference*difference; |
|
|
|
|
|
|
|
m = (here->RESm)/factor; |
|
|
|
m = (here->RESm); |
|
|
|
|
|
|
|
*(here->RESposPosptr) += m * here->RESconduct; |
|
|
|
*(here->RESnegNegptr) += m * here->RESconduct; |
|
|
|
@ -59,8 +50,6 @@ RESacload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
{ |
|
|
|
RESmodel *model = (RESmodel *)inModel; |
|
|
|
double m; |
|
|
|
double difference; |
|
|
|
double factor; |
|
|
|
|
|
|
|
NG_IGNORE(ckt); |
|
|
|
|
|
|
|
@ -72,15 +61,9 @@ RESacload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
for (here = model->RESinstances; here != NULL ; |
|
|
|
here = here->RESnextInstance) { |
|
|
|
|
|
|
|
if(!here->REStc1Given) here->REStc1 = 0.0; |
|
|
|
if(!here->REStc2Given) here->REStc2 = 0.0; |
|
|
|
if(!here->RESmGiven) here->RESm = 1.0; |
|
|
|
|
|
|
|
difference = (here->REStemp + here->RESdtemp) - 300.15; |
|
|
|
factor = 1.0 + (here->REStc1)*difference + |
|
|
|
(here->REStc2)*difference*difference; |
|
|
|
|
|
|
|
m = (here->RESm)/factor; |
|
|
|
m = (here->RESm); |
|
|
|
|
|
|
|
if(here->RESacresGiven) { |
|
|
|
*(here->RESposPosptr) += m * here->RESacConduct; |
|
|
|
|