reorder code

This commit is contained in:
Markus Mueller 2020-07-01 14:44:13 +02:00
parent e81b41c653
commit ad16be59ba
2 changed files with 41 additions and 38 deletions

View File

@ -2,7 +2,7 @@
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Thomas L. Quarles
Model Author: 1990 Michael Schröter TU Dresden
Spice3 Implementation: 2019 Dietmar Warning
Spice3 Implementation: 2019 Dietmar Warning and Markus Müller
**********/
/*
@ -218,6 +218,16 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMbaseBPEmitEIPtr) += -Ibpei_Vbpei;
*(here->HICUMemitEIBaseBPPtr) += -Ibpei_Vbpei;;
// Stamp element: Ibici
*(here->HICUMbaseBIBaseBIPtr) += Ibici_Vbici;
*(here->HICUMcollCICollCIPtr) += Ibici_Vbici;
*(here->HICUMcollCIBaseBIPtr) += -Ibici_Vbici;
*(here->HICUMbaseBICollCIPtr) += -Ibici_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += Ibici_Vbiei;
*(here->HICUMcollCIEmitEIPtr) += Ibici_Vbiei;
*(here->HICUMcollCIBaseBIPtr) += -Ibici_Vbiei;
*(here->HICUMbaseBIEmitEIPtr) += -Ibici_Vbiei;
// Stamp element: Iciei
*(here->HICUMcollCIBaseBIPtr) += Iciei_Vbiei;
*(here->HICUMemitEIEmitEIPtr) += Iciei_Vbiei;
@ -232,15 +242,6 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMemitEIXf2Ptr) += -Iciei_Vxf2;
}
// Stamp element: Ibici
*(here->HICUMbaseBIBaseBIPtr) += Ibici_Vbici;
*(here->HICUMcollCICollCIPtr) += Ibici_Vbici;
*(here->HICUMcollCIBaseBIPtr) += -Ibici_Vbici;
*(here->HICUMbaseBICollCIPtr) += -Ibici_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += Ibici_Vbiei;
*(here->HICUMcollCIEmitEIPtr) += Ibici_Vbiei;
*(here->HICUMcollCIBaseBIPtr) += -Ibici_Vbiei;
*(here->HICUMbaseBIEmitEIPtr) += -Ibici_Vbiei;
// Stamp element: Ibpci
*(here->HICUMbaseBPBaseBPPtr) += Ibpci_Vbpci;
@ -260,6 +261,12 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMbaseBPBasePtr) += -Ibbp_Vbbp;
*(here->HICUMbaseBaseBPPtr) += -Ibbp_Vbbp;
// Stamp element: Re
*(here->HICUMemitEmitPtr) += Ieie_Veie;
*(here->HICUMemitEIEmitEIPtr) += Ieie_Veie;
*(here->HICUMemitEIEmitPtr) += -Ieie_Veie;
*(here->HICUMemitEmitEIPtr) += -Ieie_Veie;
// Stamp element: Ibpbi
*(here->HICUMbaseBPBaseBPPtr) += Ibpbi_Vbpbi;
*(here->HICUMbaseBIBaseBIPtr) += Ibpbi_Vbpbi;
@ -274,12 +281,6 @@ HICUMacLoad(GENmodel *inModel, CKTcircuit *ckt)
*(here->HICUMbaseBPCollCIPtr) += -Ibpbi_Vbici;
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici;
// Stamp element: Re
*(here->HICUMemitEmitPtr) += Ieie_Veie;
*(here->HICUMemitEIEmitEIPtr) += Ieie_Veie;
*(here->HICUMemitEIEmitPtr) += -Ieie_Veie;
*(here->HICUMemitEmitEIPtr) += -Ieie_Veie;
// Stamp element: Isici
*(here->HICUMsubsSISubsSIPtr) += Isici_Vsici;
*(here->HICUMcollCICollCIPtr) += Isici_Vsici;

View File

@ -3372,6 +3372,30 @@ load:
// ############### STAMPS NO SH ##############################
// #############################################################
// first branches that are not relevant in DC HICUM, e.g. only in the transient case
// Branch: sc, Stamp element: Cscp
rhs_current = model->HICUMtype * (Isc - Isc_Vsc*Vsc);
*(ckt->CKTrhs + here->HICUMsubsNode) += -rhs_current;
*(ckt->CKTrhs + here->HICUMcollNode) += rhs_current;
// with respect to Vsc
*(here->HICUMsubsSubsPtr) += Isc_Vsc;
*(here->HICUMsubsCollPtr) += Isc_Vsc;
*(here->HICUMcollSubsPtr) += -Isc_Vsc;
*(here->HICUMcollCollPtr) += -Isc_Vsc;
// finish
// Branch: bci, Stamp element: Qbcx
rhs_current = model->HICUMtype * (Ibci - Ibci_Vbci*Vbci);
*(ckt->CKTrhs + here->HICUMbaseNode) += -rhs_current;
*(ckt->CKTrhs + here->HICUMcollCINode) += rhs_current;
//with respect to Vbci
*(here->HICUMbaseBasePtr) += Ibci_Vbci;
*(here->HICUMcollCICollCIPtr) += Ibci_Vbci;
*(here->HICUMbaseCollCIPtr) += -Ibci_Vbci;
*(here->HICUMcollCIBasePtr) += -Ibci_Vbci;
// finish
// Branch: be, Stamp element: Cbepar1
rhs_current = model->HICUMtype * (*(ckt->CKTstate0 + here->HICUMcqbepar1) - Vbe * gqbepar1);
*(ckt->CKTrhs + here->HICUMbaseNode) += -rhs_current;
@ -3492,17 +3516,6 @@ load:
}
// finish
// Branch: bci, Stamp element: Qbcx
rhs_current = model->HICUMtype * (Ibci - Ibci_Vbci*Vbci);
*(ckt->CKTrhs + here->HICUMbaseNode) += -rhs_current;
*(ckt->CKTrhs + here->HICUMcollCINode) += rhs_current;
//with respect to Vbci
*(here->HICUMbaseBasePtr) += Ibci_Vbci;
*(here->HICUMcollCICollCIPtr) += Ibci_Vbci;
*(here->HICUMbaseCollCIPtr) += -Ibci_Vbci;
*(here->HICUMcollCIBasePtr) += -Ibci_Vbci;
// finish
// Branch: bpci, Stamp element: Ibpci ( was Ijbcx )
rhs_current = model->HICUMtype * (Ibpci - Ibpci_Vbpci*Vbpci);
*(ckt->CKTrhs + here->HICUMbaseBPNode) += -rhs_current;
@ -3560,17 +3573,6 @@ load:
*(here->HICUMbaseBIBaseBIPtr) += -Ibpbi_Vbici;
// finish
// Branch: sc, Stamp element: Cscp
rhs_current = model->HICUMtype * (Isc - Isc_Vsc*Vsc);
*(ckt->CKTrhs + here->HICUMsubsNode) += -rhs_current;
*(ckt->CKTrhs + here->HICUMcollNode) += rhs_current;
// with respect to Vsc
*(here->HICUMsubsSubsPtr) += Isc_Vsc;
*(here->HICUMsubsCollPtr) += Isc_Vsc;
*(here->HICUMcollSubsPtr) += -Isc_Vsc;
*(here->HICUMcollCollPtr) += -Isc_Vsc;
// finish
// Branch: sici, Stamp element: Ijsc
rhs_current = model->HICUMtype * (Isici - Isici_Vsici*Vsici);
*(ckt->CKTrhs + here->HICUMsubsSINode) += -rhs_current;