From b63cae8798384d7fb11f3f1676690da89eae110f Mon Sep 17 00:00:00 2001 From: h_vogt Date: Wed, 8 May 2013 22:36:26 +0200 Subject: [PATCH] devices/cap: whitespace cleanup --- src/spicelib/devices/cap/cap.c | 82 ++++++++++----------- src/spicelib/devices/cap/capacld.c | 10 +-- src/spicelib/devices/cap/capdefs.h | 34 ++++----- src/spicelib/devices/cap/capload.c | 34 ++++----- src/spicelib/devices/cap/capmask.c | 76 ++++++++++---------- src/spicelib/devices/cap/capmpar.c | 108 ++++++++++++++-------------- src/spicelib/devices/cap/capparam.c | 94 ++++++++++++------------ src/spicelib/devices/cap/capsetup.c | 39 +++++----- src/spicelib/devices/cap/captemp.c | 86 +++++++++++----------- 9 files changed, 281 insertions(+), 282 deletions(-) diff --git a/src/spicelib/devices/cap/cap.c b/src/spicelib/devices/cap/cap.c index 3b0984fe9..f4c73e2d1 100644 --- a/src/spicelib/devices/cap/cap.c +++ b/src/spicelib/devices/cap/cap.c @@ -9,50 +9,50 @@ Modified: September 2003 - Paolo Nenzi #include "capdefs.h" #include "ngspice/suffix.h" -IFparm CAPpTable[] = { /* parameters */ - IOPAP("capacitance", CAP_CAP, IF_REAL, "Device capacitance"), - IOPAP("cap", CAP_CAP, IF_REAL, "Device capacitance"), - IOPAP("c", CAP_CAP, IF_REAL, "Device capacitance"), - IOPAU("ic", CAP_IC, IF_REAL, "Initial capacitor voltage"), - IOPZU("temp", CAP_TEMP, IF_REAL, "Instance operating temperature"), - IOPZ( "dtemp", CAP_DTEMP, IF_REAL, - "Instance temperature difference from the rest of the circuit"), - IOPAU("w", CAP_WIDTH, IF_REAL, "Device width"), - IOPAU("l", CAP_LENGTH, IF_REAL, "Device length"), - IOPU( "m", CAP_M, IF_REAL, "Parallel multiplier"), - IOPU( "tc1", CAP_TC1, IF_REAL, "First order temp. coefficient"), - IOPU( "tc2", CAP_TC2, IF_REAL, "Second order temp. coefficient"), - IOPU( "scale", CAP_SCALE, IF_REAL, "Scale factor"), - IP( "sens_cap", CAP_CAP_SENS, IF_FLAG, "flag to request sens. WRT cap."), - OP( "i", CAP_CURRENT, IF_REAL, "Device current"), - OP( "p", CAP_POWER, IF_REAL, "Instantaneous device power"), - OPU( "sens_dc", CAP_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), - OPU( "sens_real", CAP_QUEST_SENS_REAL, IF_REAL, "real part of ac sensitivity"), - OPU( "sens_imag", CAP_QUEST_SENS_IMAG, IF_REAL, - "dc sens. & imag part of ac sens."), - OPU( "sens_mag", CAP_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), - OPU( "sens_ph", CAP_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), - OPU( "sens_cplx", CAP_QUEST_SENS_CPLX, IF_COMPLEX, "ac sensitivity") +IFparm CAPpTable[] = { /* parameters */ + IOPAP("capacitance", CAP_CAP, IF_REAL, "Device capacitance"), + IOPAP("cap", CAP_CAP, IF_REAL, "Device capacitance"), + IOPAP("c", CAP_CAP, IF_REAL, "Device capacitance"), + IOPAU("ic", CAP_IC, IF_REAL, "Initial capacitor voltage"), + IOPZU("temp", CAP_TEMP, IF_REAL, "Instance operating temperature"), + IOPZ( "dtemp", CAP_DTEMP, IF_REAL, + "Instance temperature difference from the rest of the circuit"), + IOPAU("w", CAP_WIDTH, IF_REAL, "Device width"), + IOPAU("l", CAP_LENGTH, IF_REAL, "Device length"), + IOPU( "m", CAP_M, IF_REAL, "Parallel multiplier"), + IOPU( "tc1", CAP_TC1, IF_REAL, "First order temp. coefficient"), + IOPU( "tc2", CAP_TC2, IF_REAL, "Second order temp. coefficient"), + IOPU( "scale", CAP_SCALE, IF_REAL, "Scale factor"), + IP( "sens_cap", CAP_CAP_SENS, IF_FLAG, "flag to request sens. WRT cap."), + OP( "i", CAP_CURRENT, IF_REAL, "Device current"), + OP( "p", CAP_POWER, IF_REAL, "Instantaneous device power"), + OPU( "sens_dc", CAP_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), + OPU( "sens_real", CAP_QUEST_SENS_REAL, IF_REAL, "real part of ac sensitivity"), + OPU( "sens_imag", CAP_QUEST_SENS_IMAG, IF_REAL, + "dc sens. & imag part of ac sens."), + OPU( "sens_mag", CAP_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), + OPU( "sens_ph", CAP_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), + OPU( "sens_cplx", CAP_QUEST_SENS_CPLX, IF_COMPLEX, "ac sensitivity") }; IFparm CAPmPTable[] = { /* names of model parameters */ - IOPA( "cap", CAP_MOD_CAP, IF_REAL, "Model capacitance"), - IOPA( "cj", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), - IOPR( "cox", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), - IOPA( "cjsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), - IOPR( "capsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), - IOPX( "defw", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), - IOPR( "w", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), - IOPX( "defl", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), - IOPR( "l", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), - IOPA( "narrow", CAP_MOD_NARROW, IF_REAL, "width correction factor"), - IOPA( "short", CAP_MOD_SHORT, IF_REAL, "length correction factor"), - IOPA( "tc1", CAP_MOD_TC1, IF_REAL, "First order temp. coefficient"), - IOPA( "tc2", CAP_MOD_TC2, IF_REAL, "Second order temp. coefficient"), - IOPXU("tnom", CAP_MOD_TNOM, IF_REAL, "Parameter measurement temperature"), - IOPA( "di", CAP_MOD_DI, IF_REAL, "Relative dielectric constant"), - IOPA( "thick", CAP_MOD_THICK, IF_REAL, "Insulator thickness"), - IP( "c", CAP_MOD_C, IF_FLAG, "Capacitor model") + IOPA( "cap", CAP_MOD_CAP, IF_REAL, "Model capacitance"), + IOPA( "cj", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), + IOPR( "cox", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), + IOPA( "cjsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), + IOPR( "capsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), + IOPX( "defw", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), + IOPR( "w", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), + IOPX( "defl", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), + IOPR( "l", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), + IOPA( "narrow", CAP_MOD_NARROW, IF_REAL, "width correction factor"), + IOPA( "short", CAP_MOD_SHORT, IF_REAL, "length correction factor"), + IOPA( "tc1", CAP_MOD_TC1, IF_REAL, "First order temp. coefficient"), + IOPA( "tc2", CAP_MOD_TC2, IF_REAL, "Second order temp. coefficient"), + IOPXU("tnom", CAP_MOD_TNOM, IF_REAL, "Parameter measurement temperature"), + IOPA( "di", CAP_MOD_DI, IF_REAL, "Relative dielectric constant"), + IOPA( "thick", CAP_MOD_THICK, IF_REAL, "Insulator thickness"), + IP( "c", CAP_MOD_C, IF_FLAG, "Capacitor model") }; char *CAPnames[] = { diff --git a/src/spicelib/devices/cap/capacld.c b/src/spicelib/devices/cap/capacld.c index 4c1598f96..1c01e815a 100644 --- a/src/spicelib/devices/cap/capacld.c +++ b/src/spicelib/devices/cap/capacld.c @@ -22,13 +22,13 @@ CAPacLoad(GENmodel *inModel, CKTcircuit *ckt) CAPinstance *here; for( ; model != NULL; model = model->CAPnextModel) { - for( here = model->CAPinstances;here != NULL; + for( here = model->CAPinstances; here != NULL; here = here->CAPnextInstance) { - - m = here -> CAPm; - + + m = here->CAPm; + val = ckt->CKTomega * here->CAPcapac; - + *(here->CAPposPosptr +1) += m * val; *(here->CAPnegNegptr +1) += m * val; *(here->CAPposNegptr +1) -= m * val; diff --git a/src/spicelib/devices/cap/capdefs.h b/src/spicelib/devices/cap/capdefs.h index 785149ecf..c195f2910 100644 --- a/src/spicelib/devices/cap/capdefs.h +++ b/src/spicelib/devices/cap/capdefs.h @@ -13,20 +13,20 @@ Modified: September 2003 Paolo Nenzi #include "ngspice/gendefs.h" #include "ngspice/cktdefs.h" - /* structures used to describe capacitors */ +/* structures used to describe capacitors */ /* information to describe each instance */ typedef struct sCAPinstance { struct sCAPmodel *CAPmodPtr; /* backpointer to model */ - struct sCAPinstance *CAPnextInstance; /* pointer to next instance of + struct sCAPinstance *CAPnextInstance; /* pointer to next instance of * current model*/ IFuid CAPname; /* pointer to character string naming this instance */ int CAPstate; /* pointer to start of capacitor state vector */ int CAPposNode; /* number of positive node of capacitor */ int CAPnegNode; /* number of negative node of capacitor */ - + double CAPtemp; /* temperature at which this capacitor operates */ double CAPdtemp; /* delta-temperature of this instance */ double CAPcapac; /* capacitance */ @@ -38,13 +38,13 @@ typedef struct sCAPinstance { double CAPtc1; /* first temperature coefficient of capacitors */ double CAPtc2; /* second temperature coefficient of capacitors */ - double *CAPposPosptr; /* pointer to sparse matrix diagonal at + double *CAPposPosptr; /* pointer to sparse matrix diagonal at * (positive,positive) */ - double *CAPnegNegptr; /* pointer to sparse matrix diagonal at + double *CAPnegNegptr; /* pointer to sparse matrix diagonal at * (negative,negative) */ - double *CAPposNegptr; /* pointer to sparse matrix offdiagonal at + double *CAPposNegptr; /* pointer to sparse matrix offdiagonal at * (positive,negative) */ - double *CAPnegPosptr; /* pointer to sparse matrix offdiagonal at + double *CAPnegPosptr; /* pointer to sparse matrix offdiagonal at * (negative,positive) */ unsigned CAPcapGiven : 1; /* flag to indicate capacitance was specified */ unsigned CAPicGiven : 1; /* flag to indicate init. cond. was specified */ @@ -53,9 +53,9 @@ typedef struct sCAPinstance { unsigned CAPtempGiven : 1; /* flag to indicate operating temp given */ unsigned CAPdtempGiven : 1; /* flag to indicate delta temp given */ unsigned CAPscaleGiven : 1; /* flag to indicate scale factor given */ - unsigned CAPmGiven : 1; /* flag to indicate parallel multiplier given */ - unsigned CAPtc1Given : 1; /* flag indicates tc1 was specified */ - unsigned CAPtc2Given : 1; /* flag indicates tc2 was specified */ + unsigned CAPmGiven : 1; /* flag to indicate parallel multiplier given */ + unsigned CAPtc1Given : 1; /* flag indicates tc1 was specified */ + unsigned CAPtc2Given : 1; /* flag indicates tc2 was specified */ int CAPsenParmNo; /* parameter # for sensitivity use; set equal to 0 if not a design parameter*/ @@ -64,20 +64,20 @@ typedef struct sCAPinstance { #define CAPqcap CAPstate /* charge on the capacitor */ #define CAPccap CAPstate+1 /* current through the capacitor */ #define CAPsensxp CAPstate+2 /* charge sensitivities and their derivatives. - +3 for the derivatives - pointer to the - beginning of the array */ - ++3 for the derivatives - pointer to the +beginning of the array */ + /* data per model */ typedef struct sCAPmodel { /* model structure for a capacitor */ int CAPmodType; /* type index of this device type */ - struct sCAPmodel *CAPnextModel; /* pointer to next possible model in + struct sCAPmodel *CAPnextModel; /* pointer to next possible model in * linked list */ CAPinstance * CAPinstances; /* pointer to list of instances that have this * model */ IFuid CAPmodName; /* pointer to character string naming this model */ - + double CAPtnom; /* temperature at which capacitance measured */ double CAPtempCoeff1; /* linear temperature coefficient */ double CAPtempCoeff2; /* quadratic temperature coefficient */ @@ -102,7 +102,7 @@ typedef struct sCAPmodel { /* model structure for a capacitor */ unsigned CAPtc2Given : 1; /* flag indicates tc2 was specified */ unsigned CAPdiGiven : 1; /* flag indicates epsilon-ins given */ unsigned CAPthickGiven : 1; /* flags indicates insulator thickness given */ - + } CAPmodel; /* device parameters */ @@ -115,7 +115,7 @@ typedef struct sCAPmodel { /* model structure for a capacitor */ #define CAP_POWER 7 #define CAP_TEMP 8 #define CAP_DTEMP 9 -#define CAP_SCALE 10 +#define CAP_SCALE 10 #define CAP_M 11 #define CAP_TC1 12 #define CAP_TC2 13 diff --git a/src/spicelib/devices/cap/capload.c b/src/spicelib/devices/cap/capload.c index e80b1179a..d6796d5b2 100644 --- a/src/spicelib/devices/cap/capload.c +++ b/src/spicelib/devices/cap/capload.c @@ -13,9 +13,9 @@ Modified: September 2003 Paolo Nenzi int CAPload(GENmodel *inModel, CKTcircuit *ckt) - /* actually load the current capacitance value into the - * sparse matrix previously provided - */ +/* actually load the current capacitance value into the + * sparse matrix previously provided + */ { CAPmodel *model = (CAPmodel*)inModel; CAPinstance *here; @@ -29,46 +29,46 @@ CAPload(GENmodel *inModel, CKTcircuit *ckt) /* check if capacitors are in the circuit or are open circuited */ if(ckt->CKTmode & (MODETRAN|MODEAC|MODETRANOP) ) { /* evaluate device independent analysis conditions */ - cond1= - ( ( (ckt->CKTmode & MODEDC) && + cond1= + ( ( (ckt->CKTmode & MODEDC) && (ckt->CKTmode & MODEINITJCT) ) - || ( ( ckt->CKTmode & MODEUIC) && - ( ckt->CKTmode & MODEINITTRAN) ) ) ; + || ( ( ckt->CKTmode & MODEUIC) && + ( ckt->CKTmode & MODEINITTRAN) ) ) ; /* loop through all the capacitor models */ for( ; model != NULL; model = model->CAPnextModel ) { /* loop through all the instances of the model */ for (here = model->CAPinstances; here != NULL ; here=here->CAPnextInstance) { - - m = here->CAPm; - + + m = here->CAPm; + if(cond1) { vcap = here->CAPinitCond; } else { - vcap = *(ckt->CKTrhsOld+here->CAPposNode) - - *(ckt->CKTrhsOld+here->CAPnegNode) ; + vcap = *(ckt->CKTrhsOld+here->CAPposNode) - + *(ckt->CKTrhsOld+here->CAPnegNode) ; } if(ckt->CKTmode & (MODETRAN | MODEAC)) { #ifndef PREDICTOR if(ckt->CKTmode & MODEINITPRED) { - *(ckt->CKTstate0+here->CAPqcap) = + *(ckt->CKTstate0+here->CAPqcap) = *(ckt->CKTstate1+here->CAPqcap); } else { /* only const caps - no poly's */ #endif /* PREDICTOR */ *(ckt->CKTstate0+here->CAPqcap) = here->CAPcapac * vcap; if((ckt->CKTmode & MODEINITTRAN)) { - *(ckt->CKTstate1+here->CAPqcap) = + *(ckt->CKTstate1+here->CAPqcap) = *(ckt->CKTstate0+here->CAPqcap); } #ifndef PREDICTOR } #endif /* PREDICTOR */ error = NIintegrate(ckt,&geq,&ceq,here->CAPcapac, - here->CAPqcap); + here->CAPqcap); if(error) return(error); if(ckt->CKTmode & MODEINITTRAN) { - *(ckt->CKTstate1+here->CAPccap) = + *(ckt->CKTstate1+here->CAPccap) = *(ckt->CKTstate0+here->CAPccap); } *(here->CAPposPosptr) += m * geq; @@ -78,7 +78,7 @@ CAPload(GENmodel *inModel, CKTcircuit *ckt) *(ckt->CKTrhs+here->CAPposNode) -= m * ceq; *(ckt->CKTrhs+here->CAPnegNode) += m * ceq; } else - *(ckt->CKTstate0+here->CAPqcap) = here->CAPcapac * vcap; + *(ckt->CKTstate0+here->CAPqcap) = here->CAPcapac * vcap; } } } diff --git a/src/spicelib/devices/cap/capmask.c b/src/spicelib/devices/cap/capmask.c index 498094e3c..efd216426 100644 --- a/src/spicelib/devices/cap/capmask.c +++ b/src/spicelib/devices/cap/capmask.c @@ -24,43 +24,43 @@ CAPmAsk(CKTcircuit *ckt, GENmodel *inst, int which, IFvalue *value) NG_IGNORE(ckt); switch(which) { - case CAP_MOD_TNOM: - value->rValue = here->CAPtnom-CONSTCtoK; - return(OK); - case CAP_MOD_TC1: - value->rValue = here->CAPtempCoeff1; - return(OK); - case CAP_MOD_TC2: - value->rValue = here->CAPtempCoeff2; - return(OK); - case CAP_MOD_CAP: - value->rValue = here->CAPmCap; - return(OK); - case CAP_MOD_CJ: - value->rValue = here->CAPcj; - return(OK); - case CAP_MOD_CJSW: - value->rValue = here->CAPcjsw; - return(OK); - case CAP_MOD_DEFWIDTH: - value->rValue = here->CAPdefWidth; - return(OK); - case CAP_MOD_DEFLENGTH: - value->rValue = here->CAPdefLength; - return(OK); - case CAP_MOD_NARROW: - value->rValue = here->CAPnarrow; - return(OK); - case CAP_MOD_SHORT: - value->rValue = here->CAPshort; - return(OK); - case CAP_MOD_DI: - value->rValue = here->CAPdi; - return(OK); - case CAP_MOD_THICK: - value->rValue = here->CAPthick; - return(OK); - default: - return(E_BADPARM); + case CAP_MOD_TNOM: + value->rValue = here->CAPtnom-CONSTCtoK; + return(OK); + case CAP_MOD_TC1: + value->rValue = here->CAPtempCoeff1; + return(OK); + case CAP_MOD_TC2: + value->rValue = here->CAPtempCoeff2; + return(OK); + case CAP_MOD_CAP: + value->rValue = here->CAPmCap; + return(OK); + case CAP_MOD_CJ: + value->rValue = here->CAPcj; + return(OK); + case CAP_MOD_CJSW: + value->rValue = here->CAPcjsw; + return(OK); + case CAP_MOD_DEFWIDTH: + value->rValue = here->CAPdefWidth; + return(OK); + case CAP_MOD_DEFLENGTH: + value->rValue = here->CAPdefLength; + return(OK); + case CAP_MOD_NARROW: + value->rValue = here->CAPnarrow; + return(OK); + case CAP_MOD_SHORT: + value->rValue = here->CAPshort; + return(OK); + case CAP_MOD_DI: + value->rValue = here->CAPdi; + return(OK); + case CAP_MOD_THICK: + value->rValue = here->CAPthick; + return(OK); + default: + return(E_BADPARM); } } diff --git a/src/spicelib/devices/cap/capmpar.c b/src/spicelib/devices/cap/capmpar.c index 64a37fd70..f81da7eee 100644 --- a/src/spicelib/devices/cap/capmpar.c +++ b/src/spicelib/devices/cap/capmpar.c @@ -18,60 +18,60 @@ CAPmParam(int param, IFvalue *value, GENmodel *inModel) { CAPmodel *mod = (CAPmodel*)inModel; switch(param) { - case CAP_MOD_TNOM: - mod->CAPtnom = value->rValue+CONSTCtoK; - mod->CAPtnomGiven = TRUE; - break; - case CAP_MOD_TC1: - mod->CAPtempCoeff1 = value->rValue; - mod->CAPtc1Given = TRUE; - break; - case CAP_MOD_TC2: - mod->CAPtempCoeff2 = value->rValue; - mod->CAPtc2Given = TRUE; - break; - case CAP_MOD_CAP: - mod->CAPmCap = value->rValue; - mod->CAPmCapGiven = TRUE; - break; - case CAP_MOD_CJ : - mod->CAPcj = value->rValue; - mod->CAPcjGiven = TRUE; - break; - case CAP_MOD_CJSW : - mod->CAPcjsw = value->rValue; - mod->CAPcjswGiven = TRUE; - break; - case CAP_MOD_DEFWIDTH: - mod->CAPdefWidth = value->rValue; - mod->CAPdefWidthGiven = TRUE; - break; - case CAP_MOD_DEFLENGTH: - mod->CAPdefLength = value->rValue; - mod->CAPdefLengthGiven = TRUE; - break; - case CAP_MOD_NARROW: - mod->CAPnarrow = value->rValue; - mod->CAPnarrowGiven = TRUE; - break; - case CAP_MOD_SHORT: - mod->CAPshort = value->rValue; - mod->CAPshortGiven = TRUE; - break; - case CAP_MOD_DI: - mod->CAPdi = value->rValue; - mod->CAPdiGiven = TRUE; - break; - case CAP_MOD_THICK: - mod->CAPthick = value->rValue; - mod->CAPthickGiven = TRUE; - break; - case CAP_MOD_C: - /* just being reassured by the user that we are a capacitor */ - /* no-op */ - break; - default: - return(E_BADPARM); + case CAP_MOD_TNOM: + mod->CAPtnom = value->rValue+CONSTCtoK; + mod->CAPtnomGiven = TRUE; + break; + case CAP_MOD_TC1: + mod->CAPtempCoeff1 = value->rValue; + mod->CAPtc1Given = TRUE; + break; + case CAP_MOD_TC2: + mod->CAPtempCoeff2 = value->rValue; + mod->CAPtc2Given = TRUE; + break; + case CAP_MOD_CAP: + mod->CAPmCap = value->rValue; + mod->CAPmCapGiven = TRUE; + break; + case CAP_MOD_CJ : + mod->CAPcj = value->rValue; + mod->CAPcjGiven = TRUE; + break; + case CAP_MOD_CJSW : + mod->CAPcjsw = value->rValue; + mod->CAPcjswGiven = TRUE; + break; + case CAP_MOD_DEFWIDTH: + mod->CAPdefWidth = value->rValue; + mod->CAPdefWidthGiven = TRUE; + break; + case CAP_MOD_DEFLENGTH: + mod->CAPdefLength = value->rValue; + mod->CAPdefLengthGiven = TRUE; + break; + case CAP_MOD_NARROW: + mod->CAPnarrow = value->rValue; + mod->CAPnarrowGiven = TRUE; + break; + case CAP_MOD_SHORT: + mod->CAPshort = value->rValue; + mod->CAPshortGiven = TRUE; + break; + case CAP_MOD_DI: + mod->CAPdi = value->rValue; + mod->CAPdiGiven = TRUE; + break; + case CAP_MOD_THICK: + mod->CAPthick = value->rValue; + mod->CAPthickGiven = TRUE; + break; + case CAP_MOD_C: + /* just being reassured by the user that we are a capacitor */ + /* no-op */ + break; + default: + return(E_BADPARM); } return(OK); } diff --git a/src/spicelib/devices/cap/capparam.c b/src/spicelib/devices/cap/capparam.c index f37ced9c8..7f7dacafd 100644 --- a/src/spicelib/devices/cap/capparam.c +++ b/src/spicelib/devices/cap/capparam.c @@ -22,53 +22,53 @@ CAPparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) NG_IGNORE(select); switch(param) { - case CAP_CAP: - here->CAPcapac = value->rValue; - if (!here->CAPmGiven) - here->CAPm = 1.0; - here->CAPcapGiven = TRUE; - break; - case CAP_IC: - here->CAPinitCond = value->rValue; - here->CAPicGiven = TRUE; - break; - case CAP_TEMP: - here->CAPtemp = value->rValue + CONSTCtoK; - here->CAPtempGiven = TRUE; - break; - case CAP_DTEMP: - here->CAPdtemp = value->rValue; - here->CAPdtempGiven = TRUE; - break; - case CAP_WIDTH: - here->CAPwidth = value->rValue; - here->CAPwidthGiven = TRUE; - break; - case CAP_LENGTH: - here->CAPlength = value->rValue; - here->CAPlengthGiven = TRUE; - break; - case CAP_M: - here->CAPm = value->rValue; - here->CAPmGiven = TRUE; - break; - case CAP_SCALE: - here->CAPscale = value->rValue; - here->CAPscaleGiven = TRUE; - break; - case CAP_CAP_SENS: - here->CAPsenParmNo = value->iValue; - break; - case CAP_TC1: - here->CAPtc1 = value->rValue; - here->CAPtc1Given = TRUE; - break; - case CAP_TC2: - here->CAPtc2 = value->rValue; - here->CAPtc2Given = TRUE; - break; - default: - return(E_BADPARM); + case CAP_CAP: + here->CAPcapac = value->rValue; + if (!here->CAPmGiven) + here->CAPm = 1.0; + here->CAPcapGiven = TRUE; + break; + case CAP_IC: + here->CAPinitCond = value->rValue; + here->CAPicGiven = TRUE; + break; + case CAP_TEMP: + here->CAPtemp = value->rValue + CONSTCtoK; + here->CAPtempGiven = TRUE; + break; + case CAP_DTEMP: + here->CAPdtemp = value->rValue; + here->CAPdtempGiven = TRUE; + break; + case CAP_WIDTH: + here->CAPwidth = value->rValue; + here->CAPwidthGiven = TRUE; + break; + case CAP_LENGTH: + here->CAPlength = value->rValue; + here->CAPlengthGiven = TRUE; + break; + case CAP_M: + here->CAPm = value->rValue; + here->CAPmGiven = TRUE; + break; + case CAP_SCALE: + here->CAPscale = value->rValue; + here->CAPscaleGiven = TRUE; + break; + case CAP_CAP_SENS: + here->CAPsenParmNo = value->iValue; + break; + case CAP_TC1: + here->CAPtc1 = value->rValue; + here->CAPtc1Given = TRUE; + break; + case CAP_TC2: + here->CAPtc2 = value->rValue; + here->CAPtc2Given = TRUE; + break; + default: + return(E_BADPARM); } return(OK); } diff --git a/src/spicelib/devices/cap/capsetup.c b/src/spicelib/devices/cap/capsetup.c index dea2a6e3a..b5f2b545b 100644 --- a/src/spicelib/devices/cap/capsetup.c +++ b/src/spicelib/devices/cap/capsetup.c @@ -16,8 +16,8 @@ Modified: September 2003 Paolo Nenzi /*ARGSUSED*/ int CAPsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) - /* load the capacitor structure with those pointers needed later - * for fast matrix loading + /* load the capacitor structure with those pointers needed later + * for fast matrix loading */ { @@ -28,7 +28,7 @@ CAPsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) for( ; model != NULL; model = model->CAPnextModel ) { /*Default Value Processing for Model Parameters */ - if (!model->CAPmCapGiven) { + if (!model->CAPmCapGiven) { model->CAPmCap = 0.0; } if (!model->CAPcjswGiven){ @@ -37,7 +37,7 @@ CAPsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) if (!model->CAPdefWidthGiven) { model->CAPdefWidth = 10.e-6; } - if (!model->CAPdefLengthGiven) { + if (!model->CAPdefLengthGiven) { model->CAPdefLength = 0.0; } if (!model->CAPnarrowGiven) { @@ -52,29 +52,28 @@ CAPsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) if (!model->CAPtc2Given) { model->CAPtempCoeff2 = 0.0; } - if (!model->CAPtnomGiven) { + if (!model->CAPtnomGiven) { model->CAPtnom = ckt->CKTnomTemp; } - if (!model->CAPdiGiven) { + if (!model->CAPdiGiven) { model->CAPdi = 0.0; } - if (!model->CAPthickGiven) { + if (!model->CAPthickGiven) { model->CAPthick = 0.0; } - - if (!model->CAPcjGiven) { - if((model->CAPthickGiven) - && (model->CAPthick > 0.0)) { - - if (model->CAPdiGiven) - model->CAPcj = (model->CAPdi * CONSTepsZero) / model->CAPthick; - else - model->CAPcj = CONSTepsSiO2 / model->CAPthick; - } else { - model->CAPcj = 0.0; - } + + if (!model->CAPcjGiven) { + if((model->CAPthickGiven) + && (model->CAPthick > 0.0)) { + if (model->CAPdiGiven) + model->CAPcj = (model->CAPdi * CONSTepsZero) / model->CAPthick; + else + model->CAPcj = CONSTepsSiO2 / model->CAPthick; + } else { + model->CAPcj = 0.0; + } } - + /* loop through all the instances of the model */ for (here = model->CAPinstances; here != NULL ; here=here->CAPnextInstance) { diff --git a/src/spicelib/devices/cap/captemp.c b/src/spicelib/devices/cap/captemp.c index 4d82b3a57..f6dcc371d 100644 --- a/src/spicelib/devices/cap/captemp.c +++ b/src/spicelib/devices/cap/captemp.c @@ -6,9 +6,9 @@ Modified: September 2003 Paolo Nenzi /* */ - /* load the capacitor structure with those pointers needed later - * for fast matrix loading - */ +/* load the capacitor structure with those pointers needed later + * for fast matrix loading + */ #include "ngspice/ngspice.h" #include "ngspice/cktdefs.h" @@ -36,56 +36,56 @@ CAPtemp(GENmodel *inModel, CKTcircuit *ckt) here=here->CAPnextInstance) { /* Default Value Processing for Capacitor Instance */ - if(!here->CAPtempGiven) { - here->CAPtemp = ckt->CKTtemp; - if(!here->CAPdtempGiven) here->CAPdtemp = 0.0; - } else { /* CAPtempGiven */ - here->CAPdtemp = 0.0; - if (here->CAPdtempGiven) - printf("%s: Instance temperature specified, dtemp ignored\n", - here->CAPname); - } + if(!here->CAPtempGiven) { + here->CAPtemp = ckt->CKTtemp; + if(!here->CAPdtempGiven) here->CAPdtemp = 0.0; + } else { /* CAPtempGiven */ + here->CAPdtemp = 0.0; + if (here->CAPdtempGiven) + printf("%s: Instance temperature specified, dtemp ignored\n", + here->CAPname); + } if (!here->CAPwidthGiven) { here->CAPwidth = model->CAPdefWidth; } - if (!here->CAPscaleGiven) here->CAPscale = 1.0; - if (!here->CAPmGiven) here->CAPm = 1.0; - - if (!here->CAPcapGiven) { /* No instance capacitance given */ - if (!model->CAPmCapGiven){ /* No model capacitange given */ - here->CAPcapac = - model->CAPcj * - (here->CAPwidth - model->CAPnarrow) * - (here->CAPlength - model->CAPshort) + + if (!here->CAPscaleGiven) here->CAPscale = 1.0; + if (!here->CAPmGiven) here->CAPm = 1.0; + + if (!here->CAPcapGiven) { /* No instance capacitance given */ + if (!model->CAPmCapGiven) { /* No model capacitange given */ + here->CAPcapac = + model->CAPcj * + (here->CAPwidth - model->CAPnarrow) * + (here->CAPlength - model->CAPshort) + model->CAPcjsw * 2 * ( (here->CAPlength - model->CAPshort) + (here->CAPwidth - model->CAPnarrow) ); - } else { - here->CAPcapac = model->CAPmCap; - } - } - - difference = (here->CAPtemp + here->CAPdtemp) - model->CAPtnom; - - /* instance parameters tc1 and tc2 will override - model parameters tc1 and tc2 */ - if (here->CAPtc1Given) - tc1 = here->CAPtc1; /* instance */ - else - tc1 = model->CAPtempCoeff1; /* model */ + } else { + here->CAPcapac = model->CAPmCap; + } + } - if (here->CAPtc2Given) - tc2 = here->CAPtc2; - else - tc2 = model->CAPtempCoeff2; + difference = (here->CAPtemp + here->CAPdtemp) - model->CAPtnom; - factor = 1.0 + tc1*difference + - tc2*difference*difference; + /* instance parameters tc1 and tc2 will override + model parameters tc1 and tc2 */ + if (here->CAPtc1Given) + tc1 = here->CAPtc1; /* instance */ + else + tc1 = model->CAPtempCoeff1; /* model */ - here->CAPcapac = here->CAPcapac * factor * here->CAPscale; - - } + if (here->CAPtc2Given) + tc2 = here->CAPtc2; + else + tc2 = model->CAPtempCoeff2; + + factor = 1.0 + tc1*difference + + tc2*difference*difference; + + here->CAPcapac = here->CAPcapac * factor * here->CAPscale; + + } } return(OK); }