devices/res, #5/6, RESconduct, include RESm
Henceforward RESconduct (renamed to RESconductX) shall include factor RESm. That's a mere rewrite and doesn't change functionality.
This commit is contained in:
parent
afd5147f98
commit
93ab0fb0e0
|
|
@ -37,7 +37,7 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,
|
|||
value->rValue = fast->RESdtemp;
|
||||
return(OK);
|
||||
case RES_CONDUCT:
|
||||
value->rValue = fast->RESm * fast->RESconduct;
|
||||
value->rValue = fast->RESconductX;
|
||||
return(OK);
|
||||
case RES_RESIST:
|
||||
value->rValue = fast->RESresist;
|
||||
|
|
@ -144,7 +144,7 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,
|
|||
} else if (ckt->CKTrhsOld) {
|
||||
value->rValue = (*(ckt->CKTrhsOld + fast->RESposNode) -
|
||||
*(ckt->CKTrhsOld + fast->RESnegNode));
|
||||
value->rValue *= fast->RESm * fast->RESconduct;
|
||||
value->rValue *= fast->RESconductX;
|
||||
return(OK);
|
||||
} else {
|
||||
errMsg = tprintf("No current values available for %s", fast->RESname);
|
||||
|
|
@ -162,7 +162,7 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,
|
|||
*(ckt->CKTrhsOld + fast->RESnegNode)) *
|
||||
(*(ckt->CKTrhsOld + fast->RESposNode) -
|
||||
*(ckt->CKTrhsOld + fast->RESnegNode));
|
||||
value->rValue *= fast->RESm * fast->RESconduct;
|
||||
value->rValue *= fast->RESconductX;
|
||||
return(OK);
|
||||
} else {
|
||||
errMsg = tprintf("No power values available for %s", fast->RESname);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ typedef struct sRESinstance {
|
|||
|
||||
double REStemp; /* temperature at which this resistor operates */
|
||||
double RESdtemp; /* delta-temperature of a particular instance */
|
||||
double RESconduct; /* conductance at current analysis temperature */
|
||||
double RESconductX; /* conductance at current analysis temperature */
|
||||
double RESresist; /* resistance at temperature Tnom */
|
||||
double REScurrentX; /* The dc current in the resistor */
|
||||
/* serban */
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ RESload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here = here->RESnextInstance) {
|
||||
|
||||
here->REScurrentX = (*(ckt->CKTrhsOld+here->RESposNode) -
|
||||
*(ckt->CKTrhsOld+here->RESnegNode)) * here->RESm * here->RESconduct;
|
||||
*(ckt->CKTrhsOld+here->RESnegNode)) * here->RESconductX;
|
||||
|
||||
*(here->RESposPosPtr) += here->RESm * here->RESconduct;
|
||||
*(here->RESnegNegPtr) += here->RESm * here->RESconduct;
|
||||
*(here->RESposNegPtr) -= here->RESm * here->RESconduct;
|
||||
*(here->RESnegPosPtr) -= here->RESm * here->RESconduct;
|
||||
*(here->RESposPosPtr) += here->RESconductX;
|
||||
*(here->RESnegNegPtr) += here->RESconductX;
|
||||
*(here->RESposNegPtr) -= here->RESconductX;
|
||||
*(here->RESnegPosPtr) -= here->RESconductX;
|
||||
}
|
||||
}
|
||||
return(OK);
|
||||
|
|
@ -59,7 +59,7 @@ RESacload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
if (here->RESacresGiven)
|
||||
g = here->RESacConductX;
|
||||
else
|
||||
g = here->RESm * here->RESconduct;
|
||||
g = here->RESconductX;
|
||||
|
||||
*(here->RESposPosPtr) += g;
|
||||
*(here->RESnegNegPtr) += g;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ RESnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
|||
|
||||
NevalSrcInstanceTemp(&noizDens[RESTHNOIZ],&lnNdens[RESTHNOIZ],
|
||||
ckt,THERMNOISE, inst->RESposNode,inst->RESnegNode,
|
||||
inst->RESm * inst->RESconduct, inst->RESdtemp);
|
||||
inst->RESconductX, inst->RESdtemp);
|
||||
|
||||
NevalSrcInstanceTemp(&noizDens[RESFLNOIZ], NULL, ckt,
|
||||
N_GAIN,inst->RESposNode, inst->RESnegNode,
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ RESpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
if (here->RESacresGiven)
|
||||
g = here->RESacConductX;
|
||||
else
|
||||
g = here->RESm * here->RESconduct;
|
||||
g = here->RESconductX;
|
||||
|
||||
*(here->RESposPosPtr) += g;
|
||||
*(here->RESnegNegPtr) += g;
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ RESsLoad(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double value;
|
||||
value = *(ckt->CKTrhsOld+here->RESposNode) -
|
||||
*(ckt->CKTrhsOld+here->RESnegNode);
|
||||
value *= here->RESm * here->RESconduct;
|
||||
value *= here->RESm * here->RESconduct;
|
||||
value *= here->RESconductX;
|
||||
value *= here->RESconductX;
|
||||
|
||||
/* load the RHS matrix */
|
||||
*(ckt->CKTsenInfo->SEN_RHS[here->RESposNode] +
|
||||
|
|
|
|||
|
|
@ -98,13 +98,13 @@ RESupdate_conduct(RESinstance *here, bool spill_warnings)
|
|||
else
|
||||
factor = (((tc2 * difference) + tc1) * difference) + 1.0;
|
||||
|
||||
here->RESconduct = (1.0/(here->RESresist * factor * here->RESscale));
|
||||
here->RESconductX = here->RESm / (here->RESresist * factor * here->RESscale);
|
||||
|
||||
/* Paolo Nenzi: AC value */
|
||||
if (here->RESacresGiven) {
|
||||
here->RESacConductX = here->RESm / (here->RESacResist * factor * here->RESscale);
|
||||
} else {
|
||||
here->RESacConductX = here->RESm * here->RESconduct;
|
||||
here->RESacConductX = here->RESconductX;
|
||||
here->RESacResist = here->RESresist;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue