refactor gmin in HICUM
This commit is contained in:
parent
7aadd9af4a
commit
7e5fdae917
|
|
@ -26,8 +26,8 @@ libhicum2_la_SOURCES = \
|
|||
hicum2soachk.c \
|
||||
hicum2trunc.c
|
||||
|
||||
AM_CFLAGS = -O -g -Wall -Wextra
|
||||
AM_CPPFLAGS = @AM_CPPFLAGS@ -O -g -Wall -Wextra
|
||||
AM_CXXFLAGS = -I$(top_srcdir)/../cppduals -std=c++11 -O -g -Wall -Wextra
|
||||
AM_CFLAGS = -O -g -Wall -Wextra -I$(top_srcdir)/src/include
|
||||
AM_CPPFLAGS = @AM_CPPFLAGS@ -O -g -Wall -Wextra -I$(top_srcdir)/src/include
|
||||
AM_CXXFLAGS = -std=c++11 -O -g -Wall -Wextra
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
|
|
|||
|
|
@ -1780,6 +1780,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
//todo: what about dQ/dT ?
|
||||
|
||||
//every branch connected with gmin
|
||||
Ibiei += ckt->CKTgmin*Vbiei;
|
||||
Ibiei_Vbiei += ckt->CKTgmin;
|
||||
Ibici += ckt->CKTgmin*Vbici;
|
||||
|
|
|
|||
|
|
@ -2617,23 +2617,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Ibpbi_Vrth = 0;
|
||||
}
|
||||
|
||||
Ibiei += ckt->CKTgmin*Vbiei;
|
||||
Ibiei_Vbiei += ckt->CKTgmin;
|
||||
Ibici += ckt->CKTgmin*Vbici;
|
||||
Ibici_Vbici += ckt->CKTgmin;
|
||||
Ibici_Vbiei += ckt->CKTgmin;
|
||||
Iciei += ckt->CKTgmin*Vciei;
|
||||
Iciei_Vbiei += ckt->CKTgmin;
|
||||
Iciei_Vbici += ckt->CKTgmin;
|
||||
Ibpei += ckt->CKTgmin*Vbpei;
|
||||
Ibpei_Vbpei += ckt->CKTgmin;
|
||||
Ibpbi += ckt->CKTgmin*Vbpbi;
|
||||
Ibpbi_Vbiei += ckt->CKTgmin;
|
||||
Ibpbi_Vbici += ckt->CKTgmin;
|
||||
Ibpci += ckt->CKTgmin*Vbpci;
|
||||
Ibpci_Vbpci += ckt->CKTgmin;
|
||||
Isici += ckt->CKTgmin*Vsici;
|
||||
Isici_Vsici += ckt->CKTgmin;
|
||||
|
||||
|
||||
//printf("Vbiei: %f Vbici: %f Vciei: %f Vbpei: %f Vbpci: %f Vbci: %f Vsici: %f\n", Vbiei, Vbici, Vciei, Vbpei, Vbpci, Vbci, Vsici);
|
||||
//printf("Ibiei: %g ibici: %g Ibpei: %g Iciei: %g\n",Ibiei,ibici,Ibpei,Iciei);
|
||||
|
|
@ -2722,6 +2706,82 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
}
|
||||
// ********************************************
|
||||
|
||||
// all nodes (B BP BI C CI E EI S SI) connected to gmin
|
||||
// T node not neede since if rth to small, non existent
|
||||
Ibiei += ckt->CKTgmin*Vbiei; //BI EI -> BI EI
|
||||
Ibici += ckt->CKTgmin*Vbici; //BI CI -> CI
|
||||
Ibpei += ckt->CKTgmin*Vbpei; //BP EI -> BP
|
||||
// Iciei += ckt->CKTgmin*Vciei; //CI EI -> not needed
|
||||
// Ibpbi += ckt->CKTgmin*Vbpbi; //BP BI -> not needed
|
||||
// Ibpci += ckt->CKTgmin*Vbpci; //BP CI -> not needed
|
||||
Isici += ckt->CKTgmin*Vsici; //SI CI -> SI
|
||||
//C from Icic
|
||||
//E from Ieie
|
||||
//S from Isis
|
||||
|
||||
//all derivatives with gmin
|
||||
//Ibiei
|
||||
Ibiei_Vbiei += ckt->CKTgmin;
|
||||
Ibiei_Vbici += ckt->CKTgmin;
|
||||
|
||||
//Ibici
|
||||
Ibici_Vbici += ckt->CKTgmin;
|
||||
Ibici_Vbiei += ckt->CKTgmin;
|
||||
|
||||
//Iciei
|
||||
Iciei_Vbiei += ckt->CKTgmin;
|
||||
Iciei_Vbici += ckt->CKTgmin;
|
||||
|
||||
//Ibpei
|
||||
Ibpei_Vbpei += ckt->CKTgmin;
|
||||
|
||||
// Ibpbi
|
||||
Ibpbi_Vbiei += ckt->CKTgmin;
|
||||
Ibpbi_Vbici += ckt->CKTgmin;
|
||||
//Ibpbi_Vbpbi += ckt->CKTgmin; //not needed since rbi is set to gmin if too small
|
||||
|
||||
//Ibpci
|
||||
Ibpci_Vbpci += ckt->CKTgmin;
|
||||
|
||||
//Isici
|
||||
Isici_Vsici += ckt->CKTgmin;
|
||||
|
||||
//Ibpsi
|
||||
Ibpsi_Vbpci += ckt->CKTgmin;
|
||||
Ibpsi_Vsici += ckt->CKTgmin;
|
||||
|
||||
//SHE derivatives
|
||||
if (!(model->HICUMflsh == 0 || model->HICUMrth < MIN_R )) {
|
||||
//Ibiei
|
||||
Ibiei_Vrth += ckt->CKTgmin;
|
||||
//Ibici
|
||||
Ibici_Vrth += ckt->CKTgmin;
|
||||
//Iciei
|
||||
Iciei_Vrth += ckt->CKTgmin;
|
||||
//Ibpei
|
||||
Ibpei_Vrth += ckt->CKTgmin;
|
||||
// Ibpbi
|
||||
Ibpbi_Vrth += ckt->CKTgmin;
|
||||
//Ibpci
|
||||
Ibpci_Vrth += ckt->CKTgmin;
|
||||
//Isici
|
||||
Isici_Vrth += ckt->CKTgmin;
|
||||
//Ibpsi
|
||||
Ibpsi_Vrth += ckt->CKTgmin;
|
||||
//Ith
|
||||
Ith_Vbiei += ckt->CKTgmin;
|
||||
Ith_Vbici += ckt->CKTgmin;
|
||||
Ith_Vbpbi += ckt->CKTgmin;
|
||||
Ith_Vbpci += ckt->CKTgmin;
|
||||
Ith_Vbpei += ckt->CKTgmin;
|
||||
Ith_Vciei += ckt->CKTgmin;
|
||||
Ith_Vsici += ckt->CKTgmin;
|
||||
Ith_Vcic += ckt->CKTgmin;
|
||||
Ith_Vbbp += ckt->CKTgmin;
|
||||
Ith_Veie += ckt->CKTgmin;
|
||||
Ith_Vrth += ckt->CKTgmin;
|
||||
}
|
||||
|
||||
// NQS effect
|
||||
// Ibxf1 = Ixf1;
|
||||
// Icxf1 += ddt(Qxf1);
|
||||
|
|
|
|||
|
|
@ -101,3 +101,13 @@ Im Update part, line 1361:
|
|||
if (ibets > 0 && (Vbpei < 0.0 || Vbiei < 0.0)) begin : HICTUN_T
|
||||
|
||||
|
||||
# gmin
|
||||
|
||||
Die Knoten eines nichlinearen Zweiges müssen einmal (!) mit gmin verbunden werden.
|
||||
Daraus folgt, wie schon gemacht, für den Strom gmin*Vxy als Zusatz und für alle (!)
|
||||
Ableitungen des Stromes gmin als Zusatz.
|
||||
|
||||
Praktisch heißt das, daß die Beaufschlagung von Iciei überflüssig ist,
|
||||
da schon mit den Zweigen biei und bici erfolgt ist.
|
||||
Es fehlen aber noch Beaufschlagungen,
|
||||
z.B. Ibiei_Vbici, weil die Ableitung später hinzugekommen ist.
|
||||
Loading…
Reference in New Issue