rth stamp moved (no yet working)

This commit is contained in:
Markus Mueller 2020-10-17 12:54:35 +02:00
parent 42d61da3eb
commit 5743d2b551
5 changed files with 1480 additions and 1388 deletions

View File

@ -53,6 +53,7 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
double Ibpbi_Vrth;
double Isis_Vsis;
double Irth_Vrth;
double Icic_Vcic, Icic_Vrth;
double Ieie_Veie, Ieie_Vrth;
double Ibbp_Vbbp, Ibbp_Vrth;
@ -157,6 +158,13 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
} else {
Isis_Vsis = 0.0;
}
if(selfheat) {
Irth_Vrth = (1/here->HICUMrth_t.rpart - *(ckt->CKTstate0 + here->HICUMvrth)/(here->HICUMrth_t.rpart*here->HICUMrth_t.rpart) * here->HICUMrth_t.dpart);
} else {
Irth_Vrth = 0.0;
}
Ibiei_Vbiei = *(ckt->CKTstate0 + here->HICUMibiei_Vbiei);
Ibiei_Vxf = *(ckt->CKTstate0 + here->HICUMibiei_Vxf);
@ -569,6 +577,9 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMxf2TempPtr) += Ixf2_Vrth;
}
// Stamp element: Rth f_T = +
*(here->HICUMtempTempPtr) += Irth_Vrth;
// Stamp element: Ith f_T = - Ith
// with respect to Potential Vrth
*(here->HICUMtempTempPtr) += -Ith_Vrth;

View File

@ -56,6 +56,7 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
double Icic_Vcic, Icic_Vrth;
double Ieie_Veie, Ieie_Vrth;
double Ibbp_Vbbp, Ibbp_Vrth;
double Irth_Vrth;
double Ibpsi_Vbpci;
double Ibpsi_Vsici;
@ -157,6 +158,11 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
} else {
Isis_Vsis = 0.0;
}
if(selfheat) {
Irth_Vrth = (1/here->HICUMrth_t.rpart - *(ckt->CKTstate0 + here->HICUMvrth)/(here->HICUMrth_t.rpart*here->HICUMrth_t.rpart) * here->HICUMrth_t.dpart);
} else {
Irth_Vrth = 0.0;
}
Ibiei_Vbiei = *(ckt->CKTstate0 + here->HICUMibiei_Vbiei);
Ibiei_Vxf = *(ckt->CKTstate0 + here->HICUMibiei_Vxf);
@ -660,6 +666,9 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
*(here->HICUMxf2TempPtr) += Ixf2_Vrth;
}
// Stamp element: Rth f_T = +
*(here->HICUMtempTempPtr) += Irth_Vrth;
// Stamp element: Ith f_T = - Ith
// with respect to Potential Vrth
*(here->HICUMtempTempPtr) += -Ith_Vrth;

View File

@ -506,6 +506,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
double Ibpbi_Vrth;
double Ieie_Vrth;
double Icic_Vrth=0.0;
double Irth_Vrth=0.0;
double Ibbp_Vrth=0.0;
double Ith_Vrth=0.0;
@ -2260,7 +2261,12 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
} else {
Isis_Vsis = 0.0;
}
if(selfheat){
Irth_Vrth = (1/here->HICUMrth_t.rpart - Vrth/(here->HICUMrth_t.rpart*here->HICUMrth_t.rpart) * here->HICUMrth_t.dpart);
} else {
Irth_Vrth = 0.0;
}
Ibpei = model->HICUMtype*ibep;
Ibpei += model->HICUMtype*irep;
Ibpei_Vbpei = model->HICUMtype*ibep_Vbpei;
@ -2342,11 +2348,8 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
if(!selfheat) {
Ith = 0;
} else {
Ith = -Vrth/here->HICUMrth_t.rpart+pterm; //Current from gnd to T
Ith_Vrth = pterm_dT;
Ith_Vrth += -1/here->HICUMrth_t.rpart;
Ith_Vrth += +Vrth/(here->HICUMrth_t.rpart*here->HICUMrth_t.rpart) * here->HICUMrth_t.dpart;
Ith = pterm; //Current from gnd to T
Ith_Vrth = pterm_dT;
if (model->HICUMflsh == 1) {
//it(Vbiei,Vbici)*(Vbiei-Vbici)
Ith_Vbiei += it_Vbiei*(Vbiei-Vbici) + it;
@ -3256,7 +3259,15 @@ load:
*(here->HICUMxf2TempPtr) += Ixf2_dT;
}
// Stamp element: Rth f_T = +
rhs_current = - Irth_Vrth*Vrth;
*(ckt->CKTrhs + here->HICUMtempNode) += -rhs_current;
// with respect to Potential Vrth
*(here->HICUMemitEItempPtr) += +Irth_Vrth;
// Stamp element: Ith f_T = - Ith
// Ith = -Vrth/here->HICUMrth_t.rpart; //Current from gnd to T
// Ith_Vrth = (-1/here->HICUMrth_t.rpart + Vrth/(here->HICUMrth_t.rpart*here->HICUMrth_t.rpart) * here->HICUMrth_t.dpart);
rhs_current = Ith
- Ith_Vbiei*Vbiei - Ith_Vbici*Vbici - Ith_Vciei*Vciei
- Ith_Vbpei*Vbpei - Ith_Vbpci*Vbpci - Ith_Vsici*Vsici

File diff suppressed because it is too large Load Diff

1443
tests/hicum2/npn/qaSpec_real Normal file

File diff suppressed because it is too large Load Diff