|
|
|
@ -96,7 +96,7 @@ VBICload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
int ichk1, ichk2, ichk3, ichk4, ichk5, ichk6; |
|
|
|
int error; |
|
|
|
double gqbeo, cqbeo, gqbco, cqbco, gbcx, cbcx; |
|
|
|
double Icth, Icth_Vrth, delvrth; |
|
|
|
double Icth, Icth_Vrth; |
|
|
|
|
|
|
|
/* loop through all the models */ |
|
|
|
for( ; model != NULL; model = VBICnextModel(model)) { |
|
|
|
@ -493,8 +493,6 @@ VBICload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
delvrbi = Vrbi - *(ckt->CKTstate0 + here->VBICvrbi); |
|
|
|
delvrbp = Vrbp - *(ckt->CKTstate0 + here->VBICvrbp); |
|
|
|
delvbcp = Vbcp - *(ckt->CKTstate0 + here->VBICvbcp); |
|
|
|
if (here->VBIC_selfheat) |
|
|
|
delvrth = Vrth - *(ckt->CKTstate0 + here->VBICvrth); |
|
|
|
|
|
|
|
Vbe = model->VBICtype*( |
|
|
|
*(ckt->CKTrhsOld+here->VBICbaseNode)- |
|
|
|
@ -1286,11 +1284,13 @@ c Stamp element: Rth |
|
|
|
/* |
|
|
|
c Stamp element: Cth |
|
|
|
*/ |
|
|
|
rhs_current = Icth - Icth_Vrth*Vrth; |
|
|
|
*(ckt->CKTrhs + here->VBICtempNode) += -rhs_current; |
|
|
|
*(here->VBICtempTempPtr) += Icth_Vrth; |
|
|
|
/* |
|
|
|
c Stamp element: Ith (all values are delivered with (-) sign) |
|
|
|
c Stamp element: Ith |
|
|
|
*/ |
|
|
|
rhs_current = -Ith - Ith_Vrth*Vrth + Icth - Icth_Vrth*Vrth |
|
|
|
rhs_current = -Ith - Ith_Vrth*Vrth |
|
|
|
- Ith_Vbei*Vbei - Ith_Vbci*Vbci - Ith_Vcei*Vcei |
|
|
|
- Ith_Vbex*Vbex - Ith_Vbep*Vbep - Ith_Vbcp*Vbcp |
|
|
|
- Ith_Vcep*Vcep - Ith_Vrci*Vrci - Ith_Vbcx*Vbcx |
|
|
|
@ -1408,7 +1408,7 @@ double xvar1_Vbep,xvar3_Vbep,qdbep,qdbep_qlo,qdbep_Vrth,qdbep_Vbep,qdbep_qhi; |
|
|
|
double vn_Vbep,vnl_Vbep,vl_Vbep,sel_Vbep,cl_Vbep,ql_Vbep,qdbep_ql; |
|
|
|
double qdbep_qlo0,dv_Vbep,mv_Vbep,qdbep_vl,qdbep_vl0,qdbep_q0,dv0_PSatT; |
|
|
|
double dvh_Vbcp,qlo_PSatT,qlo_Vbcp,qhi_Vbcp,qhi_PSatT,xvar1_Vbcp,xvar3_Vbcp; |
|
|
|
double qdbcp,qdbcp_qlo,qdbcp_Vrth,qdbcp_Vbcp,qdbcp_Vbep,qdbcp_qhi,q0_PSatT; |
|
|
|
double qdbcp,qdbcp_qlo,qdbcp_Vrth,qdbcp_Vbcp,qdbcp_qhi,q0_PSatT; |
|
|
|
double dv_Vbcp,mv_Vbcp,vl_Vbcp,qdbcp_vl,qdbcp_vl0,qdbcp_q0,argi; |
|
|
|
double argi_Vbei,argi_NFatT,argi_Vrth,argi_Vtv,expi,expi_argi,expi_Vbei; |
|
|
|
double expi_Vrth,Ifi,Ifi_ISatT,Ifi_Vrth,Ifi_expi,Ifi_Vbei,argi_Vbci; |
|
|
|
@ -2878,8 +2878,6 @@ double Ith_Iccp,Ith_Ircx,Ith_Irci,Ith_Irbx,Ith_Irbi,Ith_Ire,Ith_Irbp; |
|
|
|
qdbcp_qhi=1.0; |
|
|
|
qdbcp_Vrth=qdbcp_qlo*qlo_Vrth; |
|
|
|
qdbcp_Vbcp=qdbcp_qlo*qlo_Vbcp; |
|
|
|
qdbcp_Vbep=qdbcp_qlo*qlo_Vbep; |
|
|
|
qdbcp_Vbep=qdbcp_Vbep+qdbcp_qhi*qhi_Vbep; |
|
|
|
qdbcp_Vrth=qdbcp_Vrth+qdbcp_qhi*qhi_Vrth; |
|
|
|
qdbcp_Vbcp=qdbcp_Vbcp+qdbcp_qhi*qhi_Vbcp; |
|
|
|
}else{ |
|
|
|
@ -2951,7 +2949,6 @@ double Ith_Iccp,Ith_Ircx,Ith_Irci,Ith_Irbx,Ith_Irbi,Ith_Ire,Ith_Irbp; |
|
|
|
qdbcp_q0=-1.0; |
|
|
|
qdbcp_Vrth=qdbcp_qlo*qlo_Vrth; |
|
|
|
qdbcp_Vbcp=qdbcp_Vbcp+qdbcp_qlo*qlo_Vbcp; |
|
|
|
qdbcp_Vbep=qdbcp_qlo*qlo_Vbep; |
|
|
|
qdbcp_Vbcp=qdbcp_Vbcp+qdbcp_vl*vl_Vbcp; |
|
|
|
qdbcp_Vrth=qdbcp_Vrth+qdbcp_vl*vl_Vrth; |
|
|
|
qdbcp_Vrth=qdbcp_Vrth+qdbcp_vl0*vl0_Vrth; |
|
|
|
|