correct init of icheck and pz sub
This commit is contained in:
parent
165d26be3e
commit
e9d18ba849
|
|
@ -386,6 +386,7 @@ BJTload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here->BJTtVcrit,&icheck);
|
||||
vbc = DEVpnjlim(vbc,*(ckt->CKTstate0 + here->BJTvbc),vt,
|
||||
here->BJTtVcrit,&ichk1);
|
||||
if (ichk1 == 1) icheck=1;
|
||||
vsub = DEVpnjlim(vsub,*(ckt->CKTstate0 + here->BJTvsub),vt,
|
||||
here->BJTtSubVcrit,&ichk1);
|
||||
if (ichk1 == 1) icheck=1;
|
||||
|
|
@ -764,7 +765,7 @@ load:
|
|||
*/
|
||||
geqsub = gcsub + gdsub;
|
||||
ceqsub=model->BJTtype * model->BJTsubs *
|
||||
(*(ckt->CKTstate0 + here->BJTcqsub) + cdsub - vsub * geqsub);
|
||||
(*(ckt->CKTstate0 + here->BJTcqsub) + cdsub - vsub*geqsub);
|
||||
ceqbx=model->BJTtype * (*(ckt->CKTstate0 + here->BJTcqbx) -
|
||||
vbx * geqbx);
|
||||
ceqbe=model->BJTtype * (cc + cb - vbe * (gm + go + gpi) + vbc *
|
||||
|
|
@ -779,6 +780,7 @@ load:
|
|||
m * (-ceqbe-ceqbc);
|
||||
*(ckt->CKTrhs + here->BJTemitPrimeNode) += m * (ceqbe);
|
||||
*(ckt->CKTrhs + here->BJTsubstNode) += m * (-ceqsub);
|
||||
|
||||
/*
|
||||
* load y matrix
|
||||
*/
|
||||
|
|
@ -786,7 +788,7 @@ load:
|
|||
*(here->BJTbaseBasePtr) += m * (gx+geqbx);
|
||||
*(here->BJTemitEmitPtr) += m * (gepr);
|
||||
*(here->BJTcolPrimeColPrimePtr) += m * (gmu+go+gcpr+geqbx);
|
||||
*(here->BJTsubstConSubstConPtr) += m * (geqsub);
|
||||
*(here->BJTsubstConSubstConPtr) += m * (geqsub);
|
||||
*(here->BJTbasePrimeBasePrimePtr) += m * (gx +gpi+gmu+geqcb);
|
||||
*(here->BJTemitPrimeEmitPrimePtr) += m * (gpi+gepr+gm+go);
|
||||
*(here->BJTcolColPrimePtr) += m * (-gcpr);
|
||||
|
|
|
|||
|
|
@ -58,8 +58,12 @@ BJTpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
*(here->BJTbaseBasePtr) += m * ((gx) + (xcbx) * (s->real));
|
||||
*(here->BJTbaseBasePtr + 1) += m * ((xcbx) * (s->imag));
|
||||
*(here->BJTemitEmitPtr) += m * (gepr);
|
||||
*(here->BJTcolPrimeColPrimePtr) += m * ((gmu+go+gcpr) + (xcmu+xcsub+xcbx) * (s->real));
|
||||
*(here->BJTcolPrimeColPrimePtr + 1) += m * ((xcmu+xcsub+xcbx) * (s->imag));
|
||||
*(here->BJTcolPrimeColPrimePtr) += m * ((gmu+go+gcpr) + (xcmu+xcbx) * (s->real));
|
||||
*(here->BJTcolPrimeColPrimePtr + 1) += m * ((xcmu+xcbx) * (s->imag));
|
||||
|
||||
*(here->BJTsubstConSubstConPtr) += m * (xcsub)* (s->real);
|
||||
*(here->BJTsubstConSubstConPtr + 1) += m * (xcsub)* (s->imag);
|
||||
|
||||
*(here->BJTbasePrimeBasePrimePtr) += m * ((gx+gpi+gmu) + (xcpi+xcmu+xcmcb) * (s->real));
|
||||
*(here->BJTbasePrimeBasePrimePtr + 1) += m * ((xcpi+xcmu+xcmcb) * (s->imag));
|
||||
*(here->BJTemitPrimeEmitPrimePtr) += m * ((gpi+gepr+gm+go) + (xcpi+xgm) * (s->real));
|
||||
|
|
@ -84,6 +88,10 @@ BJTpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
*(here->BJTemitPrimeBasePrimePtr + 1) += m * ((-xcpi-xgm-xcmcb) * (s->imag));
|
||||
*(here->BJTsubstSubstPtr) += m * ((xcsub) * (s->real));
|
||||
*(here->BJTsubstSubstPtr + 1) += m * ((xcsub) * (s->imag));
|
||||
*(here->BJTsubstConSubstPtr) += m * ((-xcsub) * (s->real));
|
||||
*(here->BJTsubstConSubstPtr + 1) += m * ((-xcsub) * (s->imag));
|
||||
*(here->BJTsubstSubstConPtr) += m * ((-xcsub) * (s->real));
|
||||
*(here->BJTsubstSubstConPtr + 1) += m * ((-xcsub) * (s->imag));
|
||||
*(here->BJTbaseColPrimePtr) += m * ((-xcbx) * (s->real));
|
||||
*(here->BJTbaseColPrimePtr + 1) += m * ((-xcbx) * (s->imag));
|
||||
*(here->BJTcolPrimeBasePtr) += m * ((-xcbx) * (s->real));
|
||||
|
|
|
|||
Loading…
Reference in New Issue