remove rbi stamps if nodes collapsed finish

This commit is contained in:
Markus Mueller 2020-07-24 11:25:51 +02:00
parent f5461183f3
commit 14a5cd873b
3 changed files with 74 additions and 64 deletions

View File

@ -286,18 +286,20 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMemitEmitEIPtr) += -Ieie_Veie; *(here->HICUMemitEmitEIPtr) += -Ieie_Veie;
// Stamp element: Ibpbi // Stamp element: Ibpbi
*(here->HICUMbaseBPBaseBPPtr) += Ibpbi_Vbpbi; if (here->HICUMrbi>0.0) {
*(here->HICUMbaseBIBaseBIPtr) += Ibpbi_Vbpbi; *(here->HICUMbaseBPBaseBPPtr) += Ibpbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr) += -Ibpbi_Vbpbi; *(here->HICUMbaseBIBaseBIPtr) += Ibpbi_Vbpbi;
*(here->HICUMbaseBIBaseBPPtr) += -Ibpbi_Vbpbi; *(here->HICUMbaseBPBaseBIPtr) += -Ibpbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbiei; *(here->HICUMbaseBIBaseBPPtr) += -Ibpbi_Vbpbi;
*(here->HICUMbaseBIEmitEIPtr) += Ibpbi_Vbiei; *(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbiei;
*(here->HICUMbaseBPEmitEIPtr) += -Ibpbi_Vbiei; *(here->HICUMbaseBIEmitEIPtr) += Ibpbi_Vbiei;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbiei; *(here->HICUMbaseBPEmitEIPtr) += -Ibpbi_Vbiei;
*(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbici; *(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbiei;
*(here->HICUMbaseBICollCIPtr) += Ibpbi_Vbici; *(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbici;
*(here->HICUMbaseBPCollCIPtr) += -Ibpbi_Vbici; *(here->HICUMbaseBICollCIPtr) += Ibpbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici; *(here->HICUMbaseBPCollCIPtr) += -Ibpbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici;
};
// Stamp element: Isici // Stamp element: Isici
*(here->HICUMsubsSISubsSIPtr) += Isici_Vsici; *(here->HICUMsubsSISubsSIPtr) += Isici_Vsici;
@ -405,18 +407,20 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
XQxf2_Vxf2 = *(ckt->CKTstate0 + here->HICUMcqxf2) * ckt->CKTomega; XQxf2_Vxf2 = *(ckt->CKTstate0 + here->HICUMcqxf2) * ckt->CKTomega;
//Qrbi f_bp=+ f_bi=- //Qrbi f_bp=+ f_bi=-
*(here->HICUMbaseBPBaseBPPtr + 1) += XQrbi_Vbpbi; if (here->HICUMrbi>0.0) {
*(here->HICUMbaseBIBaseBIPtr + 1) += XQrbi_Vbpbi; *(here->HICUMbaseBPBaseBPPtr + 1) += XQrbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr + 1) += -XQrbi_Vbpbi; *(here->HICUMbaseBIBaseBIPtr + 1) += XQrbi_Vbpbi;
*(here->HICUMbaseBIBaseBPPtr + 1) += -XQrbi_Vbpbi; *(here->HICUMbaseBPBaseBIPtr + 1) += -XQrbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbiei; *(here->HICUMbaseBIBaseBPPtr + 1) += -XQrbi_Vbpbi;
*(here->HICUMbaseBIEmitEIPtr + 1) += XQrbi_Vbiei; *(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbiei;
*(here->HICUMbaseBPEmitEIPtr + 1) += -XQrbi_Vbiei; *(here->HICUMbaseBIEmitEIPtr + 1) += XQrbi_Vbiei;
*(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbiei; *(here->HICUMbaseBPEmitEIPtr + 1) += -XQrbi_Vbiei;
*(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbici; *(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbiei;
*(here->HICUMbaseBICollCIPtr + 1) += XQrbi_Vbici; *(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbici;
*(here->HICUMbaseBPCollCIPtr + 1) += -XQrbi_Vbici; *(here->HICUMbaseBICollCIPtr + 1) += XQrbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbici; *(here->HICUMbaseBPCollCIPtr + 1) += -XQrbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbici;
}
//Qjei //Qjei
*(here->HICUMbaseBIBaseBIPtr + 1) += XQjei_Vbiei; *(here->HICUMbaseBIBaseBIPtr + 1) += XQjei_Vbiei;
*(here->HICUMemitEIEmitEIPtr + 1) += XQjei_Vbiei; *(here->HICUMemitEIEmitEIPtr + 1) += XQjei_Vbiei;

View File

@ -286,18 +286,20 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
*(here->HICUMemitEmitEIPtr) += -Ieie_Veie; *(here->HICUMemitEmitEIPtr) += -Ieie_Veie;
// Stamp element: Ibpbi // Stamp element: Ibpbi
*(here->HICUMbaseBPBaseBPPtr) += Ibpbi_Vbpbi; if (here->HICUMrbi>0.0) {
*(here->HICUMbaseBIBaseBIPtr) += Ibpbi_Vbpbi; *(here->HICUMbaseBPBaseBPPtr) += Ibpbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr) += -Ibpbi_Vbpbi; *(here->HICUMbaseBIBaseBIPtr) += Ibpbi_Vbpbi;
*(here->HICUMbaseBIBaseBPPtr) += -Ibpbi_Vbpbi; *(here->HICUMbaseBPBaseBIPtr) += -Ibpbi_Vbpbi;
*(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbiei; *(here->HICUMbaseBIBaseBPPtr) += -Ibpbi_Vbpbi;
*(here->HICUMbaseBIEmitEIPtr) += Ibpbi_Vbiei; *(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbiei;
*(here->HICUMbaseBPEmitEIPtr) += -Ibpbi_Vbiei; *(here->HICUMbaseBIEmitEIPtr) += Ibpbi_Vbiei;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbiei; *(here->HICUMbaseBPEmitEIPtr) += -Ibpbi_Vbiei;
*(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbici; *(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbiei;
*(here->HICUMbaseBICollCIPtr) += Ibpbi_Vbici; *(here->HICUMbaseBPBaseBIPtr) += Ibpbi_Vbici;
*(here->HICUMbaseBPCollCIPtr) += -Ibpbi_Vbici; *(here->HICUMbaseBICollCIPtr) += Ibpbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici; *(here->HICUMbaseBPCollCIPtr) += -Ibpbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici;
};
// Stamp element: Isici // Stamp element: Isici
*(here->HICUMsubsSISubsSIPtr) += Isici_Vsici; *(here->HICUMsubsSISubsSIPtr) += Isici_Vsici;
@ -405,30 +407,32 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
XQxf2_Vxf2 = *(ckt->CKTstate0 + here->HICUMcqxf2); XQxf2_Vxf2 = *(ckt->CKTstate0 + here->HICUMcqxf2);
//Qrbi f_bp=+ f_bi=- //Qrbi f_bp=+ f_bi=-
*(here->HICUMbaseBPBaseBPPtr + 1) += XQrbi_Vbpbi*(s->imag); if (here->HICUMrbi>0.0) {
*(here->HICUMbaseBPBaseBPPtr ) += XQrbi_Vbpbi*(s->real); *(here->HICUMbaseBPBaseBPPtr + 1) += XQrbi_Vbpbi*(s->imag);
*(here->HICUMbaseBIBaseBIPtr + 1) += XQrbi_Vbpbi*(s->imag); *(here->HICUMbaseBPBaseBPPtr ) += XQrbi_Vbpbi*(s->real);
*(here->HICUMbaseBIBaseBIPtr ) += XQrbi_Vbpbi*(s->real); *(here->HICUMbaseBIBaseBIPtr + 1) += XQrbi_Vbpbi*(s->imag);
*(here->HICUMbaseBPBaseBIPtr + 1) += -XQrbi_Vbpbi*(s->imag); *(here->HICUMbaseBIBaseBIPtr ) += XQrbi_Vbpbi*(s->real);
*(here->HICUMbaseBPBaseBIPtr ) += -XQrbi_Vbpbi*(s->real); *(here->HICUMbaseBPBaseBIPtr + 1) += -XQrbi_Vbpbi*(s->imag);
*(here->HICUMbaseBIBaseBPPtr + 1) += -XQrbi_Vbpbi*(s->imag); *(here->HICUMbaseBPBaseBIPtr ) += -XQrbi_Vbpbi*(s->real);
*(here->HICUMbaseBIBaseBPPtr ) += -XQrbi_Vbpbi*(s->real); *(here->HICUMbaseBIBaseBPPtr + 1) += -XQrbi_Vbpbi*(s->imag);
*(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbiei*(s->imag); *(here->HICUMbaseBIBaseBPPtr ) += -XQrbi_Vbpbi*(s->real);
*(here->HICUMbaseBPBaseBIPtr ) += XQrbi_Vbiei*(s->real); *(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbiei*(s->imag);
*(here->HICUMbaseBIEmitEIPtr + 1) += XQrbi_Vbiei*(s->imag); *(here->HICUMbaseBPBaseBIPtr ) += XQrbi_Vbiei*(s->real);
*(here->HICUMbaseBIEmitEIPtr ) += XQrbi_Vbiei*(s->real); *(here->HICUMbaseBIEmitEIPtr + 1) += XQrbi_Vbiei*(s->imag);
*(here->HICUMbaseBPEmitEIPtr + 1) += -XQrbi_Vbiei*(s->imag); *(here->HICUMbaseBIEmitEIPtr ) += XQrbi_Vbiei*(s->real);
*(here->HICUMbaseBPEmitEIPtr ) += -XQrbi_Vbiei*(s->real); *(here->HICUMbaseBPEmitEIPtr + 1) += -XQrbi_Vbiei*(s->imag);
*(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbiei*(s->imag); *(here->HICUMbaseBPEmitEIPtr ) += -XQrbi_Vbiei*(s->real);
*(here->HICUMbaseBIBaseBIPtr ) += -XQrbi_Vbiei*(s->real); *(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbiei*(s->imag);
*(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbici*(s->imag); *(here->HICUMbaseBIBaseBIPtr ) += -XQrbi_Vbiei*(s->real);
*(here->HICUMbaseBPBaseBIPtr ) += XQrbi_Vbici*(s->real); *(here->HICUMbaseBPBaseBIPtr + 1) += XQrbi_Vbici*(s->imag);
*(here->HICUMbaseBICollCIPtr + 1) += XQrbi_Vbici*(s->imag); *(here->HICUMbaseBPBaseBIPtr ) += XQrbi_Vbici*(s->real);
*(here->HICUMbaseBICollCIPtr ) += XQrbi_Vbici*(s->real); *(here->HICUMbaseBICollCIPtr + 1) += XQrbi_Vbici*(s->imag);
*(here->HICUMbaseBPCollCIPtr + 1) += -XQrbi_Vbici*(s->imag); *(here->HICUMbaseBICollCIPtr ) += XQrbi_Vbici*(s->real);
*(here->HICUMbaseBPCollCIPtr ) += -XQrbi_Vbici*(s->real); *(here->HICUMbaseBPCollCIPtr + 1) += -XQrbi_Vbici*(s->imag);
*(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbici*(s->imag); *(here->HICUMbaseBPCollCIPtr ) += -XQrbi_Vbici*(s->real);
*(here->HICUMbaseBIBaseBIPtr ) += -XQrbi_Vbici*(s->real); *(here->HICUMbaseBIBaseBIPtr + 1) += -XQrbi_Vbici*(s->imag);
*(here->HICUMbaseBIBaseBIPtr ) += -XQrbi_Vbici*(s->real);
};
//Qjei //Qjei
*(here->HICUMbaseBIBaseBIPtr + 1) += XQjei_Vbiei*(s->imag); *(here->HICUMbaseBIBaseBIPtr + 1) += XQjei_Vbiei*(s->imag);
*(here->HICUMbaseBIBaseBIPtr ) += XQjei_Vbiei*(s->real); *(here->HICUMbaseBIBaseBIPtr ) += XQjei_Vbiei*(s->real);
@ -633,9 +637,11 @@ HICUMpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
// Stamp element: Re f_Ei = + f_E = - // Stamp element: Re f_Ei = + f_E = -
*(here->HICUMemitEItempPtr) += Ieie_Vrth; *(here->HICUMemitEItempPtr) += Ieie_Vrth;
*(here->HICUMemitTempPtr) += -Ieie_Vrth; *(here->HICUMemitTempPtr) += -Ieie_Vrth;
// Stamp element: Rbi f_Bp = + f_Bi = - if (here->HICUMrbi>0.0) {
*(here->HICUMbaseBPtempPtr) += Ibpbi_Vrth; // Stamp element: Rbi f_Bp = + f_Bi = -
*(here->HICUMbaseBItempPtr) += -Ibpbi_Vrth; *(here->HICUMbaseBPtempPtr) += Ibpbi_Vrth;
*(here->HICUMbaseBItempPtr) += -Ibpbi_Vrth;
};
// Stamp element: Isici f_Si = + f_Ci = - // Stamp element: Isici f_Si = + f_Ci = -
*(here->HICUMsubsSItempPtr) += Isici_Vrth; *(here->HICUMsubsSItempPtr) += Isici_Vrth;
*(here->HICUMcollCItempPtr) += -Isici_Vrth; *(here->HICUMcollCItempPtr) += -Isici_Vrth;

View File

@ -361,7 +361,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
double Cscp_Vsc, Cscp_dT; double Cscp_Vsc, Cscp_dT;
//Base resistance and self-heating power //Base resistance and self-heating power
double rbi,pterm,pterm_dT; double rbi=0,pterm,pterm_dT;
//Model initialization //Model initialization
double C_1; double C_1;