diff --git a/src/spicelib/devices/res/restemp.c b/src/spicelib/devices/res/restemp.c index 5c74fec36..6fa3f36c5 100644 --- a/src/spicelib/devices/res/restemp.c +++ b/src/spicelib/devices/res/restemp.c @@ -58,52 +58,52 @@ RESupdate_conduct(RESinstance *here) double difference; double tc1, tc2, tce; - if (!here->RESresGiven) { - if (here->RESlength * here->RESwidth * model->RESsheetRes > 0.0) { - here->RESresist = - (here->RESlength - 2 * model->RESshort) / - (here->RESwidth - 2 * model->RESnarrow) * - model->RESsheetRes; - } else if (model->RESresGiven) { - here->RESresist = model->RESres; - } else { - SPfrontEnd->IFerrorf (ERR_WARNING, - "%s: resistance to low, set to 1 mOhm", here->RESname); - here->RESresist = 1e-03; - } - } + if (!here->RESresGiven) { + if (here->RESlength * here->RESwidth * model->RESsheetRes > 0.0) { + here->RESresist = + (here->RESlength - 2 * model->RESshort) / + (here->RESwidth - 2 * model->RESnarrow) * + model->RESsheetRes; + } else if (model->RESresGiven) { + here->RESresist = model->RESres; + } else { + SPfrontEnd->IFerrorf (ERR_WARNING, + "%s: resistance to low, set to 1 mOhm", here->RESname); + here->RESresist = 1e-03; + } + } - difference = (here->REStemp + here->RESdtemp) - model->REStnom; - - /* instance parameters tc1,tc2 and tce will override - model parameters tc1,tc2 and tce */ - if (here->REStc1Given) - tc1 = here->REStc1; /* instance */ - else - tc1 = model->REStempCoeff1; /* model */ - - if (here->REStc2Given) - tc2 = here->REStc2; - else - tc2 = model->REStempCoeff2; - - if (here->REStceGiven) - tce = here->REStce; - else - tce = model->REStempCoeffe; - - if ((here->REStceGiven)||(model->REStceGiven)) - factor = pow(1.01, tce * difference); - else - factor = (((tc2 * difference) + tc1) * difference) + 1.0; - - here -> RESconduct = (1.0/(here->RESresist * factor * here->RESscale)); - - /* Paolo Nenzi: AC value */ - if(here->RESacresGiven) - here->RESacConduct = (1.0/(here->RESacResist * factor * here->RESscale)); - else { - here -> RESacConduct = here -> RESconduct; - here -> RESacResist = here -> RESresist; - } + difference = (here->REStemp + here->RESdtemp) - model->REStnom; + + /* instance parameters tc1,tc2 and tce will override + model parameters tc1,tc2 and tce */ + if (here->REStc1Given) + tc1 = here->REStc1; /* instance */ + else + tc1 = model->REStempCoeff1; /* model */ + + if (here->REStc2Given) + tc2 = here->REStc2; + else + tc2 = model->REStempCoeff2; + + if (here->REStceGiven) + tce = here->REStce; + else + tce = model->REStempCoeffe; + + if (here->REStceGiven || model->REStceGiven) + factor = pow(1.01, tce * difference); + else + factor = (((tc2 * difference) + tc1) * difference) + 1.0; + + here->RESconduct = (1.0/(here->RESresist * factor * here->RESscale)); + + /* Paolo Nenzi: AC value */ + if (here->RESacresGiven) { + here->RESacConduct = (1.0/(here->RESacResist * factor * here->RESscale)); + } else { + here->RESacConduct = here->RESconduct; + here->RESacResist = here->RESresist; + } }