repo: gserdyuk/gnucap-a

original_code:
int
BSIM3pzLoad (GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
{
BSIM3model *model = (BSIM3model*)inModel;
BSIM3instance *here;
double xcggb, xcgdb, xcgsb, xcgbb, xcbgb, xcbdb, xcbsb, xcbbb;
double xcdgb, xcddb, xcdsb, xcdbb, xcsgb, xcsdb, xcssb, xcsbb;
double gdpr, gspr, gds, gbd, gbs, capbd, capbs, FwdSum, RevSum, Gm, Gmbs;
double cggb, cgdb, cgsb, cbgb, cbdb, cbsb, cddb, cdgb, cdsb;
double GSoverlapCap, GDoverlapCap, GBoverlapCap;
double dxpart, sxpart, xgtg, xgtd, xgts, xgtb;
double xcqgb = 0.0, xcqdb = 0.0, xcqsb = 0.0, xcqbb = 0.0;
double gbspsp, gbbdp, gbbsp, gbspg, gbspb;
double gbspdp, gbdpdp, gbdpg, gbdpb, gbdpsp;
double ddxpart_dVd, ddxpart_dVg, ddxpart_dVb, ddxpart_dVs;
double dsxpart_dVd, dsxpart_dVg, dsxpart_dVb, dsxpart_dVs;
double T1, CoxWL, qcheq, Cdg, Cdd, Cds, Csg, Csd, Css;
double ScalingFactor = 1.0e-9;
double m;
    for (; model != ((void *)0); model = model->BSIM3nextModel)
    { for (here = model->BSIM3instances; here!= ((void *)0);
              here = here->BSIM3nextInstance)
  {
       if (here->BSIM3owner != ARCHme)
        continue;
       if (here->BSIM3mode >= 0)
              { Gm = here->BSIM3gm;
                  Gmbs = here->BSIM3gmbs;
                  FwdSum = Gm + Gmbs;
                  RevSum = 0.0;
                  gbbdp = -here->BSIM3gbds;
                  gbbsp = here->BSIM3gbds + here->BSIM3gbgs + here->BSIM3gbbs;
                  gbdpg = here->BSIM3gbgs;
                  gbdpdp = here->BSIM3gbds;
                  gbdpb = here->BSIM3gbbs;
                  gbdpsp = -(gbdpg + gbdpdp + gbdpb);
                  gbspg = 0.0;
                  gbspdp = 0.0;
                  gbspb = 0.0;
                  gbspsp = 0.0;
                  if (here->BSIM3nqsMod == 0)
                  { cggb = here->BSIM3cggb;
                      cgsb = here->BSIM3cgsb;
                      cgdb = here->BSIM3cgdb;
                      cbgb = here->BSIM3cbgb;
                      cbsb = here->BSIM3cbsb;
                      cbdb = here->BSIM3cbdb;
                      cdgb = here->BSIM3cdgb;
                      cdsb = here->BSIM3cdsb;
                      cddb = here->BSIM3cddb;
                      xgtg = xgtd = xgts = xgtb = 0.0;
        sxpart = 0.6;
                      dxpart = 0.4;
        ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
      = ddxpart_dVs = 0.0;
        dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
      = dsxpart_dVs = 0.0;
                  }
                  else
                  { cggb = cgdb = cgsb = 0.0;
                      cbgb = cbdb = cbsb = 0.0;
                      cdgb = cddb = cdsb = 0.0;
        xgtg = here->BSIM3gtg;
                      xgtd = here->BSIM3gtd;
                      xgts = here->BSIM3gts;
                      xgtb = here->BSIM3gtb;
                      xcqgb = here->BSIM3cqgb;
                      xcqdb = here->BSIM3cqdb;
                      xcqsb = here->BSIM3cqsb;
                      xcqbb = here->BSIM3cqbb;
        CoxWL = model->BSIM3cox * here->pParam->BSIM3weffCV
                            * here->pParam->BSIM3leffCV;
        qcheq = -(here->BSIM3qgate + here->BSIM3qbulk);
        if (fabs(qcheq) <= 1.0e-5 * CoxWL)
        { if (model->BSIM3xpart < 0.5)
            { dxpart = 0.4;
            }
            else if (model->BSIM3xpart > 0.5)
            { dxpart = 0.0;
            }
            else
            { dxpart = 0.5;
            }
            ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
          = ddxpart_dVs = 0.0;
        }
        else
        { dxpart = here->BSIM3qdrn / qcheq;
            Cdd = here->BSIM3cddb;
            Csd = -(here->BSIM3cgdb + here->BSIM3cddb
         + here->BSIM3cbdb);
            ddxpart_dVd = (Cdd - dxpart * (Cdd + Csd)) / qcheq;
            Cdg = here->BSIM3cdgb;
            Csg = -(here->BSIM3cggb + here->BSIM3cdgb
         + here->BSIM3cbgb);
            ddxpart_dVg = (Cdg - dxpart * (Cdg + Csg)) / qcheq;
            Cds = here->BSIM3cdsb;
            Css = -(here->BSIM3cgsb + here->BSIM3cdsb
         + here->BSIM3cbsb);
            ddxpart_dVs = (Cds - dxpart * (Cds + Css)) / qcheq;
            ddxpart_dVb = -(ddxpart_dVd + ddxpart_dVg
          + ddxpart_dVs);
        }
        sxpart = 1.0 - dxpart;
        dsxpart_dVd = -ddxpart_dVd;
        dsxpart_dVg = -ddxpart_dVg;
        dsxpart_dVs = -ddxpart_dVs;
        dsxpart_dVb = -(dsxpart_dVd + dsxpart_dVg + dsxpart_dVs);
                  }
              }
              else
              { Gm = -here->BSIM3gm;
                  Gmbs = -here->BSIM3gmbs;
                  FwdSum = 0.0;
                  RevSum = -(Gm + Gmbs);
                  gbbsp = -here->BSIM3gbds;
                  gbbdp = here->BSIM3gbds + here->BSIM3gbgs + here->BSIM3gbbs;
                  gbdpg = 0.0;
                  gbdpsp = 0.0;
                  gbdpb = 0.0;
                  gbdpdp = 0.0;
                  gbspg = here->BSIM3gbgs;
                  gbspsp = here->BSIM3gbds;
                  gbspb = here->BSIM3gbbs;
                  gbspdp = -(gbspg + gbspsp + gbspb);
    if (here->BSIM3nqsMod == 0)
                  { cggb = here->BSIM3cggb;
                      cgsb = here->BSIM3cgdb;
                      cgdb = here->BSIM3cgsb;
                      cbgb = here->BSIM3cbgb;
                      cbsb = here->BSIM3cbdb;
                      cbdb = here->BSIM3cbsb;
                      cdgb = -(here->BSIM3cdgb + cggb + cbgb);
                      cdsb = -(here->BSIM3cddb + cgsb + cbsb);
                      cddb = -(here->BSIM3cdsb + cgdb + cbdb);
                      xgtg = xgtd = xgts = xgtb = 0.0;
        sxpart = 0.4;
                      dxpart = 0.6;
        ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
      = ddxpart_dVs = 0.0;
        dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
      = dsxpart_dVs = 0.0;
                  }
                  else
                  { cggb = cgdb = cgsb = 0.0;
                      cbgb = cbdb = cbsb = 0.0;
                      cdgb = cddb = cdsb = 0.0;
        xgtg = here->BSIM3gtg;
                      xgtd = here->BSIM3gts;
                      xgts = here->BSIM3gtd;
                      xgtb = here->BSIM3gtb;
                      xcqgb = here->BSIM3cqgb;
                      xcqdb = here->BSIM3cqsb;
                      xcqsb = here->BSIM3cqdb;
                      xcqbb = here->BSIM3cqbb;
        CoxWL = model->BSIM3cox * here->pParam->BSIM3weffCV
                            * here->pParam->BSIM3leffCV;
        qcheq = -(here->BSIM3qgate + here->BSIM3qbulk);
        if (fabs(qcheq) <= 1.0e-5 * CoxWL)
        { if (model->BSIM3xpart < 0.5)
            { sxpart = 0.4;
            }
            else if (model->BSIM3xpart > 0.5)
            { sxpart = 0.0;
            }
            else
            { sxpart = 0.5;
            }
            dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
          = dsxpart_dVs = 0.0;
        }
        else
        { sxpart = here->BSIM3qdrn / qcheq;
            Css = here->BSIM3cddb;
            Cds = -(here->BSIM3cgdb + here->BSIM3cddb
         + here->BSIM3cbdb);
            dsxpart_dVs = (Css - sxpart * (Css + Cds)) / qcheq;
            Csg = here->BSIM3cdgb;
            Cdg = -(here->BSIM3cggb + here->BSIM3cdgb
         + here->BSIM3cbgb);
            dsxpart_dVg = (Csg - sxpart * (Csg + Cdg)) / qcheq;
            Csd = here->BSIM3cdsb;
            Cdd = -(here->BSIM3cgsb + here->BSIM3cdsb
         + here->BSIM3cbsb);
            dsxpart_dVd = (Csd - sxpart * (Csd + Cdd)) / qcheq;
            dsxpart_dVb = -(dsxpart_dVd + dsxpart_dVg
          + dsxpart_dVs);
        }
        dxpart = 1.0 - sxpart;
        ddxpart_dVd = -dsxpart_dVd;
        ddxpart_dVg = -dsxpart_dVg;
        ddxpart_dVs = -dsxpart_dVs;
        ddxpart_dVb = -(ddxpart_dVd + ddxpart_dVg + ddxpart_dVs);
                  }
              }
       T1 = *(ckt->CKTstates[0] + here->BSIM3states+ 16) * here->BSIM3gtau;
              gdpr = here->BSIM3drainConductance;
              gspr = here->BSIM3sourceConductance;
              gds = here->BSIM3gds;
              gbd = here->BSIM3gbd;
              gbs = here->BSIM3gbs;
              capbd = here->BSIM3capbd;
              capbs = here->BSIM3capbs;
       GSoverlapCap = here->BSIM3cgso;
       GDoverlapCap = here->BSIM3cgdo;
       GBoverlapCap = here->pParam->BSIM3cgbo;
              xcdgb = (cdgb - GDoverlapCap);
              xcddb = (cddb + capbd + GDoverlapCap);
              xcdsb = cdsb;
              xcdbb = -(xcdgb + xcddb + xcdsb);
              xcsgb = -(cggb + cbgb + cdgb + GSoverlapCap);
              xcsdb = -(cgdb + cbdb + cddb);
              xcssb = (capbs + GSoverlapCap - (cgsb + cbsb + cdsb));
              xcsbb = -(xcsgb + xcsdb + xcssb);
              xcggb = (cggb + GDoverlapCap + GSoverlapCap + GBoverlapCap);
              xcgdb = (cgdb - GDoverlapCap);
              xcgsb = (cgsb - GSoverlapCap);
              xcgbb = -(xcggb + xcgdb + xcgsb);
              xcbgb = (cbgb - GBoverlapCap);
              xcbdb = (cbdb - capbd);
              xcbsb = (cbsb - capbs);
              xcbbb = -(xcbgb + xcbdb + xcbsb);
       m = here->BSIM3m;
              *(here->BSIM3GgPtr ) += m * (xcggb * s->real);
              *(here->BSIM3GgPtr +1) += m * (xcggb * s->imag);
              *(here->BSIM3BbPtr ) += m * (xcbbb * s->real);
              *(here->BSIM3BbPtr +1) += m * (xcbbb * s->imag);
              *(here->BSIM3DPdpPtr ) += m * (xcddb * s->real);
              *(here->BSIM3DPdpPtr +1) += m * (xcddb * s->imag);
              *(here->BSIM3SPspPtr ) += m * (xcssb * s->real);
              *(here->BSIM3SPspPtr +1) += m * (xcssb * s->imag);
              *(here->BSIM3GbPtr ) += m * (xcgbb * s->real);
              *(here->BSIM3GbPtr +1) += m * (xcgbb * s->imag);
              *(here->BSIM3GdpPtr ) += m * (xcgdb * s->real);
              *(here->BSIM3GdpPtr +1) += m * (xcgdb * s->imag);
              *(here->BSIM3GspPtr ) += m * (xcgsb * s->real);
              *(here->BSIM3GspPtr +1) += m * (xcgsb * s->imag);
              *(here->BSIM3BgPtr ) += m * (xcbgb * s->real);
              *(here->BSIM3BgPtr +1) += m * (xcbgb * s->imag);
              *(here->BSIM3BdpPtr ) += m * (xcbdb * s->real);
              *(here->BSIM3BdpPtr +1) += m * (xcbdb * s->imag);
              *(here->BSIM3BspPtr ) += m * (xcbsb * s->real);
              *(here->BSIM3BspPtr +1) += m * (xcbsb * s->imag);
              *(here->BSIM3DPgPtr ) += m * (xcdgb * s->real);
              *(here->BSIM3DPgPtr +1) += m * (xcdgb * s->imag);
              *(here->BSIM3DPbPtr ) += m * (xcdbb * s->real);
              *(here->BSIM3DPbPtr +1) += m * (xcdbb * s->imag);
              *(here->BSIM3DPspPtr ) += m * (xcdsb * s->real);
              *(here->BSIM3DPspPtr +1) += m * (xcdsb * s->imag);
              *(here->BSIM3SPgPtr ) += m * (xcsgb * s->real);
              *(here->BSIM3SPgPtr +1) += m * (xcsgb * s->imag);
              *(here->BSIM3SPbPtr ) += m * (xcsbb * s->real);
              *(here->BSIM3SPbPtr +1) += m * (xcsbb * s->imag);
              *(here->BSIM3SPdpPtr ) += m * (xcsdb * s->real);
              *(here->BSIM3SPdpPtr +1) += m * (xcsdb * s->imag);
              *(here->BSIM3DdPtr) += m * gdpr;
              *(here->BSIM3DdpPtr) -= m * gdpr;
              *(here->BSIM3DPdPtr) -= m * gdpr;
              *(here->BSIM3SsPtr) += m * gspr;
              *(here->BSIM3SspPtr) -= m * gspr;
              *(here->BSIM3SPsPtr) -= m * gspr;
              *(here->BSIM3BgPtr) -= m * here->BSIM3gbgs;
              *(here->BSIM3BbPtr) += m * (gbd + gbs - here->BSIM3gbbs);
              *(here->BSIM3BdpPtr) -= m * (gbd - gbbdp);
              *(here->BSIM3BspPtr) -= m * (gbs - gbbsp);
              *(here->BSIM3DPgPtr) += Gm + dxpart * xgtg
       + T1 * ddxpart_dVg + gbdpg;
              *(here->BSIM3DPdpPtr) += gdpr + gds + gbd + RevSum
                                    + dxpart * xgtd + T1 * ddxpart_dVd + gbdpdp;
              *(here->BSIM3DPspPtr) -= gds + FwdSum - dxpart * xgts
        - T1 * ddxpart_dVs - gbdpsp;
              *(here->BSIM3DPbPtr) -= gbd - Gmbs - dxpart * xgtb
       - T1 * ddxpart_dVb - gbdpb;
              *(here->BSIM3SPgPtr) -= Gm - sxpart * xgtg
       - T1 * dsxpart_dVg - gbspg;
              *(here->BSIM3SPspPtr) += gspr + gds + gbs + FwdSum
                                   + sxpart * xgts + T1 * dsxpart_dVs + gbspsp;
              *(here->BSIM3SPbPtr) -= gbs + Gmbs - sxpart * xgtb
       - T1 * dsxpart_dVb - gbspb;
              *(here->BSIM3SPdpPtr) -= gds + RevSum - sxpart * xgtd
        - T1 * dsxpart_dVd - gbspdp;
              *(here->BSIM3GgPtr) -= xgtg;
              *(here->BSIM3GbPtr) -= xgtb;
              *(here->BSIM3GdpPtr) -= xgtd;
              *(here->BSIM3GspPtr) -= xgts;
              if (here->BSIM3nqsMod)
              { *(here->BSIM3QqPtr ) += m * (s->real * ScalingFactor);
                  *(here->BSIM3QqPtr +1) += m * (s->imag * ScalingFactor);
                  *(here->BSIM3QgPtr ) -= m * (xcqgb * s->real);
                  *(here->BSIM3QgPtr +1) -= m * (xcqgb * s->imag);
                  *(here->BSIM3QdpPtr ) -= m * (xcqdb * s->real);
                  *(here->BSIM3QdpPtr +1) -= m * (xcqdb * s->imag);
                  *(here->BSIM3QbPtr ) -= m * (xcqbb * s->real);
                  *(here->BSIM3QbPtr +1) -= m * (xcqbb * s->imag);
                  *(here->BSIM3QspPtr ) -= m * (xcqsb * s->real);
                  *(here->BSIM3QspPtr +1) -= xcqsb * s->imag;
                  *(here->BSIM3GqPtr) -= m * (here->BSIM3gtau);
                  *(here->BSIM3DPqPtr) += m * (dxpart * here->BSIM3gtau);
                  *(here->BSIM3SPqPtr) += m * (sxpart * here->BSIM3gtau);
                  *(here->BSIM3QqPtr) += m * (here->BSIM3gtau);
                  *(here->BSIM3QgPtr) += m * xgtg;
                  *(here->BSIM3QdpPtr) += m * xgtd;
                  *(here->BSIM3QbPtr) += m * xgtb;
                  *(here->BSIM3QspPtr) += m * xgts;
              }
         }
    }
    return(0);
}

canonical_original_code:
int BSIM3pzLoad(struct sGENmodel *inModel, struct CKTcircuit *ckt, struct SPcomplex *s)
{
struct sBSIM3model *model = (BSIM3model*)inModel;
struct sBSIM3instance *here;
double xcggb; double xcgdb; double xcgsb; double xcgbb; double xcbgb; double xcbdb; double xcbsb; double xcbbb;
double xcdgb; double xcddb; double xcdsb; double xcdbb; double xcsgb; double xcsdb; double xcssb; double xcsbb;
double gdpr; double gspr; double gds; double gbd; double gbs; double capbd; double capbs; double FwdSum; double RevSum; double Gm; double Gmbs;
double cggb; double cgdb; double cgsb; double cbgb; double cbdb; double cbsb; double cddb; double cdgb; double cdsb;
double GSoverlapCap; double GDoverlapCap; double GBoverlapCap;
double dxpart; double sxpart; double xgtg; double xgtd; double xgts; double xgtb;
double xcqgb = 0.0; double xcqdb = 0.0; double xcqsb = 0.0; double xcqbb = 0.0;
double gbspsp; double gbbdp; double gbbsp; double gbspg; double gbspb;
double gbspdp; double gbdpdp; double gbdpg; double gbdpb; double gbdpsp;
double ddxpart_dVd; double ddxpart_dVg; double ddxpart_dVb; double ddxpart_dVs;
double dsxpart_dVd; double dsxpart_dVg; double dsxpart_dVb; double dsxpart_dVs;
double T1; double CoxWL; double qcheq; double Cdg; double Cdd; double Cds; double Csg; double Csd; double Css;
double ScalingFactor = 1.0e-9;
double m;
    for (; model != ((void *)0); model = model->BSIM3nextModel)
    { for (here = model->BSIM3instances; here!= ((void *)0);
              here = here->BSIM3nextInstance)
  {
       if (here->BSIM3owner != ARCHme)
        continue;
       if (here->BSIM3mode >= 0)
              { Gm = here->BSIM3gm;
                  Gmbs = here->BSIM3gmbs;
                  FwdSum = Gm + Gmbs;
                  RevSum = 0.0;
                  gbbdp = -here->BSIM3gbds;
                  gbbsp = here->BSIM3gbds + here->BSIM3gbgs + here->BSIM3gbbs;
                  gbdpg = here->BSIM3gbgs;
                  gbdpdp = here->BSIM3gbds;
                  gbdpb = here->BSIM3gbbs;
                  gbdpsp = -(gbdpg + gbdpdp + gbdpb);
                  gbspg = 0.0;
                  gbspdp = 0.0;
                  gbspb = 0.0;
                  gbspsp = 0.0;
                  if (here->BSIM3nqsMod == 0)
                  { cggb = here->BSIM3cggb;
                      cgsb = here->BSIM3cgsb;
                      cgdb = here->BSIM3cgdb;
                      cbgb = here->BSIM3cbgb;
                      cbsb = here->BSIM3cbsb;
                      cbdb = here->BSIM3cbdb;
                      cdgb = here->BSIM3cdgb;
                      cdsb = here->BSIM3cdsb;
                      cddb = here->BSIM3cddb;
                      xgtg = xgtd = xgts = xgtb = 0.0;
        sxpart = 0.6;
                      dxpart = 0.4;
        ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
      = ddxpart_dVs = 0.0;
        dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
      = dsxpart_dVs = 0.0;
                  }
                  else
                  { cggb = cgdb = cgsb = 0.0;
                      cbgb = cbdb = cbsb = 0.0;
                      cdgb = cddb = cdsb = 0.0;
        xgtg = here->BSIM3gtg;
                      xgtd = here->BSIM3gtd;
                      xgts = here->BSIM3gts;
                      xgtb = here->BSIM3gtb;
                      xcqgb = here->BSIM3cqgb;
                      xcqdb = here->BSIM3cqdb;
                      xcqsb = here->BSIM3cqsb;
                      xcqbb = here->BSIM3cqbb;
        CoxWL = model->BSIM3cox * here->pParam->BSIM3weffCV
                            * here->pParam->BSIM3leffCV;
        qcheq = -(here->BSIM3qgate + here->BSIM3qbulk);
        if (fabs(qcheq) <= 1.0e-5 * CoxWL)
        { if (model->BSIM3xpart < 0.5)
            { dxpart = 0.4;
            }
            else if (model->BSIM3xpart > 0.5)
            { dxpart = 0.0;
            }
            else
            { dxpart = 0.5;
            }
            ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
          = ddxpart_dVs = 0.0;
        }
        else
        { dxpart = here->BSIM3qdrn / qcheq;
            Cdd = here->BSIM3cddb;
            Csd = -(here->BSIM3cgdb + here->BSIM3cddb
         + here->BSIM3cbdb);
            ddxpart_dVd = (Cdd - dxpart * (Cdd + Csd)) / qcheq;
            Cdg = here->BSIM3cdgb;
            Csg = -(here->BSIM3cggb + here->BSIM3cdgb
         + here->BSIM3cbgb);
            ddxpart_dVg = (Cdg - dxpart * (Cdg + Csg)) / qcheq;
            Cds = here->BSIM3cdsb;
            Css = -(here->BSIM3cgsb + here->BSIM3cdsb
         + here->BSIM3cbsb);
            ddxpart_dVs = (Cds - dxpart * (Cds + Css)) / qcheq;
            ddxpart_dVb = -(ddxpart_dVd + ddxpart_dVg
          + ddxpart_dVs);
        }
        sxpart = 1.0 - dxpart;
        dsxpart_dVd = -ddxpart_dVd;
        dsxpart_dVg = -ddxpart_dVg;
        dsxpart_dVs = -ddxpart_dVs;
        dsxpart_dVb = -(dsxpart_dVd + dsxpart_dVg + dsxpart_dVs);
                  }
              }
              else
              { Gm = -here->BSIM3gm;
                  Gmbs = -here->BSIM3gmbs;
                  FwdSum = 0.0;
                  RevSum = -(Gm + Gmbs);
                  gbbsp = -here->BSIM3gbds;
                  gbbdp = here->BSIM3gbds + here->BSIM3gbgs + here->BSIM3gbbs;
                  gbdpg = 0.0;
                  gbdpsp = 0.0;
                  gbdpb = 0.0;
                  gbdpdp = 0.0;
                  gbspg = here->BSIM3gbgs;
                  gbspsp = here->BSIM3gbds;
                  gbspb = here->BSIM3gbbs;
                  gbspdp = -(gbspg + gbspsp + gbspb);
    if (here->BSIM3nqsMod == 0)
                  { cggb = here->BSIM3cggb;
                      cgsb = here->BSIM3cgdb;
                      cgdb = here->BSIM3cgsb;
                      cbgb = here->BSIM3cbgb;
                      cbsb = here->BSIM3cbdb;
                      cbdb = here->BSIM3cbsb;
                      cdgb = -(here->BSIM3cdgb + cggb + cbgb);
                      cdsb = -(here->BSIM3cddb + cgsb + cbsb);
                      cddb = -(here->BSIM3cdsb + cgdb + cbdb);
                      xgtg = xgtd = xgts = xgtb = 0.0;
        sxpart = 0.4;
                      dxpart = 0.6;
        ddxpart_dVd = ddxpart_dVg = ddxpart_dVb
      = ddxpart_dVs = 0.0;
        dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
      = dsxpart_dVs = 0.0;
                  }
                  else
                  { cggb = cgdb = cgsb = 0.0;
                      cbgb = cbdb = cbsb = 0.0;
                      cdgb = cddb = cdsb = 0.0;
        xgtg = here->BSIM3gtg;
                      xgtd = here->BSIM3gts;
                      xgts = here->BSIM3gtd;
                      xgtb = here->BSIM3gtb;
                      xcqgb = here->BSIM3cqgb;
                      xcqdb = here->BSIM3cqsb;
                      xcqsb = here->BSIM3cqdb;
                      xcqbb = here->BSIM3cqbb;
        CoxWL = model->BSIM3cox * here->pParam->BSIM3weffCV
                            * here->pParam->BSIM3leffCV;
        qcheq = -(here->BSIM3qgate + here->BSIM3qbulk);
        if (fabs(qcheq) <= 1.0e-5 * CoxWL)
        { if (model->BSIM3xpart < 0.5)
            { sxpart = 0.4;
            }
            else if (model->BSIM3xpart > 0.5)
            { sxpart = 0.0;
            }
            else
            { sxpart = 0.5;
            }
            dsxpart_dVd = dsxpart_dVg = dsxpart_dVb
          = dsxpart_dVs = 0.0;
        }
        else
        { sxpart = here->BSIM3qdrn / qcheq;
            Css = here->BSIM3cddb;
            Cds = -(here->BSIM3cgdb + here->BSIM3cddb
         + here->BSIM3cbdb);
            dsxpart_dVs = (Css - sxpart * (Css + Cds)) / qcheq;
            Csg = here->BSIM3cdgb;
            Cdg = -(here->BSIM3cggb + here->BSIM3cdgb
         + here->BSIM3cbgb);
            dsxpart_dVg = (Csg - sxpart * (Csg + Cdg)) / qcheq;
            Csd = here->BSIM3cdsb;
            Cdd = -(here->BSIM3cgsb + here->BSIM3cdsb
         + here->BSIM3cbsb);
            dsxpart_dVd = (Csd - sxpart * (Csd + Cdd)) / qcheq;
            dsxpart_dVb = -(dsxpart_dVd + dsxpart_dVg
          + dsxpart_dVs);
        }
        dxpart = 1.0 - sxpart;
        ddxpart_dVd = -dsxpart_dVd;
        ddxpart_dVg = -dsxpart_dVg;
        ddxpart_dVs = -dsxpart_dVs;
        ddxpart_dVb = -(ddxpart_dVd + ddxpart_dVg + ddxpart_dVs);
                  }
              }
       T1 = *(ckt->CKTstates[0] + here->BSIM3states+ 16) * here->BSIM3gtau;
              gdpr = here->BSIM3drainConductance;
              gspr = here->BSIM3sourceConductance;
              gds = here->BSIM3gds;
              gbd = here->BSIM3gbd;
              gbs = here->BSIM3gbs;
              capbd = here->BSIM3capbd;
              capbs = here->BSIM3capbs;
       GSoverlapCap = here->BSIM3cgso;
       GDoverlapCap = here->BSIM3cgdo;
       GBoverlapCap = here->pParam->BSIM3cgbo;
              xcdgb = (cdgb - GDoverlapCap);
              xcddb = (cddb + capbd + GDoverlapCap);
              xcdsb = cdsb;
              xcdbb = -(xcdgb + xcddb + xcdsb);
              xcsgb = -(cggb + cbgb + cdgb + GSoverlapCap);
              xcsdb = -(cgdb + cbdb + cddb);
              xcssb = (capbs + GSoverlapCap - (cgsb + cbsb + cdsb));
              xcsbb = -(xcsgb + xcsdb + xcssb);
              xcggb = (cggb + GDoverlapCap + GSoverlapCap + GBoverlapCap);
              xcgdb = (cgdb - GDoverlapCap);
              xcgsb = (cgsb - GSoverlapCap);
              xcgbb = -(xcggb + xcgdb + xcgsb);
              xcbgb = (cbgb - GBoverlapCap);
              xcbdb = (cbdb - capbd);
              xcbsb = (cbsb - capbs);
              xcbbb = -(xcbgb + xcbdb + xcbsb);
       m = here->BSIM3m;
              *(here->BSIM3GgPtr ) += m * (xcggb * s->real);
              *(here->BSIM3GgPtr +1) += m * (xcggb * s->imag);
              *(here->BSIM3BbPtr ) += m * (xcbbb * s->real);
              *(here->BSIM3BbPtr +1) += m * (xcbbb * s->imag);
              *(here->BSIM3DPdpPtr ) += m * (xcddb * s->real);
              *(here->BSIM3DPdpPtr +1) += m * (xcddb * s->imag);
              *(here->BSIM3SPspPtr ) += m * (xcssb * s->real);
              *(here->BSIM3SPspPtr +1) += m * (xcssb * s->imag);
              *(here->BSIM3GbPtr ) += m * (xcgbb * s->real);
              *(here->BSIM3GbPtr +1) += m * (xcgbb * s->imag);
              *(here->BSIM3GdpPtr ) += m * (xcgdb * s->real);
              *(here->BSIM3GdpPtr +1) += m * (xcgdb * s->imag);
              *(here->BSIM3GspPtr ) += m * (xcgsb * s->real);
              *(here->BSIM3GspPtr +1) += m * (xcgsb * s->imag);
              *(here->BSIM3BgPtr ) += m * (xcbgb * s->real);
              *(here->BSIM3BgPtr +1) += m * (xcbgb * s->imag);
              *(here->BSIM3BdpPtr ) += m * (xcbdb * s->real);
              *(here->BSIM3BdpPtr +1) += m * (xcbdb * s->imag);
              *(here->BSIM3BspPtr ) += m * (xcbsb * s->real);
              *(here->BSIM3BspPtr +1) += m * (xcbsb * s->imag);
              *(here->BSIM3DPgPtr ) += m * (xcdgb * s->real);
              *(here->BSIM3DPgPtr +1) += m * (xcdgb * s->imag);
              *(here->BSIM3DPbPtr ) += m * (xcdbb * s->real);
              *(here->BSIM3DPbPtr +1) += m * (xcdbb * s->imag);
              *(here->BSIM3DPspPtr ) += m * (xcdsb * s->real);
              *(here->BSIM3DPspPtr +1) += m * (xcdsb * s->imag);
              *(here->BSIM3SPgPtr ) += m * (xcsgb * s->real);
              *(here->BSIM3SPgPtr +1) += m * (xcsgb * s->imag);
              *(here->BSIM3SPbPtr ) += m * (xcsbb * s->real);
              *(here->BSIM3SPbPtr +1) += m * (xcsbb * s->imag);
              *(here->BSIM3SPdpPtr ) += m * (xcsdb * s->real);
              *(here->BSIM3SPdpPtr +1) += m * (xcsdb * s->imag);
              *(here->BSIM3DdPtr) += m * gdpr;
              *(here->BSIM3DdpPtr) -= m * gdpr;
              *(here->BSIM3DPdPtr) -= m * gdpr;
              *(here->BSIM3SsPtr) += m * gspr;
              *(here->BSIM3SspPtr) -= m * gspr;
              *(here->BSIM3SPsPtr) -= m * gspr;
              *(here->BSIM3BgPtr) -= m * here->BSIM3gbgs;
              *(here->BSIM3BbPtr) += m * (gbd + gbs - here->BSIM3gbbs);
              *(here->BSIM3BdpPtr) -= m * (gbd - gbbdp);
              *(here->BSIM3BspPtr) -= m * (gbs - gbbsp);
              *(here->BSIM3DPgPtr) += Gm + dxpart * xgtg
       + T1 * ddxpart_dVg + gbdpg;
              *(here->BSIM3DPdpPtr) += gdpr + gds + gbd + RevSum
                                    + dxpart * xgtd + T1 * ddxpart_dVd + gbdpdp;
              *(here->BSIM3DPspPtr) -= gds + FwdSum - dxpart * xgts
        - T1 * ddxpart_dVs - gbdpsp;
              *(here->BSIM3DPbPtr) -= gbd - Gmbs - dxpart * xgtb
       - T1 * ddxpart_dVb - gbdpb;
              *(here->BSIM3SPgPtr) -= Gm - sxpart * xgtg
       - T1 * dsxpart_dVg - gbspg;
              *(here->BSIM3SPspPtr) += gspr + gds + gbs + FwdSum
                                   + sxpart * xgts + T1 * dsxpart_dVs + gbspsp;
              *(here->BSIM3SPbPtr) -= gbs + Gmbs - sxpart * xgtb
       - T1 * dsxpart_dVb - gbspb;
              *(here->BSIM3SPdpPtr) -= gds + RevSum - sxpart * xgtd
        - T1 * dsxpart_dVd - gbspdp;
              *(here->BSIM3GgPtr) -= xgtg;
              *(here->BSIM3GbPtr) -= xgtb;
              *(here->BSIM3GdpPtr) -= xgtd;
              *(here->BSIM3GspPtr) -= xgts;
              if (here->BSIM3nqsMod)
              { *(here->BSIM3QqPtr ) += m * (s->real * ScalingFactor);
                  *(here->BSIM3QqPtr +1) += m * (s->imag * ScalingFactor);
                  *(here->BSIM3QgPtr ) -= m * (xcqgb * s->real);
                  *(here->BSIM3QgPtr +1) -= m * (xcqgb * s->imag);
                  *(here->BSIM3QdpPtr ) -= m * (xcqdb * s->real);
                  *(here->BSIM3QdpPtr +1) -= m * (xcqdb * s->imag);
                  *(here->BSIM3QbPtr ) -= m * (xcqbb * s->real);
                  *(here->BSIM3QbPtr +1) -= m * (xcqbb * s->imag);
                  *(here->BSIM3QspPtr ) -= m * (xcqsb * s->real);
                  *(here->BSIM3QspPtr +1) -= xcqsb * s->imag;
                  *(here->BSIM3GqPtr) -= m * (here->BSIM3gtau);
                  *(here->BSIM3DPqPtr) += m * (dxpart * here->BSIM3gtau);
                  *(here->BSIM3SPqPtr) += m * (sxpart * here->BSIM3gtau);
                  *(here->BSIM3QqPtr) += m * (here->BSIM3gtau);
                  *(here->BSIM3QgPtr) += m * xgtg;
                  *(here->BSIM3QdpPtr) += m * xgtd;
                  *(here->BSIM3QbPtr) += m * xgtb;
                  *(here->BSIM3QspPtr) += m * xgts;
              }
         }
    }
    return(0);
}

variable_types: struct sGENmodel { int GENmodType; struct sGENmodel *GENnextModel; struct sGENinstance { struct sGENmodel *GENmodPtr; struct sGENinstance *GENnextInstance; char *GENname; int GENowner; int GENstate; int GENnode1; int GENnode2; int GENnode3; int GENnode4; int GENnode5; int GENnode6; int GENnode7; } *GENinstances; char *GENmodName; } *

variable_types: struct CKTcircuit { struct sGENmodel **CKThead; struct STATistics { int STATnumIter; int STATtranIter; int STAToldIter; int STATtimePts; int STATaccepted; int STATrejected; double STATtotAnalTime; double STATloadTime; double STATdecompTime; double STATsolveTime; double STATreorderTime; double STATcombineTime; double STATsyncTime; double STATtranTime; double STATtranDecompTime; double STATtranSolveTime; double STATtranLoadTime; double STATtranTruncTime; double STATtranCombTime; double STATtranSyncTime; double STATacTime; double STATacDecompTime; double STATacSolveTime; double STATacLoadTime; double STATacCombTime; double STATacSyncTime; } *CKTstat; double *CKTstates[8]; double CKTtime; double CKTdelta; double CKTdeltaOld[7]; double CKTtemp; double CKTnomTemp; double CKTvt; double CKTag[7]; double CKTagp[7]; int CKTorder; int CKTmaxOrder; int CKTintegrateMethod; void *CKTmatrix; int CKTniState; double *CKTrhs; double *CKTrhsOld; double *CKTrhsSpare; double *CKTirhs; double *CKTirhsOld; double *CKTirhsSpare; double *CKTpred; double *CKTsols[8]; double *CKTrhsOp; double *CKTsenRhs; double *CKTseniRhs; int CKTmaxEqNum; int CKTcurrentAnalysis; struct sCKTnode { char *name; int type; int number; double ic; double nodeset; double *ptr; struct sCKTnode *next; unsigned int icGiven; unsigned int nsGiven; } *CKTnodes; struct sCKTnode *CKTlastNode; int CKTnumStates; long CKTmode; int CKTbypass; int CKTdcMaxIter; int CKTdcTrcvMaxIter; int CKTtranMaxIter; int CKTbreakSize; int CKTbreak; double CKTsaveDelta; double CKTminBreak; double *CKTbreaks; double CKTabstol; double CKTpivotAbsTol; double CKTpivotRelTol; double CKTreltol; double CKTchgtol; double CKTvoltTol; double CKTgmin; double CKTgshunt; double CKTdelmin; double CKTtrtol; double CKTfinalTime; double CKTstep; double CKTmaxStep; double CKTinitTime; double CKTomega; double CKTsrcFact; double CKTdiagGmin; int CKTnumSrcSteps; int CKTnumGminSteps; double CKTgminFactor; int CKTnoncon; double CKTdefaultMosM; double CKTdefaultMosL; double CKTdefaultMosW; double CKTdefaultMosAD; double CKTdefaultMosAS; unsigned int CKThadNodeset; unsigned int CKTfixLimit; unsigned int CKTnoOpIter; unsigned int CKTisSetup; struct sJOB { int JOBtype; struct sJOB *JOBnextJob; char *JOBname; } *CKTcurJob; struct SENstruct { int JOBtype; struct sJOB *JOBnextJob; char *JOBname; int SENnumVal; char **SENdevices; char **SENparmNames; unsigned int SENinitflag; unsigned int SENicflag; unsigned int SENstatus; unsigned int SENacpertflag; int SENmode; int SENparms; double SENpertfac; double **SEN_Sap; double **SEN_RHS; double **SEN_iRHS; int SENsize; void *SEN_Jacmat; double *SEN_parmVal; char **SEN_parmName; } *CKTsenInfo; double *CKTtimePoints; double *CKTdeltaList; int CKTtimeListSize; int CKTtimeIndex; int CKTsizeIncr; unsigned int CKTtryToCompact; unsigned int CKTbadMos3; unsigned int CKTkeepOpInfo; unsigned int CKTcopyNodesets; unsigned int CKTnodeDamping; double CKTabsDv; double CKTrelDv; int CKTtroubleNode; struct sGENinstance *CKTtroubleElt; } *

variable_types: struct SPcomplex { double real; double imag; } *

variable_types: struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance { struct sBSIM3model *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam { double Width; double Length; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbi; double BSIM3vbm; double BSIM3vbsc; double BSIM3xt; double BSIM3phi; double BSIM3litl; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3vfb; double BSIM3delta; double BSIM3rdsw; double BSIM3rds0; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3clc; double BSIM3cle; double BSIM3vfbcv; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3dw; double BSIM3dl; double BSIM3leff; double BSIM3weff; double BSIM3dwc; double BSIM3dlc; double BSIM3leffCV; double BSIM3weffCV; double BSIM3abulkCVfactor; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3tconst; double BSIM3u0temp; double BSIM3vsattemp; double BSIM3sqrtPhi; double BSIM3phis3; double BSIM3Xdep0; double BSIM3sqrtXdep0; double BSIM3theta0vb0; double BSIM3thetaRout; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3cdep0; double BSIM3vfbzb; double BSIM3ldeb; double BSIM3k1ox; double BSIM3k2ox; struct bsim3SizeDependParam *pNext; } *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; } *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; } *

