Correct matrix entries for VDMOS pz analysis

This commit is contained in:
dwarning 2025-02-28 16:41:46 +01:00 committed by Holger Vogt
parent 8a49164aec
commit a271ac821a
2 changed files with 11 additions and 14 deletions

View File

@ -171,10 +171,6 @@ typedef struct sVDMOSinstance {
(source prime node,source prime node) */
double *VDMOSDdpPtr; /* pointer to sparse matrix element at
(drain node,drain prime node) */
double *VDMOSGdpPtr; /* pointer to sparse matrix element at
(gate node,drain prime node) */
double *VDMOSGspPtr; /* pointer to sparse matrix element at
(gate node,source prime node) */
double *VDMOSSspPtr; /* pointer to sparse matrix element at
(source node,source prime node) */
double *VDMOSDPspPtr; /* pointer to sparse matrix element at

View File

@ -55,20 +55,21 @@ VDMOSpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
* load matrix
*/
*(here->VDMOSGgPtr ) += (xgd+xgs)*s->real;
*(here->VDMOSGgPtr +1) += (xgd+xgs)*s->imag;
*(here->VDMOSGPgpPtr ) += (xgd+xgs)*s->real;
*(here->VDMOSGPgpPtr +1) += (xgd+xgs)*s->imag;
*(here->VDMOSDPdpPtr ) += (xgd)*s->real;
*(here->VDMOSDPdpPtr +1) += (xgd)*s->imag;
*(here->VDMOSSPspPtr ) += (xgs)*s->real;
*(here->VDMOSSPspPtr +1) += (xgs)*s->imag;
*(here->VDMOSGdpPtr ) -= xgd*s->real;
*(here->VDMOSGdpPtr +1) -= xgd*s->imag;
*(here->VDMOSGspPtr ) -= xgs*s->real;
*(here->VDMOSGspPtr +1) -= xgs*s->imag;
*(here->VDMOSDPgPtr ) -= xgd*s->real;
*(here->VDMOSDPgPtr +1) -= xgd*s->imag;
*(here->VDMOSSPgPtr ) -= xgs*s->real;
*(here->VDMOSSPgPtr +1) -= xgs*s->imag;
*(here->VDMOSGPdpPtr ) -= xgd*s->real;
*(here->VDMOSGPdpPtr +1) -= xgd*s->imag;
*(here->VDMOSGPspPtr ) -= xgs*s->real;
*(here->VDMOSGPspPtr +1) -= xgs*s->imag;
*(here->VDMOSDPgpPtr ) -= xgd*s->real;
*(here->VDMOSDPgpPtr +1) -= xgd*s->imag;
*(here->VDMOSSPgpPtr ) -= xgs*s->real;
*(here->VDMOSSPgpPtr +1) -= xgs*s->imag;
*(here->VDMOSDdPtr) += here->VDMOSdrainConductance;
*(here->VDMOSSsPtr) += here->VDMOSsourceConductance;
*(here->VDMOSDPdpPtr) += here->VDMOSdrainConductance+