diff --git a/output_ngspice_dc.ngspice b/output_ngspice_dc.ngspice new file mode 100644 index 000000000..551d70f2b --- /dev/null +++ b/output_ngspice_dc.ngspice @@ -0,0 +1,4 @@ + n_c @q_q_h[area] @q_q_h[betaac] @q_q_h[betadc] @q_q_h[ccs] @q_q_h[cmui] @q_q_h[cmux] @q_q_h[cpii] @q_q_h[cpix] @q_q_h[crbi] @q_q_h[dtsh] @q_q_h[ft] @q_q_h[gmi] @q_q_h[gms] @q_q_h[iavl] @q_q_h[ib] @q_q_h[ibci] @q_q_h[ibei] @q_q_h[ic] @q_q_h[ick] @q_q_h[icvb] @q_q_h[icvc] @q_q_h[ie] @q_q_h[is] @q_q_h[it] @q_q_h[m] @q_q_h[p] @q_q_h[rb] @q_q_h[rbi] @q_q_h[rcx_t] @q_q_h[re_t] @q_q_h[rmui] @q_q_h[rmux] @q_q_h[roi] @q_q_h[rpii] @q_q_h[rpix] @q_q_h[temp] @q_q_h[tf] @q_q_h[tk] @q_q_h[vbbp] @q_q_h[vbc] @q_q_h[vbe] @q_q_h[vbici] @q_q_h[vbiei] @q_q_h[vbpbi] @q_q_h[vce] @q_q_h[vciei] @q_q_h[vsc] n_b n_b_forced n_bx n_c n_c_forced n_cx n_e n_e_forced n_ex n_s n_sx n_t q_q_h#collCI q_q_h#emitEI q_q_h#subsSI v_v_b#branch v_v_c#branch v_v_e#branch v_v_s#branch + 2.00000000e+00 1.00000000e+00 2.01746671e+05 -8.04244503e+01 0.00000000e+00 3.50311244e-15 2.70336374e-15 6.72516281e-15 4.93507402e-15 0.00000000e+00 3.95610869e-08 2.13703336e+12 2.76080200e-10 1.00000000e-18 1.29187266e-13 -9.07852493e-14 -1.29257913e-13 3.84900492e-14 7.30135377e-12 3.19625139e-02 3.00000000e-01 2.00000000e+00 -7.21060090e-12 -2.00000000e-18 7.17207647e-12 1.00000000e+00 1.46522842e-11 1.81743808e+01 3.17438082e+00 1.00000000e+01 1.99941623e+00 3.45139302e+12 1.00000000e+18 3.62213587e+09 7.55020036e+11 7.29998838e+14 2.68500000e+01 4.79428371e-13 3.00000000e+02 -1.44169925e-11 0.00000000e+00 0.00000000e+00 -1.70000000e+00 3.00000000e-01 -2.88158386e-13 0.00000000e+00 2.00000000e+00 0.00000000e+00 3.00000000e-01 3.00000000e-01 3.00000000e-01 2.00000000e+00 2.00000000e+00 2.00000000e+00 1.44212018e-14 7.21060090e-15 0.00000000e+00 2.00000000e-21 0.00000000e+00 3.95610606e-08 2.00000000e+00 1.44314137e-11 4.00000000e-21 5.68434189e-14 -7.27595761e-12 7.21060090e-12 2.00000000e-18 + n_c @q_q_h[area] @q_q_h[betaac] @q_q_h[betadc] @q_q_h[ccs] @q_q_h[cmui] @q_q_h[cmux] @q_q_h[cpii] @q_q_h[cpix] @q_q_h[crbi] @q_q_h[dtsh] @q_q_h[ft] @q_q_h[gmi] @q_q_h[gms] @q_q_h[iavl] @q_q_h[ib] @q_q_h[ibci] @q_q_h[ibei] @q_q_h[ic] @q_q_h[ick] @q_q_h[icvb] @q_q_h[icvc] @q_q_h[ie] @q_q_h[is] @q_q_h[it] @q_q_h[m] @q_q_h[p] @q_q_h[rb] @q_q_h[rbi] @q_q_h[rcx_t] @q_q_h[re_t] @q_q_h[rmui] @q_q_h[rmux] @q_q_h[roi] @q_q_h[rpii] @q_q_h[rpix] @q_q_h[temp] @q_q_h[tf] @q_q_h[tk] @q_q_h[vbbp] @q_q_h[vbc] @q_q_h[vbe] @q_q_h[vbici] @q_q_h[vbiei] @q_q_h[vbpbi] @q_q_h[vce] @q_q_h[vciei] @q_q_h[vsc] n_b n_b_forced n_bx n_c n_c_forced n_cx n_e n_e_forced n_ex n_s n_sx n_t q_q_h#collCI q_q_h#emitEI q_q_h#subsSI v_v_b#branch v_v_c#branch v_v_e#branch v_v_s#branch + 2.00000000e+00 1.00000000e+00 2.01746671e+05 -8.04244503e+01 0.00000000e+00 3.50311244e-15 2.70336374e-15 6.72516281e-15 4.93507402e-15 0.00000000e+00 3.95610869e-08 2.13703336e+12 2.76080200e-10 1.00000000e-18 1.29187266e-13 -9.07852493e-14 -1.29257913e-13 3.84900492e-14 7.30135377e-12 3.19625139e-02 3.00000000e-01 2.00000000e+00 -7.21060090e-12 -2.00000000e-18 7.17207647e-12 1.00000000e+00 1.46522842e-11 1.81743808e+01 3.17438082e+00 1.00000000e+01 1.99941623e+00 3.45139302e+12 1.00000000e+18 3.62213587e+09 7.55020036e+11 7.29998838e+14 2.68500000e+01 4.79428371e-13 3.00000000e+02 -1.44169925e-11 0.00000000e+00 0.00000000e+00 -1.70000000e+00 3.00000000e-01 -2.88158386e-13 0.00000000e+00 2.00000000e+00 0.00000000e+00 3.00000000e-01 3.00000000e-01 3.00000000e-01 2.00000000e+00 2.00000000e+00 2.00000000e+00 1.44212018e-14 7.21060090e-15 0.00000000e+00 2.00000000e-21 0.00000000e+00 3.95610606e-08 2.00000000e+00 1.44314137e-11 4.00000000e-21 5.68434189e-14 -7.27595761e-12 7.21060090e-12 2.00000000e-18 diff --git a/src/spicelib/devices/hicum2/hicum2setup.c b/src/spicelib/devices/hicum2/hicum2setup.c index f246ede85..6d3cbcdc5 100644 --- a/src/spicelib/devices/hicum2/hicum2setup.c +++ b/src/spicelib/devices/hicum2/hicum2setup.c @@ -37,7 +37,7 @@ HICUMsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states) /* loop through all the transistor models */ for( ; model != NULL; model = HICUMnextModel(model)) { - int selfheat = ((model->HICUMflsh == 1) && (model->HICUMrthGiven) && (model->HICUMrth > 0.0)); + int selfheat = (((model->HICUMflsh == 1) || (model->HICUMflsh == 2)) && (model->HICUMrthGiven) && (model->HICUMrth > 0.0)); //Circuit simulator specific parameters if(model->HICUMtype != NPN && model->HICUMtype != PNP) @@ -699,7 +699,7 @@ HICUMunsetup( for (model = (HICUMmodel *)inModel; model != NULL; model = HICUMnextModel(model)) { - int selfheat = ((model->HICUMflsh == 1) && (model->HICUMrthGiven) && (model->HICUMrth > 0.0)); + int selfheat = (((model->HICUMflsh == 1) || (model->HICUMflsh == 2)) && (model->HICUMrthGiven) && (model->HICUMrth > 0.0)); for (here = HICUMinstances(model); here != NULL; here=HICUMnextInstance(here)) @@ -729,9 +729,9 @@ HICUMunsetup( here->HICUMcollCINode = 0; if (selfheat) { - if (here->HICUMtempNode > 4) // it is an internal node - CKTdltNNum(ckt, here->HICUMtempNode); - here->HICUMtempNode = 0; + // if (here->HICUMtempNode > 4) // it is an internal node + // CKTdltNNum(ckt, here->HICUMtempNode); + // here->HICUMtempNode = 0; } // if(here->HICUMxfNode > 0)