fix nqs transient
This commit is contained in:
parent
fa7f96b4af
commit
a52274ba7d
|
|
@ -26,6 +26,7 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double Ibpei_Vrth;
|
||||
|
||||
double Ibiei_Vbiei;
|
||||
double Ibiei_Vxf;
|
||||
double Ibiei_Vbici;
|
||||
double Ibiei_Vrth;
|
||||
|
||||
|
|
@ -157,6 +158,7 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
|
|||
}
|
||||
|
||||
Ibiei_Vbiei = *(ckt->CKTstate0 + here->HICUMibiei_Vbiei);
|
||||
Ibiei_Vxf = *(ckt->CKTstate0 + here->HICUMibiei_Vxf);
|
||||
Ibiei_Vbici = *(ckt->CKTstate0 + here->HICUMibiei_Vbici);
|
||||
Ibiei_Vrth = *(ckt->CKTstate0 + here->HICUMibiei_Vrth);
|
||||
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ HICUMconvTest(GENmodel *inModel, CKTcircuit *ckt)
|
|||
delvbbp = Vbbp - *(ckt->CKTstate0 + here->HICUMvbbp);
|
||||
delveie = Veie - *(ckt->CKTstate0 + here->HICUMveie);
|
||||
|
||||
//todo: maybe add ibiei_Vxf
|
||||
ibieihat = *(ckt->CKTstate0 + here->HICUMibiei) +
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vbiei)*delvbiei +
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vrth)*delvrth +
|
||||
|
|
|
|||
|
|
@ -386,127 +386,128 @@ typedef struct sHICUMinstance {
|
|||
|
||||
#define HICUMibiei HICUMstate+13
|
||||
#define HICUMibiei_Vbiei HICUMstate+14
|
||||
#define HICUMibiei_Vbici HICUMstate+15
|
||||
#define HICUMibiei_Vrth HICUMstate+16
|
||||
#define HICUMibiei_Vxf HICUMstate+15
|
||||
#define HICUMibiei_Vbici HICUMstate+16
|
||||
#define HICUMibiei_Vrth HICUMstate+17
|
||||
|
||||
#define HICUMibpei HICUMstate+17
|
||||
#define HICUMibpei_Vbpei HICUMstate+18
|
||||
#define HICUMibpei_Vrth HICUMstate+19
|
||||
#define HICUMibpei HICUMstate+18
|
||||
#define HICUMibpei_Vbpei HICUMstate+19
|
||||
#define HICUMibpei_Vrth HICUMstate+20
|
||||
|
||||
#define HICUMiciei HICUMstate+20
|
||||
#define HICUMiciei_Vbiei HICUMstate+21
|
||||
#define HICUMiciei_Vbici HICUMstate+22
|
||||
#define HICUMiciei_Vxf2 HICUMstate+23
|
||||
#define HICUMiciei_Vrth HICUMstate+24
|
||||
#define HICUMiciei HICUMstate+21
|
||||
#define HICUMiciei_Vbiei HICUMstate+22
|
||||
#define HICUMiciei_Vbici HICUMstate+23
|
||||
#define HICUMiciei_Vxf2 HICUMstate+24
|
||||
#define HICUMiciei_Vrth HICUMstate+25
|
||||
|
||||
#define HICUMibici HICUMstate+25
|
||||
#define HICUMibici_Vbici HICUMstate+26
|
||||
#define HICUMibici_Vbiei HICUMstate+27
|
||||
#define HICUMibici_Vrth HICUMstate+28
|
||||
#define HICUMibici HICUMstate+26
|
||||
#define HICUMibici_Vbici HICUMstate+27
|
||||
#define HICUMibici_Vbiei HICUMstate+28
|
||||
#define HICUMibici_Vrth HICUMstate+29
|
||||
|
||||
#define HICUMibpbi HICUMstate+29
|
||||
#define HICUMibpbi_Vbpbi HICUMstate+30
|
||||
#define HICUMibpbi_Vbiei HICUMstate+31
|
||||
#define HICUMibpbi_Vbici HICUMstate+32
|
||||
#define HICUMibpbi_Vrth HICUMstate+33
|
||||
#define HICUMibpbi HICUMstate+30
|
||||
#define HICUMibpbi_Vbpbi HICUMstate+31
|
||||
#define HICUMibpbi_Vbiei HICUMstate+32
|
||||
#define HICUMibpbi_Vbici HICUMstate+33
|
||||
#define HICUMibpbi_Vrth HICUMstate+34
|
||||
|
||||
#define HICUMibpci HICUMstate+34
|
||||
#define HICUMibpci_Vbpci HICUMstate+35
|
||||
#define HICUMibpci_Vrth HICUMstate+36
|
||||
#define HICUMibpci HICUMstate+35
|
||||
#define HICUMibpci_Vbpci HICUMstate+36
|
||||
#define HICUMibpci_Vrth HICUMstate+37
|
||||
|
||||
#define HICUMisici HICUMstate+37
|
||||
#define HICUMisici_Vsici HICUMstate+38
|
||||
#define HICUMisici_Vrth HICUMstate+39
|
||||
#define HICUMisici HICUMstate+38
|
||||
#define HICUMisici_Vsici HICUMstate+39
|
||||
#define HICUMisici_Vrth HICUMstate+40
|
||||
|
||||
#define HICUMibpsi HICUMstate+40
|
||||
#define HICUMibpsi_Vbpci HICUMstate+41
|
||||
#define HICUMibpsi_Vsici HICUMstate+42
|
||||
#define HICUMibpsi_Vrth HICUMstate+43
|
||||
#define HICUMibpsi HICUMstate+41
|
||||
#define HICUMibpsi_Vbpci HICUMstate+42
|
||||
#define HICUMibpsi_Vsici HICUMstate+43
|
||||
#define HICUMibpsi_Vrth HICUMstate+44
|
||||
|
||||
#define HICUMisis_Vsis HICUMstate+44
|
||||
#define HICUMisis_Vsis HICUMstate+45
|
||||
|
||||
#define HICUMieie HICUMstate+45 // needed for re-flicker noise
|
||||
#define HICUMieie_Vrth HICUMstate+46
|
||||
#define HICUMieie HICUMstate+46 // needed for re-flicker noise
|
||||
#define HICUMieie_Vrth HICUMstate+47
|
||||
|
||||
#define HICUMqrbi HICUMstate+47
|
||||
#define HICUMcqrbi HICUMstate+48
|
||||
#define HICUMqrbi HICUMstate+48
|
||||
#define HICUMcqrbi HICUMstate+49
|
||||
|
||||
#define HICUMqjei HICUMstate+49
|
||||
#define HICUMcqjei HICUMstate+50
|
||||
#define HICUMqjei HICUMstate+50
|
||||
#define HICUMcqjei HICUMstate+51
|
||||
|
||||
#define HICUMqf HICUMstate+51
|
||||
#define HICUMcqf HICUMstate+52
|
||||
#define HICUMqf HICUMstate+52
|
||||
#define HICUMcqf HICUMstate+53
|
||||
|
||||
#define HICUMqr HICUMstate+53
|
||||
#define HICUMcqr HICUMstate+54
|
||||
#define HICUMqr HICUMstate+54
|
||||
#define HICUMcqr HICUMstate+55
|
||||
|
||||
#define HICUMqjci HICUMstate+55
|
||||
#define HICUMcqjci HICUMstate+56
|
||||
#define HICUMqjci HICUMstate+56
|
||||
#define HICUMcqjci HICUMstate+57
|
||||
|
||||
#define HICUMqjep HICUMstate+57
|
||||
#define HICUMcqjep HICUMstate+58
|
||||
#define HICUMqjep HICUMstate+58
|
||||
#define HICUMcqjep HICUMstate+59
|
||||
|
||||
#define HICUMqjcx0_i HICUMstate+59
|
||||
#define HICUMcqcx0_t_i HICUMstate+60
|
||||
#define HICUMqjcx0_i HICUMstate+60
|
||||
#define HICUMcqcx0_t_i HICUMstate+61
|
||||
|
||||
#define HICUMqjcx0_ii HICUMstate+61
|
||||
#define HICUMcqcx0_t_ii HICUMstate+62
|
||||
#define HICUMqjcx0_ii HICUMstate+62
|
||||
#define HICUMcqcx0_t_ii HICUMstate+63
|
||||
|
||||
#define HICUMqdsu HICUMstate+63
|
||||
#define HICUMcqdsu HICUMstate+64
|
||||
#define HICUMqdsu HICUMstate+64
|
||||
#define HICUMcqdsu HICUMstate+65
|
||||
|
||||
#define HICUMqjs HICUMstate+65
|
||||
#define HICUMcqjs HICUMstate+66
|
||||
#define HICUMqjs HICUMstate+66
|
||||
#define HICUMcqjs HICUMstate+67
|
||||
|
||||
#define HICUMqscp HICUMstate+67
|
||||
#define HICUMcqscp HICUMstate+68
|
||||
#define HICUMqscp HICUMstate+68
|
||||
#define HICUMcqscp HICUMstate+69
|
||||
|
||||
#define HICUMqbepar1 HICUMstate+69
|
||||
#define HICUMcqbepar1 HICUMstate+70
|
||||
#define HICUMgqbepar1 HICUMstate+71
|
||||
#define HICUMqbepar1 HICUMstate+70
|
||||
#define HICUMcqbepar1 HICUMstate+71
|
||||
#define HICUMgqbepar1 HICUMstate+72
|
||||
|
||||
#define HICUMqbepar2 HICUMstate+72
|
||||
#define HICUMcqbepar2 HICUMstate+73
|
||||
#define HICUMgqbepar2 HICUMstate+74
|
||||
#define HICUMqbepar2 HICUMstate+73
|
||||
#define HICUMcqbepar2 HICUMstate+74
|
||||
#define HICUMgqbepar2 HICUMstate+75
|
||||
|
||||
#define HICUMqbcpar1 HICUMstate+75
|
||||
#define HICUMcqbcpar1 HICUMstate+76
|
||||
#define HICUMgqbcpar1 HICUMstate+77
|
||||
#define HICUMqbcpar1 HICUMstate+76
|
||||
#define HICUMcqbcpar1 HICUMstate+77
|
||||
#define HICUMgqbcpar1 HICUMstate+78
|
||||
|
||||
#define HICUMqbcpar2 HICUMstate+78
|
||||
#define HICUMcqbcpar2 HICUMstate+79
|
||||
#define HICUMgqbcpar2 HICUMstate+80
|
||||
#define HICUMqbcpar2 HICUMstate+79
|
||||
#define HICUMcqbcpar2 HICUMstate+80
|
||||
#define HICUMgqbcpar2 HICUMstate+81
|
||||
|
||||
#define HICUMqsu HICUMstate+81
|
||||
#define HICUMcqsu HICUMstate+82
|
||||
#define HICUMgqsu HICUMstate+83
|
||||
#define HICUMqsu HICUMstate+82
|
||||
#define HICUMcqsu HICUMstate+83
|
||||
#define HICUMgqsu HICUMstate+84
|
||||
|
||||
#define HICUMqcth HICUMstate+84
|
||||
#define HICUMcqcth HICUMstate+85
|
||||
#define HICUMqcth HICUMstate+85
|
||||
#define HICUMcqcth HICUMstate+86
|
||||
|
||||
#define HICUMqxf HICUMstate+86
|
||||
#define HICUMcqxf HICUMstate+87
|
||||
#define HICUMgqxf HICUMstate+88
|
||||
#define HICUMixf HICUMstate+89
|
||||
#define HICUMixf_Vbiei HICUMstate+90
|
||||
#define HICUMixf_Vbici HICUMstate+91
|
||||
#define HICUMixf_Vxf HICUMstate+92
|
||||
#define HICUMixf_Vrth HICUMstate+93
|
||||
#define HICUMqxf HICUMstate+87
|
||||
#define HICUMcqxf HICUMstate+88
|
||||
#define HICUMgqxf HICUMstate+89
|
||||
#define HICUMixf HICUMstate+90
|
||||
#define HICUMixf_Vbiei HICUMstate+91
|
||||
#define HICUMixf_Vbici HICUMstate+92
|
||||
#define HICUMixf_Vxf HICUMstate+93
|
||||
#define HICUMixf_Vrth HICUMstate+94
|
||||
|
||||
#define HICUMqxf1 HICUMstate+94
|
||||
#define HICUMcqxf1 HICUMstate+95
|
||||
#define HICUMgqxf1 HICUMstate+96
|
||||
#define HICUMixf1 HICUMstate+97
|
||||
#define HICUMixf1_Vbiei HICUMstate+98
|
||||
#define HICUMixf1_Vbici HICUMstate+99
|
||||
#define HICUMixf1_Vxf2 HICUMstate+100
|
||||
#define HICUMixf1_Vxf1 HICUMstate+101
|
||||
#define HICUMixf1_Vrth HICUMstate+102
|
||||
#define HICUMqxf1 HICUMstate+95
|
||||
#define HICUMcqxf1 HICUMstate+96
|
||||
#define HICUMgqxf1 HICUMstate+97
|
||||
#define HICUMixf1 HICUMstate+98
|
||||
#define HICUMixf1_Vbiei HICUMstate+99
|
||||
#define HICUMixf1_Vbici HICUMstate+100
|
||||
#define HICUMixf1_Vxf2 HICUMstate+101
|
||||
#define HICUMixf1_Vxf1 HICUMstate+102
|
||||
#define HICUMixf1_Vrth HICUMstate+103
|
||||
|
||||
#define HICUMqxf2 HICUMstate+103
|
||||
#define HICUMcqxf2 HICUMstate+104
|
||||
#define HICUMgqxf2 HICUMstate+105
|
||||
#define HICUMixf2 HICUMstate+106
|
||||
#define HICUMqxf2 HICUMstate+104
|
||||
#define HICUMcqxf2 HICUMstate+105
|
||||
#define HICUMgqxf2 HICUMstate+106
|
||||
#define HICUMixf2 HICUMstate+107
|
||||
#define HICUMixf2_Vbiei HICUMstate+108
|
||||
#define HICUMixf2_Vbici HICUMstate+109
|
||||
#define HICUMixf2_Vxf1 HICUMstate+110
|
||||
|
|
|
|||
|
|
@ -155,11 +155,9 @@ HICUMmAsk(CKTcircuit *ckt, GENmodel *instPtr, int which, IFvalue *value)
|
|||
//Series resistances
|
||||
case HICUM_MOD_RBI0:
|
||||
value->rValue = model->HICUMrbi0;
|
||||
if (model->HICUMrbi0 < MIN_R) model->HICUMrbi0 = MIN_R;
|
||||
return(OK);
|
||||
case HICUM_MOD_RBX:
|
||||
value->rValue = model->HICUMrbx;
|
||||
if (model->HICUMrbx < MIN_R) model->HICUMrbx = MIN_R;
|
||||
return(OK);
|
||||
case HICUM_MOD_FGEO:
|
||||
value->rValue = model->HICUMfgeo;
|
||||
|
|
@ -175,11 +173,9 @@ HICUMmAsk(CKTcircuit *ckt, GENmodel *instPtr, int which, IFvalue *value)
|
|||
return(OK);
|
||||
case HICUM_MOD_RE:
|
||||
value->rValue = model->HICUMre;
|
||||
if (model->HICUMre < MIN_R) model->HICUMre = MIN_R;
|
||||
return(OK);
|
||||
case HICUM_MOD_RCX:
|
||||
value->rValue = model->HICUMrcx;
|
||||
if (model->HICUMrcx < MIN_R) model->HICUMrcx = MIN_R;
|
||||
return(OK);
|
||||
|
||||
//Substrate transistor
|
||||
|
|
@ -202,7 +198,6 @@ HICUMmAsk(CKTcircuit *ckt, GENmodel *instPtr, int which, IFvalue *value)
|
|||
//Intra-device substrate coupling
|
||||
case HICUM_MOD_RSU:
|
||||
value->rValue = model->HICUMrsu;
|
||||
if (model->HICUMrsu < MIN_R) model->HICUMrsu = MIN_R;
|
||||
return(OK);
|
||||
case HICUM_MOD_CSU:
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
double Ibpei_Vrth;
|
||||
|
||||
double Ibiei_Vbiei;
|
||||
double Ibiei_Vxf;
|
||||
double Ibiei_Vbici;
|
||||
double Ibiei_Vrth;
|
||||
|
||||
|
|
@ -157,6 +158,7 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
}
|
||||
|
||||
Ibiei_Vbiei = *(ckt->CKTstate0 + here->HICUMibiei_Vbiei);
|
||||
Ibiei_Vxf = *(ckt->CKTstate0 + here->HICUMibiei_Vxf);
|
||||
Ibiei_Vbici = *(ckt->CKTstate0 + here->HICUMibiei_Vbici);
|
||||
Ibiei_Vrth = *(ckt->CKTstate0 + here->HICUMibiei_Vrth);
|
||||
|
||||
|
|
|
|||
|
|
@ -437,7 +437,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
int error;
|
||||
double Vbe, Vcic, Vbbp, Veie, Vsis, Vbpe;
|
||||
|
||||
double Ibiei, Ibiei_Vbiei, Ibiei_Vbici;
|
||||
double Ibiei, Ibiei_Vbiei, Ibiei_Vxf, Ibiei_Vbici;
|
||||
double Ibici, Ibici_Vbici, Ibici_Vbiei;
|
||||
double Ibpei, Ibpei_Vbpei;
|
||||
double Ibpci, Ibpci_Vbpci;
|
||||
|
|
@ -1349,6 +1349,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
*(ckt->CKTstate0+here->HICUMveie)=*(ckt->CKTstate1+here->HICUMveie);
|
||||
*(ckt->CKTstate0+here->HICUMibiei)=*(ckt->CKTstate1+here->HICUMibiei);
|
||||
*(ckt->CKTstate0+here->HICUMibiei_Vbiei)=*(ckt->CKTstate1+here->HICUMibiei_Vbiei);
|
||||
*(ckt->CKTstate0+here->HICUMibiei_Vxf)=*(ckt->CKTstate1+here->HICUMibiei_Vxf);
|
||||
*(ckt->CKTstate0+here->HICUMibiei_Vbici)=*(ckt->CKTstate1+here->HICUMibiei_Vbici);
|
||||
*(ckt->CKTstate0+here->HICUMibiei_Vrth)=*(ckt->CKTstate1+here->HICUMibiei_Vrth);
|
||||
*(ckt->CKTstate0+here->HICUMibpei)=*(ckt->CKTstate1+here->HICUMibpei);
|
||||
|
|
@ -1558,6 +1559,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
if (selfheat) {
|
||||
Vrth = *(ckt->CKTrhsOld + here->HICUMtempNode);
|
||||
}
|
||||
//todo: maybe add ibiei_Vxf
|
||||
ibieihat = *(ckt->CKTstate0 + here->HICUMibiei) +
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vbiei)*delvbiei+
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vrth)*delvrth+
|
||||
|
|
@ -1689,6 +1691,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
Ibiei = *(ckt->CKTstate0 + here->HICUMibiei);
|
||||
Ibiei_Vbiei = *(ckt->CKTstate0 + here->HICUMibiei_Vbiei);
|
||||
Ibiei_Vxf = *(ckt->CKTstate0 + here->HICUMibiei_Vxf);
|
||||
Ibiei_Vbici = *(ckt->CKTstate0 + here->HICUMibiei_Vbici);
|
||||
Ibiei_Vrth = *(ckt->CKTstate0 + here->HICUMibiei_Vrth);
|
||||
|
||||
|
|
@ -2203,6 +2206,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Qxf = model->HICUMalqf*model->HICUMt0*Vxf; //for RC nw
|
||||
Qxf_Vxf = model->HICUMalqf*model->HICUMt0; //for RC nw
|
||||
|
||||
//convergency killer
|
||||
Qdeix = Vxf; //for RC nw
|
||||
Qdeix_Vxf = 1.0;
|
||||
Qdeix_Vbiei = 0;
|
||||
|
|
@ -2642,10 +2646,18 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Ibiei_Vbiei += geq;
|
||||
Ibiei += *(ckt->CKTstate0 + here->HICUMcqjei);
|
||||
//Qdeix
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qdeix_Vbiei,here->HICUMqf);
|
||||
if(error) return(error);
|
||||
Ibiei_Vbiei += geq;
|
||||
Ibiei += *(ckt->CKTstate0 + here->HICUMcqf);
|
||||
if (!nqs) {
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qdeix_Vbiei,here->HICUMqf);
|
||||
if(error) return(error);
|
||||
Ibiei_Vbiei += geq;
|
||||
Ibiei_Vxf = 0;
|
||||
Ibiei += *(ckt->CKTstate0 + here->HICUMcqf);
|
||||
} else { //Qdeix is now a function of Vxf(t)
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qdeix_Vxf,here->HICUMqf);
|
||||
if(error) return(error);
|
||||
Ibiei_Vxf = geq;
|
||||
Ibiei += *(ckt->CKTstate0 + here->HICUMcqf);
|
||||
}
|
||||
//Qr
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qr_Vbici,here->HICUMqr);
|
||||
if(error) return(error);
|
||||
|
|
@ -2687,21 +2699,21 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Isc_Vsc = geq;
|
||||
Isc = *(ckt->CKTstate0 + here->HICUMcqscp);
|
||||
if (nqs) {
|
||||
//Qxf
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qxf1_Vxf1,here->HICUMqxf);
|
||||
//Qxf1
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qxf1_Vxf1,here->HICUMqxf1);
|
||||
if(error) return(error);
|
||||
Ixf1_Vxf1 += geq;
|
||||
Ixf1 += *(ckt->CKTstate0 + here->HICUMcqxf);
|
||||
Ixf1 += *(ckt->CKTstate0 + here->HICUMcqxf1);
|
||||
//Qxf2
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qxf2_Vxf2,here->HICUMqxf2);
|
||||
if(error) return(error);
|
||||
Ixf2_Vxf2 += geq;
|
||||
Ixf2 += *(ckt->CKTstate0 + here->HICUMcqxf2);
|
||||
//Qxf
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qxf_Vxf,here->HICUMqxf1);
|
||||
error = NIintegrate(ckt,&geq,&ceq,Qxf_Vxf,here->HICUMqxf);
|
||||
if(error) return(error);
|
||||
Ixf_Vxf += geq;
|
||||
Ixf += *(ckt->CKTstate0 + here->HICUMcqxf1);
|
||||
Ixf += *(ckt->CKTstate0 + here->HICUMcqxf);
|
||||
}
|
||||
|
||||
if (selfheat)
|
||||
|
|
@ -2809,6 +2821,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
*(ckt->CKTstate0 + here->HICUMibiei) = Ibiei;
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vbiei) = Ibiei_Vbiei;
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vxf) = Ibiei_Vxf;
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vbici) = Ibiei_Vbici;
|
||||
*(ckt->CKTstate0 + here->HICUMibiei_Vrth) = Ibiei_Vrth;
|
||||
|
||||
|
|
@ -2981,7 +2994,7 @@ load:
|
|||
// finish
|
||||
|
||||
// Branch: biei, Stamp element: Ibiei = Ibei + Irei ( was Ijbei )
|
||||
rhs_current = model->HICUMtype * (Ibiei - Ibiei_Vbiei*Vbiei - Ibiei_Vbici*Vbici);
|
||||
rhs_current = model->HICUMtype * (Ibiei - Ibiei_Vbiei*Vbiei - Ibiei_Vxf*Vxf - Ibiei_Vbici*Vbici);
|
||||
*(ckt->CKTrhs + here->HICUMbaseBINode) += -rhs_current;
|
||||
*(ckt->CKTrhs + here->HICUMemitEINode) += rhs_current;
|
||||
// with respect to Vbiei
|
||||
|
|
@ -2994,6 +3007,10 @@ load:
|
|||
*(here->HICUMemitEICollCIPtr) += Ibiei_Vbici;
|
||||
*(here->HICUMbaseBICollCIPtr) += -Ibiei_Vbici;
|
||||
*(here->HICUMemitEIBaseBIPtr) += -Ibiei_Vbici;
|
||||
if (nqs) {
|
||||
*(here->HICUMbaseBIXfPtr) += Ibiei_Vxf;
|
||||
*(here->HICUMemitEIXfPtr) += -Ibiei_Vxf;
|
||||
}
|
||||
// finish
|
||||
|
||||
// Branch: bpei, Stamp element: Ibpei = Ibep + Irep ( was Ijbep )
|
||||
|
|
@ -3162,7 +3179,7 @@ load:
|
|||
|
||||
// Branch: xf-ground, Stamp element: Ixf f_xf=+
|
||||
rhs_current = Ixf - Ixf_Vbici*Vbici - Ixf_Vbiei*Vbiei - Ixf_Vxf*Vxf;
|
||||
*(ckt->CKTrhs + here->HICUMxfNode) += -rhs_current; // rhs_current; // into xf2 node
|
||||
*(ckt->CKTrhs + here->HICUMxfNode) += -rhs_current; // rhs_current; // into xf node
|
||||
*(here->HICUMxfBaseBIPtr) += +Ixf_Vbiei;
|
||||
*(here->HICUMxfEmitEIPtr) += -Ixf_Vbiei;
|
||||
*(here->HICUMxfBaseBIPtr) += +Ixf_Vbici;
|
||||
|
|
|
|||
Loading…
Reference in New Issue