variable_types: struct sBSIM3instance { struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam { double Width; double Length; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbi; double BSIM3vbm; double BSIM3vbsc; double BSIM3xt; double BSIM3phi; double BSIM3litl; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3vfb; double BSIM3delta; double BSIM3rdsw; double BSIM3rds0; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3clc; double BSIM3cle; double BSIM3vfbcv; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3dw; double BSIM3dl; double BSIM3leff; double BSIM3weff; double BSIM3dwc; double BSIM3dlc; double BSIM3leffCV; double BSIM3weffCV; double BSIM3abulkCVfactor; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3tconst; double BSIM3u0temp; double BSIM3vsattemp; double BSIM3sqrtPhi; double BSIM3phis3; double BSIM3Xdep0; double BSIM3sqrtXdep0; double BSIM3theta0vb0; double BSIM3thetaRout; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3cdep0; double BSIM3vfbzb; double BSIM3ldeb; double BSIM3k1ox; double BSIM3k2ox; struct bsim3SizeDependParam *pNext; } *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; } *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; } *

variable_types: xcggb double

variable_types: xcgdb double

variable_types: xcgsb double

variable_types: xcgbb double

variable_types: xcbgb double

variable_types: xcbdb double

variable_types: xcbsb double

variable_types: xcbbb double

variable_types: xcdgb double

variable_types: xcddb double

variable_types: xcdsb double

variable_types: xcdbb double

variable_types: xcsgb double

variable_types: xcsdb double

variable_types: xcssb double

variable_types: xcsbb double

variable_types: gdpr double

variable_types: gspr double

variable_types: gds double

variable_types: gbd double

variable_types: gbs double

variable_types: capbd double

variable_types: capbs double

variable_types: FwdSum double

variable_types: RevSum double

variable_types: Gm double

variable_types: Gmbs double

variable_types: cggb double

variable_types: cgdb double

variable_types: cgsb double

variable_types: cbgb double

variable_types: cbdb double

variable_types: cbsb double

variable_types: cddb double

variable_types: cdgb double

variable_types: cdsb double

variable_types: GSoverlapCap double

variable_types: GDoverlapCap double

variable_types: GBoverlapCap double

variable_types: dxpart double

variable_types: sxpart double

variable_types: xgtg double

variable_types: xgtd double

variable_types: xgts double

variable_types: xgtb double

variable_types: xcqgb double

variable_types: xcqdb double

variable_types: xcqsb double

variable_types: xcqbb double

variable_types: gbspsp double

variable_types: gbbdp double

variable_types: gbbsp double

variable_types: gbspg double

variable_types: gbspb double

variable_types: gbspdp double

variable_types: gbdpdp double

variable_types: gbdpg double

variable_types: gbdpb double

variable_types: gbdpsp double

variable_types: CoxWL double

variable_types: qcheq double

variable_types: Cdg double

variable_types: Cdd double

variable_types: Cds double

variable_types: Csg double

variable_types: Csd double

variable_types: Css double

variable_types: ScalingFactor double

variable_types: m double

return_type: int

user_defined_types: struct sGENmodel { int GENmodType; struct sGENmodel *GENnextModel; struct sGENinstance *GENinstances; char *GENmodName; }

user_defined_types: struct CKTcircuit { struct sGENmodel **CKThead; struct STATistics *CKTstat; double *CKTstates[8]; double CKTtime; double CKTdelta; double CKTdeltaOld[7]; double CKTtemp; double CKTnomTemp; double CKTvt; double CKTag[7]; double CKTagp[7]; int CKTorder; int CKTmaxOrder; int CKTintegrateMethod; void *CKTmatrix; int CKTniState; double *CKTrhs; double *CKTrhsOld; double *CKTrhsSpare; double *CKTirhs; double *CKTirhsOld; double *CKTirhsSpare; double *CKTpred; double *CKTsols[8]; double *CKTrhsOp; double *CKTsenRhs; double *CKTseniRhs; int CKTmaxEqNum; int CKTcurrentAnalysis; struct sCKTnode *CKTnodes; struct sCKTnode *CKTlastNode; int CKTnumStates; long CKTmode; int CKTbypass; int CKTdcMaxIter; int CKTdcTrcvMaxIter; int CKTtranMaxIter; int CKTbreakSize; int CKTbreak; double CKTsaveDelta; double CKTminBreak; double *CKTbreaks; double CKTabstol; double CKTpivotAbsTol; double CKTpivotRelTol; double CKTreltol; double CKTchgtol; double CKTvoltTol; double CKTgmin; double CKTgshunt; double CKTdelmin; double CKTtrtol; double CKTfinalTime; double CKTstep; double CKTmaxStep; double CKTinitTime; double CKTomega; double CKTsrcFact; double CKTdiagGmin; int CKTnumSrcSteps; int CKTnumGminSteps; double CKTgminFactor; int CKTnoncon; double CKTdefaultMosM; double CKTdefaultMosL; double CKTdefaultMosW; double CKTdefaultMosAD; double CKTdefaultMosAS; unsigned int CKThadNodeset; unsigned int CKTfixLimit; unsigned int CKTnoOpIter; unsigned int CKTisSetup; struct sJOB *CKTcurJob; struct SENstruct *CKTsenInfo; double *CKTtimePoints; double *CKTdeltaList; int CKTtimeListSize; int CKTtimeIndex; int CKTsizeIncr; unsigned int CKTtryToCompact; unsigned int CKTbadMos3; unsigned int CKTkeepOpInfo; unsigned int CKTcopyNodesets; unsigned int CKTnodeDamping; double CKTabsDv; double CKTrelDv; int CKTtroubleNode; struct sGENinstance *CKTtroubleElt; }

user_defined_types: struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; struct sBSIM3instance *BSIM3instances; char *BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; int BSIM3intVersion; double BSIM3tox; double BSIM3toxm; double BSIM3cdsc; double BSIM3cdscb; double BSIM3cdscd; double BSIM3cit; double BSIM3nfactor; double BSIM3xj; double BSIM3vsat; double BSIM3at; double BSIM3a0; double BSIM3ags; double BSIM3a1; double BSIM3a2; double BSIM3keta; double BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; double BSIM3prwg; double BSIM3prwb; double BSIM3prt; double BSIM3eta0; double BSIM3etab; double BSIM3pclm; double BSIM3pdibl1; double BSIM3pdibl2; double BSIM3pdiblb; double BSIM3pscbe1; double BSIM3pscbe2; double BSIM3pvag; double BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc; double BSIM3dlc; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin; double BSIM3tcj; double BSIM3tcjsw; double BSIM3tcjswg; double BSIM3tpb; double BSIM3tpbsw; double BSIM3tpbswg; double BSIM3hdif; double BSIM3ldif; double BSIM3ld; double BSIM3rd; double BSIM3rs; double BSIM3rdc; double BSIM3rsc; double BSIM3lcdsc; double BSIM3lcdscb; double BSIM3lcdscd; double BSIM3lcit; double BSIM3lnfactor; double BSIM3lxj; double BSIM3lvsat; double BSIM3lat; double BSIM3la0; double BSIM3lags; double BSIM3la1; double BSIM3la2; double BSIM3lketa; double BSIM3lnsub; double BSIM3lnpeak; double BSIM3lngate; double BSIM3lgamma1; double BSIM3lgamma2; double BSIM3lvbx; double BSIM3lvbm; double BSIM3lxt; double BSIM3lk1; double BSIM3lkt1; double BSIM3lkt1l; double BSIM3lkt2; double BSIM3lk2; double BSIM3lk3; double BSIM3lk3b; double BSIM3lw0; double BSIM3lnlx; double BSIM3ldvt0; double BSIM3ldvt1; double BSIM3ldvt2; double BSIM3ldvt0w; double BSIM3ldvt1w; double BSIM3ldvt2w; double BSIM3ldrout; double BSIM3ldsub; double BSIM3lvth0; double BSIM3lua; double BSIM3lua1; double BSIM3lub; double BSIM3lub1; double BSIM3luc; double BSIM3luc1; double BSIM3lu0; double BSIM3lute; double BSIM3lvoff; double BSIM3ldelta; double BSIM3lrdsw; double BSIM3lprwg; double BSIM3lprwb; double BSIM3lprt; double BSIM3leta0; double BSIM3letab; double BSIM3lpclm; double BSIM3lpdibl1; double BSIM3lpdibl2; double BSIM3lpdiblb; double BSIM3lpscbe1; double BSIM3lpscbe2; double BSIM3lpvag; double BSIM3lwr; double BSIM3ldwg; double BSIM3ldwb; double BSIM3lb0; double BSIM3lb1; double BSIM3lalpha0; double BSIM3lalpha1; double BSIM3lbeta0; double BSIM3lvfb; double BSIM3lelm; double BSIM3lcgsl; double BSIM3lcgdl; double BSIM3lckappa; double BSIM3lcf; double BSIM3lclc; double BSIM3lcle; double BSIM3lvfbcv; double BSIM3lnoff; double BSIM3lvoffcv; double BSIM3lacde; double BSIM3lmoin; double BSIM3wcdsc; double BSIM3wcdscb; double BSIM3wcdscd; double BSIM3wcit; double BSIM3wnfactor; double BSIM3wxj; double BSIM3wvsat; double BSIM3wat; double BSIM3wa0; double BSIM3wags; double BSIM3wa1; double BSIM3wa2; double BSIM3wketa; double BSIM3wnsub; double BSIM3wnpeak; double BSIM3wngate; double BSIM3wgamma1; double BSIM3wgamma2; double BSIM3wvbx; double BSIM3wvbm; double BSIM3wxt; double BSIM3wk1; double BSIM3wkt1; double BSIM3wkt1l; double BSIM3wkt2; double BSIM3wk2; double BSIM3wk3; double BSIM3wk3b; double BSIM3ww0; double BSIM3wnlx; double BSIM3wdvt0; double BSIM3wdvt1; double BSIM3wdvt2; double BSIM3wdvt0w; double BSIM3wdvt1w; double BSIM3wdvt2w; double BSIM3wdrout; double BSIM3wdsub; double BSIM3wvth0; double BSIM3wua; double BSIM3wua1; double BSIM3wub; double BSIM3wub1; double BSIM3wuc; double BSIM3wuc1; double BSIM3wu0; double BSIM3wute; double BSIM3wvoff; double BSIM3wdelta; double BSIM3wrdsw; double BSIM3wprwg; double BSIM3wprwb; double BSIM3wprt; double BSIM3weta0; double BSIM3wetab; double BSIM3wpclm; double BSIM3wpdibl1; double BSIM3wpdibl2; double BSIM3wpdiblb; double BSIM3wpscbe1; double BSIM3wpscbe2; double BSIM3wpvag; double BSIM3wwr; double BSIM3wdwg; double BSIM3wdwb; double BSIM3wb0; double BSIM3wb1; double BSIM3walpha0; double BSIM3walpha1; double BSIM3wbeta0; double BSIM3wvfb; double BSIM3welm; double BSIM3wcgsl; double BSIM3wcgdl; double BSIM3wckappa; double BSIM3wcf; double BSIM3wclc; double BSIM3wcle; double BSIM3wvfbcv; double BSIM3wnoff; double BSIM3wvoffcv; double BSIM3wacde; double BSIM3wmoin; double BSIM3pcdsc; double BSIM3pcdscb; double BSIM3pcdscd; double BSIM3pcit; double BSIM3pnfactor; double BSIM3pxj; double BSIM3pvsat; double BSIM3pat; double BSIM3pa0; double BSIM3pags; double BSIM3pa1; double BSIM3pa2; double BSIM3pketa; double BSIM3pnsub; double BSIM3pnpeak; double BSIM3pngate; double BSIM3pgamma1; double BSIM3pgamma2; double BSIM3pvbx; double BSIM3pvbm; double BSIM3pxt; double BSIM3pk1; double BSIM3pkt1; double BSIM3pkt1l; double BSIM3pkt2; double BSIM3pk2; double BSIM3pk3; double BSIM3pk3b; double BSIM3pw0; double BSIM3pnlx; double BSIM3pdvt0; double BSIM3pdvt1; double BSIM3pdvt2; double BSIM3pdvt0w; double BSIM3pdvt1w; double BSIM3pdvt2w; double BSIM3pdrout; double BSIM3pdsub; double BSIM3pvth0; double BSIM3pua; double BSIM3pua1; double BSIM3pub; double BSIM3pub1; double BSIM3puc; double BSIM3puc1; double BSIM3pu0; double BSIM3pute; double BSIM3pvoff; double BSIM3pdelta; double BSIM3prdsw; double BSIM3pprwg; double BSIM3pprwb; double BSIM3pprt; double BSIM3peta0; double BSIM3petab; double BSIM3ppclm; double BSIM3ppdibl1; double BSIM3ppdibl2; double BSIM3ppdiblb; double BSIM3ppscbe1; double BSIM3ppscbe2; double BSIM3ppvag; double BSIM3pwr; double BSIM3pdwg; double BSIM3pdwb; double BSIM3pb0; double BSIM3pb1; double BSIM3palpha0; double BSIM3palpha1; double BSIM3pbeta0; double BSIM3pvfb; double BSIM3pelm; double BSIM3pcgsl; double BSIM3pcgdl; double BSIM3pckappa; double BSIM3pcf; double BSIM3pclc; double BSIM3pcle; double BSIM3pvfbcv; double BSIM3pnoff; double BSIM3pvoffcv; double BSIM3pacde; double BSIM3pmoin; double BSIM3tnom; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3xpart; double BSIM3cFringOut; double BSIM3cFringMax; double BSIM3sheetResistance; double BSIM3jctSatCurDensity; double BSIM3jctSidewallSatCurDensity; double BSIM3bulkJctPotential; double BSIM3bulkJctBotGradingCoeff; double BSIM3bulkJctSideGradingCoeff; double BSIM3bulkJctGateSideGradingCoeff; double BSIM3sidewallJctPotential; double BSIM3GatesidewallJctPotential; double BSIM3unitAreaJctCap; double BSIM3unitLengthSidewallJctCap; double BSIM3unitLengthGateSidewallJctCap; double BSIM3jctEmissionCoeff; double BSIM3jctTempExponent; double BSIM3Lint; double BSIM3Ll; double BSIM3Llc; double BSIM3Lln; double BSIM3Lw; double BSIM3Lwc; double BSIM3Lwn; double BSIM3Lwl; double BSIM3Lwlc; double BSIM3Lmin; double BSIM3Lmax; double BSIM3Wint; double BSIM3Wl; double BSIM3Wlc; double BSIM3Wln; double BSIM3Ww; double BSIM3Wwc; double BSIM3Wwn; double BSIM3Wwl; double BSIM3Wwlc; double BSIM3Wmin; double BSIM3Wmax; double BSIM3xl; double BSIM3xw; double BSIM3vtm; double BSIM3cox; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3vcrit; double BSIM3factor1; double BSIM3PhiB; double BSIM3PhiBSW; double BSIM3PhiBSWG; double BSIM3jctTempSatCurDensity; double BSIM3jctSidewallTempSatCurDensity; double BSIM3unitAreaTempJctCap; double BSIM3unitLengthSidewallTempJctCap; double BSIM3unitLengthGateSidewallTempJctCap; double BSIM3oxideTrapDensityA; double BSIM3oxideTrapDensityB; double BSIM3oxideTrapDensityC; double BSIM3em; double BSIM3ef; double BSIM3af; double BSIM3kf; struct bsim3SizeDependParam *pSizeDependParamKnot; unsigned int BSIM3mobModGiven; unsigned int BSIM3binUnitGiven; unsigned int BSIM3capModGiven; unsigned int BSIM3acmModGiven; unsigned int BSIM3paramChkGiven; unsigned int BSIM3noiModGiven; unsigned int BSIM3typeGiven; unsigned int BSIM3toxGiven; unsigned int BSIM3versionGiven; unsigned int BSIM3toxmGiven; unsigned int BSIM3cdscGiven; unsigned int BSIM3cdscbGiven; unsigned int BSIM3cdscdGiven; unsigned int BSIM3citGiven; unsigned int BSIM3nfactorGiven; unsigned int BSIM3xjGiven; unsigned int BSIM3vsatGiven; unsigned int BSIM3atGiven; unsigned int BSIM3a0Given; unsigned int BSIM3agsGiven; unsigned int BSIM3a1Given; unsigned int BSIM3a2Given; unsigned int BSIM3ketaGiven; unsigned int BSIM3nsubGiven; unsigned int BSIM3npeakGiven; unsigned int BSIM3ngateGiven; unsigned int BSIM3gamma1Given; unsigned int BSIM3gamma2Given; unsigned int BSIM3vbxGiven; unsigned int BSIM3vbmGiven; unsigned int BSIM3xtGiven; unsigned int BSIM3k1Given; unsigned int BSIM3kt1Given; unsigned int BSIM3kt1lGiven; unsigned int BSIM3kt2Given; unsigned int BSIM3k2Given; unsigned int BSIM3k3Given; unsigned int BSIM3k3bGiven; unsigned int BSIM3w0Given; unsigned int BSIM3nlxGiven; unsigned int BSIM3dvt0Given; unsigned int BSIM3dvt1Given; unsigned int BSIM3dvt2Given; unsigned int BSIM3dvt0wGiven; unsigned int BSIM3dvt1wGiven; unsigned int BSIM3dvt2wGiven; unsigned int BSIM3droutGiven; unsigned int BSIM3dsubGiven; unsigned int BSIM3vth0Given; unsigned int BSIM3uaGiven; unsigned int BSIM3ua1Given; unsigned int BSIM3ubGiven; unsigned int BSIM3ub1Given; unsigned int BSIM3ucGiven; unsigned int BSIM3uc1Given; unsigned int BSIM3u0Given; unsigned int BSIM3uteGiven; unsigned int BSIM3voffGiven; unsigned int BSIM3rdswGiven; unsigned int BSIM3prwgGiven; unsigned int BSIM3prwbGiven; unsigned int BSIM3prtGiven; unsigned int BSIM3eta0Given; unsigned int BSIM3etabGiven; unsigned int BSIM3pclmGiven; unsigned int BSIM3pdibl1Given; unsigned int BSIM3pdibl2Given; unsigned int BSIM3pdiblbGiven; unsigned int BSIM3pscbe1Given; unsigned int BSIM3pscbe2Given; unsigned int BSIM3pvagGiven; unsigned int BSIM3deltaGiven; unsigned int BSIM3wrGiven; unsigned int BSIM3dwgGiven; unsigned int BSIM3dwbGiven; unsigned int BSIM3b0Given; unsigned int BSIM3b1Given; unsigned int BSIM3alpha0Given; unsigned int BSIM3alpha1Given; unsigned int BSIM3beta0Given; unsigned int BSIM3ijthGiven; unsigned int BSIM3vfbGiven; unsigned int BSIM3elmGiven; unsigned int BSIM3cgslGiven; unsigned int BSIM3cgdlGiven; unsigned int BSIM3ckappaGiven; unsigned int BSIM3cfGiven; unsigned int BSIM3vfbcvGiven; unsigned int BSIM3clcGiven; unsigned int BSIM3cleGiven; unsigned int BSIM3dwcGiven; unsigned int BSIM3dlcGiven; unsigned int BSIM3noffGiven; unsigned int BSIM3voffcvGiven; unsigned int BSIM3acdeGiven; unsigned int BSIM3moinGiven; unsigned int BSIM3tcjGiven; unsigned int BSIM3tcjswGiven; unsigned int BSIM3tcjswgGiven; unsigned int BSIM3tpbGiven; unsigned int BSIM3tpbswGiven; unsigned int BSIM3tpbswgGiven; unsigned int BSIM3hdifGiven; unsigned int BSIM3ldifGiven; unsigned int BSIM3ldGiven; unsigned int BSIM3rdGiven; unsigned int BSIM3rsGiven; unsigned int BSIM3rdcGiven; unsigned int BSIM3rscGiven; unsigned int BSIM3lcdscGiven; unsigned int BSIM3lcdscbGiven; unsigned int BSIM3lcdscdGiven; unsigned int BSIM3lcitGiven; unsigned int BSIM3lnfactorGiven; unsigned int BSIM3lxjGiven; unsigned int BSIM3lvsatGiven; unsigned int BSIM3latGiven; unsigned int BSIM3la0Given; unsigned int BSIM3lagsGiven; unsigned int BSIM3la1Given; unsigned int BSIM3la2Given; unsigned int BSIM3lketaGiven; unsigned int BSIM3lnsubGiven; unsigned int BSIM3lnpeakGiven; unsigned int BSIM3lngateGiven; unsigned int BSIM3lgamma1Given; unsigned int BSIM3lgamma2Given; unsigned int BSIM3lvbxGiven; unsigned int BSIM3lvbmGiven; unsigned int BSIM3lxtGiven; unsigned int BSIM3lk1Given; unsigned int BSIM3lkt1Given; unsigned int BSIM3lkt1lGiven; unsigned int BSIM3lkt2Given; unsigned int BSIM3lk2Given; unsigned int BSIM3lk3Given; unsigned int BSIM3lk3bGiven; unsigned int BSIM3lw0Given; unsigned int BSIM3lnlxGiven; unsigned int BSIM3ldvt0Given; unsigned int BSIM3ldvt1Given; unsigned int BSIM3ldvt2Given; unsigned int BSIM3ldvt0wGiven; unsigned int BSIM3ldvt1wGiven; unsigned int BSIM3ldvt2wGiven; unsigned int BSIM3ldroutGiven; unsigned int BSIM3ldsubGiven; unsigned int BSIM3lvth0Given; unsigned int BSIM3luaGiven; unsigned int BSIM3lua1Given; unsigned int BSIM3lubGiven; unsigned int BSIM3lub1Given; unsigned int BSIM3lucGiven; unsigned int BSIM3luc1Given; unsigned int BSIM3lu0Given; unsigned int BSIM3luteGiven; unsigned int BSIM3lvoffGiven; unsigned int BSIM3lrdswGiven; unsigned int BSIM3lprwgGiven; unsigned int BSIM3lprwbGiven; unsigned int BSIM3lprtGiven; unsigned int BSIM3leta0Given; unsigned int BSIM3letabGiven; unsigned int BSIM3lpclmGiven; unsigned int BSIM3lpdibl1Given; unsigned int BSIM3lpdibl2Given; unsigned int BSIM3lpdiblbGiven; unsigned int BSIM3lpscbe1Given; unsigned int BSIM3lpscbe2Given; unsigned int BSIM3lpvagGiven; unsigned int BSIM3ldeltaGiven; unsigned int BSIM3lwrGiven; unsigned int BSIM3ldwgGiven; unsigned int BSIM3ldwbGiven; unsigned int BSIM3lb0Given; unsigned int BSIM3lb1Given; unsigned int BSIM3lalpha0Given; unsigned int BSIM3lalpha1Given; unsigned int BSIM3lbeta0Given; unsigned int BSIM3lvfbGiven; unsigned int BSIM3lelmGiven; unsigned int BSIM3lcgslGiven; unsigned int BSIM3lcgdlGiven; unsigned int BSIM3lckappaGiven; unsigned int BSIM3lcfGiven; unsigned int BSIM3lclcGiven; unsigned int BSIM3lcleGiven; unsigned int BSIM3lvfbcvGiven; unsigned int BSIM3lnoffGiven; unsigned int BSIM3lvoffcvGiven; unsigned int BSIM3lacdeGiven; unsigned int BSIM3lmoinGiven; unsigned int BSIM3wcdscGiven; unsigned int BSIM3wcdscbGiven; unsigned int BSIM3wcdscdGiven; unsigned int BSIM3wcitGiven; unsigned int BSIM3wnfactorGiven; unsigned int BSIM3wxjGiven; unsigned int BSIM3wvsatGiven; unsigned int BSIM3watGiven; unsigned int BSIM3wa0Given; unsigned int BSIM3wagsGiven; unsigned int BSIM3wa1Given; unsigned int BSIM3wa2Given; unsigned int BSIM3wketaGiven; unsigned int BSIM3wnsubGiven; unsigned int BSIM3wnpeakGiven; unsigned int BSIM3wngateGiven; unsigned int BSIM3wgamma1Given; unsigned int BSIM3wgamma2Given; unsigned int BSIM3wvbxGiven; unsigned int BSIM3wvbmGiven; unsigned int BSIM3wxtGiven; unsigned int BSIM3wk1Given; unsigned int BSIM3wkt1Given; unsigned int BSIM3wkt1lGiven; unsigned int BSIM3wkt2Given; unsigned int BSIM3wk2Given; unsigned int BSIM3wk3Given; unsigned int BSIM3wk3bGiven; unsigned int BSIM3ww0Given; unsigned int BSIM3wnlxGiven; unsigned int BSIM3wdvt0Given; unsigned int BSIM3wdvt1Given; unsigned int BSIM3wdvt2Given; unsigned int BSIM3wdvt0wGiven; unsigned int BSIM3wdvt1wGiven; unsigned int BSIM3wdvt2wGiven; unsigned int BSIM3wdroutGiven; unsigned int BSIM3wdsubGiven; unsigned int BSIM3wvth0Given; unsigned int BSIM3wuaGiven; unsigned int BSIM3wua1Given; unsigned int BSIM3wubGiven; unsigned int BSIM3wub1Given; unsigned int BSIM3wucGiven; unsigned int BSIM3wuc1Given; unsigned int BSIM3wu0Given; unsigned int BSIM3wuteGiven; unsigned int BSIM3wvoffGiven; unsigned int BSIM3wrdswGiven; unsigned int BSIM3wprwgGiven; unsigned int BSIM3wprwbGiven; unsigned int BSIM3wprtGiven; unsigned int BSIM3weta0Given; unsigned int BSIM3wetabGiven; unsigned int BSIM3wpclmGiven; unsigned int BSIM3wpdibl1Given; unsigned int BSIM3wpdibl2Given; unsigned int BSIM3wpdiblbGiven; unsigned int BSIM3wpscbe1Given; unsigned int BSIM3wpscbe2Given; unsigned int BSIM3wpvagGiven; unsigned int BSIM3wdeltaGiven; unsigned int BSIM3wwrGiven; unsigned int BSIM3wdwgGiven; unsigned int BSIM3wdwbGiven; unsigned int BSIM3wb0Given; unsigned int BSIM3wb1Given; unsigned int BSIM3walpha0Given; unsigned int BSIM3walpha1Given; unsigned int BSIM3wbeta0Given; unsigned int BSIM3wvfbGiven; unsigned int BSIM3welmGiven; unsigned int BSIM3wcgslGiven; unsigned int BSIM3wcgdlGiven; unsigned int BSIM3wckappaGiven; unsigned int BSIM3wcfGiven; unsigned int BSIM3wclcGiven; unsigned int BSIM3wcleGiven; unsigned int BSIM3wvfbcvGiven; unsigned int BSIM3wnoffGiven; unsigned int BSIM3wvoffcvGiven; unsigned int BSIM3wacdeGiven; unsigned int BSIM3wmoinGiven; unsigned int BSIM3pcdscGiven; unsigned int BSIM3pcdscbGiven; unsigned int BSIM3pcdscdGiven; unsigned int BSIM3pcitGiven; unsigned int BSIM3pnfactorGiven; unsigned int BSIM3pxjGiven; unsigned int BSIM3pvsatGiven; unsigned int BSIM3patGiven; unsigned int BSIM3pa0Given; unsigned int BSIM3pagsGiven; unsigned int BSIM3pa1Given; unsigned int BSIM3pa2Given; unsigned int BSIM3pketaGiven; unsigned int BSIM3pnsubGiven; unsigned int BSIM3pnpeakGiven; unsigned int BSIM3pngateGiven; unsigned int BSIM3pgamma1Given; unsigned int BSIM3pgamma2Given; unsigned int BSIM3pvbxGiven; unsigned int BSIM3pvbmGiven; unsigned int BSIM3pxtGiven; unsigned int BSIM3pk1Given; unsigned int BSIM3pkt1Given; unsigned int BSIM3pkt1lGiven; unsigned int BSIM3pkt2Given; unsigned int BSIM3pk2Given; unsigned int BSIM3pk3Given; unsigned int BSIM3pk3bGiven; unsigned int BSIM3pw0Given; unsigned int BSIM3pnlxGiven; unsigned int BSIM3pdvt0Given; unsigned int BSIM3pdvt1Given; unsigned int BSIM3pdvt2Given; unsigned int BSIM3pdvt0wGiven; unsigned int BSIM3pdvt1wGiven; unsigned int BSIM3pdvt2wGiven; unsigned int BSIM3pdroutGiven; unsigned int BSIM3pdsubGiven; unsigned int BSIM3pvth0Given; unsigned int BSIM3puaGiven; unsigned int BSIM3pua1Given; unsigned int BSIM3pubGiven; unsigned int BSIM3pub1Given; unsigned int BSIM3pucGiven; unsigned int BSIM3puc1Given; unsigned int BSIM3pu0Given; unsigned int BSIM3puteGiven; unsigned int BSIM3pvoffGiven; unsigned int BSIM3prdswGiven; unsigned int BSIM3pprwgGiven; unsigned int BSIM3pprwbGiven; unsigned int BSIM3pprtGiven; unsigned int BSIM3peta0Given; unsigned int BSIM3petabGiven; unsigned int BSIM3ppclmGiven; unsigned int BSIM3ppdibl1Given; unsigned int BSIM3ppdibl2Given; unsigned int BSIM3ppdiblbGiven; unsigned int BSIM3ppscbe1Given; unsigned int BSIM3ppscbe2Given; unsigned int BSIM3ppvagGiven; unsigned int BSIM3pdeltaGiven; unsigned int BSIM3pwrGiven; unsigned int BSIM3pdwgGiven; unsigned int BSIM3pdwbGiven; unsigned int BSIM3pb0Given; unsigned int BSIM3pb1Given; unsigned int BSIM3palpha0Given; unsigned int BSIM3palpha1Given; unsigned int BSIM3pbeta0Given; unsigned int BSIM3pvfbGiven; unsigned int BSIM3pelmGiven; unsigned int BSIM3pcgslGiven; unsigned int BSIM3pcgdlGiven; unsigned int BSIM3pckappaGiven; unsigned int BSIM3pcfGiven; unsigned int BSIM3pclcGiven; unsigned int BSIM3pcleGiven; unsigned int BSIM3pvfbcvGiven; unsigned int BSIM3pnoffGiven; unsigned int BSIM3pvoffcvGiven; unsigned int BSIM3pacdeGiven; unsigned int BSIM3pmoinGiven; unsigned int BSIM3useFringeGiven; unsigned int BSIM3tnomGiven; unsigned int BSIM3cgsoGiven; unsigned int BSIM3cgdoGiven; unsigned int BSIM3cgboGiven; unsigned int BSIM3xpartGiven; unsigned int BSIM3sheetResistanceGiven; unsigned int BSIM3jctSatCurDensityGiven; unsigned int BSIM3jctSidewallSatCurDensityGiven; unsigned int BSIM3bulkJctPotentialGiven; unsigned int BSIM3bulkJctBotGradingCoeffGiven; unsigned int BSIM3sidewallJctPotentialGiven; unsigned int BSIM3GatesidewallJctPotentialGiven; unsigned int BSIM3bulkJctSideGradingCoeffGiven; unsigned int BSIM3unitAreaJctCapGiven; unsigned int BSIM3unitLengthSidewallJctCapGiven; unsigned int BSIM3bulkJctGateSideGradingCoeffGiven; unsigned int BSIM3unitLengthGateSidewallJctCapGiven; unsigned int BSIM3jctEmissionCoeffGiven; unsigned int BSIM3jctTempExponentGiven; unsigned int BSIM3oxideTrapDensityAGiven; unsigned int BSIM3oxideTrapDensityBGiven; unsigned int BSIM3oxideTrapDensityCGiven; unsigned int BSIM3emGiven; unsigned int BSIM3efGiven; unsigned int BSIM3afGiven; unsigned int BSIM3kfGiven; unsigned int BSIM3LintGiven; unsigned int BSIM3LlGiven; unsigned int BSIM3LlcGiven; unsigned int BSIM3LlnGiven; unsigned int BSIM3LwGiven; unsigned int BSIM3LwcGiven; unsigned int BSIM3LwnGiven; unsigned int BSIM3LwlGiven; unsigned int BSIM3LwlcGiven; unsigned int BSIM3LminGiven; unsigned int BSIM3LmaxGiven; unsigned int BSIM3WintGiven; unsigned int BSIM3WlGiven; unsigned int BSIM3WlcGiven; unsigned int BSIM3WlnGiven; unsigned int BSIM3WwGiven; unsigned int BSIM3WwcGiven; unsigned int BSIM3WwnGiven; unsigned int BSIM3WwlGiven; unsigned int BSIM3WwlcGiven; unsigned int BSIM3WminGiven; unsigned int BSIM3WmaxGiven; unsigned int BSIM3xlGiven; unsigned int BSIM3xwGiven; }

user_defined_types: struct sBSIM3instance { struct sBSIM3model *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; char *BSIM3name; int BSIM3owner; int BSIM3states; int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam *pParam; unsigned int BSIM3lGiven; unsigned int BSIM3wGiven; unsigned int BSIM3mGiven; unsigned int BSIM3drainAreaGiven; unsigned int BSIM3sourceAreaGiven; unsigned int BSIM3drainSquaresGiven; unsigned int BSIM3sourceSquaresGiven; unsigned int BSIM3drainPerimeterGiven; unsigned int BSIM3sourcePerimeterGiven; unsigned int BSIM3dNodePrimeSet; unsigned int BSIM3sNodePrimeSet; unsigned int BSIM3icVBSGiven; unsigned int BSIM3icVDSGiven; unsigned int BSIM3icVGSGiven; unsigned int BSIM3nqsModGiven; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr; double BSIM3nVar[3][5]; }