diff --git a/src/spicelib/devices/res/resask.c b/src/spicelib/devices/res/resask.c index 432f6fa5a..7bc7919c4 100644 --- a/src/spicelib/devices/res/resask.c +++ b/src/spicelib/devices/res/resask.c @@ -37,8 +37,7 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, value->rValue = fast->RESdtemp; return(OK); case RES_CONDUCT: - value->rValue = fast->RESconduct; - value->rValue *= fast->RESm; + value->rValue = fast->RESm * fast->RESconduct; return(OK); case RES_RESIST: value->rValue = fast->RESresist; @@ -145,9 +144,8 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, return(E_ASKCURRENT); } else if (ckt->CKTrhsOld) { value->rValue = (*(ckt->CKTrhsOld + fast->RESposNode) - - *(ckt->CKTrhsOld + fast->RESnegNode)) - *fast->RESconduct; - value->rValue *= fast->RESm; + *(ckt->CKTrhsOld + fast->RESnegNode)); + value->rValue *= fast->RESm * fast->RESconduct; return(OK); } else { errMsg = tprintf("No current values available for %s", fast->RESname); @@ -163,10 +161,9 @@ RESask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, } else if (ckt->CKTrhsOld) { value->rValue = (*(ckt->CKTrhsOld + fast->RESposNode) - *(ckt->CKTrhsOld + fast->RESnegNode)) * - fast->RESconduct * (*(ckt->CKTrhsOld + fast->RESposNode) - *(ckt->CKTrhsOld + fast->RESnegNode)); - value->rValue *= fast->RESm; + value->rValue *= fast->RESm * fast->RESconduct; return(OK); } else { errMsg = tprintf("No power values available for %s", fast->RESname); diff --git a/src/spicelib/devices/res/resload.c b/src/spicelib/devices/res/resload.c index 5bd189539..cb16f8470 100644 --- a/src/spicelib/devices/res/resload.c +++ b/src/spicelib/devices/res/resload.c @@ -16,7 +16,6 @@ int RESload(GENmodel *inModel, CKTcircuit *ckt) { RESmodel *model = (RESmodel *)inModel; - double m; /* loop through all the resistor models */ for( ; model != NULL; model = model->RESnextModel ) { @@ -29,12 +28,10 @@ RESload(GENmodel *inModel, CKTcircuit *ckt) here->REScurrentX = (*(ckt->CKTrhsOld+here->RESposNode) - *(ckt->CKTrhsOld+here->RESnegNode)) * here->RESm * here->RESconduct; - m = (here->RESm); - - *(here->RESposPosPtr) += m * here->RESconduct; - *(here->RESnegNegPtr) += m * here->RESconduct; - *(here->RESposNegPtr) -= m * here->RESconduct; - *(here->RESnegPosPtr) -= m * here->RESconduct; + *(here->RESposPosPtr) += here->RESm * here->RESconduct; + *(here->RESnegNegPtr) += here->RESm * here->RESconduct; + *(here->RESposNegPtr) -= here->RESm * here->RESconduct; + *(here->RESnegPosPtr) -= here->RESm * here->RESconduct; } } return(OK); diff --git a/src/spicelib/devices/res/resnoise.c b/src/spicelib/devices/res/resnoise.c index b01608ba9..19ccbdde5 100644 --- a/src/spicelib/devices/res/resnoise.c +++ b/src/spicelib/devices/res/resnoise.c @@ -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->RESconduct * inst->RESm, inst->RESdtemp); + inst->RESm * inst->RESconduct, inst->RESdtemp); NevalSrcInstanceTemp(&noizDens[RESFLNOIZ], NULL, ckt, N_GAIN,inst->RESposNode, inst->RESnegNode, diff --git a/src/spicelib/devices/res/ressload.c b/src/spicelib/devices/res/ressload.c index e4e989270..52f695390 100644 --- a/src/spicelib/devices/res/ressload.c +++ b/src/spicelib/devices/res/ressload.c @@ -21,8 +21,6 @@ RESsLoad(GENmodel *inModel, CKTcircuit *ckt) { RESmodel *model = (RESmodel *)inModel; RESinstance *here; - double vres; - double value; /* loop through all the resistor models */ for( ; model != NULL; model = model->RESnextModel ) { @@ -32,10 +30,11 @@ RESsLoad(GENmodel *inModel, CKTcircuit *ckt) here=here->RESnextInstance) { if(here->RESsenParmNo){ - vres = *(ckt->CKTrhsOld+here->RESposNode) - + double value; + value = *(ckt->CKTrhsOld+here->RESposNode) - *(ckt->CKTrhsOld+here->RESnegNode); - value = vres * here->RESconduct * here->RESconduct; - value = value * here->RESm * here->RESm; + value *= here->RESm * here->RESconduct; + value *= here->RESm * here->RESconduct; /* load the RHS matrix */ *(ckt->CKTsenInfo->SEN_RHS[here->RESposNode] +