fix bug in HICUM Qjci calculation, derivatives now more rigorous with
dual numbers
This commit is contained in:
parent
0fb86510aa
commit
9250464ac1
|
|
@ -0,0 +1,745 @@
|
|||
Title: dmt generated netlist
|
||||
Date: Sat Jul 11 15:14:06 2020
|
||||
Plotname: Operating Point
|
||||
Flags: real
|
||||
No. Variables: 70
|
||||
No. Points: 1
|
||||
Variables:
|
||||
0 n_c voltage
|
||||
1 @q_q_h[betaac] voltage
|
||||
2 @q_q_h[betadc] voltage
|
||||
3 @q_q_h[ccs] capacitance
|
||||
4 @q_q_h[cmui] capacitance
|
||||
5 @q_q_h[cmux] capacitance
|
||||
6 @q_q_h[cpii] capacitance
|
||||
7 @q_q_h[cpix] capacitance
|
||||
8 @q_q_h[crbi] capacitance
|
||||
9 @q_q_h[dtsh] voltage
|
||||
10 @q_q_h[ft] voltage
|
||||
11 @q_q_h[gmi] admittance
|
||||
12 @q_q_h[gms] admittance
|
||||
13 i(@q_q_h[iavl]) current
|
||||
14 i(@q_q_h[ib]) current
|
||||
15 i(@q_q_h[ibci]) current
|
||||
16 i(@q_q_h[ibei]) current
|
||||
17 i(@q_q_h[ic]) current
|
||||
18 i(@q_q_h[ick]) current
|
||||
19 i(@q_q_h[ie]) current
|
||||
20 i(@q_q_h[is]) current
|
||||
21 i(@q_q_h[it]) current
|
||||
22 @q_q_h[m] voltage
|
||||
23 @q_q_h[p] power
|
||||
24 @q_q_h[rb] voltage
|
||||
25 @q_q_h[rbi] voltage
|
||||
26 @q_q_h[rcx_t] voltage
|
||||
27 @q_q_h[re_t] voltage
|
||||
28 @q_q_h[rmui] voltage
|
||||
29 @q_q_h[rmux] voltage
|
||||
30 @q_q_h[roi] voltage
|
||||
31 @q_q_h[rpii] voltage
|
||||
32 @q_q_h[rpix] voltage
|
||||
33 @q_q_h[temp] voltage
|
||||
34 @q_q_h[tf] voltage
|
||||
35 @q_q_h[tk] voltage
|
||||
36 @q_q_h[vbbp] voltage
|
||||
37 @q_q_h[vbc] voltage
|
||||
38 @q_q_h[vbe] voltage
|
||||
39 @q_q_h[vbici] voltage
|
||||
40 @q_q_h[vbiei] voltage
|
||||
41 @q_q_h[vbpbi] voltage
|
||||
42 @q_q_h[vce] voltage
|
||||
43 @q_q_h[vciei] voltage
|
||||
44 @q_q_h[vsc] voltage
|
||||
45 n_b voltage
|
||||
46 n_b_forced voltage
|
||||
47 n_bx voltage
|
||||
48 n_c_forced voltage
|
||||
49 n_cx voltage
|
||||
50 n_e voltage
|
||||
51 n_e_forced voltage
|
||||
52 n_ex voltage
|
||||
53 n_s voltage
|
||||
54 n_sx voltage
|
||||
55 n_t voltage
|
||||
56 q_q_h#collci voltage
|
||||
57 q_q_h#emitei voltage
|
||||
58 q_q_h#subssi voltage
|
||||
59 q_q_h#xf voltage
|
||||
60 q_q_h#xf1 voltage
|
||||
61 q_q_h#xf2 voltage
|
||||
62 i(v_v_b) current
|
||||
63 i(v_v_c) current
|
||||
64 i(v_v_e) current
|
||||
65 i(v_v_s) current
|
||||
66 i(v_v_v_b) current
|
||||
67 i(v_v_v_c) current
|
||||
68 i(v_v_v_e) current
|
||||
69 i(v_v_v_s) current
|
||||
Values:
|
||||
0 1.999999999999999e+00
|
||||
2.015820960757590e-34
|
||||
-1.284349804129181e+02
|
||||
1.973886148229769e-15
|
||||
1.747681823948260e-16
|
||||
1.551402081692822e-15
|
||||
6.344691137456945e-16
|
||||
1.783589713534423e-15
|
||||
8.092372961405205e-16
|
||||
1.090683099391754e-08
|
||||
1.348648355838772e-22
|
||||
2.205013024816219e-47
|
||||
1.179834970232417e-46
|
||||
1.630495164519588e-14
|
||||
-3.785223511284394e-15
|
||||
-1.630669801643895e-14
|
||||
1.252360523290239e-14
|
||||
4.861551075303282e-13
|
||||
7.135973196891111e-03
|
||||
-4.909281342628674e-13
|
||||
-8.644788778686730e-16
|
||||
4.689817999082727e-13
|
||||
1.000000000000000e+00
|
||||
9.790813523192944e-13
|
||||
1.134770039598727e+02
|
||||
7.240352190377749e+01
|
||||
3.972735488616852e+01
|
||||
2.433585113114196e+01
|
||||
2.013221934661670e+13
|
||||
9.999999999999999e+17
|
||||
9.999999999999999e+17
|
||||
3.928496858701236e+12
|
||||
5.213494313553190e+12
|
||||
2.485000000000002e+01
|
||||
2.350813231799441e-13
|
||||
2.980000000000000e+02
|
||||
-1.194715399151042e-11
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
-1.699999999980643e+00
|
||||
2.999999999880947e-01
|
||||
-2.739475313262574e-13
|
||||
0.000000000000000e+00
|
||||
1.999999999968738e+00
|
||||
0.000000000000000e+00
|
||||
2.999999999999999e-01
|
||||
3.000000000000000e-01
|
||||
3.000000000000000e-01
|
||||
2.000000000000000e+00
|
||||
2.000000000000000e+00
|
||||
4.909281342628685e-16
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
1.090684476258629e-08
|
||||
1.999999999980686e+00
|
||||
1.194764491964468e-11
|
||||
6.915831022949383e-12
|
||||
1.102488620697488e-25
|
||||
4.689817999082728e-13
|
||||
4.689817999082727e-13
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
|
||||
Title: dmt generated netlist
|
||||
Date: Sat Jul 11 15:15:22 2020
|
||||
Plotname: Operating Point
|
||||
Flags: real
|
||||
No. Variables: 70
|
||||
No. Points: 1
|
||||
Variables:
|
||||
0 n_c voltage
|
||||
1 @q_q_h[betaac] voltage
|
||||
2 @q_q_h[betadc] voltage
|
||||
3 @q_q_h[ccs] capacitance
|
||||
4 @q_q_h[cmui] capacitance
|
||||
5 @q_q_h[cmux] capacitance
|
||||
6 @q_q_h[cpii] capacitance
|
||||
7 @q_q_h[cpix] capacitance
|
||||
8 @q_q_h[crbi] capacitance
|
||||
9 @q_q_h[dtsh] voltage
|
||||
10 @q_q_h[ft] voltage
|
||||
11 @q_q_h[gmi] admittance
|
||||
12 @q_q_h[gms] admittance
|
||||
13 i(@q_q_h[iavl]) current
|
||||
14 i(@q_q_h[ib]) current
|
||||
15 i(@q_q_h[ibci]) current
|
||||
16 i(@q_q_h[ibei]) current
|
||||
17 i(@q_q_h[ic]) current
|
||||
18 i(@q_q_h[ick]) current
|
||||
19 i(@q_q_h[ie]) current
|
||||
20 i(@q_q_h[is]) current
|
||||
21 i(@q_q_h[it]) current
|
||||
22 @q_q_h[m] voltage
|
||||
23 @q_q_h[p] power
|
||||
24 @q_q_h[rb] voltage
|
||||
25 @q_q_h[rbi] voltage
|
||||
26 @q_q_h[rcx_t] voltage
|
||||
27 @q_q_h[re_t] voltage
|
||||
28 @q_q_h[rmui] voltage
|
||||
29 @q_q_h[rmux] voltage
|
||||
30 @q_q_h[roi] voltage
|
||||
31 @q_q_h[rpii] voltage
|
||||
32 @q_q_h[rpix] voltage
|
||||
33 @q_q_h[temp] voltage
|
||||
34 @q_q_h[tf] voltage
|
||||
35 @q_q_h[tk] voltage
|
||||
36 @q_q_h[vbbp] voltage
|
||||
37 @q_q_h[vbc] voltage
|
||||
38 @q_q_h[vbe] voltage
|
||||
39 @q_q_h[vbici] voltage
|
||||
40 @q_q_h[vbiei] voltage
|
||||
41 @q_q_h[vbpbi] voltage
|
||||
42 @q_q_h[vce] voltage
|
||||
43 @q_q_h[vciei] voltage
|
||||
44 @q_q_h[vsc] voltage
|
||||
45 n_b voltage
|
||||
46 n_b_forced voltage
|
||||
47 n_bx voltage
|
||||
48 n_c_forced voltage
|
||||
49 n_cx voltage
|
||||
50 n_e voltage
|
||||
51 n_e_forced voltage
|
||||
52 n_ex voltage
|
||||
53 n_s voltage
|
||||
54 n_sx voltage
|
||||
55 n_t voltage
|
||||
56 q_q_h#collci voltage
|
||||
57 q_q_h#emitei voltage
|
||||
58 q_q_h#subssi voltage
|
||||
59 q_q_h#xf voltage
|
||||
60 q_q_h#xf1 voltage
|
||||
61 q_q_h#xf2 voltage
|
||||
62 i(v_v_b) current
|
||||
63 i(v_v_c) current
|
||||
64 i(v_v_e) current
|
||||
65 i(v_v_s) current
|
||||
66 i(v_v_v_b) current
|
||||
67 i(v_v_v_c) current
|
||||
68 i(v_v_v_e) current
|
||||
69 i(v_v_v_s) current
|
||||
Values:
|
||||
0 1.999999999999999e+00
|
||||
2.015820960757590e-34
|
||||
-1.284349804129181e+02
|
||||
1.973886148229769e-15
|
||||
1.747681823948260e-16
|
||||
1.551402081692822e-15
|
||||
6.344691137456945e-16
|
||||
1.783589713534423e-15
|
||||
8.092372961405205e-16
|
||||
1.090683099391754e-08
|
||||
1.348648355838772e-22
|
||||
2.205013024816219e-47
|
||||
1.179834970232417e-46
|
||||
1.630495164519588e-14
|
||||
-3.785223511284394e-15
|
||||
-1.630669801643895e-14
|
||||
1.252360523290239e-14
|
||||
4.861551075303282e-13
|
||||
7.135973196891111e-03
|
||||
-4.909281342628674e-13
|
||||
-8.644788778686730e-16
|
||||
4.689817999082727e-13
|
||||
1.000000000000000e+00
|
||||
9.790813523192944e-13
|
||||
1.134770039598727e+02
|
||||
7.240352190377749e+01
|
||||
3.972735488616852e+01
|
||||
2.433585113114196e+01
|
||||
2.013221934661670e+13
|
||||
9.999999999999999e+17
|
||||
9.999999999999999e+17
|
||||
3.928496858701236e+12
|
||||
5.213494313553190e+12
|
||||
2.485000000000002e+01
|
||||
2.350813231799441e-13
|
||||
2.980000000000000e+02
|
||||
-1.194715399151042e-11
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
-1.699999999980643e+00
|
||||
2.999999999880947e-01
|
||||
-2.739475313262574e-13
|
||||
0.000000000000000e+00
|
||||
1.999999999968738e+00
|
||||
0.000000000000000e+00
|
||||
2.999999999999999e-01
|
||||
3.000000000000000e-01
|
||||
3.000000000000000e-01
|
||||
2.000000000000000e+00
|
||||
2.000000000000000e+00
|
||||
4.909281342628685e-16
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
1.090684476258629e-08
|
||||
1.999999999980686e+00
|
||||
1.194764491964468e-11
|
||||
6.915831022949383e-12
|
||||
1.102488620697488e-25
|
||||
4.689817999082728e-13
|
||||
4.689817999082727e-13
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
|
||||
Title: dmt generated netlist
|
||||
Date: Sat Jul 11 15:20:53 2020
|
||||
Plotname: Operating Point
|
||||
Flags: real
|
||||
No. Variables: 70
|
||||
No. Points: 1
|
||||
Variables:
|
||||
0 n_c voltage
|
||||
1 @q_q_h[betaac] voltage
|
||||
2 @q_q_h[betadc] voltage
|
||||
3 @q_q_h[ccs] capacitance
|
||||
4 @q_q_h[cmui] capacitance
|
||||
5 @q_q_h[cmux] capacitance
|
||||
6 @q_q_h[cpii] capacitance
|
||||
7 @q_q_h[cpix] capacitance
|
||||
8 @q_q_h[crbi] capacitance
|
||||
9 @q_q_h[dtsh] voltage
|
||||
10 @q_q_h[ft] voltage
|
||||
11 @q_q_h[gmi] admittance
|
||||
12 @q_q_h[gms] admittance
|
||||
13 i(@q_q_h[iavl]) current
|
||||
14 i(@q_q_h[ib]) current
|
||||
15 i(@q_q_h[ibci]) current
|
||||
16 i(@q_q_h[ibei]) current
|
||||
17 i(@q_q_h[ic]) current
|
||||
18 i(@q_q_h[ick]) current
|
||||
19 i(@q_q_h[ie]) current
|
||||
20 i(@q_q_h[is]) current
|
||||
21 i(@q_q_h[it]) current
|
||||
22 @q_q_h[m] voltage
|
||||
23 @q_q_h[p] power
|
||||
24 @q_q_h[rb] voltage
|
||||
25 @q_q_h[rbi] voltage
|
||||
26 @q_q_h[rcx_t] voltage
|
||||
27 @q_q_h[re_t] voltage
|
||||
28 @q_q_h[rmui] voltage
|
||||
29 @q_q_h[rmux] voltage
|
||||
30 @q_q_h[roi] voltage
|
||||
31 @q_q_h[rpii] voltage
|
||||
32 @q_q_h[rpix] voltage
|
||||
33 @q_q_h[temp] voltage
|
||||
34 @q_q_h[tf] voltage
|
||||
35 @q_q_h[tk] voltage
|
||||
36 @q_q_h[vbbp] voltage
|
||||
37 @q_q_h[vbc] voltage
|
||||
38 @q_q_h[vbe] voltage
|
||||
39 @q_q_h[vbici] voltage
|
||||
40 @q_q_h[vbiei] voltage
|
||||
41 @q_q_h[vbpbi] voltage
|
||||
42 @q_q_h[vce] voltage
|
||||
43 @q_q_h[vciei] voltage
|
||||
44 @q_q_h[vsc] voltage
|
||||
45 n_b voltage
|
||||
46 n_b_forced voltage
|
||||
47 n_bx voltage
|
||||
48 n_c_forced voltage
|
||||
49 n_cx voltage
|
||||
50 n_e voltage
|
||||
51 n_e_forced voltage
|
||||
52 n_ex voltage
|
||||
53 n_s voltage
|
||||
54 n_sx voltage
|
||||
55 n_t voltage
|
||||
56 q_q_h#collci voltage
|
||||
57 q_q_h#emitei voltage
|
||||
58 q_q_h#subssi voltage
|
||||
59 q_q_h#xf voltage
|
||||
60 q_q_h#xf1 voltage
|
||||
61 q_q_h#xf2 voltage
|
||||
62 i(v_v_b) current
|
||||
63 i(v_v_c) current
|
||||
64 i(v_v_e) current
|
||||
65 i(v_v_s) current
|
||||
66 i(v_v_v_b) current
|
||||
67 i(v_v_v_c) current
|
||||
68 i(v_v_v_e) current
|
||||
69 i(v_v_v_s) current
|
||||
Values:
|
||||
0 1.999999999999999e+00
|
||||
2.015820960757590e-34
|
||||
-1.284349804129181e+02
|
||||
1.973886148229769e-15
|
||||
1.747681823948260e-16
|
||||
1.551402081692822e-15
|
||||
6.344691137456945e-16
|
||||
1.783589713534423e-15
|
||||
8.092372961405205e-16
|
||||
1.090683099391754e-08
|
||||
1.348648355838772e-22
|
||||
2.205013024816219e-47
|
||||
1.179834970232417e-46
|
||||
1.630495164519588e-14
|
||||
-3.785223511284394e-15
|
||||
-1.630669801643895e-14
|
||||
1.252360523290239e-14
|
||||
4.861551075303282e-13
|
||||
7.135973196891111e-03
|
||||
-4.909281342628674e-13
|
||||
-8.644788778686730e-16
|
||||
4.689817999082727e-13
|
||||
1.000000000000000e+00
|
||||
9.790813523192944e-13
|
||||
1.134770039598727e+02
|
||||
7.240352190377749e+01
|
||||
3.972735488616852e+01
|
||||
2.433585113114196e+01
|
||||
2.013221934661670e+13
|
||||
9.999999999999999e+17
|
||||
9.999999999999999e+17
|
||||
3.928496858701236e+12
|
||||
5.213494313553190e+12
|
||||
2.485000000000002e+01
|
||||
2.350813231799441e-13
|
||||
2.980000000000000e+02
|
||||
-1.194715399151042e-11
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
-1.699999999980643e+00
|
||||
2.999999999880947e-01
|
||||
-2.739475313262574e-13
|
||||
0.000000000000000e+00
|
||||
1.999999999968738e+00
|
||||
0.000000000000000e+00
|
||||
2.999999999999999e-01
|
||||
3.000000000000000e-01
|
||||
3.000000000000000e-01
|
||||
2.000000000000000e+00
|
||||
2.000000000000000e+00
|
||||
4.909281342628685e-16
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
1.090684476258629e-08
|
||||
1.999999999980686e+00
|
||||
1.194764491964468e-11
|
||||
6.915831022949383e-12
|
||||
1.102488620697488e-25
|
||||
4.689817999082728e-13
|
||||
4.689817999082727e-13
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
|
||||
Title: dmt generated netlist
|
||||
Date: Sat Jul 11 15:50:28 2020
|
||||
Plotname: Operating Point
|
||||
Flags: real
|
||||
No. Variables: 70
|
||||
No. Points: 1
|
||||
Variables:
|
||||
0 n_c voltage
|
||||
1 @q_q_h[betaac] voltage
|
||||
2 @q_q_h[betadc] voltage
|
||||
3 @q_q_h[ccs] capacitance
|
||||
4 @q_q_h[cmui] capacitance
|
||||
5 @q_q_h[cmux] capacitance
|
||||
6 @q_q_h[cpii] capacitance
|
||||
7 @q_q_h[cpix] capacitance
|
||||
8 @q_q_h[crbi] capacitance
|
||||
9 @q_q_h[dtsh] voltage
|
||||
10 @q_q_h[ft] voltage
|
||||
11 @q_q_h[gmi] admittance
|
||||
12 @q_q_h[gms] admittance
|
||||
13 i(@q_q_h[iavl]) current
|
||||
14 i(@q_q_h[ib]) current
|
||||
15 i(@q_q_h[ibci]) current
|
||||
16 i(@q_q_h[ibei]) current
|
||||
17 i(@q_q_h[ic]) current
|
||||
18 i(@q_q_h[ick]) current
|
||||
19 i(@q_q_h[ie]) current
|
||||
20 i(@q_q_h[is]) current
|
||||
21 i(@q_q_h[it]) current
|
||||
22 @q_q_h[m] voltage
|
||||
23 @q_q_h[p] power
|
||||
24 @q_q_h[rb] voltage
|
||||
25 @q_q_h[rbi] voltage
|
||||
26 @q_q_h[rcx_t] voltage
|
||||
27 @q_q_h[re_t] voltage
|
||||
28 @q_q_h[rmui] voltage
|
||||
29 @q_q_h[rmux] voltage
|
||||
30 @q_q_h[roi] voltage
|
||||
31 @q_q_h[rpii] voltage
|
||||
32 @q_q_h[rpix] voltage
|
||||
33 @q_q_h[temp] voltage
|
||||
34 @q_q_h[tf] voltage
|
||||
35 @q_q_h[tk] voltage
|
||||
36 @q_q_h[vbbp] voltage
|
||||
37 @q_q_h[vbc] voltage
|
||||
38 @q_q_h[vbe] voltage
|
||||
39 @q_q_h[vbici] voltage
|
||||
40 @q_q_h[vbiei] voltage
|
||||
41 @q_q_h[vbpbi] voltage
|
||||
42 @q_q_h[vce] voltage
|
||||
43 @q_q_h[vciei] voltage
|
||||
44 @q_q_h[vsc] voltage
|
||||
45 n_b voltage
|
||||
46 n_b_forced voltage
|
||||
47 n_bx voltage
|
||||
48 n_c_forced voltage
|
||||
49 n_cx voltage
|
||||
50 n_e voltage
|
||||
51 n_e_forced voltage
|
||||
52 n_ex voltage
|
||||
53 n_s voltage
|
||||
54 n_sx voltage
|
||||
55 n_t voltage
|
||||
56 q_q_h#collci voltage
|
||||
57 q_q_h#emitei voltage
|
||||
58 q_q_h#subssi voltage
|
||||
59 q_q_h#xf voltage
|
||||
60 q_q_h#xf1 voltage
|
||||
61 q_q_h#xf2 voltage
|
||||
62 i(v_v_b) current
|
||||
63 i(v_v_c) current
|
||||
64 i(v_v_e) current
|
||||
65 i(v_v_s) current
|
||||
66 i(v_v_v_b) current
|
||||
67 i(v_v_v_c) current
|
||||
68 i(v_v_v_e) current
|
||||
69 i(v_v_v_s) current
|
||||
Values:
|
||||
0 1.999999999999999e+00
|
||||
2.015820960757590e-34
|
||||
-1.284349804129181e+02
|
||||
1.973886148229769e-15
|
||||
1.747681823948260e-16
|
||||
1.551402081692822e-15
|
||||
6.344691137456945e-16
|
||||
1.783589713534423e-15
|
||||
8.092372961405205e-16
|
||||
1.090683099391754e-08
|
||||
1.348648355838772e-22
|
||||
2.205013024816219e-47
|
||||
1.179834970232417e-46
|
||||
1.630495164519588e-14
|
||||
-3.785223511284394e-15
|
||||
-1.630669801643895e-14
|
||||
1.252360523290239e-14
|
||||
4.861551075303282e-13
|
||||
7.135973196891111e-03
|
||||
-4.909281342628674e-13
|
||||
-8.644788778686730e-16
|
||||
4.689817999082727e-13
|
||||
1.000000000000000e+00
|
||||
9.790813523192944e-13
|
||||
1.134770039598727e+02
|
||||
7.240352190377749e+01
|
||||
3.972735488616852e+01
|
||||
2.433585113114196e+01
|
||||
2.013221934661670e+13
|
||||
9.999999999999999e+17
|
||||
9.999999999999999e+17
|
||||
3.928496858701236e+12
|
||||
5.213494313553190e+12
|
||||
2.485000000000002e+01
|
||||
2.350813231799441e-13
|
||||
2.980000000000000e+02
|
||||
-1.194715399151042e-11
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
-1.699999999980643e+00
|
||||
2.999999999880947e-01
|
||||
-2.739475313262574e-13
|
||||
0.000000000000000e+00
|
||||
1.999999999968738e+00
|
||||
0.000000000000000e+00
|
||||
2.999999999999999e-01
|
||||
3.000000000000000e-01
|
||||
3.000000000000000e-01
|
||||
2.000000000000000e+00
|
||||
2.000000000000000e+00
|
||||
4.909281342628685e-16
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
1.090684476258629e-08
|
||||
1.999999999980686e+00
|
||||
1.194764491964468e-11
|
||||
6.915831022949383e-12
|
||||
1.102488620697488e-25
|
||||
4.689817999082728e-13
|
||||
4.689817999082727e-13
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
|
||||
Title: dmt generated netlist
|
||||
Date: Sat Jul 11 15:50:47 2020
|
||||
Plotname: Operating Point
|
||||
Flags: real
|
||||
No. Variables: 70
|
||||
No. Points: 1
|
||||
Variables:
|
||||
0 n_c voltage
|
||||
1 @q_q_h[betaac] voltage
|
||||
2 @q_q_h[betadc] voltage
|
||||
3 @q_q_h[ccs] capacitance
|
||||
4 @q_q_h[cmui] capacitance
|
||||
5 @q_q_h[cmux] capacitance
|
||||
6 @q_q_h[cpii] capacitance
|
||||
7 @q_q_h[cpix] capacitance
|
||||
8 @q_q_h[crbi] capacitance
|
||||
9 @q_q_h[dtsh] voltage
|
||||
10 @q_q_h[ft] voltage
|
||||
11 @q_q_h[gmi] admittance
|
||||
12 @q_q_h[gms] admittance
|
||||
13 i(@q_q_h[iavl]) current
|
||||
14 i(@q_q_h[ib]) current
|
||||
15 i(@q_q_h[ibci]) current
|
||||
16 i(@q_q_h[ibei]) current
|
||||
17 i(@q_q_h[ic]) current
|
||||
18 i(@q_q_h[ick]) current
|
||||
19 i(@q_q_h[ie]) current
|
||||
20 i(@q_q_h[is]) current
|
||||
21 i(@q_q_h[it]) current
|
||||
22 @q_q_h[m] voltage
|
||||
23 @q_q_h[p] power
|
||||
24 @q_q_h[rb] voltage
|
||||
25 @q_q_h[rbi] voltage
|
||||
26 @q_q_h[rcx_t] voltage
|
||||
27 @q_q_h[re_t] voltage
|
||||
28 @q_q_h[rmui] voltage
|
||||
29 @q_q_h[rmux] voltage
|
||||
30 @q_q_h[roi] voltage
|
||||
31 @q_q_h[rpii] voltage
|
||||
32 @q_q_h[rpix] voltage
|
||||
33 @q_q_h[temp] voltage
|
||||
34 @q_q_h[tf] voltage
|
||||
35 @q_q_h[tk] voltage
|
||||
36 @q_q_h[vbbp] voltage
|
||||
37 @q_q_h[vbc] voltage
|
||||
38 @q_q_h[vbe] voltage
|
||||
39 @q_q_h[vbici] voltage
|
||||
40 @q_q_h[vbiei] voltage
|
||||
41 @q_q_h[vbpbi] voltage
|
||||
42 @q_q_h[vce] voltage
|
||||
43 @q_q_h[vciei] voltage
|
||||
44 @q_q_h[vsc] voltage
|
||||
45 n_b voltage
|
||||
46 n_b_forced voltage
|
||||
47 n_bx voltage
|
||||
48 n_c_forced voltage
|
||||
49 n_cx voltage
|
||||
50 n_e voltage
|
||||
51 n_e_forced voltage
|
||||
52 n_ex voltage
|
||||
53 n_s voltage
|
||||
54 n_sx voltage
|
||||
55 n_t voltage
|
||||
56 q_q_h#collci voltage
|
||||
57 q_q_h#emitei voltage
|
||||
58 q_q_h#subssi voltage
|
||||
59 q_q_h#xf voltage
|
||||
60 q_q_h#xf1 voltage
|
||||
61 q_q_h#xf2 voltage
|
||||
62 i(v_v_b) current
|
||||
63 i(v_v_c) current
|
||||
64 i(v_v_e) current
|
||||
65 i(v_v_s) current
|
||||
66 i(v_v_v_b) current
|
||||
67 i(v_v_v_c) current
|
||||
68 i(v_v_v_e) current
|
||||
69 i(v_v_v_s) current
|
||||
Values:
|
||||
0 1.999999999999999e+00
|
||||
2.015820960757590e-34
|
||||
-1.284349804129181e+02
|
||||
1.973886148229769e-15
|
||||
1.747681823948260e-16
|
||||
1.551402081692822e-15
|
||||
6.344691137456945e-16
|
||||
1.783589713534423e-15
|
||||
8.092372961405205e-16
|
||||
1.090683099391754e-08
|
||||
1.348648355838772e-22
|
||||
2.205013024816219e-47
|
||||
1.179834970232417e-46
|
||||
1.630495164519588e-14
|
||||
-3.785223511284394e-15
|
||||
-1.630669801643895e-14
|
||||
1.252360523290239e-14
|
||||
4.861551075303282e-13
|
||||
7.135973196891111e-03
|
||||
-4.909281342628674e-13
|
||||
-8.644788778686730e-16
|
||||
4.689817999082727e-13
|
||||
1.000000000000000e+00
|
||||
9.790813523192944e-13
|
||||
1.134770039598727e+02
|
||||
7.240352190377749e+01
|
||||
3.972735488616852e+01
|
||||
2.433585113114196e+01
|
||||
2.013221934661670e+13
|
||||
9.999999999999999e+17
|
||||
9.999999999999999e+17
|
||||
3.928496858701236e+12
|
||||
5.213494313553190e+12
|
||||
2.485000000000002e+01
|
||||
2.350813231799441e-13
|
||||
2.980000000000000e+02
|
||||
-1.194715399151042e-11
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
-1.699999999980643e+00
|
||||
2.999999999880947e-01
|
||||
-2.739475313262574e-13
|
||||
0.000000000000000e+00
|
||||
1.999999999968738e+00
|
||||
0.000000000000000e+00
|
||||
2.999999999999999e-01
|
||||
3.000000000000000e-01
|
||||
3.000000000000000e-01
|
||||
2.000000000000000e+00
|
||||
2.000000000000000e+00
|
||||
4.909281342628685e-16
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
0.000000000000000e+00
|
||||
1.090684476258629e-08
|
||||
1.999999999980686e+00
|
||||
1.194764491964468e-11
|
||||
6.915831022949383e-12
|
||||
1.102488620697488e-25
|
||||
4.689817999082728e-13
|
||||
4.689817999082727e-13
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
-5.684341886080801e-14
|
||||
-6.821210263296962e-13
|
||||
4.909281342628685e-13
|
||||
8.644788778686729e-16
|
||||
|
||||
|
|
@ -351,7 +351,7 @@ void hicum_HICJQ(double T, dual_double c_0, dual_double u_d, double z, dual_doub
|
|||
c_0_t.dpart(c_0.dpart);
|
||||
u_d_t.dpart(u_d.dpart);
|
||||
v_pt_t.dpart(v_pt.dpart);
|
||||
HICJQ(T+1_e, c_0_t, u_d_t, z, v_pt_t, U_cap+1_e, &Cresult, &Qresult);
|
||||
HICJQ(T+1_e, c_0_t, u_d_t, z, v_pt_t, U_cap, &Cresult, &Qresult);
|
||||
*Qz_dT = Qresult.dpart();
|
||||
*C_dT = Cresult.dpart();
|
||||
}
|
||||
|
|
@ -374,7 +374,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double Qdei,Qrbi;
|
||||
double Qdei_Vbiei, Qdei_Vbici, Qdei_dT;
|
||||
double it,ibei,irei,ibci,ibep,irep,ibh_rec;
|
||||
double volatile ibet,iavl,iavl_ditf,iavl_dT,iavl_Vbiei,iavl_dCjci;
|
||||
double ibet,iavl,iavl_dT,iavl_Vbiei;
|
||||
double ijbcx,ijbcx_dT,ijbcx_Vbpci,ijsc,ijsc_Vsici,ijsc_Vrth,Qjs,Qscp,HSI_Tsu,Qdsu;
|
||||
double HSI_Tsu_Vbpci, HSI_Tsu_Vsici, HSI_Tsu_dT;
|
||||
double Qdsu_Vbpci, Qdsu_Vsici, Qdsu_dT;
|
||||
|
|
@ -397,17 +397,17 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double Qjcx_ii, Qjcx_ii_Vbpci, Qjcx_ii_dT;
|
||||
double Qjs_Vsici, Qjs_dT;
|
||||
|
||||
double volatile itf,itr,Tf,Tr,a_bpt,Q_0;
|
||||
double volatile itf_Vbiei, itf_Vbici, itf_Vciei, itf_dT, itf_dQ_pT, itf_dick, itf_dT_f0;
|
||||
double volatile itr_Vbiei, itr_Vbici, itr_Vciei, itr_dT, itr_dQ_pT, itr_dick, itr_dT_f0;
|
||||
double volatile Tf_Vbiei, Tf_Vbici, Tf_Vciei, Tf_dT, Tf_dQ_pT, Tf_dick, Tf_dT_f0;
|
||||
double itf,itr,Tf,Tr,a_bpt,Q_0;
|
||||
double itf_Vbiei, itf_Vbici, itf_dT;
|
||||
double itr_Vbiei, itr_Vbici, itr_dT;
|
||||
double Tf_Vbiei, Tf_Vbici, Tf_dT;
|
||||
double it_Vbiei, it_Vbici, it_dT;
|
||||
double Qf_Vbiei, Qf_Vbici, Qf_Vciei, Qf_dT, Qf_dQ_pT, Qf_dick, Qf_dT_f0;
|
||||
double Qr_Vbiei, Qr_Vbici, Qr_Vciei, Qr_dT, Qr_dQ_pT, Qr_dick, Qr_dT_f0;
|
||||
double Qf_Vbiei, Qf_Vbici, Qf_dT;
|
||||
double Qr_Vbiei, Qr_Vbici, Qr_dT;
|
||||
duals::duald result_itf, result_itr, result_Qp, result_Qf, result_Qr, result_Q_bf, result_a_h, result_Q_p, result_Tf; //intermediate variables when calling void dual functions
|
||||
double T_f0, Q_p, a_h;
|
||||
double volatile Q_bf, Q_bf_Vbiei=0, Q_bf_Vbici=0, Q_bf_Vciei=0, Q_bf_dT=0, Q_bf_dick=0, Q_bf_dT_f0=0, Q_bf_dQ_pT=0;
|
||||
double volatile Q_pT=0, Q_pT_dVbiei=0, Q_pT_dVbici=0, Q_pT_dT=0, Q_pT_dick=0, Q_pT_dT_f0=0, Q_pT_dQ_0=0, Q_pT_dVciei=0;
|
||||
double Q_bf, Q_bf_Vbiei=0, Q_bf_Vbici=0, Q_bf_dT=0;
|
||||
double Q_pT=0, Q_pT_dVbiei=0, Q_pT_dVbici=0, Q_pT_dT=0;
|
||||
double Qf, Cdei, Qr, Cdci;
|
||||
double Cdei_Vbiei, Cdei_Vbici, Cdei_Vrth;
|
||||
double Cdci_Vbiei, Cdci_Vbici, Cdci_Vrth;
|
||||
|
|
@ -456,7 +456,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double ceq, geq=0.0;
|
||||
double volatile rhs_current;
|
||||
int icheck=1;
|
||||
int ichk1, ichk2, ichk3, ichk4, ichk5;
|
||||
int ichk1, ichk2, ichk3, ichk4, ichk5, ichk6;
|
||||
int error;
|
||||
double Vbe, Vcic, Vbbp, Veie, Vsis, Vbpe;
|
||||
|
||||
|
|
@ -474,13 +474,13 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double Ibpsi, Ibpsi_Vbpci, Ibpsi_Vsici, Ibpsi_Vrth=0;
|
||||
double Icic_Vcic=0;
|
||||
double Ibci=0, Ibci_Vbci=0;
|
||||
double volatile hjei_vbe_Vbiei, hjei_vbe_dT, ibet_Vbpei=0.0, ibet_dT=0, ibet_Vbiei=0.0, ibh_rec_Vbiei, ibh_rec_dT, ibh_rec_Vbici;
|
||||
double hjei_vbe_Vbiei, hjei_vbe_dT, ibet_Vbpei=0.0, ibet_dT=0, ibet_Vbiei=0.0, ibh_rec_Vbiei, ibh_rec_dT, ibh_rec_Vbici;
|
||||
double irei_Vbiei, irei_dT;
|
||||
double ibep_Vbpei, ibep_dT;
|
||||
double irep_Vbpei, irep_dT, iavl_Vbici, rbi_dT, rbi_dQjei, rbi_dQf, rbi_Vbiei, rbi_Vbici;
|
||||
double irep_Vbpei, irep_dT, iavl_Vbici, rbi_dT, rbi_Vbiei, rbi_Vbici;
|
||||
double ibei_Vbiei, ibei_dT;
|
||||
double ibci_Vbici, ibci_dT;
|
||||
double Q_0_Vbiei, Q_0_Vbici, Q_0_hjei_vbe, Q_0_Qjci, Q_0_Qjei, Q_0_dT;
|
||||
double Q_0_Vbiei, Q_0_Vbici, Q_0_dT;
|
||||
|
||||
double Temp;
|
||||
|
||||
|
|
@ -1830,7 +1830,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
/*
|
||||
* limit nonlinear branch voltages
|
||||
*/
|
||||
ichk1 = 1, ichk2 = 1, ichk3 = 1, ichk4 = 1, ichk5 = 0;
|
||||
ichk1 = 1, ichk2 = 1, ichk3 = 1, ichk4 = 1, ichk5=0, ichk6 = 0;
|
||||
Vbiei = DEVpnjlim(Vbiei,*(ckt->CKTstate0 + here->HICUMvbiei),here->HICUMvt.rpart,
|
||||
here->HICUMtVcrit,&icheck);
|
||||
Vbici = DEVpnjlim(Vbici,*(ckt->CKTstate0 + here->HICUMvbici),here->HICUMvt.rpart,
|
||||
|
|
@ -1841,12 +1841,14 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here->HICUMtVcrit,&ichk3);
|
||||
Vsici = DEVpnjlim(Vsici,*(ckt->CKTstate0 + here->HICUMvsici),here->HICUMvt.rpart,
|
||||
here->HICUMtVcrit,&ichk4);
|
||||
Vbpbi = DEVpnjlim(Vbpbi,*(ckt->CKTstate0 + here->HICUMvbpbi),here->HICUMvt.rpart,
|
||||
here->HICUMtVcrit,&ichk5);
|
||||
if (selfheat) {
|
||||
ichk5 = 1;
|
||||
ichk5 = 6;
|
||||
Vrth = HICUMlimitlog(Vrth,
|
||||
*(ckt->CKTstate0 + here->HICUMvrth),100,&ichk5);
|
||||
*(ckt->CKTstate0 + here->HICUMvrth),10,&ichk6);
|
||||
}
|
||||
if ((ichk1 == 1) || (ichk2 == 1) || (ichk3 == 1) || (ichk4 == 1) || (ichk5 == 1)) icheck=1;
|
||||
if ((ichk1 == 1) || (ichk2 == 1) || (ichk3 == 1) || (ichk4 == 1) || (ichk5 == 1)|| (ichk6 == 1)) icheck=1;
|
||||
}
|
||||
/*
|
||||
* determine dc current and derivatives
|
||||
|
|
@ -1897,23 +1899,16 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
hicum_HICJQ(Temp, here->HICUMcjci0_t,here->HICUMvdci_t,model->HICUMzci,here->HICUMvptci_t, Vbici, &Cjci, &Cjci_Vbici, &Cjci_dT, &Qjci, &Qjci_Vbici, &Qjci_dT);
|
||||
|
||||
//Hole charge at low bias
|
||||
result = calc_Q_0(Temp , Qjei+1_e, Qjci, hjei_vbe);
|
||||
result = calc_Q_0(Temp , Qjei+1_e*Qjei_Vbiei, Qjci, hjei_vbe+1_e*hjei_vbe_Vbiei);
|
||||
Q_0 = result.rpart();
|
||||
Q_0_Qjei = result.dpart();
|
||||
Q_0_Vbiei = result.dpart();
|
||||
|
||||
result = calc_Q_0(Temp , Qjei, Qjci+1_e, hjei_vbe);
|
||||
Q_0_Qjci = result.dpart();
|
||||
result = calc_Q_0(Temp , Qjei, Qjci+1_e*Qjci_Vbici, hjei_vbe);
|
||||
Q_0_Vbici = result.dpart();
|
||||
|
||||
result = calc_Q_0(Temp , Qjei, Qjci, hjei_vbe+1_e);
|
||||
Q_0_hjei_vbe = result.dpart();
|
||||
|
||||
result = calc_Q_0(Temp+1_e , Qjei, Qjci, hjei_vbe);
|
||||
result = calc_Q_0(Temp+1_e , Qjei+1_e*Qjei_dT, Qjci+1_e*Qjci_dT, hjei_vbe+1_e*hjei_vbe_dT);
|
||||
Q_0_dT = result.dpart();
|
||||
|
||||
Q_0_Vbiei = Q_0_Qjei*Qjei_Vbiei + Q_0_hjei_vbe*hjei_vbe_Vbiei;
|
||||
Q_0_Vbici = Q_0_Qjci*Qjci_Vbici ;
|
||||
Q_0_dT += Q_0_Qjei*Qjei_dT + Q_0_Qjci*Qjci_dT + Q_0_hjei_vbe*hjei_vbe_dT;
|
||||
|
||||
//Transit time calculation at low current density
|
||||
result = calc_T_f0(Temp, Vbici+1_e);
|
||||
T_f0 = result.rpart();
|
||||
|
|
@ -1940,7 +1935,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Tr = model->HICUMtr;
|
||||
|
||||
//begin initial transfer current calculations -> itf, itr, Qf, Qr------------
|
||||
calc_it_initial(Temp+1_e, Vbiei , Vbici , Q_0 , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
calc_it_initial(Temp+1_e, Vbiei , Vbici , Q_0+1_e*Q_0_dT , T_f0+1_e*T_f0_dT , ick+1_e*ick_dT , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf = result_itf.rpart();
|
||||
itr = result_itr.rpart();
|
||||
Qf = result_Qf.rpart();
|
||||
|
|
@ -1957,7 +1952,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Tf_dT = result_Tf.dpart();
|
||||
|
||||
if (!(Qf > RTOLC*Q_p || a_h > RTOLC)) { // in this case the newon is not run and the derivatives of the initial solution are needed
|
||||
calc_it_initial(Temp+1_e, Vbiei , Vbici , Q_0 , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
calc_it_initial(Temp+1_e, Vbiei , Vbici , Q_0+1_e*Q_0_dT , T_f0+1_e*T_f0_dT , ick+1_e*ick_dT , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_dT = result_itf.dpart();
|
||||
itr_dT = result_itr.dpart();
|
||||
Qf_dT = result_Qf.dpart();
|
||||
|
|
@ -1965,7 +1960,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_dT = result_Q_bf.dpart();
|
||||
Tf_dT = result_Tf.dpart();
|
||||
|
||||
calc_it_initial(Temp , Vbiei+1_e, Vbici , Q_0 , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
calc_it_initial(Temp , Vbiei+1_e, Vbici , Q_0+1_e*Q_0*Vbiei , T_f0 , ick+1_e*ick_Vciei , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_Vbiei = result_itf.dpart();
|
||||
itr_Vbiei = result_itr.dpart();
|
||||
Qf_Vbiei = result_Qf.dpart();
|
||||
|
|
@ -1973,7 +1968,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_Vbiei = result_Q_bf.dpart();
|
||||
Tf_Vbiei = result_Tf.dpart();
|
||||
|
||||
calc_it_initial(Temp , Vbiei , Vbici+1_e, Q_0 , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
calc_it_initial(Temp , Vbiei , Vbici+1_e, Q_0+1_e*Q_0_Vbici , T_f0+1_e*T_f0_Vbici , ick-1_e*ick_Vciei , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_Vbici = result_itf.dpart();
|
||||
itr_Vbici = result_itr.dpart();
|
||||
Qf_Vbici = result_Qf.dpart();
|
||||
|
|
@ -1981,122 +1976,19 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_Vbici= result_Q_bf.dpart();
|
||||
Tf_Vbici = result_Tf.dpart();
|
||||
|
||||
calc_it_initial(Temp , Vbiei , Vbici , Q_0+1_e, T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_dQ_pT = result_itf.dpart(); //actual Q_0, but we can spare us this new variables
|
||||
itr_dQ_pT = result_itr.dpart();
|
||||
Qf_dQ_pT = result_Qf.dpart();
|
||||
Qr_dQ_pT = result_Qr.dpart();
|
||||
Q_bf_dQ_pT= result_Q_bf.dpart();
|
||||
Tf_dQ_pT = result_Tf.dpart();
|
||||
|
||||
calc_it_initial(Temp , Vbiei , Vbici , Q_0 , T_f0+1_e, ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_dT_f0 = result_itf.dpart();
|
||||
itr_dT_f0 = result_itr.dpart();
|
||||
Qf_dT_f0 = result_Qf.dpart();
|
||||
Qr_dT_f0 = result_Qr.dpart();
|
||||
Q_bf_dT_f0= result_Q_bf.dpart();
|
||||
Tf_dT_f0 = result_Tf.dpart();
|
||||
|
||||
calc_it_initial(Temp , Vbiei , Vbici , Q_0 , T_f0 , ick+1_e, &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_a_h, &result_Q_p, &result_Tf);
|
||||
itf_dick = result_itf.dpart();
|
||||
itr_dick = result_itr.dpart();
|
||||
Qf_dick = result_Qf.dpart();
|
||||
Qr_dick = result_Qr.dpart();
|
||||
Q_bf_dick= result_Q_bf.dpart();
|
||||
Tf_dick = result_Tf.dpart();
|
||||
|
||||
// add derivatives of Q_0 = f(Vbici,Vbiei,T)
|
||||
itf_dT += itf_dQ_pT*Q_0_dT;
|
||||
itr_dT += itr_dQ_pT*Q_0_dT;
|
||||
Qf_dT += Qf_dQ_pT*Q_0_dT;
|
||||
Qr_dT += Qr_dQ_pT*Q_0_dT;
|
||||
Q_bf_dT += Q_bf_dQ_pT*Q_0_dT;
|
||||
Tf_dT += Tf_dQ_pT*Q_0_dT;
|
||||
|
||||
itf_Vbiei += itf_dQ_pT*Q_0_Vbiei;
|
||||
itr_Vbiei += itr_dQ_pT*Q_0_Vbiei;
|
||||
Qf_Vbiei += Qf_dQ_pT*Q_0_Vbiei;
|
||||
Qr_Vbiei += Qr_dQ_pT*Q_0_Vbiei;
|
||||
Q_bf_Vbiei+= Q_bf_dQ_pT*Q_0_Vbiei;
|
||||
Tf_Vbiei += Tf_dQ_pT*Q_0_Vbiei;
|
||||
|
||||
itf_Vbici += itf_dQ_pT*Q_0_Vbici;
|
||||
itr_Vbici += itr_dQ_pT*Q_0_Vbici;
|
||||
Qf_Vbici += Qf_dQ_pT*Q_0_Vbici;
|
||||
Qr_Vbici += Qr_dQ_pT*Q_0_Vbici;
|
||||
Q_bf_Vbici+= Q_bf_dQ_pT*Q_0_Vbici;
|
||||
Tf_Vbici += Tf_dQ_pT*Q_0_Vbici;
|
||||
|
||||
itf_Vciei = 0; //Q_0 is not a function of Vciei
|
||||
itr_Vciei = 0;
|
||||
Qf_Vciei = 0;
|
||||
Qr_Vciei = 0;
|
||||
Q_bf_Vciei = 0;
|
||||
Tf_Vciei = 0;
|
||||
|
||||
// add derivatives of T_f0 = f(Vbici, T)
|
||||
itf_Vbici += itf_dT_f0*T_f0_Vbici;
|
||||
itr_Vbici += itr_dT_f0*T_f0_Vbici;
|
||||
Qf_Vbici += Qf_dT_f0*T_f0_Vbici;
|
||||
Qr_Vbici += Qr_dT_f0*T_f0_Vbici;
|
||||
Q_bf_Vbici+= Q_bf_dT_f0*T_f0_Vbici;
|
||||
Tf_Vbici += Tf_dT_f0*T_f0_Vbici;
|
||||
|
||||
itf_dT += itf_dT_f0*T_f0_dT;
|
||||
itr_dT += itr_dT_f0*T_f0_dT;
|
||||
Qf_dT += Qf_dT_f0*T_f0_dT;
|
||||
Qr_dT += Qr_dT_f0*T_f0_dT;
|
||||
Q_bf_dT += Q_bf_dT_f0*T_f0_dT;
|
||||
Tf_dT += Tf_dT_f0*T_f0_dT;
|
||||
|
||||
// add derivatives of ick=f(Vciei, T)
|
||||
itf_Vciei += itf_dick*ick_Vciei;
|
||||
itr_Vciei += itr_dick*ick_Vciei;
|
||||
Qf_Vciei += Qf_dick*ick_Vciei;
|
||||
Qr_Vciei += Qr_dick*ick_Vciei;
|
||||
Q_bf_Vciei+= Q_bf_dick*ick_Vciei;
|
||||
Tf_Vciei += Tf_dick*ick_Vciei;
|
||||
|
||||
itf_dT += itf_dick*ick_dT;
|
||||
itr_dT += itr_dick*ick_dT;
|
||||
Qf_dT += Qf_dick*ick_dT;
|
||||
Qr_dT += Qr_dick*ick_dT;
|
||||
Q_bf_dT += Q_bf_dick*ick_dT;
|
||||
Tf_dT += Tf_dick*ick_dT;
|
||||
|
||||
} else { //Newton needed
|
||||
result = calc_it(Temp+1_e, Vbiei , Vbici , Q_0 , T_f0 , ick );
|
||||
result = calc_it(Temp+1_e, Vbiei , Vbici , Q_0+1_e*Q_0_dT , T_f0+1_e*T_f0_dT , ick+1_e*ick_dT );
|
||||
Q_pT = result.rpart();
|
||||
Q_pT_dT = result.dpart();
|
||||
|
||||
result = calc_it(Temp , Vbiei+1_e, Vbici , Q_0 , T_f0 , ick );
|
||||
result = calc_it(Temp , Vbiei+1_e, Vbici , Q_0+1_e*Q_0_Vbiei , T_f0 , ick+1_e*ick_Vciei );
|
||||
Q_pT_dVbiei = result.dpart();
|
||||
result = calc_it(Temp , Vbiei , Vbici+1_e, Q_0 , T_f0 , ick );
|
||||
result = calc_it(Temp , Vbiei , Vbici+1_e, Q_0+1_e*Q_0_Vbici , T_f0+1_e*T_f0_Vbici , ick-1_e*ick_Vciei );
|
||||
Q_pT_dVbici = result.dpart();
|
||||
result = calc_it(Temp , Vbiei , Vbici , Q_0+1_e, T_f0 , ick );
|
||||
Q_pT_dQ_0 = result.dpart();
|
||||
result = calc_it(Temp , Vbiei , Vbici , Q_0 , T_f0+1_e, ick );
|
||||
Q_pT_dT_f0 = result.dpart();
|
||||
result = calc_it(Temp , Vbiei , Vbici , Q_0 , T_f0 , ick+1_e);
|
||||
Q_pT_dick = result.dpart();
|
||||
|
||||
//add derivatives of ick
|
||||
Q_pT_dVciei = Q_pT_dick*ick_Vciei; //additional component not seen in equivalent circuit of HiCUM...jesus
|
||||
Q_pT_dT += Q_pT_dick*ick_dT;
|
||||
|
||||
//add derivatives of Q_0
|
||||
Q_pT_dVbiei += Q_pT_dQ_0*Q_0_Vbiei;
|
||||
Q_pT_dVbici += Q_pT_dQ_0*Q_0_Vbici;
|
||||
Q_pT_dT += Q_pT_dQ_0*Q_0_dT;
|
||||
|
||||
//add derivatives of T_f0
|
||||
Q_pT_dVbici += Q_pT_dT_f0*T_f0_Vbici;
|
||||
Q_pT_dT += Q_pT_dT*T_f0_dT;
|
||||
|
||||
//end Q_pT -------------------------------------------------------------------------------
|
||||
|
||||
//begin final transfer current calculations -> itf, itr, Qf, Qr------------
|
||||
calc_it_final(Temp+1_e, Vbiei , Vbici , Q_pT , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
calc_it_final(Temp+1_e, Vbiei , Vbici , Q_pT+1_e*Q_pT_dT , T_f0+1_e*T_f0_dT , ick+1_e*ick_dT , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
// calc_it_final(Temp+1_e, Vbiei , Vbici , Q_pT , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr);
|
||||
itf = result_itf.rpart();
|
||||
itr = result_itr.rpart();
|
||||
|
|
@ -2111,7 +2003,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_dT= result_Q_bf.dpart();
|
||||
Tf_dT = result_Tf.dpart();
|
||||
|
||||
calc_it_final(Temp , Vbiei+1_e, Vbici , Q_pT , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
calc_it_final(Temp , Vbiei+1_e , Vbici , Q_pT+1_e*Q_pT_dVbiei , T_f0 , ick+1_e*ick_Vciei , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
itf_Vbiei = result_itf.dpart();
|
||||
itr_Vbiei = result_itr.dpart();
|
||||
Qf_Vbiei = result_Qf.dpart();
|
||||
|
|
@ -2119,7 +2011,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_Vbiei = result_Q_bf.dpart();
|
||||
Tf_Vbiei = result_Tf.dpart();
|
||||
|
||||
calc_it_final(Temp , Vbiei , Vbici+1_e, Q_pT , T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
calc_it_final(Temp , Vbiei , Vbici+1_e, Q_pT+1_e*Q_pT_dVbici , T_f0+1_e*T_f0_Vbici , ick-1_e*ick_Vciei , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
itf_Vbici = result_itf.dpart();
|
||||
itr_Vbici = result_itr.dpart();
|
||||
Qf_Vbici = result_Qf.dpart();
|
||||
|
|
@ -2127,104 +2019,8 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Q_bf_Vbici= result_Q_bf.dpart();
|
||||
Tf_Vbici = result_Tf.dpart();
|
||||
|
||||
calc_it_final(Temp , Vbiei , Vbici , Q_pT+1_e, T_f0 , ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
itf_dQ_pT = result_itf.dpart();
|
||||
itr_dQ_pT = result_itr.dpart();
|
||||
Qf_dQ_pT = result_Qf.dpart();
|
||||
Qr_dQ_pT = result_Qr.dpart();
|
||||
Q_bf_dQ_pT= result_Q_bf.dpart();
|
||||
Tf_dQ_pT = result_Tf.dpart();
|
||||
|
||||
calc_it_final(Temp , Vbiei , Vbici , Q_pT , T_f0+1_e, ick , &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
itf_dT_f0 = result_itf.dpart();
|
||||
itr_dT_f0 = result_itr.dpart();
|
||||
Qf_dT_f0 = result_Qf.dpart();
|
||||
Qr_dT_f0 = result_Qr.dpart();
|
||||
Q_bf_dT_f0= result_Q_bf.dpart();
|
||||
Tf_dT_f0 = result_Tf.dpart();
|
||||
|
||||
calc_it_final(Temp , Vbiei , Vbici , Q_pT , T_f0 , ick+1_e, &result_itf, &result_itr, &result_Qf, &result_Qr, &result_Q_bf, &result_Tf);
|
||||
itf_dick = result_itf.dpart();
|
||||
itr_dick = result_itr.dpart();
|
||||
Qf_dick = result_Qf.dpart();
|
||||
Qr_dick = result_Qr.dpart();
|
||||
Q_bf_dick= result_Q_bf.dpart();
|
||||
Tf_dick = result_Tf.dpart();
|
||||
|
||||
// add derivatives of Q_pT = f(Vbici,Vbiei,Vciei,T)
|
||||
itf_dT += itf_dQ_pT*Q_pT_dT;
|
||||
itr_dT += itr_dQ_pT*Q_pT_dT;
|
||||
Qf_dT += Qf_dQ_pT*Q_pT_dT;
|
||||
Qr_dT += Qr_dQ_pT*Q_pT_dT;
|
||||
Q_bf_dT += Q_bf_dQ_pT*Q_pT_dT;
|
||||
Tf_dT += Tf_dQ_pT*Q_pT_dT;
|
||||
|
||||
itf_Vbiei += itf_dQ_pT*Q_pT_dVbiei;
|
||||
itr_Vbiei += itr_dQ_pT*Q_pT_dVbiei;
|
||||
Qf_Vbiei += Qf_dQ_pT*Q_pT_dVbiei;
|
||||
Qr_Vbiei += Qr_dQ_pT*Q_pT_dVbiei;
|
||||
Q_bf_Vbiei+= Q_bf_dQ_pT*Q_pT_dVbiei;
|
||||
Tf_Vbiei += Tf_dQ_pT*Q_pT_dVbiei;
|
||||
|
||||
itf_Vbici += itf_dQ_pT*Q_pT_dVbici;
|
||||
itr_Vbici += itr_dQ_pT*Q_pT_dVbici;
|
||||
Qf_Vbici += Qf_dQ_pT*Q_pT_dVbici;
|
||||
Qr_Vbici += Qr_dQ_pT*Q_pT_dVbici;
|
||||
Q_bf_Vbici+= Q_bf_dQ_pT*Q_pT_dVbici;
|
||||
Tf_Vbici += Tf_dQ_pT*Q_pT_dVbici;
|
||||
|
||||
itf_Vciei = itf_dQ_pT*Q_pT_dVciei;
|
||||
itr_Vciei = itr_dQ_pT*Q_pT_dVciei;
|
||||
Qf_Vciei = Qf_dQ_pT*Q_pT_dVciei;
|
||||
Qr_Vciei = Qr_dQ_pT*Q_pT_dVciei;
|
||||
Q_bf_Vciei = Q_bf_dQ_pT*Q_pT_dVciei;
|
||||
Tf_Vciei = Tf_dQ_pT*Q_pT_dVciei;
|
||||
|
||||
// add derivatives of T_f0 = f(Vbici, T)
|
||||
itf_Vbici += itf_dT_f0*T_f0_Vbici;
|
||||
itr_Vbici += itr_dT_f0*T_f0_Vbici;
|
||||
Qf_Vbici += Qf_dT_f0*T_f0_Vbici;
|
||||
Qr_Vbici += Qr_dT_f0*T_f0_Vbici;
|
||||
Q_bf_Vbici+= Q_bf_dT_f0*T_f0_Vbici;
|
||||
Tf_Vbici += Tf_dT_f0*T_f0_Vbici;
|
||||
|
||||
itf_dT += itf_dT_f0*T_f0_dT;
|
||||
itr_dT += itr_dT_f0*T_f0_dT;
|
||||
Qf_dT += Qf_dT_f0*T_f0_dT;
|
||||
Qr_dT += Qr_dT_f0*T_f0_dT;
|
||||
Q_bf_dT += Q_bf_dT_f0*T_f0_dT;
|
||||
Tf_dT += Tf_dT_f0*T_f0_dT;
|
||||
|
||||
// add derivatives of ick=f(Vciei, T)
|
||||
itf_Vciei += itf_dick*ick_Vciei;
|
||||
itr_Vciei += itr_dick*ick_Vciei;
|
||||
Qf_Vciei += Qf_dick*ick_Vciei;
|
||||
Qr_Vciei += Qr_dick*ick_Vciei;
|
||||
Q_bf_Vciei+= Q_bf_dick*ick_Vciei;
|
||||
Tf_Vciei += Tf_dick*ick_Vciei;
|
||||
|
||||
itf_dT += itf_dick*ick_dT;
|
||||
itr_dT += itr_dick*ick_dT;
|
||||
Qf_dT += Qf_dick*ick_dT;
|
||||
Qr_dT += Qr_dick*ick_dT;
|
||||
Q_bf_dT += Q_bf_dick*ick_dT;
|
||||
Tf_dT += Tf_dick*ick_dT;
|
||||
}
|
||||
|
||||
// remap derivatives Vciei=Vbiei-Vbici
|
||||
itf_Vbiei += itf_Vciei;
|
||||
itf_Vbici -= itf_Vciei;
|
||||
itr_Vbiei += itr_Vciei;
|
||||
itr_Vbici -= itr_Vciei;
|
||||
Qf_Vbiei += Qf_Vciei;
|
||||
Qf_Vbici -= Qf_Vciei;
|
||||
Qr_Vbiei += Qr_Vciei;
|
||||
Qr_Vbici -= Qr_Vciei;
|
||||
Tf_Vbiei += Tf_Vciei;
|
||||
Tf_Vbici -= Tf_Vciei;
|
||||
Q_bf_Vbiei+= Q_bf_Vciei;
|
||||
Q_bf_Vbici-= Q_bf_Vciei;
|
||||
|
||||
// finally the transfer current
|
||||
it = itf - itr;
|
||||
it_Vbiei = itf_Vbiei - itr_Vbiei;
|
||||
|
|
@ -2280,25 +2076,16 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
hicum_diode(Temp,here->HICUMibcis_t,model->HICUMmbci, Vbici, &ibci, &ibci_Vbici, &ibci_dT);
|
||||
|
||||
//Avalanche current
|
||||
result = calc_iavl(Vbici+1_e, Cjci , itf , Temp);
|
||||
result = calc_iavl(Vbici+1_e, Cjci+1_e*Cjci_Vbici, itf+1_e*itf_Vbici , Temp);
|
||||
iavl = result.rpart();
|
||||
iavl_Vbici = result.dpart();
|
||||
|
||||
result = calc_iavl(Vbici , Cjci+1_e, itf , Temp);
|
||||
iavl_dCjci = result.dpart();
|
||||
result = calc_iavl(Vbici, Cjci, itf+1_e*itf_Vbiei , Temp);
|
||||
iavl_Vbiei = result.dpart();
|
||||
|
||||
result = calc_iavl(Vbici , Cjci , itf+1_e, Temp);
|
||||
iavl_ditf = result.dpart();
|
||||
|
||||
result = calc_iavl(Vbici , Cjci , itf , Temp+1_e);
|
||||
result = calc_iavl(Vbici , Cjci+1_e*Cjci_dT , itf+1_e*itf_dT , Temp+1_e);
|
||||
iavl_dT = result.dpart();
|
||||
|
||||
//add derivatives
|
||||
iavl_Vbici += iavl_dCjci*Cjci_Vbici;
|
||||
iavl_Vbici += iavl_ditf *itf_Vbici;
|
||||
iavl_Vbiei = iavl_ditf *itf_Vbiei;
|
||||
iavl_dT += iavl_ditf *itf_dT ;//+ iavl_dCjci*Cjci_dT;
|
||||
|
||||
here->HICUMiavl = iavl;
|
||||
|
||||
// double v_bord, v_bord_Vbici, v_bord_dT;
|
||||
|
|
@ -2363,18 +2150,17 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
ibh_rec_dT = Otbhrec*Q_bf_dT ;
|
||||
|
||||
//internal base resistance
|
||||
result = calc_rbi(Temp+1_e, Qjei , Qf );
|
||||
result = calc_rbi(Temp+1_e, Qjei+1_e*Qjei_dT , Qf+1_e*Qf_dT );
|
||||
rbi = result.rpart();
|
||||
rbi_dT = result.dpart();
|
||||
result = calc_rbi(Temp , Qjei+1_e, Qf );
|
||||
rbi_dQjei = result.dpart();
|
||||
result = calc_rbi(Temp , Qjei , Qf+1_e);
|
||||
rbi_dQf = result.dpart();
|
||||
here->HICUMrbi = rbi;
|
||||
|
||||
rbi_Vbiei = rbi_dQjei* Qjei_Vbiei + rbi_dQf*Qf_Vbiei;
|
||||
rbi_Vbici = rbi_dQf*Qf_Vbici;
|
||||
rbi_dT += rbi_dQjei*Qjei_dT + rbi_dQf*Qf_dT;
|
||||
result = calc_rbi(Temp, Qjei+1_e*Qjei_Vbiei , Qf+1_e*Qf_Vbiei );
|
||||
rbi_Vbiei = result.dpart();
|
||||
|
||||
result = calc_rbi(Temp, Qjei , Qf+1_e*Qf_Vbici );
|
||||
rbi_Vbici = result.dpart();
|
||||
|
||||
here->HICUMrbi = rbi;
|
||||
|
||||
//Base currents across peripheral b-e junction
|
||||
hicum_diode(Temp,here->HICUMibeps_t,model->HICUMmbep, Vbpei, &ibep, &ibep_Vbpei, &ibep_dT);
|
||||
|
|
@ -2494,7 +2280,7 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Qdeix_dT = Qdei_dT;
|
||||
Qdeix_Vxf = 0.0;
|
||||
|
||||
// Excess Phase calculation
|
||||
// Excess Phase calculation -> hand implementation
|
||||
|
||||
if ( nqs){ // && (ckt->CKTmode & (MODETRAN | MODEAC) ) ) { //evaluate nqs network only in TRANSIENT and AC modes.
|
||||
Ixf1 = (Vxf2-itf)/Tf*model->HICUMt0;
|
||||
|
|
@ -2769,9 +2555,6 @@ HICUMload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
Ibpei_Vbpei += ckt->CKTgmin;
|
||||
Ibpci += ckt->CKTgmin*Vbpci;
|
||||
Ibpci_Vbpci += ckt->CKTgmin;
|
||||
|
||||
|
||||
|
||||
Isici += ckt->CKTgmin*Vsici;
|
||||
Isici_Vsici += ckt->CKTgmin;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue