⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b3soiddacld.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 2 页
字号:
              xcegb = (cegb - GEoverlapCap) * omega;              xcedb = cedb * omega;              xcesb = cesb * omega;              xceeb = (ceeb + GEoverlapCap) * omega;              xceT  =  ceT * omega;              xcggb = (cggb + GDoverlapCap + GSoverlapCap + GEoverlapCap)		    * omega;              xcgdb = (cgdb - GDoverlapCap ) * omega;              xcgsb = (cgsb - GSoverlapCap) * omega;              xcgeb = (cgeb - GEoverlapCap) * omega;              xcgT  = cgT * omega;              xcdgb = (cdgb - GDoverlapCap) * omega;              xcddb = (cddb + GDoverlapCap) * omega;              xcdsb = cdsb * omega;              xcdeb = cdeb * omega;              xcdT  = cdT * omega;              xcsgb = -(cggb + cbgb + cdgb + cegb + GSoverlapCap) * omega;              xcsdb = -(cgdb + cbdb + cddb + cedb) * omega;              xcssb = (GSoverlapCap - (cgsb + cbsb + cdsb + cesb)) * omega;              xcseb = -(cgeb + cbeb + cdeb + ceeb) * omega;              xcsT  = -(cgT + cbT + cdT + ceT) * omega;              xcbgb = cbgb * omega;              xcbdb = cbdb * omega;              xcbsb = cbsb * omega;              xcbeb = cbeb * omega;              xcbT  = cbT * omega;	                    xcTt = cTt * omega;              m = here->B3SOIDDm;              *(here->B3SOIDDEgPtr  +1) += m * xcegb;              *(here->B3SOIDDEdpPtr  +1) += m * xcedb;              *(here->B3SOIDDEspPtr  +1) += m * xcesb;              *(here->B3SOIDDGePtr +1)  += m * xcgeb;              *(here->B3SOIDDDPePtr +1) += m * xcdeb;              *(here->B3SOIDDSPePtr +1) += m * xcseb;                            *(here->B3SOIDDEePtr  +1) += m * xceeb;              *(here->B3SOIDDGgPtr  +1) += m * xcggb;              *(here->B3SOIDDGdpPtr +1) += m * xcgdb;              *(here->B3SOIDDGspPtr +1) += m * xcgsb;              *(here->B3SOIDDDPgPtr +1) += m * xcdgb;              *(here->B3SOIDDDPdpPtr +1) += m * xcddb;              *(here->B3SOIDDDPspPtr +1) += m * xcdsb;              *(here->B3SOIDDSPgPtr +1) += m * xcsgb;              *(here->B3SOIDDSPdpPtr +1) += m * xcsdb;              *(here->B3SOIDDSPspPtr +1) += m * xcssb;              *(here->B3SOIDDBePtr +1) += m * xcbeb;              *(here->B3SOIDDBgPtr +1) += m * xcbgb;              *(here->B3SOIDDBdpPtr +1) += m * xcbdb;              *(here->B3SOIDDBspPtr +1) += m * xcbsb;              *(here->B3SOIDDEbPtr  +1) -= m * (xcegb + xcedb + xcesb + xceeb);              *(here->B3SOIDDGbPtr +1) -= m * (xcggb + xcgdb + xcgsb + xcgeb);              *(here->B3SOIDDDPbPtr +1) -= m * (xcdgb + xcddb + xcdsb + xcdeb);              *(here->B3SOIDDSPbPtr +1) -= m * (xcsgb + xcsdb + xcssb + xcseb);              *(here->B3SOIDDBbPtr +1) -= m * (xcbgb + xcbdb + xcbsb + xcbeb);              if (selfheat)              {                 *(here->B3SOIDDTemptempPtr + 1) += m * xcTt;                 *(here->B3SOIDDDPtempPtr + 1) += m * xcdT;                 *(here->B3SOIDDSPtempPtr + 1) += m * xcsT;                 *(here->B3SOIDDBtempPtr + 1) += m * xcbT;                 *(here->B3SOIDDEtempPtr + 1) += m * xceT;                 *(here->B3SOIDDGtempPtr + 1) += m * xcgT;              }                                                                if (here->B3SOIDDdebugMod > 3){fprintf(fpdebug, "Cbg+Cbs+Cbe = %.5e; Cbd = %.5e;\n",(xcbgb+xcbsb+xcbeb)/omega, xcbdb/omega);fprintf(fpdebug, "gbs = %.5e; gbd = %.5e\n", gbbsp, gbbdp);   fprintf(fpdebug, "AC condunctance...\n");   fprintf(fpdebug, "Eg=%.5e; Edp=%.5e; Esp=%.5e;\nEb=%.5e; Ee=%.5e\n",xcegb, xcedb, xcesb, -(xcegb+xcedb+xcesb+xceeb), xceeb);   fprintf(fpdebug, "Gg=%.5e; Gdp=%.5e; Gsp=%.5e;\nGb=%.5e; Ge=%.5e\n",xcggb, xcgdb, xcgsb, -(xcggb+xcgdb+xcgsb+xcgeb), xcgeb);   fprintf(fpdebug, "Bg=%.5e; Bdp=%.5e; Bsp=%.5e;\nBb=%.5e; Be=%.5e\n",xcbgb, xcbdb, xcbsb, -(xcbgb+xcbdb+xcbsb+xcbeb), xcbeb);   fprintf(fpdebug, "DPg=%.5e; DPdp=%.5e; DPsp=%.5e;\nDPb=%.5e; DPe=%.5e\n",xcdgb, xcddb, xcdsb, -(xcdgb+xcddb+xcdsb+xcdeb), xcdeb);   fprintf(fpdebug, "SPg=%.5e; SPdp=%.5e; SPsp=%.5e;\nSPb=%.5e; SPe=%.5e\n",xcsgb, xcsdb, xcssb, -(xcsgb+xcsdb+xcssb+xcseb), xcseb);}              *(here->B3SOIDDEgPtr) += 0.0;              *(here->B3SOIDDEdpPtr) += 0.0;              *(here->B3SOIDDEspPtr) += 0.0;              *(here->B3SOIDDGePtr) -=  0.0;              *(here->B3SOIDDDPePtr) += m * (Gme + gddpe);              *(here->B3SOIDDSPePtr) += m * (gsspe - Gme);                           *(here->B3SOIDDEePtr) += 0.0;              *(here->B3SOIDDDPgPtr) += m * (Gm + gddpg);              *(here->B3SOIDDDPdpPtr) += m * (gdpr + gds + gddpdp + RevSum);              *(here->B3SOIDDDPspPtr) -= m * (gds + FwdSum - gddpsp);              *(here->B3SOIDDDPdPtr) -= m * gdpr;              *(here->B3SOIDDSPgPtr) -= m * (Gm - gsspg);              *(here->B3SOIDDSPdpPtr) -= m * (gds + RevSum - gsspdp);              *(here->B3SOIDDSPspPtr) += m * (gspr + gds + FwdSum + gsspsp);              *(here->B3SOIDDSPsPtr) -= m * gspr;              *(here->B3SOIDDBePtr) += m * gbbe;              *(here->B3SOIDDBgPtr)  += m * gbbg;              *(here->B3SOIDDBdpPtr) += m * gbbdp;              *(here->B3SOIDDBspPtr) += m * gbbsp;	      *(here->B3SOIDDBbPtr) += m * gbbb;              *(here->B3SOIDDEbPtr) += 0.0;              *(here->B3SOIDDSPbPtr) -= m * (Gmbs - gsspb);               *(here->B3SOIDDDPbPtr) -= m * (-gddpb - Gmbs);              if (selfheat)              {                 *(here->B3SOIDDDPtempPtr) += m * (GmT + gddpT);                 *(here->B3SOIDDSPtempPtr) += m * (-GmT + gsspT);                 *(here->B3SOIDDBtempPtr) += m * gbbT;                 if (here->B3SOIDDbodyMod == 1) {                    (*(here->B3SOIDDPtempPtr) += m * gppT);                 }                 *(here->B3SOIDDTemptempPtr) += m * (gTtt + 1/here->pParam->B3SOIDDrth);                 *(here->B3SOIDDTempgPtr) += m * gTtg;                 *(here->B3SOIDDTempbPtr) += m * gTtb;                 *(here->B3SOIDDTempePtr) += m * gTte;                 *(here->B3SOIDDTempdpPtr) += m * gTtdp;                 *(here->B3SOIDDTempspPtr) += m * gTtsp;              }if (here->B3SOIDDdebugMod > 3){   fprintf(fpdebug, "Static condunctance...\n");   fprintf(fpdebug, "Gg=%.5e; Gdp=%.5e; Gsp=%.5e;\nGb=%.5e; Ge=%.5e\n",   *(here->B3SOIDDGgPtr), *(here->B3SOIDDGdpPtr),   *(here->B3SOIDDGspPtr), *(here->B3SOIDDGbPtr),   *(here->B3SOIDDGePtr));   fprintf(fpdebug, "DPg=%.5e; DPdp=%.5e; DPsp=%.5e;\nDPb=%.5e; DPe=%.5e\n",   *(here->B3SOIDDDPgPtr), *(here->B3SOIDDDPdpPtr),   *(here->B3SOIDDDPspPtr), *(here->B3SOIDDDPbPtr),   *(here->B3SOIDDDPePtr));   fprintf(fpdebug, "SPg=%.5e; SPdp=%.5e; SPsp=%.5e;\nSPb=%.5e; SPe=%.5e\n",   *(here->B3SOIDDSPgPtr), *(here->B3SOIDDSPdpPtr),   *(here->B3SOIDDSPspPtr), *(here->B3SOIDDSPbPtr),   *(here->B3SOIDDSPePtr));   fprintf(fpdebug, "Bg=%.5e; Bdp=%.5e; Bsp=%.5e;\nBb=%.5e; Be=%.5e\n",gbbg, gbbdp, gbbsp, gbbb, gbbe);}              *(here->B3SOIDDDdPtr) += m * gdpr;              *(here->B3SOIDDDdpPtr) -= m * gdpr;              *(here->B3SOIDDSsPtr) += m * gspr;              *(here->B3SOIDDSspPtr) -= m * gspr;              if (here->B3SOIDDbodyMod == 1) {                 (*(here->B3SOIDDBpPtr) -= m * gppp);                 (*(here->B3SOIDDPbPtr) += m * gppb);                 (*(here->B3SOIDDPpPtr) += m * gppp);                 (*(here->B3SOIDDPgPtr) += m * gppg);                 (*(here->B3SOIDDPdpPtr) += m * gppdp);                 (*(here->B3SOIDDPspPtr) += m * gppsp);                 (*(here->B3SOIDDPePtr) += m * gppe);              }              if (here->B3SOIDDdebugMod > 1)              {                      *(here->B3SOIDDVbsPtr) += m * 1;                      *(here->B3SOIDDIdsPtr) += m * 1;                      *(here->B3SOIDDIcPtr) += m * 1;                      *(here->B3SOIDDIbsPtr) += m * 1;                      *(here->B3SOIDDIbdPtr) += m * 1;                      *(here->B3SOIDDIiiPtr) += m * 1;                      *(here->B3SOIDDIgidlPtr) += m * 1;                      *(here->B3SOIDDItunPtr) += m * 1;                      *(here->B3SOIDDIbpPtr) += m * 1;                      *(here->B3SOIDDAbeffPtr) += m * 1;                      *(here->B3SOIDDVbs0effPtr) += m * 1;                      *(here->B3SOIDDVbseffPtr) += 1;                      *(here->B3SOIDDXcPtr) += m * 1;                      *(here->B3SOIDDCbgPtr) += m * 1;                      *(here->B3SOIDDCbbPtr) += m * 1;                      *(here->B3SOIDDCbdPtr) += m * 1;                      *(here->B3SOIDDqbPtr) += m * 1;                      *(here->B3SOIDDQbfPtr) += m * 1;                      *(here->B3SOIDDQjsPtr) += m * 1;                      *(here->B3SOIDDQjdPtr) += m * 1;                      /* clean up last */                      *(here->B3SOIDDGmPtr) += m * 1;                      *(here->B3SOIDDGmbsPtr) += m * 1;                      *(here->B3SOIDDGdsPtr) += m * 1;                      *(here->B3SOIDDGmePtr) += m * 1;                      *(here->B3SOIDDVbs0teffPtr) += m * 1;                      *(here->B3SOIDDVgsteffPtr) += m * 1;                      *(here->B3SOIDDCbePtr) += m * 1;                      *(here->B3SOIDDVthPtr) += m * 1;                      *(here->B3SOIDDXcsatPtr) += m * 1;                      *(here->B3SOIDDVdscvPtr) += m * 1;                      *(here->B3SOIDDVcscvPtr) += m * 1;                      *(here->B3SOIDDQaccPtr) += m * 1;                      *(here->B3SOIDDQsub0Ptr) += m * 1;                      *(here->B3SOIDDQsubs1Ptr) += m * 1;                      *(here->B3SOIDDQsubs2Ptr) += m * 1;                      *(here->B3SOIDDqgPtr) += m * 1;                      *(here->B3SOIDDqdPtr) += m * 1;                      *(here->B3SOIDDqePtr) += m * 1;                      *(here->B3SOIDDDum1Ptr) += m * 1;                      *(here->B3SOIDDDum2Ptr) += m * 1;                      *(here->B3SOIDDDum3Ptr) += m * 1;                      *(here->B3SOIDDDum4Ptr) += m * 1;                      *(here->B3SOIDDDum5Ptr) += m * 1;              }           if (here->B3SOIDDdebugMod > 2)              fclose(fpdebug);        }    }    return(OK);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -