remove hicum inital conditions that are not spice-like

This commit is contained in:
Markus Mueller 2020-07-04 20:03:13 +02:00
parent aa283f40ef
commit 6fce26437e
4 changed files with 73 additions and 72 deletions

View File

@ -19,14 +19,14 @@ IFparm HICUMpTable[] = { /* parameters */
IOPU("area", HICUM_AREA, IF_REAL, "Area factor"),
IOPU("off", HICUM_OFF, IF_FLAG, "Device initially off"),
IP("ic", HICUM_IC, IF_REALVEC, "Initial condition vector"),
OP("icvb", HICUM_IC_VB, IF_REAL, "Initial B potential"),
OP("icvc", HICUM_IC_VC, IF_REAL, "Initial C potential"),
OP("icve", HICUM_IC_VE, IF_REAL, "Initial E potential"),
OP("icvbi", HICUM_IC_VBi, IF_REAL, "Initial Bi potential"),
OP("icvbp", HICUM_IC_VBp, IF_REAL, "Initial Bp potential"),
OP("icvci", HICUM_IC_VCi, IF_REAL, "Initial Ci potential"),
OP("icvt", HICUM_IC_Vt, IF_REAL, "Initial T potential"),
OP("icvei", HICUM_IC_VEi, IF_REAL, "Initial Ei potential"),
// OP("icvb", HICUM_IC_VB, IF_REAL, "Initial B potential"),
// OP("icvc", HICUM_IC_VC, IF_REAL, "Initial C potential"),
// OP("icve", HICUM_IC_VE, IF_REAL, "Initial E potential"),
// OP("icvbi", HICUM_IC_VBi, IF_REAL, "Initial Bi potential"),
// OP("icvbp", HICUM_IC_VBp, IF_REAL, "Initial Bp potential"),
// OP("icvci", HICUM_IC_VCi, IF_REAL, "Initial Ci potential"),
// OP("icvt", HICUM_IC_Vt, IF_REAL, "Initial T potential"),
// OP("icvei", HICUM_IC_VEi, IF_REAL, "Initial Ei potential"),
IOPU("m", HICUM_M, IF_REAL, "Multiplier"),
IOPU("temp", HICUM_TEMP, IF_REAL, "Instance temperature"),

View File

@ -37,30 +37,30 @@ HICUMask(CKTcircuit *ckt, GENinstance *instPtr, int which, IFvalue *value, IFval
case HICUM_OFF:
value->iValue = here->HICUMoff;
return(OK);
case HICUM_IC_VB:
value->rValue = here->HICUMicVB;
return(OK);
case HICUM_IC_VE:
value->rValue = here->HICUMicVE;
return(OK);
case HICUM_IC_VC:
value->rValue = here->HICUMicVC;
return(OK);
case HICUM_IC_VBi:
value->rValue = here->HICUMicVBi;
return(OK);
case HICUM_IC_VBp:
value->rValue = here->HICUMicVBp;
return(OK);
case HICUM_IC_VEi:
value->rValue = here->HICUMicVEi;
return(OK);
case HICUM_IC_VCi:
value->rValue = here->HICUMicVCi;
return(OK);
case HICUM_IC_Vt:
value->rValue = here->HICUMicVt;
return(OK);
// case HICUM_IC_VB:
// value->rValue = here->HICUMicVB;
// return(OK);
// case HICUM_IC_VE:
// value->rValue = here->HICUMicVE;
// return(OK);
// case HICUM_IC_VC:
// value->rValue = here->HICUMicVC;
// return(OK);
// case HICUM_IC_VBi:
// value->rValue = here->HICUMicVBi;
// return(OK);
// case HICUM_IC_VBp:
// value->rValue = here->HICUMicVBp;
// return(OK);
// case HICUM_IC_VEi:
// value->rValue = here->HICUMicVEi;
// return(OK);
// case HICUM_IC_VCi:
// value->rValue = here->HICUMicVCi;
// return(OK);
// case HICUM_IC_Vt:
// value->rValue = here->HICUMicVt;
// return(OK);
case HICUM_TEMP:
value->rValue = here->HICUMtemp - CONSTCtoK;
return(OK);

View File

@ -894,14 +894,14 @@ enum {
HICUM_AREA = 1,
HICUM_OFF,
HICUM_IC,
HICUM_IC_VB,
HICUM_IC_VE,
HICUM_IC_VC,
HICUM_IC_VBi,
HICUM_IC_VBp,
HICUM_IC_VEi,
HICUM_IC_VCi,
HICUM_IC_Vt,
// HICUM_IC_VB,
// HICUM_IC_VE,
// HICUM_IC_VC,
// HICUM_IC_VBi,
// HICUM_IC_VBp,
// HICUM_IC_VEi,
// HICUM_IC_VCi,
// HICUM_IC_Vt,
HICUM_TEMP,
HICUM_DTEMP,
HICUM_M,

View File

@ -34,38 +34,38 @@ HICUMparam(int param, IFvalue *value, GENinstance *instPtr, IFvalue *select)
case HICUM_OFF:
here->HICUMoff = (value->iValue != 0);
break;
case HICUM_IC_VB:
here->HICUMicVB = value->rValue;
here->HICUMicVBGiven = TRUE;
break;
case HICUM_IC_VE:
here->HICUMicVE = value->rValue;
here->HICUMicVEGiven = TRUE;
break;
case HICUM_IC_VC:
here->HICUMicVC = value->rValue;
here->HICUMicVCGiven = TRUE;
break;
case HICUM_IC_VBi:
here->HICUMicVBi = value->rValue;
here->HICUMicVBiGiven = TRUE;
break;
case HICUM_IC_VBp:
here->HICUMicVBp = value->rValue;
here->HICUMicVBpGiven = TRUE;
break;
case HICUM_IC_VEi:
here->HICUMicVEi = value->rValue;
here->HICUMicVEiGiven = TRUE;
break;
case HICUM_IC_VCi:
here->HICUMicVCi = value->rValue;
here->HICUMicVCiGiven = TRUE;
break;
case HICUM_IC_Vt:
here->HICUMicVt = value->rValue;
here->HICUMicVtGiven = TRUE;
break;
// case HICUM_IC_VB:
// here->HICUMicVB = value->rValue;
// here->HICUMicVBGiven = TRUE;
// break;
// case HICUM_IC_VE:
// here->HICUMicVE = value->rValue;
// here->HICUMicVEGiven = TRUE;
// break;
// case HICUM_IC_VC:
// here->HICUMicVC = value->rValue;
// here->HICUMicVCGiven = TRUE;
// break;
// case HICUM_IC_VBi:
// here->HICUMicVBi = value->rValue;
// here->HICUMicVBiGiven = TRUE;
// break;
// case HICUM_IC_VBp:
// here->HICUMicVBp = value->rValue;
// here->HICUMicVBpGiven = TRUE;
// break;
// case HICUM_IC_VEi:
// here->HICUMicVEi = value->rValue;
// here->HICUMicVEiGiven = TRUE;
// break;
// case HICUM_IC_VCi:
// here->HICUMicVCi = value->rValue;
// here->HICUMicVCiGiven = TRUE;
// break;
// case HICUM_IC_Vt:
// here->HICUMicVt = value->rValue;
// here->HICUMicVtGiven = TRUE;
// break;
case HICUM_TEMP:
here->HICUMtemp = value->rValue+CONSTCtoK;
here->HICUMtempGiven = TRUE;
@ -83,6 +83,7 @@ HICUMparam(int param, IFvalue *value, GENinstance *instPtr, IFvalue *select)
case 2: //todo
here->HICUMicVC = *(value->v.vec.rVec+1);
here->HICUMicVCGiven = TRUE;
break;
case 1:
here->HICUMicVB = *(value->v.vec.rVec);
here->HICUMicVBGiven = TRUE;