49 #include <Xyce_config.h>
53 #include <N_UTL_Misc.h>
63 #include <N_LAS_Matrix.h>
64 #include <N_LAS_Vector.h>
68 namespace ADMSPSP103VA {
81 .setExpressionAccess(
NO_DOC)
84 .setDescription(
"Internal-use parameter for setting device instance temperature");
87 .setDescription(
"Design length");
90 .setDescription(
"Design width");
93 .setDescription(
"Distance between OD-edge and poly from one side");
96 .setDescription(
"Distance between OD-edge and poly from other side");
99 .setDescription(
"Distance between neighbouring fingers");
101 .setDescription(
"Integral of the first distribution function for scattered well dopants");
103 .setDescription(
"Integral of the second distribution function for scattered well dopants");
105 .setDescription(
"Integral of the third distribution function for scattered well dopants");
108 .setDescription(
"Distance between OD-edge and nearest well edge");
110 .setDescription(
"Number of fingers");
112 .setDescription(
"Number of gate contacts");
115 .setDescription(
"Distance from the gate contact to the channel edge");
117 .setDescription(
"Number of squares of source diffusion");
119 .setDescription(
"Number of squares of drain diffusion");
122 .setDescription(
"Gate-edge length of source/drain junction");
125 .setDescription(
"Threshold voltage shift parameter");
127 .setDescription(
"Zero-field mobility pre-factor");
129 .setDescription(
"Bottom area of source junction");
132 .setDescription(
"STI-edge length of source junction");
135 .setDescription(
"Gate-edge length of source junction");
137 .setDescription(
"Bottom area of drain junction");
140 .setDescription(
"STI-edge length of drain junction");
143 .setDescription(
"Gate-edge length of drain junction");
145 .setDescription(
"Bottom area of source junction");
148 .setDescription(
"Perimeter of source junction");
150 .setDescription(
"Bottom area of drain junction");
153 .setDescription(
"Perimeter of drain junction");
155 .setDescription(
"Number of devices in parallel");
169 .setExpressionAccess(
NO_DOC)
172 .setDescription(
"Internal-use parameter for setting device model temperature");
174 .setDescription(
"Model level");
176 .setDescription(
"Channel type parameter, +1=NMOS -1=PMOS");
180 .setDescription(
"nominal (reference) temperature");
182 .setDescription(
"Flag for geometrical model, 0=local, 1=global, 2=binning");
184 .setDescription(
"Flag for gate current, 0=turn off IG");
186 .setDescription(
"Flag for impact ionization current, 0=turn off II");
188 .setDescription(
"Flag for GIDL current, 0=turn off IGIDL");
190 .setDescription(
"Flag for juncap, 0=turn off juncap");
192 .setDescription(
"Flag for asymmetric junctions; 0=symmetric, 1=asymmetric");
194 .setDescription(
"Flag for NUD-effect; 0=off, 1=on, 2=on+CV-correction");
196 .setDescription(
"Flag for separate capacitance calculation; 0=off, 1=on");
198 .setDescription(
"Quantum-mechanical correction factor");
202 .setDescription(
"Flat band voltage at TR");
206 .setDescription(
"Temperature dependence of VFB");
210 .setDescription(
"Gate oxide thickness");
212 .setDescription(
"Relative permittivity of gate dielectric");
216 .setDescription(
"Effective substrate doping");
218 .setDescription(
"Pre-factor for effective substrate doping in separate charge calculation");
220 .setDescription(
"Bodyfactor change due to NUD-effect");
224 .setDescription(
"Lower Vsb value for NUD-effect");
228 .setDescription(
"Vsb-range for NUD-effect");
232 .setDescription(
"Effective doping bias-dependence parameter");
236 .setDescription(
"Effective doping bias-dependence parameter");
240 .setDescription(
"Effective doping bias-dependence parameter");
244 .setDescription(
"Offset parameter for PHIB");
248 .setDescription(
"Offset parameter for PHIB in separate charge calculation");
252 .setDescription(
"Gate poly-silicon doping");
254 .setDescription(
"Interface states factor");
258 .setDescription(
"Overlap oxide thickness");
262 .setDescription(
"Overlap oxide thickness for drain side");
266 .setDescription(
"Effective doping of overlap region");
270 .setDescription(
"Effective doping of overlap region for drain side");
272 .setDescription(
"DIBL-parameter");
276 .setDescription(
"Back bias dependence of CF");
280 .setDescription(
"Channel aspect ratio times zero-field mobility");
282 .setDescription(
"Temperature dependence of BETN");
286 .setDescription(
"Mobility reduction coefficient at TR");
288 .setDescription(
"Temperature dependence of MUE");
290 .setDescription(
"Mobility reduction exponent at TR");
292 .setDescription(
"Temperature dependence of THEMU");
294 .setDescription(
"Coulomb scattering parameter at TR");
296 .setDescription(
"Temperature dependence of CS");
300 .setDescription(
"Non-universality factor");
302 .setDescription(
"Temperature dependence of XCOR");
304 .setDescription(
"Effective field parameter");
308 .setDescription(
"Series resistance at TR");
310 .setDescription(
"Temperature dependence of RS");
314 .setDescription(
"Back-bias dependence of series resistance");
318 .setDescription(
"Gate-bias dependence of series resistance");
322 .setDescription(
"Velocity saturation parameter at TR");
324 .setDescription(
"Temperature dependence of THESAT");
328 .setDescription(
"Back-bias dependence of velocity saturation");
332 .setDescription(
"Gate-bias dependence of velocity saturation");
334 .setDescription(
"Linear/saturation transition factor");
336 .setDescription(
"CLM pre-factor");
340 .setDescription(
"CLM enhancement factor above threshold");
344 .setDescription(
"CLM enhancement factor below threshold");
348 .setDescription(
"CLM logarithm dependence factor");
350 .setDescription(
"Impact-ionization pre-factor");
354 .setDescription(
"Impact-ionization exponent at TR");
358 .setDescription(
"Temperature dependence of A2");
360 .setDescription(
"Saturation-voltage dependence of impact-ionization");
364 .setDescription(
"Back-bias dependence of impact-ionization");
366 .setDescription(
"Gate tunneling energy adjustment");
370 .setDescription(
"Gate channel current pre-factor");
374 .setDescription(
"Gate overlap current pre-factor");
378 .setDescription(
"Gate overlap current pre-factor for drain side");
380 .setDescription(
"Temperature dependence of IGINV and IGOV");
382 .setDescription(
"Gate current slope factor");
384 .setDescription(
"Gate current curvature factor");
388 .setDescription(
"Tunneling barrier height");
392 .setDescription(
"GIDL pre-factor");
396 .setDescription(
"GIDL pre-factor for drain side");
400 .setDescription(
"GIDL probability factor at TR");
404 .setDescription(
"GIDL probability factor at TR for drain side");
408 .setDescription(
"Temperature dependence of BGIDL");
412 .setDescription(
"Temperature dependence of BGIDL for drain side");
414 .setDescription(
"Back-bias dependence of GIDL");
416 .setDescription(
"Back-bias dependence of GIDL for drain side");
420 .setDescription(
"Oxide capacitance for intrinsic channel");
424 .setDescription(
"Oxide capacitance for gate-drain/source overlap");
428 .setDescription(
"Oxide capacitance for gate-drain overlap");
432 .setDescription(
"Oxide capacitance for gate-bulk overlap");
436 .setDescription(
"Outer fringe capacitance");
440 .setDescription(
"Outer fringe capacitance for drain side");
442 .setDescription(
"Thermal noise coefficient");
444 .setDescription(
"First coefficient of flicker noise");
446 .setDescription(
"Second coefficient of flicker noise");
450 .setDescription(
"Third coefficient of flicker noise");
452 .setDescription(
"Flicker noise frequency exponent");
456 .setDescription(
"Gate resistance");
460 .setDescription(
"External source resistance");
464 .setDescription(
"External drain resistance");
468 .setDescription(
"Bulk resistance between node BP and BI");
472 .setDescription(
"Well resistance between node BI and B");
476 .setDescription(
"Source-side bulk resistance between node BI and BS");
480 .setDescription(
"Drain-side bulk resistance between node BI and BD");
484 .setDescription(
"Coefficient for the geometry independent part of VFB");
488 .setDescription(
"Coefficient for the length dependence of VFB");
492 .setDescription(
"Coefficient for the width dependence of VFB");
496 .setDescription(
"Coefficient for the length times width dependence of VFB");
500 .setDescription(
"Coefficient for the geometry independent part of STVFB");
504 .setDescription(
"Coefficient for the length dependence of STVFB");
508 .setDescription(
"Coefficient for the width dependence of STVFB");
512 .setDescription(
"Coefficient for the length times width dependence of STVFB");
516 .setDescription(
"Coefficient for the geometry independent part of TOX");
518 .setDescription(
"Coefficient for the geometry independent part of EPSOX");
522 .setDescription(
"Coefficient for the geometry independent part of NEFF");
526 .setDescription(
"Coefficient for the length dependence of NEFF");
530 .setDescription(
"Coefficient for the width dependence of NEFF");
534 .setDescription(
"Coefficient for the length times width dependence of NEFF");
536 .setDescription(
"Coefficient for the geometry independent part of FACNEFFAC");
538 .setDescription(
"Coefficient for the length dependence of FACNEFFAC");
540 .setDescription(
"Coefficient for the width dependence of FACNEFFAC");
542 .setDescription(
"Coefficient for the length times width dependence of FACNEFFAC");
544 .setDescription(
"Coefficient for the geometry independent part of GFACNUD");
546 .setDescription(
"Coefficient for the length dependence of GFACNUD");
548 .setDescription(
"Coefficient for the width dependence of GFACNUD");
550 .setDescription(
"Coefficient for the length times width dependence of GFACNUD");
554 .setDescription(
"Coefficient for the geometry independent part of VSBNUD");
558 .setDescription(
"Coefficient for the geometry independent part of DVSBNUD");
562 .setDescription(
"Coefficient for the geometry independent part of VNSUB");
566 .setDescription(
"Coefficient for the geometry independent part of NSLP");
568 .setDescription(
"Coefficient for the geometry independent part of DNSUB");
572 .setDescription(
"Coefficient for the geometry independent part of DPHIB");
576 .setDescription(
"Coefficient for the length dependence of DPHIB");
580 .setDescription(
"Coefficient for the width dependence of DPHIB");
584 .setDescription(
"Coefficient for the length times width dependence of DPHIB");
588 .setDescription(
"Coefficient for the geometry independent part of DELVTAC");
592 .setDescription(
"Coefficient for the length dependence of DELVTAC");
596 .setDescription(
"Coefficient for the width dependence of DELVTAC");
600 .setDescription(
"Coefficient for the length times width dependence of DELVTAC");
604 .setDescription(
"Coefficient for the geometry independent part of NP");
608 .setDescription(
"Coefficient for the length dependence of NP");
612 .setDescription(
"Coefficient for the width dependence of NP");
616 .setDescription(
"Coefficient for the length times width dependence of NP");
618 .setDescription(
"Coefficient for the geometry independent part of CT");
620 .setDescription(
"Coefficient for the length dependence of CT");
622 .setDescription(
"Coefficient for the width dependence of CT");
624 .setDescription(
"Coefficient for the length times width dependence of CT");
628 .setDescription(
"Coefficient for the geometry independent part of TOXOV");
632 .setDescription(
"Coefficient for the geometry independent part of TOXOV for drain side");
636 .setDescription(
"Coefficient for the geometry independent part of NOV");
640 .setDescription(
"Coefficient for the length dependence of NOV");
644 .setDescription(
"Coefficient for the width dependence of NOV");
648 .setDescription(
"Coefficient for the length times width dependence of NOV");
652 .setDescription(
"Coefficient for the geometry independent part of NOV for drain side");
656 .setDescription(
"Coefficient for the length dependence of NOV for drain side");
660 .setDescription(
"Coefficient for the width dependence of NOV for drain side");
664 .setDescription(
"Coefficient for the length times width dependence of NOV for drain side");
666 .setDescription(
"Coefficient for the geometry independent part of CF");
668 .setDescription(
"Coefficient for the length dependence of CF");
670 .setDescription(
"Coefficient for the width dependence of CF");
672 .setDescription(
"Coefficient for the length times width dependence of CF");
674 .setDescription(
"Coefficient for the geometry independent part of CFB");
676 .setDescription(
"Coefficient for the geometry independent part of BETN");
678 .setDescription(
"Coefficient for the length dependence of BETN");
680 .setDescription(
"Coefficient for the width dependence of BETN");
682 .setDescription(
"Coefficient for the length times width dependence of BETN");
684 .setDescription(
"Coefficient for the geometry independent part of STBET");
686 .setDescription(
"Coefficient for the length dependence of STBET");
688 .setDescription(
"Coefficient for the width dependence of STBET");
690 .setDescription(
"Coefficient for the length times width dependence of STBET");
692 .setDescription(
"Coefficient for the geometry independent part of MUE");
694 .setDescription(
"Coefficient for the length dependence of MUE");
696 .setDescription(
"Coefficient for the width dependence of MUE");
698 .setDescription(
"Coefficient for the length times width dependence of MUE");
700 .setDescription(
"Coefficient for the geometry independent part of STMUE");
702 .setDescription(
"Coefficient for the geometry independent part of THEMU");
704 .setDescription(
"Coefficient for the geometry independent part of STTHEMU");
706 .setDescription(
"Coefficient for the geometry independent part of CS");
708 .setDescription(
"Coefficient for the length dependence of CS");
710 .setDescription(
"Coefficient for the width dependence of CS");
712 .setDescription(
"Coefficient for the length times width dependence of CS");
714 .setDescription(
"Coefficient for the geometry independent part of STCS");
716 .setDescription(
"Coefficient for the geometry independent part of XCOR");
718 .setDescription(
"Coefficient for the length dependence of XCOR");
720 .setDescription(
"Coefficient for the width dependence of XCOR");
722 .setDescription(
"Coefficient for the length times width dependence of XCOR");
724 .setDescription(
"Coefficient for the geometry independent part of STXCOR");
726 .setDescription(
"Coefficient for the geometry independent part of FETA");
728 .setDescription(
"Coefficient for the geometry independent part of RS");
730 .setDescription(
"Coefficient for the length dependence of RS");
732 .setDescription(
"Coefficient for the width dependence of RS");
734 .setDescription(
"Coefficient for the length times width dependence of RS");
736 .setDescription(
"Coefficient for the geometry independent part of STRS");
738 .setDescription(
"Coefficient for the geometry independent part of RSB");
740 .setDescription(
"Coefficient for the geometry independent part of RSG");
742 .setDescription(
"Coefficient for the geometry independent part of THESAT");
744 .setDescription(
"Coefficient for the length dependence of THESAT");
746 .setDescription(
"Coefficient for the width dependence of THESAT");
748 .setDescription(
"Coefficient for the length times width dependence of THESAT");
750 .setDescription(
"Coefficient for the geometry independent part of STTHESAT");
752 .setDescription(
"Coefficient for the length dependence of STTHESAT");
754 .setDescription(
"Coefficient for the width dependence of STTHESAT");
756 .setDescription(
"Coefficient for the length times width dependence of STTHESAT");
758 .setDescription(
"Coefficient for the geometry independent part of THESATB");
760 .setDescription(
"Coefficient for the length dependence of THESATB");
762 .setDescription(
"Coefficient for the width dependence of THESATB");
764 .setDescription(
"Coefficient for the length times width dependence of THESATB");
766 .setDescription(
"Coefficient for the geometry independent part of THESATG");
768 .setDescription(
"Coefficient for the length dependence of THESATG");
770 .setDescription(
"Coefficient for the width dependence of THESATG");
772 .setDescription(
"Coefficient for the length times width dependence of THESATG");
774 .setDescription(
"Coefficient for the geometry independent part of AX");
776 .setDescription(
"Coefficient for the length dependence of AX");
778 .setDescription(
"Coefficient for the width dependence of AX");
780 .setDescription(
"Coefficient for the length times width dependence of AX");
782 .setDescription(
"Coefficient for the geometry independent part of ALP");
784 .setDescription(
"Coefficient for the length dependence of ALP");
786 .setDescription(
"Coefficient for the width dependence of ALP");
788 .setDescription(
"Coefficient for the length times width dependence of ALP");
792 .setDescription(
"Coefficient for the geometry independent part of ALP1");
796 .setDescription(
"Coefficient for the length dependence of ALP1");
800 .setDescription(
"Coefficient for the width dependence of ALP1");
804 .setDescription(
"Coefficient for the length times width dependence of ALP1");
806 .setDescription(
"Coefficient for the geometry independent part of ALP2");
808 .setDescription(
"Coefficient for the length dependence of ALP2");
810 .setDescription(
"Coefficient for the width dependence of ALP2");
812 .setDescription(
"Coefficient for the length times width dependence of ALP2");
816 .setDescription(
"Coefficient for the geometry independent part of VP");
818 .setDescription(
"Coefficient for the geometry independent part of A1");
820 .setDescription(
"Coefficient for the length dependence of A1");
822 .setDescription(
"Coefficient for the width dependence of A1");
824 .setDescription(
"Coefficient for the length times width dependence of A1");
828 .setDescription(
"Coefficient for the geometry independent part of A2");
832 .setDescription(
"Coefficient for the geometry independent part of STA2");
834 .setDescription(
"Coefficient for the geometry independent part of A3");
836 .setDescription(
"Coefficient for the length dependence of A3");
838 .setDescription(
"Coefficient for the width dependence of A3");
840 .setDescription(
"Coefficient for the length times width dependence of A3");
842 .setDescription(
"Coefficient for the geometry independent part of A4");
844 .setDescription(
"Coefficient for the length dependence of A4");
846 .setDescription(
"Coefficient for the width dependence of A4");
848 .setDescription(
"Coefficient for the length times width dependence of A4");
850 .setDescription(
"Coefficient for the geometry independent part of GCO");
854 .setDescription(
"Coefficient for the geometry independent part of IGINV");
858 .setDescription(
"Coefficient for the length dependence of IGINV");
862 .setDescription(
"Coefficient for the width dependence of IGINV");
866 .setDescription(
"Coefficient for the length times width dependence of IGINV");
870 .setDescription(
"Coefficient for the geometry independent part of IGOV");
874 .setDescription(
"Coefficient for the length dependence of IGOV");
878 .setDescription(
"Coefficient for the width dependence of IGOV");
882 .setDescription(
"Coefficient for the length times width dependence of IGOV");
886 .setDescription(
"Coefficient for the geometry independent part of IGOV for drain side");
890 .setDescription(
"Coefficient for the length dependence of IGOV for drain side");
894 .setDescription(
"Coefficient for the width dependence of IGOV for drain side");
898 .setDescription(
"Coefficient for the length times width dependence of IGOV for drain side");
900 .setDescription(
"Coefficient for the geometry independent part of STIG");
902 .setDescription(
"Coefficient for the geometry independent part of GC2");
904 .setDescription(
"Coefficient for the geometry independent part of GC3");
908 .setDescription(
"Coefficient for the geometry independent part of CHIB");
912 .setDescription(
"Coefficient for the geometry independent part of AGIDL");
916 .setDescription(
"Coefficient for the length dependence of AGIDL");
920 .setDescription(
"Coefficient for the width dependence of AGIDL");
924 .setDescription(
"Coefficient for the length times width dependence of AGIDL");
928 .setDescription(
"Coefficient for the geometry independent part of AGIDL for drain side");
932 .setDescription(
"Coefficient for the length dependence of AGIDL for drain side");
936 .setDescription(
"Coefficient for the width dependence of AGIDL for drain side");
940 .setDescription(
"Coefficient for the length times width dependence of AGIDL for drain side");
944 .setDescription(
"Coefficient for the geometry independent part of BGIDL");
948 .setDescription(
"Coefficient for the geometry independent part of BGIDL for drain side");
952 .setDescription(
"Coefficient for the geometry independent part of STBGIDL");
956 .setDescription(
"Coefficient for the geometry independent part of STBGIDL for drain side");
958 .setDescription(
"Coefficient for the geometry independent part of CGIDL");
960 .setDescription(
"Coefficient for the geometry independent part of CGIDL for drain side");
964 .setDescription(
"Coefficient for the geometry independent part of COX");
968 .setDescription(
"Coefficient for the length dependence of COX");
972 .setDescription(
"Coefficient for the width dependence of COX");
976 .setDescription(
"Coefficient for the length times width dependence of COX");
980 .setDescription(
"Coefficient for the geometry independent part of CGOV");
984 .setDescription(
"Coefficient for the length dependence of CGOV");
988 .setDescription(
"Coefficient for the width dependence of CGOV");
992 .setDescription(
"Coefficient for the length times width dependence of CGOV");
996 .setDescription(
"Coefficient for the geometry independent part of CGOV for drain side");
1000 .setDescription(
"Coefficient for the length dependence of CGOV for drain side");
1004 .setDescription(
"Coefficient for the width dependence of CGOV for drain side");
1008 .setDescription(
"Coefficient for the length times width dependence of CGOV for drain side");
1012 .setDescription(
"Coefficient for the geometry independent part of CGBOV");
1016 .setDescription(
"Coefficient for the length dependence of CGBOV");
1020 .setDescription(
"Coefficient for the width dependence of CGBOV");
1024 .setDescription(
"Coefficient for the length times width dependence of CGBOV");
1028 .setDescription(
"Coefficient for the geometry independent part of CFR");
1032 .setDescription(
"Coefficient for the length dependence of CFR");
1036 .setDescription(
"Coefficient for the width dependence of CFR");
1040 .setDescription(
"Coefficient for the length times width dependence of CFR");
1044 .setDescription(
"Coefficient for the geometry independent part of CFR for drain side");
1048 .setDescription(
"Coefficient for the length dependence of CFR for drain side");
1052 .setDescription(
"Coefficient for the width dependence of CFR for drain side");
1056 .setDescription(
"Coefficient for the length times width dependence of CFR for drain side");
1058 .setDescription(
"Coefficient for the geometry independent part of FNT");
1060 .setDescription(
"Coefficient for the geometry independent part of NFA");
1062 .setDescription(
"Coefficient for the length dependence of NFA");
1064 .setDescription(
"Coefficient for the width dependence of NFA");
1066 .setDescription(
"Coefficient for the length times width dependence of NFA");
1068 .setDescription(
"Coefficient for the geometry independent part of NFB");
1070 .setDescription(
"Coefficient for the length dependence of NFB");
1072 .setDescription(
"Coefficient for the width dependence of NFB");
1074 .setDescription(
"Coefficient for the length times width dependence of NFB");
1076 .setDescription(
"Coefficient for the geometry independent part of NFC");
1078 .setDescription(
"Coefficient for the length dependence of NFC");
1080 .setDescription(
"Coefficient for the width dependence of NFC");
1082 .setDescription(
"Coefficient for the length times width dependence of NFC");
1084 .setDescription(
"Coefficient for the flicker noise frequency exponent");
1086 .setDescription(
"Coefficient for the geometry independent part of KVTHOWE");
1088 .setDescription(
"Coefficient for the length dependence part of KVTHOWE");
1090 .setDescription(
"Coefficient for the width dependence part of KVTHOWE");
1092 .setDescription(
"Coefficient for the length times width dependence part of KVTHOWE");
1094 .setDescription(
"Coefficient for the geometry independent part of KUOWE");
1096 .setDescription(
"Coefficient for the length dependence part of KUOWE");
1098 .setDescription(
"Coefficient for the width dependence part of KUOWE");
1100 .setDescription(
"Coefficient for the length times width dependence part of KUOWE");
1104 .setDescription(
"Dummy parameter to label binning set");
1108 .setDescription(
"Dummy parameter to label binning set");
1112 .setDescription(
"Dummy parameter to label binning set");
1116 .setDescription(
"Dummy parameter to label binning set");
1120 .setDescription(
"Geom. independent difference between actual and programmed gate length");
1122 .setDescription(
"Length dependence of LVAR");
1124 .setDescription(
"Width dependence of LVAR");
1128 .setDescription(
"Effective channel length reduction per side");
1132 .setDescription(
"Geom. independent difference between actual and programmed field-oxide opening");
1134 .setDescription(
"Length dependence of WVAR");
1136 .setDescription(
"Width dependence of WVAR");
1140 .setDescription(
"Effective channel width reduction per side");
1144 .setDescription(
"Effective channel length reduction for CV");
1148 .setDescription(
"Effective channel width reduction for CV");
1152 .setDescription(
"Geometry-independent flat-band voltage at TR");
1156 .setDescription(
"Length dependence of flat-band voltage");
1160 .setDescription(
"Width dependence of flat-band voltage");
1164 .setDescription(
"Area dependence of flat-band voltage");
1168 .setDescription(
"Geometry-independent temperature dependence of VFB");
1172 .setDescription(
"Length dependence of temperature dependence of VFB");
1176 .setDescription(
"Width dependence of temperature dependence of VFB");
1180 .setDescription(
"Area dependence of temperature dependence of VFB");
1184 .setDescription(
"Gate oxide thickness");
1186 .setDescription(
"Relative permittivity of gate dielectric");
1190 .setDescription(
"Geometry independent substrate doping");
1192 .setDescription(
"Width dependence of background doping NSUBO due to segregation");
1196 .setDescription(
"Char. length of segregation of background doping NSUBO");
1200 .setDescription(
"Pocket doping level");
1202 .setDescription(
"Width dependence of pocket doping NPCK due to segregation");
1206 .setDescription(
"Char. length of segregation of pocket doping NPCK");
1210 .setDescription(
"Char. length of lateral doping profile");
1212 .setDescription(
"Width dependence of char. length of lateral doping profile");
1214 .setDescription(
"First length dependence coefficient for short channel body effect");
1216 .setDescription(
"Second length dependence coefficient for short channel body effect");
1218 .setDescription(
"Geom. independent pre-factor for effective substrate doping in separate charge calculation");
1220 .setDescription(
"Length dependence of FACNEFFAC");
1222 .setDescription(
"Width dependence of FACNEFFAC");
1224 .setDescription(
"Area dependence of FACNEFFAC");
1226 .setDescription(
"Geom. independent bodyfactor change due to NUD-effect");
1228 .setDescription(
"Length dependence of GFACNUD");
1230 .setDescription(
"Exponent for length dependence of GFACNUD");
1232 .setDescription(
"Width dependence of GFACNUD");
1234 .setDescription(
"Area dependence of GFACNUD");
1238 .setDescription(
"Lower Vsb value for NUD-effect");
1242 .setDescription(
"Vsb range for NUD-effect");
1246 .setDescription(
"Effective doping bias-dependence parameter");
1250 .setDescription(
"Effective doping bias-dependence parameter");
1254 .setDescription(
"Effective doping bias-dependence parameter");
1258 .setDescription(
"Geometry independent offset of PHIB");
1262 .setDescription(
"Length dependence offset of PHIB");
1264 .setDescription(
"Exponent for length dependence of offset of PHIB");
1268 .setDescription(
"Width dependence of offset of PHIB");
1272 .setDescription(
"Area dependence of offset of PHIB");
1276 .setDescription(
"Geom. independent offset parameter for PHIB in separate charge calculation");
1280 .setDescription(
"Length dependence of DELVTAC");
1282 .setDescription(
"Exponent for length dependence of offset of DELVTAC");
1286 .setDescription(
"Width dependence of DELVTAC");
1290 .setDescription(
"Area dependence of DELVTAC");
1294 .setDescription(
"Geometry-independent gate poly-silicon doping");
1296 .setDescription(
"Length dependence of gate poly-silicon doping");
1298 .setDescription(
"Geometry-independent interface states factor");
1300 .setDescription(
"Length dependence of interface states factor");
1302 .setDescription(
"Exponent for length dependence of interface states factor");
1304 .setDescription(
"Width dependence of interface states factor");
1306 .setDescription(
"Area dependence of interface states factor");
1310 .setDescription(
"Overlap oxide thickness");
1314 .setDescription(
"Overlap oxide thickness for drain side");
1318 .setDescription(
"Overlap length for gate/drain and gate/source overlap capacitance");
1322 .setDescription(
"Overlap length for gate/drain overlap capacitance");
1326 .setDescription(
"Effective doping of overlap region");
1330 .setDescription(
"Effective doping of overlap region for drain side");
1332 .setDescription(
"Length dependence of DIBL-parameter");
1334 .setDescription(
"Exponent for length dependence of CF");
1336 .setDescription(
"Width dependence of CF");
1340 .setDescription(
"Back-bias dependence of CF");
1344 .setDescription(
"Zero-field mobility at TR");
1346 .setDescription(
"Relative mobility decrease due to first lateral profile");
1348 .setDescription(
"Width dependence of relative mobility decrease due to first lateral profile");
1352 .setDescription(
"Mobility-related characteristic length of first lateral profile");
1354 .setDescription(
"Width dependence of mobility-related characteristic length of first lateral profile");
1356 .setDescription(
"Relative mobility decrease due to second lateral profile");
1360 .setDescription(
"Mobility-related characteristic length of second lateral profile");
1362 .setDescription(
"First higher-order width scaling coefficient of BETN");
1364 .setDescription(
"Second higher-order width scaling coefficient of BETN");
1368 .setDescription(
"Characteristic width for width scaling of BETN");
1370 .setDescription(
"Geometry independent temperature dependence of BETN");
1372 .setDescription(
"Length dependence of temperature dependence of BETN");
1374 .setDescription(
"Width dependence of temperature dependence of BETN");
1376 .setDescription(
"Area dependence of temperature dependence of BETN");
1380 .setDescription(
"Geometry independent mobility reduction coefficient at TR");
1382 .setDescription(
"Width dependence of mobility reduction coefficient at TR");
1384 .setDescription(
"Temperature dependence of MUE");
1386 .setDescription(
"Mobility reduction exponent at TR");
1388 .setDescription(
"Temperature dependence of THEMU");
1390 .setDescription(
"Geometry independent coulomb scattering parameter at TR");
1392 .setDescription(
"Length dependence of CS");
1394 .setDescription(
"Exponent for length dependence of CS");
1396 .setDescription(
"Width dependence of CS");
1398 .setDescription(
"Area dependence of CS");
1400 .setDescription(
"Temperature dependence of CS");
1404 .setDescription(
"Geometry independent non-universality parameter");
1406 .setDescription(
"Length dependence of non-universality parameter");
1408 .setDescription(
"Width dependence of non-universality parameter");
1410 .setDescription(
"Area dependence of non-universality parameter");
1412 .setDescription(
"Temperature dependence of XCOR");
1414 .setDescription(
"Effective field parameter");
1418 .setDescription(
"Source/drain series resistance for 1 um wide channel at TR");
1420 .setDescription(
"Higher-order width scaling of RS");
1422 .setDescription(
"Temperature dependence of RS");
1426 .setDescription(
"Back-bias dependence of series resistance");
1430 .setDescription(
"Gate-bias dependence of series resistance");
1434 .setDescription(
"Geometry independent velocity saturation parameter at TR");
1438 .setDescription(
"Length dependence of THESAT");
1440 .setDescription(
"Exponent for length dependence of THESAT");
1442 .setDescription(
"Width dependence of velocity saturation parameter");
1444 .setDescription(
"Area dependence of velocity saturation parameter");
1446 .setDescription(
"Geometry independent temperature dependence of THESAT");
1448 .setDescription(
"Length dependence of temperature dependence of THESAT");
1450 .setDescription(
"Width dependence of temperature dependence of THESAT");
1452 .setDescription(
"Area dependence of temperature dependence of THESAT");
1456 .setDescription(
"Back-bias dependence of velocity saturation");
1460 .setDescription(
"Gate-bias dependence of velocity saturation");
1462 .setDescription(
"Geometry independent linear/saturation transition factor");
1464 .setDescription(
"Length dependence of AX");
1466 .setDescription(
"Length dependence of ALP");
1468 .setDescription(
"Exponent for length dependence of ALP");
1470 .setDescription(
"Width dependence of ALP");
1474 .setDescription(
"Length dependence of CLM enhancement factor above threshold");
1476 .setDescription(
"Exponent for length dependence of ALP1");
1478 .setDescription(
"Second order length dependence of ALP1");
1480 .setDescription(
"Width dependence of ALP1");
1484 .setDescription(
"Length dependence of CLM enhancement factor below threshold");
1486 .setDescription(
"Exponent for length dependence of ALP2");
1488 .setDescription(
"Second order length dependence of ALP2");
1490 .setDescription(
"Width dependence of ALP2");
1494 .setDescription(
"CLM logarithmic dependence parameter");
1496 .setDescription(
"Geometry independent impact-ionization pre-factor");
1498 .setDescription(
"Length dependence of A1");
1500 .setDescription(
"Width dependence of A1");
1504 .setDescription(
"Impact-ionization exponent at TR");
1508 .setDescription(
"Temperature dependence of A2");
1510 .setDescription(
"Geometry independent saturation-voltage dependence of II");
1512 .setDescription(
"Length dependence of A3");
1514 .setDescription(
"Width dependence of A3");
1518 .setDescription(
"Geometry independent back-bias dependence of II");
1520 .setDescription(
"Length dependence of A4");
1522 .setDescription(
"Width dependence of A4");
1524 .setDescription(
"Gate tunneling energy adjustment");
1528 .setDescription(
"Gate channel current pre-factor for 1 um**2 channel area");
1532 .setDescription(
"Gate overlap current pre-factor for 1 um wide channel");
1536 .setDescription(
"Gate overlap current pre-factor for 1 um wide channel for drain side");
1538 .setDescription(
"Temperature dependence of IGINV and IGOV");
1540 .setDescription(
"Gate current slope factor");
1542 .setDescription(
"Gate current curvature factor");
1546 .setDescription(
"Tunneling barrier height");
1550 .setDescription(
"Width dependence of GIDL pre-factor");
1554 .setDescription(
"Width dependence of GIDL pre-factor for drain side");
1558 .setDescription(
"GIDL probability factor at TR");
1562 .setDescription(
"GIDL probability factor at TR for drain side");
1566 .setDescription(
"Temperature dependence of BGIDL");
1570 .setDescription(
"Temperature dependence of BGIDL for drain side");
1572 .setDescription(
"Back-bias dependence of GIDL");
1574 .setDescription(
"Back-bias dependence of GIDL for drain side");
1578 .setDescription(
"Oxide capacitance for gate-bulk overlap for 1 um long channel");
1582 .setDescription(
"Outer fringe capacitance for 1 um wide channel");
1586 .setDescription(
"Outer fringe capacitance for 1 um wide channel for drain side");
1588 .setDescription(
"Thermal noise coefficient");
1590 .setDescription(
"First coefficient of flicker noise for 1 um**2 channel area");
1592 .setDescription(
"Second coefficient of flicker noise for 1 um**2 channel area");
1596 .setDescription(
"Third coefficient of flicker noise for 1 um**2 channel area");
1598 .setDescription(
"Flicker noise frequency exponent");
1602 .setDescription(
"Length offset for flicker noise");
1604 .setDescription(
"Exponent for length offset for flicker noise");
1606 .setDescription(
"Geometrical independent threshold shift parameter");
1608 .setDescription(
"Length dependent threshold shift parameter");
1610 .setDescription(
"Width dependent threshold shift parameter");
1612 .setDescription(
"Area dependent threshold shift parameter");
1614 .setDescription(
"Geometrical independent mobility degradation factor");
1616 .setDescription(
"Length dependent mobility degradation factor");
1618 .setDescription(
"Width dependent mobility degradation factor");
1620 .setDescription(
"Area dependent mobility degradation factor");
1624 .setDescription(
"Gate resistance");
1628 .setDescription(
"Contact resistance between silicide and ploy");
1632 .setDescription(
"Vertical poly resistance");
1636 .setDescription(
"Gate electrode diffusion sheet resistance");
1640 .setDescription(
"Silicide extension over the physical gate length");
1644 .setDescription(
"Sheet resistance of source diffusion");
1648 .setDescription(
"Sheet resistance of drain diffusion");
1652 .setDescription(
"Bulk resistance between node BP and BI");
1656 .setDescription(
"Well resistance between node BI and B");
1660 .setDescription(
"Source-side bulk resistance between node BI and BS");
1664 .setDescription(
"Drain-side bulk resistance between node BI and BD");
1668 .setDescription(
"Reference distance between OD-edge and poly from one side");
1672 .setDescription(
"Reference distance between OD-edge and poly from other side");
1676 .setDescription(
"Width parameter");
1680 .setDescription(
"Mobility degradation/enhancement coefficient");
1684 .setDescription(
"Saturation velocity degradation/enhancement coefficient");
1686 .setDescription(
"Temperature dependence of KUO");
1688 .setDescription(
"Length dependence of KUO");
1690 .setDescription(
"Width dependence of KUO");
1692 .setDescription(
"Cross-term dependence of KUO");
1694 .setDescription(
"Length parameter for UO stress effect");
1696 .setDescription(
"Width parameter for UO stress effect");
1700 .setDescription(
"Threshold shift parameter");
1702 .setDescription(
"Length dependence of KVTHO");
1704 .setDescription(
"Width dependence of KVTHO");
1706 .setDescription(
"Cross-term dependence of KVTHO");
1708 .setDescription(
"Length parameter for VTH-stress effect");
1710 .setDescription(
"Width parameter for VTH-stress effect");
1714 .setDescription(
"eta0 shift factor related to VTHO change");
1716 .setDescription(
"eta0 shift modification factor for stress effect");
1720 .setDescription(
"Distance between OD-edge and well edge of a reference device");
1722 .setDescription(
"Coefficient for SCB");
1724 .setDescription(
"Coefficient for SCC");
1726 .setDescription(
"Maximum current up to which forward current behaves exponentially");
1728 .setDescription(
"reference temperature");
1730 .setDescription(
"Zero-bias capacitance per unit-of-area of bottom component for source-bulk junction");
1732 .setDescription(
"Zero-bias capacitance per unit-of-length of STI-edge component for source-bulk junction");
1734 .setDescription(
"Zero-bias capacitance per unit-of-length of gate-edge component for source-bulk junction");
1736 .setDescription(
"Built-in voltage at the reference temperature of bottom component for source-bulk junction");
1738 .setDescription(
"Built-in voltage at the reference temperature of STI-edge component for source-bulk junction");
1740 .setDescription(
"Built-in voltage at the reference temperature of gate-edge component for source-bulk junction");
1742 .setDescription(
"Grading coefficient of bottom component for source-bulk junction");
1744 .setDescription(
"Grading coefficient of STI-edge component for source-bulk junction");
1746 .setDescription(
"Grading coefficient of gate-edge component for source-bulk junction");
1748 .setDescription(
"Zero-temperature bandgap voltage of bottom component for source-bulk junction");
1750 .setDescription(
"Zero-temperature bandgap voltage of STI-edge component for source-bulk junction");
1752 .setDescription(
"Zero-temperature bandgap voltage of gate-edge component for source-bulk junction");
1754 .setDescription(
"Saturation current density at the reference temperature of bottom component for source-bulk junction");
1756 .setDescription(
"Saturation current density at the reference temperature of STI-edge component for source-bulk junction");
1758 .setDescription(
"Saturation current density at the reference temperature of gate-edge component for source-bulk junction");
1760 .setDescription(
"Shockley-Read-Hall prefactor of bottom component for source-bulk junction");
1762 .setDescription(
"Shockley-Read-Hall prefactor of STI-edge component for source-bulk junction");
1764 .setDescription(
"Shockley-Read-Hall prefactor of gate-edge component for source-bulk junction");
1766 .setDescription(
"Junction depth of STI-edge component for source-bulk junction");
1768 .setDescription(
"Junction depth of gate-edge component for source-bulk junction");
1770 .setDescription(
"Trap-assisted tunneling prefactor of bottom component for source-bulk junction");
1772 .setDescription(
"Trap-assisted tunneling prefactor of STI-edge component for source-bulk junction");
1774 .setDescription(
"Trap-assisted tunneling prefactor of gate-edge component for source-bulk junction");
1776 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of bottom component for source-bulk junction");
1778 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component for source-bulk junction");
1780 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component for source-bulk junction");
1782 .setDescription(
"Band-to-band tunneling prefactor of bottom component for source-bulk junction");
1784 .setDescription(
"Band-to-band tunneling prefactor of STI-edge component for source-bulk junction");
1786 .setDescription(
"Band-to-band tunneling prefactor of gate-edge component for source-bulk junction");
1788 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of bottom component for source-bulk junction");
1790 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of STI-edge component for source-bulk junction");
1792 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of gate-edge component for source-bulk junction");
1794 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of bottom component for source-bulk junction");
1796 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of STI-edge component for source-bulk junction");
1798 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of gate-edge component for source-bulk junction");
1800 .setDescription(
"Breakdown voltage of bottom component for source-bulk junction");
1802 .setDescription(
"Breakdown voltage of STI-edge component for source-bulk junction");
1804 .setDescription(
"Breakdown voltage of gate-edge component for source-bulk junction");
1806 .setDescription(
"Breakdown onset tuning parameter of bottom component for source-bulk junction");
1808 .setDescription(
"Breakdown onset tuning parameter of STI-edge component for source-bulk junction");
1810 .setDescription(
"Breakdown onset tuning parameter of gate-edge component for source-bulk junction");
1812 .setDescription(
"Zero-bias capacitance per unit-of-area of bottom component for drain-bulk junction");
1814 .setDescription(
"Zero-bias capacitance per unit-of-length of STI-edge component for drain-bulk junction");
1816 .setDescription(
"Zero-bias capacitance per unit-of-length of gate-edge component for drain-bulk junction");
1818 .setDescription(
"Built-in voltage at the reference temperature of bottom component for drain-bulk junction");
1820 .setDescription(
"Built-in voltage at the reference temperature of STI-edge component for drain-bulk junction");
1822 .setDescription(
"Built-in voltage at the reference temperature of gate-edge component for drain-bulk junction");
1824 .setDescription(
"Grading coefficient of bottom component for drain-bulk junction");
1826 .setDescription(
"Grading coefficient of STI-edge component for drain-bulk junction");
1828 .setDescription(
"Grading coefficient of gate-edge component for drain-bulk junction");
1830 .setDescription(
"Zero-temperature bandgap voltage of bottom component for drain-bulk junction");
1832 .setDescription(
"Zero-temperature bandgap voltage of STI-edge component for drain-bulk junction");
1834 .setDescription(
"Zero-temperature bandgap voltage of gate-edge component for drain-bulk junction");
1836 .setDescription(
"Saturation current density at the reference temperature of bottom component for drain-bulk junction");
1838 .setDescription(
"Saturation current density at the reference temperature of STI-edge component for drain-bulk junction");
1840 .setDescription(
"Saturation current density at the reference temperature of gate-edge component for drain-bulk junction");
1842 .setDescription(
"Shockley-Read-Hall prefactor of bottom component for drain-bulk junction");
1844 .setDescription(
"Shockley-Read-Hall prefactor of STI-edge component for drain-bulk junction");
1846 .setDescription(
"Shockley-Read-Hall prefactor of gate-edge component for drain-bulk junction");
1848 .setDescription(
"Junction depth of STI-edge component for drain-bulk junction");
1850 .setDescription(
"Junction depth of gate-edge component for drain-bulk junction");
1852 .setDescription(
"Trap-assisted tunneling prefactor of bottom component for drain-bulk junction");
1854 .setDescription(
"Trap-assisted tunneling prefactor of STI-edge component for drain-bulk junction");
1856 .setDescription(
"Trap-assisted tunneling prefactor of gate-edge component for drain-bulk junction");
1858 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of bottom component for drain-bulk junction");
1860 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component for drain-bulk junction");
1862 .setDescription(
"Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component for drain-bulk junction");
1864 .setDescription(
"Band-to-band tunneling prefactor of bottom component for drain-bulk junction");
1866 .setDescription(
"Band-to-band tunneling prefactor of STI-edge component for drain-bulk junction");
1868 .setDescription(
"Band-to-band tunneling prefactor of gate-edge component for drain-bulk junction");
1870 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of bottom component for drain-bulk junction");
1872 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of STI-edge component for drain-bulk junction");
1874 .setDescription(
"Normalization field at the reference temperature for band-to-band tunneling of gate-edge component for drain-bulk junction");
1876 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of bottom component for drain-bulk junction");
1878 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of STI-edge component for drain-bulk junction");
1880 .setDescription(
"Temperature scaling parameter for band-to-band tunneling of gate-edge component for drain-bulk junction");
1882 .setDescription(
"Breakdown voltage of bottom component for drain-bulk junction");
1884 .setDescription(
"Breakdown voltage of STI-edge component for drain-bulk junction");
1886 .setDescription(
"Breakdown voltage of gate-edge component for drain-bulk junction");
1888 .setDescription(
"Breakdown onset tuning parameter of bottom component for drain-bulk junction");
1890 .setDescription(
"Breakdown onset tuning parameter of STI-edge component for drain-bulk junction");
1892 .setDescription(
"Breakdown onset tuning parameter of gate-edge component for drain-bulk junction");
1894 .setDescription(
"Flag for JUNCAP-express; 0=full model, 1=express model");
1896 .setDescription(
"Typical maximum source-bulk junction voltage; usually about 2*VSUP");
1898 .setDescription(
"Fraction below which source-bulk junction capacitance components are considered negligible");
1900 .setDescription(
"Typical maximum drain-bulk junction voltage; usually about 2*VSUP");
1902 .setDescription(
"Fraction below which drain-bulk junction capacitance components are considered negligible");
1906 .setDescription(
"Temperature offset w.r.t. ambient temperature");
1924 if ( (!((
L >=1e-9))) )
1926 UserError0(*
this) <<
"ADMSPSP103VA: Parameter L value " <<
L <<
" out of range [ 1e-9, (+inf) [";
1930 if ( (!((
W >=1e-9))) )
1932 UserError0(*
this) <<
"ADMSPSP103VA: Parameter W value " <<
W <<
" out of range [ 1e-9, (+inf) [";
1936 if ( (!((
SCA >=0.0))) )
1938 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCA value " <<
SCA <<
" out of range [ 0.0, (+inf) [";
1942 if ( (!((
SCB >=0.0))) )
1944 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCB value " <<
SCB <<
" out of range [ 0.0, (+inf) [";
1948 if ( (!((
SCC >=0.0))) )
1950 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCC value " <<
SCC <<
" out of range [ 0.0, (+inf) [";
1954 if ( (!((
NF >=1.0))) )
1956 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NF value " <<
NF <<
" out of range [ 1.0, (+inf) [";
1962 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NGCON value " <<
NGCON <<
" out of range [ 1.0, 2.0 ]";
1966 if ( (!((
JW >=0))) )
1968 UserError0(*
this) <<
"ADMSPSP103VA: Parameter JW value " <<
JW <<
" out of range [ 0, (+inf) [";
1972 if ( (!((
FACTUO >=0.0))) )
1974 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FACTUO value " <<
FACTUO <<
" out of range [ 0.0, (+inf) [";
1980 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ABSOURCE value " <<
ABSOURCE <<
" out of range [ 0, (+inf) [";
1986 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LSSOURCE value " <<
LSSOURCE <<
" out of range [ 0, (+inf) [";
1992 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LGSOURCE value " <<
LGSOURCE <<
" out of range [ 0, (+inf) [";
1998 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ABDRAIN value " <<
ABDRAIN <<
" out of range [ 0, (+inf) [";
2004 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LSDRAIN value " <<
LSDRAIN <<
" out of range [ 0, (+inf) [";
2010 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LGDRAIN value " <<
LGDRAIN <<
" out of range [ 0, (+inf) [";
2014 if ( (!((
AS >=0))) )
2016 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AS value " <<
AS <<
" out of range [ 0, (+inf) [";
2020 if ( (!((
PS >=0))) )
2022 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PS value " <<
PS <<
" out of range [ 0, (+inf) [";
2026 if ( (!((
AD >=0))) )
2028 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AD value " <<
AD <<
" out of range [ 0, (+inf) [";
2032 if ( (!((
PD >=0))) )
2034 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PD value " <<
PD <<
" out of range [ 0, (+inf) [";
2038 if ( (!((
MULT >=0.0))) )
2040 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MULT value " <<
MULT <<
" out of range [ 0.0, (+inf) [";
2075 double erfctimesexpmtat;
2082 double umaxpoweronepointfive;
2085 double umaxbeforelimiting;
2086 double twoatatoverthreebtat;
2161 double CoxovPrime_d;
2403 NF_i = ((
NF>1.0)?
NF:1.0);
2404 NF_i = floor((NF_i+0.5));
2406 L_i = ((L_i>1e-9)?L_i:1e-9);
2407 W_i = (((W_i*invNF)>1e-9)?(W_i*invNF):1e-9);
2408 SCA_i = ((
SCA>0.0)?
SCA:0.0);
2409 SCB_i = ((
SCB>0.0)?
SCB:0.0);
2410 SCC_i = ((
SCC>0.0)?
SCC:0.0);
2411 NGCON_i = ((
NGCON<1.5)?1.0:2.0);
2426 LE = ((((L_i+delLPS)-(2.0*(
model_.
LAP)))>1e-9)?((L_i+delLPS)-(2.0*(
model_.
LAP))):1e-9);
2427 WE = ((((W_i+delWOD)-(2.0*(
model_.
WOT)))>1e-9)?((W_i+delWOD)-(2.0*(
model_.
WOT))):1e-9);
2434 L_f = (((L_i+delLPS)>1e-9)?(L_i+delLPS):1e-9);
2436 W_f = (((W_i+delWOD)>1e-9)?(W_i+delWOD):1e-9);
2437 XGWE = (((XGW_i-(0.5*delWOD))>1e-9)?(XGW_i-(0.5*delWOD)):1e-9);
2539 BB = (sqrt((NSUB0e+(0.5*NPCKe)))-sqrt(NSUB0e));
2540 NSUB = (sqrt(NSUB0e)+(AA*log((1+(((2*LPCKe)/LE)*(exp((BB/AA))-1))))));
2547 NSUB = (NSUB0e+((NPCKe*LPCKe)/LE));
2551 NSUB = (NSUB0e+(NPCKe*(2-(LE/LPCKe))));
2575 GPE = ((GPE>1e-15)?GPE:1e-15);
2577 BETN_p = ((((
model_.
UO)*WE)/(GPE*LE))*GWE);
2631 Lnoi = ((temp0>1.0e-3)?temp0:1.0e-3);
2646 iiLEWE = (iiLE*iiWE);
2647 iiiLEWE = (iiWE/iiLE);
2648 iiLEcv = (LEcv/LEN);
2649 iiWEcv = (WEcv/WEN);
2650 iiLEWEcv = (iiLEcv*iiWEcv);
2652 iiiLEWEcv = (iiWEcv/iiLEcv);
2655 iiLWcv = (iiLcv*iiWcv);
2657 iiiLWcv = (iiWcv/iiLcv);
2755 if ((((SA_i>0.0)&&(SB_i>0.0))&&((NF_i==1.0)||((NF_i>1.0)&&(SD_i>0.0)))))
2757 while ((loop<(NF_i-0.5)))
2759 tmpa = (tmpa+(1.0/((SA_i+(0.5*L_i))+(loop*(SD_i+L_i)))));
2760 tmpb = (tmpb+(1.0/((SB_i+(0.5*L_i))+(loop*(SD_i+L_i)))));
2763 Invsa = (tmpa*invNF);
2764 Invsb = (tmpb*invNF);
2767 Lx = (((L_i+delLPS)>1e-9)?(L_i+delLPS):1e-9);
2772 rhobeta = (((
model_.
KUO)*(Invsa+Invsb))/Kstressu0);
2773 rhobetaref = (((
model_.
KUO)*(Invsaref+Invsbref))/Kstressu0);
2777 temp0 = (((Invsa+Invsb)-Invsaref)-Invsbref);
2778 BETN_p = ((BETN_p*(1.0+rhobeta))/(1.0+rhobetaref));
2779 THESAT_p = (((THESAT_p*(1.0+rhobeta))*(1.0+((
model_.
KVSAT_i)*rhobetaref)))/((1.0+rhobetaref)*(1.0+((
model_.
KVSAT_i)*rhobeta))));
2780 VFB_p = (VFB_p+(((
model_.
KVTHO)*temp0)/Kstressvth0));
2783 if (((((SCA_i>0.0)||(SCB_i>0.0))||(SCC_i>0.0))||(SC_i>0.0)))
2785 if ((((SCA_i==0.0)&&(SCB_i==0.0))&&(SCC_i==0.0)))
2790 SCB_i = (((((0.1*SC_i)+(0.01*(
model_.
SCREF_i)))*exp((((-10.0)*SC_i)*temp00)))-(((0.1*temp0)+(0.01*(
model_.
SCREF_i)))*exp((((-10.0)*temp0)*temp00))))/W_i);
2791 SCC_i = (((((0.05*SC_i)+(0.0025*(
model_.
SCREF_i)))*exp((((-20.0)*SC_i)*temp00)))-(((0.05*temp0)+(0.0025*(
model_.
SCREF_i)))*exp((((-20.0)*temp0)*temp00))))/W_i);
2794 VFB_p = (VFB_p+(KVTHOWE*temp0));
2795 BETN_p = (BETN_p*(1.0+(KUOWE*temp0)));
2800 TOX_i = ((TOX_p>1e-10)?TOX_p:1e-10);
2801 EPSROX_i = ((EPSROX_p>1.0)?EPSROX_p:1.0);
2802 NEFF_i = ((NEFF_p>1e20)?((NEFF_p<1e26)?NEFF_p:1e26):1e20);
2803 FACNEFFAC_i = ((FACNEFFAC_p>0.0)?FACNEFFAC_p:0.0);
2804 GFACNUD_i = ((GFACNUD_p>0.01)?GFACNUD_p:0.01);
2805 VSBNUD_i = ((VSBNUD_p>0.0)?VSBNUD_p:0.0);
2806 DVSBNUD_i = ((DVSBNUD_p>0.1)?DVSBNUD_p:0.1);
2808 NSLP_i = ((NSLP_p>1e-3)?NSLP_p:1e-3);
2809 DNSUB_i = ((DNSUB_p>0.0)?((DNSUB_p<1.0)?DNSUB_p:1.0):0.0);
2811 DELVTAC_i = DELVTAC_p;
2812 NP_i = ((NP_p>0.0)?NP_p:0.0);
2813 CT_i = ((CT_p>0.0)?CT_p:0.0);
2814 TOXOV_i = ((TOXOV_p>1e-10)?TOXOV_p:1e-10);
2815 TOXOVD_i = ((TOXOVD_p>1e-10)?TOXOVD_p:1e-10);
2816 NOV_i = ((NOV_p>1e20)?((NOV_p<1e27)?NOV_p:1e27):1e20);
2817 NOVD_i = ((NOVD_p>1e20)?((NOVD_p<1e27)?NOVD_p:1e27):1e20);
2818 CF_i = ((CF_p>0.0)?CF_p:0.0);
2819 CFB_i = ((CFB_p>0.0)?((CFB_p<1.0)?CFB_p:1.0):0.0);
2820 BETN_i = ((BETN_p>0.0)?BETN_p:0.0);
2822 MUE_i = ((MUE_p>0.0)?MUE_p:0.0);
2824 THEMU_i = ((THEMU_p>0.0)?THEMU_p:0.0);
2825 STTHEMU_i = STTHEMU_p;
2826 CS_i = ((CS_p>0.0)?CS_p:0.0);
2828 XCOR_i = ((XCOR_p>0.0)?XCOR_p:0.0);
2829 STXCOR_i = STXCOR_p;
2830 FETA_i = ((FETA_p>0.0)?FETA_p:0.0);
2831 RS_i = ((RS_p>0.0)?RS_p:0.0);
2833 RSB_i = ((RSB_p>(-0.5))?((RSB_p<1.0)?RSB_p:1.0):(-0.5));
2834 RSG_i = ((RSG_p>(-0.5))?RSG_p:(-0.5));
2835 THESAT_i = ((THESAT_p>0.0)?THESAT_p:0.0);
2836 STTHESAT_i = STTHESAT_p;
2837 THESATB_i = ((THESATB_p>(-0.5))?((THESATB_p<1.0)?THESATB_p:1.0):(-0.5));
2838 THESATG_i = ((THESATG_p>(-0.5))?THESATG_p:(-0.5));
2839 AX_i = ((AX_p>2.0)?AX_p:2.0);
2840 ALP_i = ((ALP_p>0.0)?ALP_p:0.0);
2841 ALP1_i = ((ALP1_p>0.0)?ALP1_p:0.0);
2842 ALP2_i = ((ALP2_p>0.0)?ALP2_p:0.0);
2843 VP_i = ((VP_p>1.0e-10)?VP_p:1.0e-10);
2844 A1_i = ((A1_p>0.0)?A1_p:0.0);
2845 A2_i = ((A2_p>0.0)?A2_p:0.0);
2847 A3_i = ((A3_p>0.0)?A3_p:0.0);
2848 A4_i = ((A4_p>0.0)?A4_p:0.0);
2849 GCO_i = ((GCO_p>(-10.0))?((GCO_p<10.0)?GCO_p:10.0):(-10.0));
2850 IGINV_i = ((IGINV_p>0.0)?IGINV_p:0.0);
2851 IGOV_i = ((IGOV_p>0.0)?IGOV_p:0.0);
2852 IGOVD_i = ((IGOVD_p>0.0)?IGOVD_p:0.0);
2854 GC2_i = ((GC2_p>0.0)?((GC2_p<10.0)?GC2_p:10.0):0.0);
2855 GC3_i = ((GC3_p>(-10.0))?((GC3_p<10.0)?GC3_p:10.0):(-10.0));
2856 CHIB_i = ((CHIB_p>1.0)?CHIB_p:1.0);
2857 AGIDL_i = ((AGIDL_p>0.0)?AGIDL_p:0.0);
2858 AGIDLD_i = ((AGIDLD_p>0.0)?AGIDLD_p:0.0);
2859 BGIDL_i = ((BGIDL_p>0.0)?BGIDL_p:0.0);
2860 BGIDLD_i = ((BGIDLD_p>0.0)?BGIDLD_p:0.0);
2861 STBGIDL_i = STBGIDL_p;
2862 STBGIDLD_i = STBGIDLD_p;
2865 COX_i = ((COX_p>0.0)?COX_p:0.0);
2866 CGOV_i = ((CGOV_p>0.0)?CGOV_p:0.0);
2867 CGOVD_i = ((CGOVD_p>0.0)?CGOVD_p:0.0);
2868 CGBOV_i = ((CGBOV_p>0.0)?CGBOV_p:0.0);
2869 CFR_i = ((CFR_p>0.0)?CFR_p:0.0);
2870 CFRD_i = ((CFRD_p>0.0)?CFRD_p:0.0);
2871 FNT_i = ((FNT_p>0.0)?FNT_p:0.0);
2872 NFA_i = ((NFA_p>0.0)?NFA_p:0.0);
2873 NFB_i = ((NFB_p>0.0)?NFB_p:0.0);
2874 NFC_i = ((NFC_p>0.0)?NFC_p:0.0);
2875 EF_i = ((EF_p>0.0)?EF_p:0.0);
2876 RG_i = ((RG_p>0.0)?RG_p:0.0);
2877 RSE_i = ((RSE_p>0.0)?RSE_p:0.0);
2878 RDE_i = ((RDE_p>0.0)?RDE_p:0.0);
2879 RBULK_i = ((RBULK_p>0.0)?RBULK_p:0.0);
2880 RJUNS_i = ((RJUNS_p>0.0)?RJUNS_p:0.0);
2881 RJUND_i = ((RJUND_p>0.0)?RJUND_p:0.0);
2882 RWELL_i = ((RWELL_p>0.0)?RWELL_p:0.0);
2892 STBGIDLD_i = STBGIDL_i;
2898 EPSOX = (8.8541878176E-12*EPSROX_i);
2904 CoxPrime = (EPSOX/TOX_i);
2905 tox_sq = (TOX_i*TOX_i);
2910 arg2max = (8.0e7/tox_sq);
2911 np = ((NP_i>arg2max)?NP_i:arg2max);
2912 np = ((5.0e24>np)?5.0e24:np);
2919 qq = (((0.4*5.951993)*(
model_.
QMC_i))*pow(CoxPrime,6.6666666666666667e-01));
2922 qq = ((7.448711/5.951993)*
qq);
2925 dphibq = ((0.75*
qq)*pow(qb0,6.6666666666666667e-01));
2926 phib_dc = (phib_dc+dphibq);
2927 G_0_dc = (G_0_dc*(1.0+(((2.0*6.6666666666666667e-01)*dphibq)/qb0)));
2937 CoxovPrime = (EPSOX/TOXOV_i);
2938 CoxovPrime_d = (EPSOX/TOXOVD_i);
2950 BETN_i = (BETN_i*tf_bet);
2951 BET_i = ((FACTUO_i*BETN_i)*CoxPrime);
2964 eta_mu = (3.3333333333333333e-01*FETA_i);
2965 eta_mu1 = 3.3333333333333333e-01;
2968 RS_i = (RS_i*tf_ther);
2970 tf_thesat = pow((
model_.
rTn),STTHESAT_i);
2981 tempM = (((4.0*3.3333333333333333e-01)*sqrt((((2*1.6021918E-19)*9.1093826E-31)*
CHIB_i)))/1.05457168E-34);
2982 BCH = (tempM*TOX_i);
2983 BOV = (tempM*TOXOV_i);
2984 BOV_d = (tempM*TOXOVD_i);
2995 tempM = (((1.0+(STBGIDL_i*(
model_.
dT)))>0)?(1.0+(STBGIDL_i*(
model_.
dT))):0);
2997 tempM = (((1.0+(STBGIDLD_i*(
model_.
dT)))>0)?(1.0+(STBGIDLD_i*(
model_.
dT))):0);
2999 nt = (((FNT_i*4)*1.3806505E-23)*(
model_.
TKD));
3000 Cox_over_q = (CoxPrime/1.6021918E-19);
3005 NEFFAC_i = (FACNEFFAC_i*NEFF_i);
3006 NEFFAC_i = ((NEFFAC_i>1e20)?((NEFFAC_i<1e26)?NEFFAC_i:1e26):1e20);
3013 dphibq = ((0.75*
qq)*pow(qb0,6.6666666666666667e-01));
3014 phib_ac = (phib_ac+dphibq);
3015 G_0_ac = (G_0_ac*(1.0+(((2.0*6.6666666666666667e-01)*dphibq)/qb0)));
3089 jww = ((JW_i>0)?JW_i:0);
3103 ABS_i = (AS_i*invNF);
3104 LSS_i = ((PS_i*invNF)-(jwcorr*jww));
3106 ABD_i = (AD_i*invNF);
3107 LSD_i = ((PD_i*invNF)-(jwcorr*jww));
3148 vbi_minus_vjsrh = 0.0;
3349 VMAX_s = std::min(std::min(vmaxbot,vmaxsti),vmaxgat);
3392 vbimin_s = std::min(std::min(vbibot2,vbisti2),vbigat2);
3394 pmax = std::max(std::max(pbot2,psti2),pgat2);
3396 vbbtlim_s = (std::min(std::min(vbibot2r,vbisti2r),vbigat2r)-0.050);
3533 VMAX_d = std::min(std::min(vmaxbot,vmaxsti),vmaxgat);
3576 vbimin_d = std::min(std::min(vbibot2,vbisti2),vbigat2);
3578 pmax = std::max(std::max(pbot2,psti2),pgat2);
3580 vbbtlim_d = (std::min(std::min(vbibot2r,vbisti2r),vbigat2r)-0.050);
3624 double twoatatoverthreebtat;
3625 double umaxbeforelimiting;
3628 double umaxpoweronepointfive;
3637 double erfctimesexpmtat;
3676 vbi_minus_vjsrh = 0.0;
3684 twoatatoverthreebtat = 0.0;
3685 umaxbeforelimiting = 0.0;
3688 umaxpoweronepointfive = 0.0;
3695 erfctimesexpmtat = 0.0;
3829 h2d = (V1+(
vch_s*h2));
3832 h5 = sqrt(((h4*h4)+h1));
3833 vj = (2.0*((V1*
vfmin_s)/(h3+h5)));
3844 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
3848 zinv = (1.0e100*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
3851 idmult = (zinv*
zinv);
3856 zinv = sqrt(idmult);
3858 idmult = (idmult-1.0);
3862 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
3866 two_psistar = ((-V1)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
3871 vav = (0.5*((V1)-sqrt((((V1)*(V1))+((4*1E-6)*1E-6)))));
3897 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
3904 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
3906 wsrh = (wsrhstep+dwsrh);
3926 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
3927 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
3928 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
3929 sqrtumax = sqrt(fabs(umax));
3930 umaxpoweronepointfive = (umax*sqrtumax);
3933 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
3939 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
3940 ktat = sqrt((0.375*(btat/sqrtumax)));
3941 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
3943 xerfc = ((ltat-1)*ktat);
3944 ysq = (xerfc*xerfc);
3953 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
3955 tmp = exp(((-ysq)+mtat));
3959 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
3961 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
3964 erfctimesexpmtat = erfcpos;
3968 if ((mtat>(-2.3025850929940458e+02)))
3974 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
3976 erfctimesexpmtat = ((2*tmp)-erfcpos);
3978 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
3996 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
4002 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
4004 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
4008 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4029 fbreakdown = (1/(1-tmp));
4036 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4062 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4069 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
4071 wsrh = (wsrhstep+dwsrh);
4091 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
4092 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4093 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4094 sqrtumax = sqrt(fabs(umax));
4095 umaxpoweronepointfive = (umax*sqrtumax);
4098 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4104 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4105 ktat = sqrt((0.375*(btat/sqrtumax)));
4106 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4108 xerfc = ((ltat-1)*ktat);
4109 ysq = (xerfc*xerfc);
4118 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4120 tmp = exp(((-ysq)+mtat));
4124 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4126 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4129 erfctimesexpmtat = erfcpos;
4133 if ((mtat>(-2.3025850929940458e+02)))
4139 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4141 erfctimesexpmtat = ((2*tmp)-erfcpos);
4143 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
4161 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
4167 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
4169 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
4173 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4194 fbreakdown = (1/(1-tmp));
4201 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4227 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4234 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
4236 wsrh = (wsrhstep+dwsrh);
4256 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
4257 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4258 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4259 sqrtumax = sqrt(fabs(umax));
4260 umaxpoweronepointfive = (umax*sqrtumax);
4263 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4269 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4270 ktat = sqrt((0.375*(btat/sqrtumax)));
4271 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4273 xerfc = ((ltat-1)*ktat);
4274 ysq = (xerfc*xerfc);
4283 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4285 tmp = exp(((-ysq)+mtat));
4289 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4291 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4294 erfctimesexpmtat = erfcpos;
4298 if ((mtat>(-2.3025850929940458e+02)))
4304 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4306 erfctimesexpmtat = ((2*tmp)-erfcpos);
4308 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
4326 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
4332 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
4334 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
4338 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4359 fbreakdown = (1/(1-tmp));
4366 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4375 h2d = (V2+(
vch_s*h2));
4378 h5 = sqrt(((h4*h4)+h1));
4379 vj = (2.0*((V2*
vfmin_s)/(h3+h5)));
4390 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
4394 zinv = (1.0e100*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4397 idmult = (zinv*
zinv);
4402 zinv = sqrt(idmult);
4404 idmult = (idmult-1.0);
4408 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
4412 two_psistar = ((-V2)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
4417 vav = (0.5*((V2)-sqrt((((V2)*(V2))+((4*1E-6)*1E-6)))));
4443 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4450 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
4452 wsrh = (wsrhstep+dwsrh);
4472 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
4473 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4474 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4475 sqrtumax = sqrt(fabs(umax));
4476 umaxpoweronepointfive = (umax*sqrtumax);
4479 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4485 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4486 ktat = sqrt((0.375*(btat/sqrtumax)));
4487 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4489 xerfc = ((ltat-1)*ktat);
4490 ysq = (xerfc*xerfc);
4499 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4501 tmp = exp(((-ysq)+mtat));
4505 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4507 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4510 erfctimesexpmtat = erfcpos;
4514 if ((mtat>(-2.3025850929940458e+02)))
4520 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4522 erfctimesexpmtat = ((2*tmp)-erfcpos);
4524 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
4542 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
4548 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
4550 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
4554 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4575 fbreakdown = (1/(1-tmp));
4582 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4608 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4615 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
4617 wsrh = (wsrhstep+dwsrh);
4637 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
4638 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4639 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4640 sqrtumax = sqrt(fabs(umax));
4641 umaxpoweronepointfive = (umax*sqrtumax);
4644 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4650 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4651 ktat = sqrt((0.375*(btat/sqrtumax)));
4652 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4654 xerfc = ((ltat-1)*ktat);
4655 ysq = (xerfc*xerfc);
4664 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4666 tmp = exp(((-ysq)+mtat));
4670 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4672 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4675 erfctimesexpmtat = erfcpos;
4679 if ((mtat>(-2.3025850929940458e+02)))
4685 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4687 erfctimesexpmtat = ((2*tmp)-erfcpos);
4689 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
4707 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
4713 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
4715 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
4719 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4740 fbreakdown = (1/(1-tmp));
4747 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4773 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4780 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
4782 wsrh = (wsrhstep+dwsrh);
4802 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
4803 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
4804 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
4805 sqrtumax = sqrt(fabs(umax));
4806 umaxpoweronepointfive = (umax*sqrtumax);
4809 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
4815 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
4816 ktat = sqrt((0.375*(btat/sqrtumax)));
4817 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
4819 xerfc = ((ltat-1)*ktat);
4820 ysq = (xerfc*xerfc);
4829 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
4831 tmp = exp(((-ysq)+mtat));
4835 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
4837 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
4840 erfctimesexpmtat = erfcpos;
4844 if ((mtat>(-2.3025850929940458e+02)))
4850 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
4852 erfctimesexpmtat = ((2*tmp)-erfcpos);
4854 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
4872 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
4878 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
4880 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
4884 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4905 fbreakdown = (1/(1-tmp));
4912 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
4921 h2d = (V3+(
vch_s*h2));
4924 h5 = sqrt(((h4*h4)+h1));
4925 vj = (2.0*((V3*
vfmin_s)/(h3+h5)));
4936 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
4940 zinv = (1.0e100*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
4943 idmult = (zinv*
zinv);
4948 zinv = sqrt(idmult);
4950 idmult = (idmult-1.0);
4954 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
4958 two_psistar = ((-V3)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
4963 vav = (0.5*((V3)-sqrt((((V3)*(V3))+((4*1E-6)*1E-6)))));
4989 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
4996 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
4998 wsrh = (wsrhstep+dwsrh);
5018 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
5019 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5020 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5021 sqrtumax = sqrt(fabs(umax));
5022 umaxpoweronepointfive = (umax*sqrtumax);
5025 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5031 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5032 ktat = sqrt((0.375*(btat/sqrtumax)));
5033 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5035 xerfc = ((ltat-1)*ktat);
5036 ysq = (xerfc*xerfc);
5045 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5047 tmp = exp(((-ysq)+mtat));
5051 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5053 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5056 erfctimesexpmtat = erfcpos;
5060 if ((mtat>(-2.3025850929940458e+02)))
5066 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5068 erfctimesexpmtat = ((2*tmp)-erfcpos);
5070 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
5088 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
5094 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
5096 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
5100 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5121 fbreakdown = (1/(1-tmp));
5128 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5154 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5161 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
5163 wsrh = (wsrhstep+dwsrh);
5183 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
5184 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5185 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5186 sqrtumax = sqrt(fabs(umax));
5187 umaxpoweronepointfive = (umax*sqrtumax);
5190 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5196 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5197 ktat = sqrt((0.375*(btat/sqrtumax)));
5198 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5200 xerfc = ((ltat-1)*ktat);
5201 ysq = (xerfc*xerfc);
5210 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5212 tmp = exp(((-ysq)+mtat));
5216 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5218 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5221 erfctimesexpmtat = erfcpos;
5225 if ((mtat>(-2.3025850929940458e+02)))
5231 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5233 erfctimesexpmtat = ((2*tmp)-erfcpos);
5235 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
5253 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
5259 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
5261 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
5265 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5286 fbreakdown = (1/(1-tmp));
5293 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5319 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5326 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
5328 wsrh = (wsrhstep+dwsrh);
5348 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
5349 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5350 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5351 sqrtumax = sqrt(fabs(umax));
5352 umaxpoweronepointfive = (umax*sqrtumax);
5355 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5361 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5362 ktat = sqrt((0.375*(btat/sqrtumax)));
5363 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5365 xerfc = ((ltat-1)*ktat);
5366 ysq = (xerfc*xerfc);
5375 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5377 tmp = exp(((-ysq)+mtat));
5381 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5383 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5386 erfctimesexpmtat = erfcpos;
5390 if ((mtat>(-2.3025850929940458e+02)))
5396 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5398 erfctimesexpmtat = ((2*tmp)-erfcpos);
5400 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
5418 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
5424 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
5426 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
5430 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5451 fbreakdown = (1/(1-tmp));
5458 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5467 h2d = (V4+(
vch_s*h2));
5470 h5 = sqrt(((h4*h4)+h1));
5471 vj = (2.0*((V4*
vfmin_s)/(h3+h5)));
5482 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
5486 zinv = (1.0e100*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5489 idmult = (zinv*
zinv);
5494 zinv = sqrt(idmult);
5496 idmult = (idmult-1.0);
5500 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
5504 two_psistar = ((-V4)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
5509 vav = (0.5*((V4)-sqrt((((V4)*(V4))+((4*1E-6)*1E-6)))));
5535 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5542 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
5544 wsrh = (wsrhstep+dwsrh);
5564 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
5565 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5566 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5567 sqrtumax = sqrt(fabs(umax));
5568 umaxpoweronepointfive = (umax*sqrtumax);
5571 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5577 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5578 ktat = sqrt((0.375*(btat/sqrtumax)));
5579 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5581 xerfc = ((ltat-1)*ktat);
5582 ysq = (xerfc*xerfc);
5591 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5593 tmp = exp(((-ysq)+mtat));
5597 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5599 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5602 erfctimesexpmtat = erfcpos;
5606 if ((mtat>(-2.3025850929940458e+02)))
5612 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5614 erfctimesexpmtat = ((2*tmp)-erfcpos);
5616 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
5634 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
5640 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
5642 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
5646 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5667 fbreakdown = (1/(1-tmp));
5674 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5700 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5707 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
5709 wsrh = (wsrhstep+dwsrh);
5729 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
5730 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5731 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5732 sqrtumax = sqrt(fabs(umax));
5733 umaxpoweronepointfive = (umax*sqrtumax);
5736 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5742 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5743 ktat = sqrt((0.375*(btat/sqrtumax)));
5744 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5746 xerfc = ((ltat-1)*ktat);
5747 ysq = (xerfc*xerfc);
5756 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5758 tmp = exp(((-ysq)+mtat));
5762 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5764 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5767 erfctimesexpmtat = erfcpos;
5771 if ((mtat>(-2.3025850929940458e+02)))
5777 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5779 erfctimesexpmtat = ((2*tmp)-erfcpos);
5781 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
5799 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
5805 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
5807 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
5811 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5832 fbreakdown = (1/(1-tmp));
5839 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
5865 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
5872 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
5874 wsrh = (wsrhstep+dwsrh);
5894 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
5895 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
5896 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
5897 sqrtumax = sqrt(fabs(umax));
5898 umaxpoweronepointfive = (umax*sqrtumax);
5901 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
5907 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
5908 ktat = sqrt((0.375*(btat/sqrtumax)));
5909 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
5911 xerfc = ((ltat-1)*ktat);
5912 ysq = (xerfc*xerfc);
5921 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
5923 tmp = exp(((-ysq)+mtat));
5927 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
5929 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
5932 erfctimesexpmtat = erfcpos;
5936 if ((mtat>(-2.3025850929940458e+02)))
5942 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
5944 erfctimesexpmtat = ((2*tmp)-erfcpos);
5946 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
5964 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
5970 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
5972 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
5976 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
5997 fbreakdown = (1/(1-tmp));
6004 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6013 h2d = (V5+(
vch_s*h2));
6016 h5 = sqrt(((h4*h4)+h1));
6017 vj = (2.0*((V5*
vfmin_s)/(h3+h5)));
6028 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
6032 zinv = (1.0e100*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6035 idmult = (zinv*
zinv);
6040 zinv = sqrt(idmult);
6042 idmult = (idmult-1.0);
6046 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
6050 two_psistar = ((-V5)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
6055 vav = (0.5*((V5)-sqrt((((V5)*(V5))+((4*1E-6)*1E-6)))));
6081 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6088 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
6090 wsrh = (wsrhstep+dwsrh);
6110 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
6111 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6112 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6113 sqrtumax = sqrt(fabs(umax));
6114 umaxpoweronepointfive = (umax*sqrtumax);
6117 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6123 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6124 ktat = sqrt((0.375*(btat/sqrtumax)));
6125 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6127 xerfc = ((ltat-1)*ktat);
6128 ysq = (xerfc*xerfc);
6137 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6139 tmp = exp(((-ysq)+mtat));
6143 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6145 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6148 erfctimesexpmtat = erfcpos;
6152 if ((mtat>(-2.3025850929940458e+02)))
6158 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6160 erfctimesexpmtat = ((2*tmp)-erfcpos);
6162 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
6180 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
6186 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
6188 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
6192 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6213 fbreakdown = (1/(1-tmp));
6220 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6246 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6253 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
6255 wsrh = (wsrhstep+dwsrh);
6275 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
6276 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6277 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6278 sqrtumax = sqrt(fabs(umax));
6279 umaxpoweronepointfive = (umax*sqrtumax);
6282 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6288 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6289 ktat = sqrt((0.375*(btat/sqrtumax)));
6290 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6292 xerfc = ((ltat-1)*ktat);
6293 ysq = (xerfc*xerfc);
6302 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6304 tmp = exp(((-ysq)+mtat));
6308 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6310 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6313 erfctimesexpmtat = erfcpos;
6317 if ((mtat>(-2.3025850929940458e+02)))
6323 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6325 erfctimesexpmtat = ((2*tmp)-erfcpos);
6327 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
6345 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
6351 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
6353 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
6357 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6378 fbreakdown = (1/(1-tmp));
6385 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6411 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6418 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
6420 wsrh = (wsrhstep+dwsrh);
6440 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
6441 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6442 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6443 sqrtumax = sqrt(fabs(umax));
6444 umaxpoweronepointfive = (umax*sqrtumax);
6447 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6453 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6454 ktat = sqrt((0.375*(btat/sqrtumax)));
6455 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6457 xerfc = ((ltat-1)*ktat);
6458 ysq = (xerfc*xerfc);
6467 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6469 tmp = exp(((-ysq)+mtat));
6473 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6475 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6478 erfctimesexpmtat = erfcpos;
6482 if ((mtat>(-2.3025850929940458e+02)))
6488 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6490 erfctimesexpmtat = ((2*tmp)-erfcpos);
6492 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
6510 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
6516 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
6518 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
6522 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6543 fbreakdown = (1/(1-tmp));
6550 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6558 if (((I4>0)&&(I5>0)))
6560 if ((((((I4_cor/I4)>0.001)||((I5_cor/I5)>0.001))&&(I4_cor>0))&&(I5_cor>0)))
6562 alphaje = (I4_cor/I5_cor);
6570 if ((((I1<0)&&(I2<0))&&(I3<0)))
6572 if ((((((((I1_cor/I1)>0.001)||((I2_cor/I2)>0.001))||((I3_cor/I3)>0.001))&&(I1_cor<0))&&(I2_cor<0))&&(I3_cor<0)))
6574 alphaje = (I1_cor/I2_cor);
6575 m0_rev = (((-(
model_.
phitd))*log(alphaje))/(V1-V2));
6577 tt1 = (((
model_.
phitd)*(alphaje-1))*(pow(alphaje,tt0)-1));
6579 tt2 = (((pow(alphaje,tt0)*(V2-V1))+(alphaje*V1))-V2);
6580 mcor_rev = (tt1/tt2);
6581 MREV_s = (m0_rev+mcor_rev);
6747 h2d = (V1+(
vch_d*h2));
6750 h5 = sqrt(((h4*h4)+h1));
6751 vj = (2.0*((V1*
vfmin_d)/(h3+h5)));
6762 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V1*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
6766 zinv = (1.0e100*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V1*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6769 idmult = (zinv*
zinv);
6774 zinv = sqrt(idmult);
6776 idmult = (idmult-1.0);
6780 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
6784 two_psistar = ((-V1)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
6789 vav = (0.5*((V1)-sqrt((((V1)*(V1))+((4*1E-6)*1E-6)))));
6815 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6822 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
6824 wsrh = (wsrhstep+dwsrh);
6844 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
6845 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
6846 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
6847 sqrtumax = sqrt(fabs(umax));
6848 umaxpoweronepointfive = (umax*sqrtumax);
6851 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
6857 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
6858 ktat = sqrt((0.375*(btat/sqrtumax)));
6859 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
6861 xerfc = ((ltat-1)*ktat);
6862 ysq = (xerfc*xerfc);
6871 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
6873 tmp = exp(((-ysq)+mtat));
6877 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
6879 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
6882 erfctimesexpmtat = erfcpos;
6886 if ((mtat>(-2.3025850929940458e+02)))
6892 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
6894 erfctimesexpmtat = ((2*tmp)-erfcpos);
6896 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
6914 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
6920 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
6922 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
6926 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
6947 fbreakdown = (1/(1-tmp));
6954 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
6980 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
6987 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
6989 wsrh = (wsrhstep+dwsrh);
7009 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
7010 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7011 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7012 sqrtumax = sqrt(fabs(umax));
7013 umaxpoweronepointfive = (umax*sqrtumax);
7016 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7022 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7023 ktat = sqrt((0.375*(btat/sqrtumax)));
7024 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7026 xerfc = ((ltat-1)*ktat);
7027 ysq = (xerfc*xerfc);
7036 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7038 tmp = exp(((-ysq)+mtat));
7042 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7044 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7047 erfctimesexpmtat = erfcpos;
7051 if ((mtat>(-2.3025850929940458e+02)))
7057 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7059 erfctimesexpmtat = ((2*tmp)-erfcpos);
7061 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
7079 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
7085 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
7087 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
7091 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7112 fbreakdown = (1/(1-tmp));
7119 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7145 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7152 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
7154 wsrh = (wsrhstep+dwsrh);
7174 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
7175 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7176 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7177 sqrtumax = sqrt(fabs(umax));
7178 umaxpoweronepointfive = (umax*sqrtumax);
7181 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7187 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7188 ktat = sqrt((0.375*(btat/sqrtumax)));
7189 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7191 xerfc = ((ltat-1)*ktat);
7192 ysq = (xerfc*xerfc);
7201 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7203 tmp = exp(((-ysq)+mtat));
7207 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7209 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7212 erfctimesexpmtat = erfcpos;
7216 if ((mtat>(-2.3025850929940458e+02)))
7222 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7224 erfctimesexpmtat = ((2*tmp)-erfcpos);
7226 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
7244 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
7250 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
7252 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
7256 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7277 fbreakdown = (1/(1-tmp));
7284 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7293 h2d = (V2+(
vch_d*h2));
7296 h5 = sqrt(((h4*h4)+h1));
7297 vj = (2.0*((V2*
vfmin_d)/(h3+h5)));
7308 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V2*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
7312 zinv = (1.0e100*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V2*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7315 idmult = (zinv*
zinv);
7320 zinv = sqrt(idmult);
7322 idmult = (idmult-1.0);
7326 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
7330 two_psistar = ((-V2)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
7335 vav = (0.5*((V2)-sqrt((((V2)*(V2))+((4*1E-6)*1E-6)))));
7361 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7368 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
7370 wsrh = (wsrhstep+dwsrh);
7390 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
7391 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7392 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7393 sqrtumax = sqrt(fabs(umax));
7394 umaxpoweronepointfive = (umax*sqrtumax);
7397 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7403 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7404 ktat = sqrt((0.375*(btat/sqrtumax)));
7405 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7407 xerfc = ((ltat-1)*ktat);
7408 ysq = (xerfc*xerfc);
7417 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7419 tmp = exp(((-ysq)+mtat));
7423 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7425 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7428 erfctimesexpmtat = erfcpos;
7432 if ((mtat>(-2.3025850929940458e+02)))
7438 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7440 erfctimesexpmtat = ((2*tmp)-erfcpos);
7442 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
7460 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
7466 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
7468 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
7472 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7493 fbreakdown = (1/(1-tmp));
7500 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7526 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7533 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
7535 wsrh = (wsrhstep+dwsrh);
7555 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
7556 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7557 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7558 sqrtumax = sqrt(fabs(umax));
7559 umaxpoweronepointfive = (umax*sqrtumax);
7562 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7568 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7569 ktat = sqrt((0.375*(btat/sqrtumax)));
7570 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7572 xerfc = ((ltat-1)*ktat);
7573 ysq = (xerfc*xerfc);
7582 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7584 tmp = exp(((-ysq)+mtat));
7588 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7590 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7593 erfctimesexpmtat = erfcpos;
7597 if ((mtat>(-2.3025850929940458e+02)))
7603 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7605 erfctimesexpmtat = ((2*tmp)-erfcpos);
7607 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
7625 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
7631 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
7633 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
7637 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7658 fbreakdown = (1/(1-tmp));
7665 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7691 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7698 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
7700 wsrh = (wsrhstep+dwsrh);
7720 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
7721 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7722 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7723 sqrtumax = sqrt(fabs(umax));
7724 umaxpoweronepointfive = (umax*sqrtumax);
7727 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7733 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7734 ktat = sqrt((0.375*(btat/sqrtumax)));
7735 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7737 xerfc = ((ltat-1)*ktat);
7738 ysq = (xerfc*xerfc);
7747 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7749 tmp = exp(((-ysq)+mtat));
7753 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7755 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7758 erfctimesexpmtat = erfcpos;
7762 if ((mtat>(-2.3025850929940458e+02)))
7768 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7770 erfctimesexpmtat = ((2*tmp)-erfcpos);
7772 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
7790 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
7796 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
7798 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
7802 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7823 fbreakdown = (1/(1-tmp));
7830 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
7839 h2d = (V3+(
vch_d*h2));
7842 h5 = sqrt(((h4*h4)+h1));
7843 vj = (2.0*((V3*
vfmin_d)/(h3+h5)));
7854 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V3*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
7858 zinv = (1.0e100*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V3*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
7861 idmult = (zinv*
zinv);
7866 zinv = sqrt(idmult);
7868 idmult = (idmult-1.0);
7872 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
7876 two_psistar = ((-V3)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
7881 vav = (0.5*((V3)-sqrt((((V3)*(V3))+((4*1E-6)*1E-6)))));
7907 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
7914 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
7916 wsrh = (wsrhstep+dwsrh);
7936 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
7937 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
7938 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
7939 sqrtumax = sqrt(fabs(umax));
7940 umaxpoweronepointfive = (umax*sqrtumax);
7943 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
7949 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
7950 ktat = sqrt((0.375*(btat/sqrtumax)));
7951 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
7953 xerfc = ((ltat-1)*ktat);
7954 ysq = (xerfc*xerfc);
7963 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
7965 tmp = exp(((-ysq)+mtat));
7969 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
7971 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
7974 erfctimesexpmtat = erfcpos;
7978 if ((mtat>(-2.3025850929940458e+02)))
7984 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
7986 erfctimesexpmtat = ((2*tmp)-erfcpos);
7988 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
8006 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
8012 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
8014 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
8018 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8039 fbreakdown = (1/(1-tmp));
8046 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8072 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8079 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
8081 wsrh = (wsrhstep+dwsrh);
8101 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
8102 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8103 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8104 sqrtumax = sqrt(fabs(umax));
8105 umaxpoweronepointfive = (umax*sqrtumax);
8108 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8114 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8115 ktat = sqrt((0.375*(btat/sqrtumax)));
8116 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8118 xerfc = ((ltat-1)*ktat);
8119 ysq = (xerfc*xerfc);
8128 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8130 tmp = exp(((-ysq)+mtat));
8134 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8136 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8139 erfctimesexpmtat = erfcpos;
8143 if ((mtat>(-2.3025850929940458e+02)))
8149 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8151 erfctimesexpmtat = ((2*tmp)-erfcpos);
8153 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
8171 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
8177 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
8179 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
8183 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8204 fbreakdown = (1/(1-tmp));
8211 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8237 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8244 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
8246 wsrh = (wsrhstep+dwsrh);
8266 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
8267 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8268 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8269 sqrtumax = sqrt(fabs(umax));
8270 umaxpoweronepointfive = (umax*sqrtumax);
8273 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8279 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8280 ktat = sqrt((0.375*(btat/sqrtumax)));
8281 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8283 xerfc = ((ltat-1)*ktat);
8284 ysq = (xerfc*xerfc);
8293 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8295 tmp = exp(((-ysq)+mtat));
8299 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8301 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8304 erfctimesexpmtat = erfcpos;
8308 if ((mtat>(-2.3025850929940458e+02)))
8314 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8316 erfctimesexpmtat = ((2*tmp)-erfcpos);
8318 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
8336 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
8342 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
8344 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
8348 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8369 fbreakdown = (1/(1-tmp));
8376 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8385 h2d = (V4+(
vch_d*h2));
8388 h5 = sqrt(((h4*h4)+h1));
8389 vj = (2.0*((V4*
vfmin_d)/(h3+h5)));
8400 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V4*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
8404 zinv = (1.0e100*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V4*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8407 idmult = (zinv*
zinv);
8412 zinv = sqrt(idmult);
8414 idmult = (idmult-1.0);
8418 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
8422 two_psistar = ((-V4)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
8427 vav = (0.5*((V4)-sqrt((((V4)*(V4))+((4*1E-6)*1E-6)))));
8453 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8460 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
8462 wsrh = (wsrhstep+dwsrh);
8482 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
8483 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8484 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8485 sqrtumax = sqrt(fabs(umax));
8486 umaxpoweronepointfive = (umax*sqrtumax);
8489 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8495 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8496 ktat = sqrt((0.375*(btat/sqrtumax)));
8497 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8499 xerfc = ((ltat-1)*ktat);
8500 ysq = (xerfc*xerfc);
8509 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8511 tmp = exp(((-ysq)+mtat));
8515 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8517 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8520 erfctimesexpmtat = erfcpos;
8524 if ((mtat>(-2.3025850929940458e+02)))
8530 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8532 erfctimesexpmtat = ((2*tmp)-erfcpos);
8534 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
8552 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
8558 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
8560 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
8564 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8585 fbreakdown = (1/(1-tmp));
8592 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8618 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8625 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
8627 wsrh = (wsrhstep+dwsrh);
8647 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
8648 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8649 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8650 sqrtumax = sqrt(fabs(umax));
8651 umaxpoweronepointfive = (umax*sqrtumax);
8654 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8660 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8661 ktat = sqrt((0.375*(btat/sqrtumax)));
8662 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8664 xerfc = ((ltat-1)*ktat);
8665 ysq = (xerfc*xerfc);
8674 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8676 tmp = exp(((-ysq)+mtat));
8680 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8682 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8685 erfctimesexpmtat = erfcpos;
8689 if ((mtat>(-2.3025850929940458e+02)))
8695 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8697 erfctimesexpmtat = ((2*tmp)-erfcpos);
8699 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
8717 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
8723 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
8725 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
8729 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8750 fbreakdown = (1/(1-tmp));
8757 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8783 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
8790 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
8792 wsrh = (wsrhstep+dwsrh);
8812 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
8813 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
8814 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
8815 sqrtumax = sqrt(fabs(umax));
8816 umaxpoweronepointfive = (umax*sqrtumax);
8819 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
8825 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
8826 ktat = sqrt((0.375*(btat/sqrtumax)));
8827 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
8829 xerfc = ((ltat-1)*ktat);
8830 ysq = (xerfc*xerfc);
8839 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
8841 tmp = exp(((-ysq)+mtat));
8845 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
8847 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
8850 erfctimesexpmtat = erfcpos;
8854 if ((mtat>(-2.3025850929940458e+02)))
8860 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
8862 erfctimesexpmtat = ((2*tmp)-erfcpos);
8864 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
8882 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
8888 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
8890 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
8894 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8915 fbreakdown = (1/(1-tmp));
8922 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
8931 h2d = (V5+(
vch_d*h2));
8934 h5 = sqrt(((h4*h4)+h1));
8935 vj = (2.0*((V5*
vfmin_d)/(h3+h5)));
8946 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(V5*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
8950 zinv = (1.0e100*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(V5*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
8953 idmult = (zinv*
zinv);
8958 zinv = sqrt(idmult);
8960 idmult = (idmult-1.0);
8964 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
8968 two_psistar = ((-V5)+(2.0*((
model_.
phitd)*log((((2*zinv)+1)+sqrt(((1+zinv)*(1+(3*zinv)))))))));
8973 vav = (0.5*((V5)-sqrt((((V5)*(V5))+((4*1E-6)*1E-6)))));
8999 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9006 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
9008 wsrh = (wsrhstep+dwsrh);
9028 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
9029 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9030 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9031 sqrtumax = sqrt(fabs(umax));
9032 umaxpoweronepointfive = (umax*sqrtumax);
9035 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9041 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9042 ktat = sqrt((0.375*(btat/sqrtumax)));
9043 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9045 xerfc = ((ltat-1)*ktat);
9046 ysq = (xerfc*xerfc);
9055 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9057 tmp = exp(((-ysq)+mtat));
9061 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9063 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9066 erfctimesexpmtat = erfcpos;
9070 if ((mtat>(-2.3025850929940458e+02)))
9076 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9078 erfctimesexpmtat = ((2*tmp)-erfcpos);
9080 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
9098 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
9104 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
9106 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
9110 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9131 fbreakdown = (1/(1-tmp));
9138 ijunbot = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9164 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9171 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
9173 wsrh = (wsrhstep+dwsrh);
9193 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
9194 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9195 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9196 sqrtumax = sqrt(fabs(umax));
9197 umaxpoweronepointfive = (umax*sqrtumax);
9200 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9206 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9207 ktat = sqrt((0.375*(btat/sqrtumax)));
9208 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9210 xerfc = ((ltat-1)*ktat);
9211 ysq = (xerfc*xerfc);
9220 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9222 tmp = exp(((-ysq)+mtat));
9226 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9228 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9231 erfctimesexpmtat = erfcpos;
9235 if ((mtat>(-2.3025850929940458e+02)))
9241 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9243 erfctimesexpmtat = ((2*tmp)-erfcpos);
9245 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
9263 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
9269 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
9271 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
9275 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9296 fbreakdown = (1/(1-tmp));
9303 ijunsti = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9329 wsrhstep = (1-sqrt((1-(two_psistar/vbi_minus_vjsrh))));
9336 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
9338 wsrh = (wsrhstep+dwsrh);
9358 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
9359 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
9360 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
9361 sqrtumax = sqrt(fabs(umax));
9362 umaxpoweronepointfive = (umax*sqrtumax);
9365 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
9371 wtat = ((wsrh*wgamma)/(wsrh+wgamma));
9372 ktat = sqrt((0.375*(btat/sqrtumax)));
9373 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
9375 xerfc = ((ltat-1)*ktat);
9376 ysq = (xerfc*xerfc);
9385 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
9387 tmp = exp(((-ysq)+mtat));
9391 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
9393 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
9396 erfctimesexpmtat = erfcpos;
9400 if ((mtat>(-2.3025850929940458e+02)))
9406 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
9408 erfctimesexpmtat = ((2*tmp)-erfcpos);
9410 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
9428 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
9434 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
9436 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
9440 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
9461 fbreakdown = (1/(1-tmp));
9468 ijungat = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
9476 if (((I4>0)&&(I5>0)))
9478 if ((((((I4_cor/I4)>0.001)||((I5_cor/I5)>0.001))&&(I4_cor>0))&&(I5_cor>0)))
9480 alphaje = (I4_cor/I5_cor);
9488 if ((((I1<0)&&(I2<0))&&(I3<0)))
9490 if ((((((((I1_cor/I1)>0.001)||((I2_cor/I2)>0.001))||((I3_cor/I3)>0.001))&&(I1_cor<0))&&(I2_cor<0))&&(I3_cor<0)))
9492 alphaje = (I1_cor/I2_cor);
9493 m0_rev = (((-(
model_.
phitd))*log(alphaje))/(V1-V2));
9495 tt1 = (((
model_.
phitd)*(alphaje-1))*(pow(alphaje,tt0)-1));
9497 tt2 = (((pow(alphaje,tt0)*(V2-V1))+(alphaje*V1))-V2);
9498 mcor_rev = (tt1/tt2);
9499 MREV_d = (m0_rev+mcor_rev);
9563 :
DeviceInstance(instance_block, configuration.getInstanceParameters(), factory_block),
9707 vbi_minus_vjsrh(0.0),
9718 exp_VMAX_over_phitd_s(0.0),
9751 exp_VMAX_over_phitd_d(0.0),
9788 f_DI_Equ_SI_Node_Ptr(0),
9789 f_DI_Equ_BP_Node_Ptr(0),
9790 f_BP_Equ_SI_Node_Ptr(0),
9791 f_BP_Equ_BP_Node_Ptr(0),
9792 f_DI_Equ_GP_Node_Ptr(0),
9793 f_BP_Equ_GP_Node_Ptr(0),
9794 f_DI_Equ_DI_Node_Ptr(0),
9795 f_BP_Equ_DI_Node_Ptr(0),
9796 f_SI_Equ_SI_Node_Ptr(0),
9797 f_SI_Equ_BP_Node_Ptr(0),
9798 f_SI_Equ_GP_Node_Ptr(0),
9799 f_SI_Equ_DI_Node_Ptr(0),
9800 f_GP_Equ_SI_Node_Ptr(0),
9801 f_GP_Equ_BP_Node_Ptr(0),
9802 f_GP_Equ_DI_Node_Ptr(0),
9803 f_GP_Equ_GP_Node_Ptr(0),
9804 f_BS_Equ_SI_Node_Ptr(0),
9805 f_BS_Equ_BS_Node_Ptr(0),
9806 f_SI_Equ_BS_Node_Ptr(0),
9807 f_BS_Equ_DI_Node_Ptr(0),
9808 f_BS_Equ_BD_Node_Ptr(0),
9809 f_SI_Equ_BD_Node_Ptr(0),
9810 f_BD_Equ_SI_Node_Ptr(0),
9811 f_BD_Equ_BS_Node_Ptr(0),
9812 f_DI_Equ_BS_Node_Ptr(0),
9813 f_BD_Equ_DI_Node_Ptr(0),
9814 f_BD_Equ_BD_Node_Ptr(0),
9815 f_DI_Equ_BD_Node_Ptr(0),
9816 f_G_Equ_G_Node_Ptr(0),
9817 f_G_Equ_GP_Node_Ptr(0),
9818 f_GP_Equ_G_Node_Ptr(0),
9819 f_S_Equ_S_Node_Ptr(0),
9820 f_S_Equ_SI_Node_Ptr(0),
9821 f_SI_Equ_S_Node_Ptr(0),
9822 f_D_Equ_D_Node_Ptr(0),
9823 f_D_Equ_DI_Node_Ptr(0),
9824 f_DI_Equ_D_Node_Ptr(0),
9825 f_BP_Equ_BI_Node_Ptr(0),
9826 f_BI_Equ_BP_Node_Ptr(0),
9827 f_BI_Equ_BI_Node_Ptr(0),
9828 f_BS_Equ_BI_Node_Ptr(0),
9829 f_BI_Equ_BS_Node_Ptr(0),
9830 f_BD_Equ_BI_Node_Ptr(0),
9831 f_BI_Equ_BD_Node_Ptr(0),
9832 f_B_Equ_B_Node_Ptr(0),
9833 f_B_Equ_BI_Node_Ptr(0),
9834 f_BI_Equ_B_Node_Ptr(0),
9835 q_DI_Equ_SI_Node_Ptr(0),
9836 q_DI_Equ_BP_Node_Ptr(0),
9837 q_BP_Equ_SI_Node_Ptr(0),
9838 q_BP_Equ_BP_Node_Ptr(0),
9839 q_DI_Equ_GP_Node_Ptr(0),
9840 q_BP_Equ_GP_Node_Ptr(0),
9841 q_DI_Equ_DI_Node_Ptr(0),
9842 q_BP_Equ_DI_Node_Ptr(0),
9843 q_SI_Equ_SI_Node_Ptr(0),
9844 q_SI_Equ_BP_Node_Ptr(0),
9845 q_SI_Equ_GP_Node_Ptr(0),
9846 q_SI_Equ_DI_Node_Ptr(0),
9847 q_GP_Equ_SI_Node_Ptr(0),
9848 q_GP_Equ_BP_Node_Ptr(0),
9849 q_GP_Equ_DI_Node_Ptr(0),
9850 q_GP_Equ_GP_Node_Ptr(0),
9851 q_BS_Equ_SI_Node_Ptr(0),
9852 q_BS_Equ_BS_Node_Ptr(0),
9853 q_SI_Equ_BS_Node_Ptr(0),
9854 q_BS_Equ_DI_Node_Ptr(0),
9855 q_BS_Equ_BD_Node_Ptr(0),
9856 q_SI_Equ_BD_Node_Ptr(0),
9857 q_BD_Equ_SI_Node_Ptr(0),
9858 q_BD_Equ_BS_Node_Ptr(0),
9859 q_DI_Equ_BS_Node_Ptr(0),
9860 q_BD_Equ_DI_Node_Ptr(0),
9861 q_BD_Equ_BD_Node_Ptr(0),
9862 q_DI_Equ_BD_Node_Ptr(0),
9863 q_G_Equ_G_Node_Ptr(0),
9864 q_G_Equ_GP_Node_Ptr(0),
9865 q_GP_Equ_G_Node_Ptr(0),
9866 q_S_Equ_S_Node_Ptr(0),
9867 q_S_Equ_SI_Node_Ptr(0),
9868 q_SI_Equ_S_Node_Ptr(0),
9869 q_D_Equ_D_Node_Ptr(0),
9870 q_D_Equ_DI_Node_Ptr(0),
9871 q_DI_Equ_D_Node_Ptr(0),
9872 q_BP_Equ_BI_Node_Ptr(0),
9873 q_BI_Equ_BP_Node_Ptr(0),
9874 q_BI_Equ_BI_Node_Ptr(0),
9875 q_BS_Equ_BI_Node_Ptr(0),
9876 q_BI_Equ_BS_Node_Ptr(0),
9877 q_BD_Equ_BI_Node_Ptr(0),
9878 q_BI_Equ_BD_Node_Ptr(0),
9879 q_B_Equ_B_Node_Ptr(0),
9880 q_B_Equ_BI_Node_Ptr(0),
9881 q_BI_Equ_B_Node_Ptr(0),
9882 admsTemperature(getDeviceOptions().temp.getImmutableValue<double>())
9968 for (
int i=0;i<mapSize;++i)
9973 for (
int j=0;j<rowSize;++j)
9996 if (!
given(
"XYCEADMSINSTTEMP"))
10026 if (!((
RSE_i>0.0)))
10033 if (!((
RDE_i>0.0)))
10074 std::vector< std::vector<int> > tempStamp;
10075 std::vector<int> tempMap;
10076 std::vector< std::vector<int> > tempMap2;
10078 int OriginalSize =
jacMap.size();
10088 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10090 tempStamp, tempMap, tempMap2,
10099 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10101 tempStamp, tempMap, tempMap2,
10110 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10112 tempStamp, tempMap, tempMap2,
10121 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10123 tempStamp, tempMap, tempMap2,
10132 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10134 tempStamp, tempMap, tempMap2,
10143 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10145 tempStamp, tempMap, tempMap2,
10154 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
10156 tempStamp, tempMap, tempMap2,
10186 const std::vector<int> & extLIDVecRef)
10191 #ifdef Xyce_DEBUG_DEVICE
10195 Xyce::dout() << std::endl << section_divider << std::endl;
10196 Xyce::dout() <<
"In ADMSPSP103VA::Instance::register LIDs\n\n";
10197 Xyce::dout() <<
"name = " <<
getName() << std::endl;
10198 Xyce::dout() <<
"number of internal variables: " <<
numIntVars << std::endl;
10199 Xyce::dout() <<
"number of external variables: " <<
numExtVars << std::endl;
10210 li_D = extLIDVecRef[i++];
10211 li_G = extLIDVecRef[i++];
10212 li_S = extLIDVecRef[i++];
10213 li_B = extLIDVecRef[i++];
10218 li_GP = intLIDVecRef[i++];
10222 li_SI = intLIDVecRef[i++];
10226 li_DI = intLIDVecRef[i++];
10230 li_BI = intLIDVecRef[i++];
10234 li_BP = intLIDVecRef[i++];
10238 li_BS = intLIDVecRef[i++];
10242 li_BD = intLIDVecRef[i++];
10247 #ifdef Xyce_DEBUG_DEVICE
10250 Xyce::dout() <<
"\nSolution and RHS variables:\n";
10251 Xyce::dout() <<
"\nli_D = " <<
li_D << std::endl;
10252 Xyce::dout() <<
"\nli_G = " <<
li_G << std::endl;
10253 Xyce::dout() <<
"\nli_S = " <<
li_S << std::endl;
10254 Xyce::dout() <<
"\nli_B = " <<
li_B << std::endl;
10255 Xyce::dout() <<
"\nli_GP = " <<
li_GP << std::endl;
10256 Xyce::dout() <<
"\nli_SI = " <<
li_SI << std::endl;
10257 Xyce::dout() <<
"\nli_DI = " <<
li_DI << std::endl;
10258 Xyce::dout() <<
"\nli_BI = " <<
li_BI << std::endl;
10259 Xyce::dout() <<
"\nli_BP = " <<
li_BP << std::endl;
10260 Xyce::dout() <<
"\nli_BS = " <<
li_BS << std::endl;
10261 Xyce::dout() <<
"\nli_BD = " <<
li_BD << std::endl;
10265 #ifdef Xyce_DEBUG_DEVICE
10268 Xyce::dout() <<
"\nEnd of ADMSPSP103VA::Instance::register LIDs\n";
10269 Xyce::dout() << section_divider << std::endl;
10356 std::vector<int> & map=
jacMap;
10357 std::vector< std::vector<int> > & map2=
jacMap2;
10490 bool bsuccess=
true;
10545 bool bsuccess =
true;
10566 bool bsuccess =
true;
10585 bool bsuccess=
true;
10588 #ifdef Xyce_DEBUG_DEVICE
10591 Xyce::dout() << std::endl << subsection_divider << std::endl;
10592 Xyce::dout() <<
" In ADMSPSP103VA::Instance::updateIntermediateVars\n\n";
10593 Xyce::dout() <<
" name = " <<
getName() << std::endl;
10609 double rsourcenoise;
10610 double rdrainnoise;
10819 for (
int i=0; i < 11+0 ; ++i)
10898 VdbPrime = (Vds+Vsb);
10899 VgdPrime = (Vgs-Vds);
10912 Vdsx = (sqrt(((Vds*Vds)+0.01))-0.1);
11082 temp = ((0.5*((Vdb+Vsb)-sqrt((((Vdb-Vsb)*(Vdb-Vsb))+
bphi_dc))))+
phix_dc);
11083 Vsbstar_dc = ((Vsb-(0.5*((temp)-sqrt((((temp)*(temp))+
aphi_dc)))))+
phix1_dc);
11086 Vmb = (Vsbstar_dc+(0.5*(Vds-Vdsx)));
11088 temp = (((2*(us-
us1))/
us21)-1);
11089 usnew = (us-(((0.25*(1-
GFACNUD_i))*
us21)*(temp+sqrt(((temp*temp)+0.4804530139182)))));
11091 Vsbnud = (Vmbnew-(0.5*(Vds-Vdsx)));
11095 Vsbnud = Vsbstar_dc;
11123 Vdbstar = (Vds+Vsbstar);
11124 Vgbstar = (Vgs+Vsbstar);
11125 Vgb1 = (Vgbstar-
VFB_i);
11126 Vsbx = (Vsbstar+(0.5*(Vds-Vdsx)));
11127 delVg = (
CF_i*(Vdsx*(1+(
CFB_i*Vsbx))));
11128 Vgb1 = (Vgb1+delVg);
11133 Gf = (G_0*sqrt((1.0+Dnsub)));
11140 inv_Gf2 = (1.0/Gf2);
11141 xi = (1.0+(Gf*7.0710678118654746e-01));
11145 if ((xn_s<4.6051701859880916e+02))
11147 delta_ns = exp((-xn_s));
11151 delta_ns = (1.0e-200/(1.0+((xn_s-4.6051701859880916e+02)*(1.0+(0.5*((xn_s-4.6051701859880916e+02)*(1.0+((xn_s-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
11153 margin = (1e-5*xi);
11154 if ((fabs(xg)<=margin))
11156 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
11157 x_s = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_ns))*Gf)*SP_S_temp1)));
11161 if ((xg<(-margin)))
11164 SP_S_ysub = (1.25*(SP_S_yg*inv_xi));
11165 SP_S_eta = (0.5*((SP_S_ysub+10)-sqrt((((SP_S_ysub-6.0)*(SP_S_ysub-6.0))+64.0))));
11166 SP_S_temp = (SP_S_yg-SP_S_eta);
11167 SP_S_a = ((SP_S_temp*SP_S_temp)+(Gf2*(SP_S_eta+1.0)));
11168 SP_S_c = ((2.0*SP_S_temp)-Gf2);
11169 SP_S_tau = ((-SP_S_eta)+log((SP_S_a*inv_Gf2)));
11170 nu = (SP_S_a+SP_S_c);
11171 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-SP_S_a)));
11172 SP_S_y0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-SP_S_a)))));
11173 if ((SP_S_y0<2.3025850929940458e+02))
11175 SP_S_delta0 = exp(SP_S_y0);
11179 SP_S_delta0 = (1.0e100*(1.0+((SP_S_y0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_y0-2.3025850929940458e+02)*(1.0+((SP_S_y0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11181 SP_S_delta1 = (1.0/SP_S_delta0);
11182 SP_S_temp = (1.0/(2.0+(SP_S_y0*SP_S_y0)));
11183 SP_S_xi0 = ((SP_S_y0*SP_S_y0)*SP_S_temp);
11184 SP_S_xi1 = (4.0*((SP_S_y0*SP_S_temp)*SP_S_temp));
11185 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11186 SP_S_temp = (SP_S_yg-SP_S_y0);
11187 SP_S_temp1 = (delta_ns*SP_S_delta1);
11188 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((SP_S_delta0-1.0)-SP_S_temp1)+(delta_ns*(1.0-SP_S_xi1)))));
11189 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta0-SP_S_y0)-1.0)+SP_S_temp1)+(delta_ns*((SP_S_y0-1.0)-SP_S_xi0)))));
11190 SP_S_temp = (2.0-(Gf2*((SP_S_delta0+SP_S_temp1)-(delta_ns*SP_S_xi2))));
11191 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11192 x_s = ((-SP_S_y0)-(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11196 SP_xg1 = (1.0/(
x1+(Gf*7.324648775608221e-001)));
11197 SP_S_A_fac = ((((xi*
x1)*SP_xg1)-1.0)*SP_xg1);
11198 SP_S_xbar = ((xg*inv_xi)*(1.0+(SP_S_A_fac*xg)));
11199 if (((-SP_S_xbar)>(-2.3025850929940458e+02)))
11201 SP_S_temp = exp((-SP_S_xbar));
11205 SP_S_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*3.3333333333333333e-01))))))));
11207 SP_S_w = (1.0-SP_S_temp);
11208 SP_S_x1 = ((xg+(Gf2*0.5))-(Gf*sqrt(((xg+(Gf2*0.25))-SP_S_w))));
11209 SP_S_bx = (xn_s+3.0);
11210 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
11211 SP_S_temp = (xg-SP_S_eta);
11212 SP_S_temp1 = exp((-SP_S_eta));
11213 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
11214 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
11215 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
11216 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
11217 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_ns*((SP_S_eta+1.0)+SP_S_xi0))))));
11218 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_ns*SP_S_xi2)))));
11219 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_ns*(1.0+SP_S_xi1)))));
11220 SP_S_tau = ((xn_s-SP_S_eta)+log((SP_S_a/Gf2)));
11221 nu = (SP_S_a+SP_S_c);
11222 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
11223 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
11224 if ((SP_S_x0<2.3025850929940458e+02))
11226 SP_S_delta0 = exp(SP_S_x0);
11227 SP_S_delta1 = (1.0/SP_S_delta0);
11228 SP_S_delta0 = (delta_ns*SP_S_delta0);
11232 if ((SP_S_x0>(xn_s-2.3025850929940458e+02)))
11234 SP_S_delta0 = exp((SP_S_x0-xn_s));
11235 SP_S_delta1 = (delta_ns/SP_S_delta0);
11239 SP_S_delta0 = (1.0e-100/(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11240 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11243 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
11244 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
11245 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
11246 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11247 SP_S_temp = (xg-SP_S_x0);
11248 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_ns*(1.0+SP_S_xi1)))));
11249 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_ns*((SP_S_x0+1.0)+SP_S_xi0)))));
11250 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_ns*SP_S_xi2))));
11251 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11252 x_s = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11262 Voxm = (xgm*
phit1);
11269 temp = (1.0/(2.0+(x_s*x_s)));
11270 xi0s = ((x_s*x_s)*temp);
11271 xi1s = (4.0*((x_s*temp)*temp));
11272 xi2s = ((((8.0*temp)-(12.0*xi0s))*temp)*temp);
11273 if ((x_s<2.3025850929940458e+02))
11275 delta_1s = exp(x_s);
11276 Es = (1.0/delta_1s);
11277 delta_1s = (delta_ns*delta_1s);
11281 if ((x_s>(xn_s-2.3025850929940458e+02)))
11283 delta_1s = exp((x_s-xn_s));
11284 Es = (delta_ns/delta_1s);
11288 delta_1s = (1.0e-100/(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11289 Es = (1.0e-100/(1.0+((x_s-2.3025850929940458e+02)*(1.0+(0.5*((x_s-2.3025850929940458e+02)*(1.0+((x_s-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11292 Ds = (delta_1s-(delta_ns*((x_s+1.0)+xi0s)));
11295 Ps = (0.5*((x_s*x_s)*(1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s)))))));
11296 Ds = (1.6666666666666667e-01*((((delta_ns*x_s)*x_s)*x_s)*(1.0+(1.75*x_s))));
11297 temp = sqrt((1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s))))));
11298 sqm = (7.0710678118654746e-01*(x_s*temp));
11299 alpha = (1.0+(((Gf*7.0710678118654746e-01)*((1.0-(0.5*x_s))+(1.6666666666666667e-01*(x_s*x_s))))/temp));
11303 Ps = ((x_s-1.0)+Es);
11305 alpha = (1.0+(0.5*((Gf*(1.0-Es))/sqm)));
11311 Rxcor = ((1.0+((0.2*
XCOR_i)*Vsbx))/(1.0+(
XCOR_i*Vsbx)));
11314 xgs = (Gf*sqrt((Ps+Ds)));
11315 qis = (((Gf2*Ds)*
phit1)/(xgs+(Gf*sqm)));
11316 qbs = ((sqm*Gf)*
phit1);
11319 rhob = (1.0/(1.0-(
RSB_i*Vsbx)));
11323 rhob = (1.0+(
RSB_i*Vsbx));
11327 temp = (1.0-(
RSG_i*qis));
11331 temp = (1.0/(1.0+(
RSG_i*qis)));
11333 GR = (
THER_i*((rhob*temp)*qis));
11335 if (((Eeffm*
MUE_i)!=0))
11337 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Ps/((Ps+Ds)+1.0e-14))));
11341 Mutmp = (
CS_i*(Ps/((Ps+Ds)+1.0e-14)));
11343 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
11352 temp2 = (qis*xitsb);
11353 wsat = (100.0*(temp2/(100.0+temp2)));
11363 phi_inf = ((qis/alpha)+
phit1);
11364 ysat = ((thesat1*phi_inf)*7.0710678118654746e-01);
11367 ysat = (ysat/sqrt((1.0+ysat)));
11369 za = (2.0/(1.0+sqrt((1.0+(4.0*ysat)))));
11371 Phi_0 = ((phi_inf*za)*(1.0+(0.86*((temp1*(1.0-(temp1*za)))/(1.0+(4.0*((temp1*temp1)*za)))))));
11372 asat = (xgs+(0.5*Gf2));
11373 Phi_2 = (0.98*(((Gf2*Ds)*
phit1)/(asat+sqrt(((asat*asat)-((Gf2*Ds)*0.98))))));
11374 Phi_0_2 = (Phi_0+Phi_2);
11375 Phi0_Phi2 = (2.0*(Phi_0*Phi_2));
11376 Phi_sat = (Phi0_Phi2/(Phi_0_2+sqrt(((Phi_0_2*Phi_0_2)-(1.98*Phi0_Phi2)))));
11377 Vdsat = (Phi_sat-(
phit1*log((1.0+(((Phi_sat*(Phi_sat-((2.0*asat)*
phit1)))*inv_Gf2)/((phit1*phit1)*Ds))))));
11383 if (((Vds/Vdsat)!=0))
11385 temp = pow((Vds/Vdsat),
AX_i);
11391 Vdse = (Vds*pow((1.0+temp),(-
inv_AX)));
11393 xn_d = (xn_s+Udse);
11394 if ((Udse<4.6051701859880916e+02))
11396 k_ds = exp((-Udse));
11400 k_ds = (1.0e-200/(1.0+((Udse-4.6051701859880916e+02)*(1.0+(0.5*((Udse-4.6051701859880916e+02)*(1.0+((Udse-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
11402 delta_nd = (delta_ns*k_ds);
11403 if ((fabs(xg)<=margin))
11405 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
11406 x_d = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_nd))*Gf)*SP_S_temp1)));
11410 SP_S_bx = (xn_d+3);
11411 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
11412 SP_S_temp = (xg-SP_S_eta);
11413 SP_S_temp1 = exp((-SP_S_eta));
11414 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
11415 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
11416 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
11417 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
11418 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_nd*((SP_S_eta+1.0)+SP_S_xi0))))));
11419 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_nd*SP_S_xi2)))));
11420 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_nd*(1.0+SP_S_xi1)))));
11421 SP_S_tau = ((xn_d-SP_S_eta)+log((SP_S_a/Gf2)));
11422 nu = (SP_S_a+SP_S_c);
11423 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
11424 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
11425 if ((SP_S_x0<2.3025850929940458e+02))
11427 SP_S_delta0 = exp(SP_S_x0);
11428 SP_S_delta1 = (1.0/SP_S_delta0);
11429 SP_S_delta0 = (delta_nd*SP_S_delta0);
11433 if ((SP_S_x0>(xn_d-2.3025850929940458e+02)))
11435 SP_S_delta0 = exp((SP_S_x0-xn_d));
11436 SP_S_delta1 = (delta_nd/SP_S_delta0);
11440 SP_S_delta0 = (1.0e-100/(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11441 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11444 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
11445 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
11446 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
11447 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
11448 SP_S_temp = (xg-SP_S_x0);
11449 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_nd*(1.0+SP_S_xi1)))));
11450 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_nd*((SP_S_x0+1.0)+SP_S_xi0)))));
11451 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_nd*SP_S_xi2))));
11452 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
11453 x_d = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
11456 if ((x_ds<1.0E-10))
11458 pC = ((2.0*(xg-x_s))+(Gf2*(((1.0-Es)+(delta_1s*k_ds))-(delta_nd*(1.0+xi1s)))));
11459 qC = ((Gf2*(1.0-k_ds))*Ds);
11460 temp = (2.0-(Gf2*((Es+(delta_1s*k_ds))-(delta_nd*xi2s))));
11461 temp = ((pC*pC)-(2.0*(temp*qC)));
11462 x_ds = (2.0*(qC/(pC+sqrt(temp))));
11465 dps = (x_ds*
phit1);
11466 xi0d = ((x_d*x_d)/(2.0+(x_d*x_d)));
11467 if ((x_d<2.3025850929940458e+02))
11472 Dd = (((((1.6666666666666667e-01*delta_nd)*x_d)*x_d)*x_d)*(1.0+(1.75*x_d)));
11476 Dd = (delta_nd*((((1.0/Ed)-x_d)-1.0)-xi0d));
11481 if ((x_d>(xn_d-2.3025850929940458e+02)))
11483 temp = exp((x_d-xn_d));
11484 Ed = (delta_nd/temp);
11485 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
11489 Ed = (1.0e-100/(1.0+((x_d-2.3025850929940458e+02)*(1.0+(0.5*((x_d-2.3025850929940458e+02)*(1.0+((x_d-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11490 temp = (1.0e-100/(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11491 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
11494 x_m = (0.5*(x_s+x_d));
11501 D_bar = (0.5*(Ds+Dd));
11502 Dm = (D_bar+(0.125*((x_ds*x_ds)*(Em-(2.0*inv_Gf2)))));
11505 Pm = (0.5*((x_m*x_m)*(1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m)))))));
11506 xgm = (Gf*sqrt((Dm+Pm)));
11509 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
11511 temp = sqrt((1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m))))));
11512 sqm = (7.0710678118654746e-01*(x_m*temp));
11513 alpha = (eta_p+(7.0710678118654746e-01*((Gf*((1.0-(0.5*x_m))+(1.6666666666666667e-01*(x_m*x_m))))/temp)));
11517 Pm = ((x_m-1.0)+Em);
11518 xgm = (Gf*sqrt((Dm+Pm)));
11521 d0 = ((1.0-Em)+(2.0*(xgm*inv_Gf2)));
11522 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
11523 temp = (eta_p/(eta_p+1.0));
11524 x_pm = (
kp*(((temp*temp)*Gf2)*Dm));
11525 p_pd = ((2.0*(xgm-x_pm))+(Gf2*((1.0-Em)+Dm)));
11526 q_pd = (x_pm*(x_pm-(2.0*xgm)));
11527 xi_pd = (1.0-(0.5*(Gf2*(Em+Dm))));
11528 u_pd = ((q_pd*p_pd)/((p_pd*p_pd)-(xi_pd*q_pd)));
11533 Pm = ((x_m-1.0)+Em);
11534 xgm = (Gf*sqrt((Dm+Pm)));
11535 help = ((1.0-Em)+(2.0*((xgm*eta_p)*inv_Gf2)));
11536 x_ds = (((x_ds*km)*(d0+D_bar))/(help+(km*D_bar)));
11537 dps = (x_ds*
phit1);
11540 alpha = (eta_p+(0.5*((Gf*(1.0-Em))/sqm)));
11542 qim = (
phit1*((Gf2*Dm)/(xgm+(Gf*sqm))));
11543 qim1 = (qim+(
phit1*alpha));
11544 qbm = ((sqm*Gf)*
phit1);
11547 temp = (1.0-(
RSG_i*qim));
11551 temp = (1.0/(1.0+(
RSG_i*qim)));
11553 GR = (
THER_i*((rhob*temp)*qim));
11554 qeff = (qbm+(
eta_mu*qim));
11557 if (((Eeffm*
MUE_i)!=0))
11559 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Pm/((Pm+Dm)+1.0e-14))));
11563 Mutmp = (
CS_i*(Pm/((Pm+Dm)+1.0e-14)));
11565 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
11566 s1 = log(((1.0+((Vds-dps)*
inv_VP))/(1.0+((Vdse-dps)*inv_VP))));
11568 GdL = (1.0/((1.0+dL)+(dL*dL)));
11569 temp2 = (qim*xitsb);
11570 wsat = (100.0*(temp2/(100.0+temp2)));
11571 Gmob_dL = (Gmob*GdL);
11580 thesat1 = (
THESAT_i*(temp/Gmob_dL));
11581 zsat = (((thesat1*thesat1)*dps)*dps);
11584 zsat = (zsat/(1.0+(thesat1*dps)));
11586 Gvsat = (0.5*(Gmob_dL*(1.0+sqrt((1.0+(2.0*zsat))))));
11587 Gvsatinv = (1.0/Gvsat);
11588 Voxm = (xgm*
phit1);
11589 temp = (Gmob_dL*Gvsatinv);
11590 alpha1 = (alpha*(1.0+(0.5*((zsat*temp)*temp))));
11591 H = ((temp*qim1)/alpha1);
11595 qim1_1 = (1.0/qim1);
11597 r2 = (
phit1*(alpha*qim1_1));
11598 s2 = log((1.0+(Vdsx*
inv_VP)));
11599 dL1 = ((dL+(
ALP1_i*((qim1_1*r1)*s1)))+(
ALP2_i*(((qbm*r2)*r2)*s2)));
11600 FdL = (((1.0+dL1)+(dL1*dL1))*GdL);
11614 Gvsatinv_dc = Gvsatinv;
11615 Gmob_dL_dc = Gmob_dL;
11629 Ids = (
BET_i*(((FdL_dc*qim1_dc)*dps_dc)*Gvsatinv_dc));
11632 delVsat = (Vds-(
A3_i*dps_dc));
11636 if (((-temp2)>(-2.3025850929940458e+02)))
11638 temp = exp((-temp2));
11642 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-temp2))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-temp2))*(1.0+(((-2.3025850929940458e+02)-(-temp2))*3.3333333333333333e-01))))))));
11644 mavl = (
A1_i*(delVsat*temp));
11645 Iimpact = (Ids*mavl);
11657 if ((fabs(xgs_ov)<=x_mrg_ov))
11659 xs_ov = ((-xgs_ov)*inv_xi_ov);
11663 if ((xgs_ov<(-x_mrg_ov)))
11665 SP_OV_yg = (-xgs_ov);
11666 SP_OV_z = ((
x1*SP_OV_yg)*inv_xi_ov);
11667 SP_OV_eta = (0.5*((SP_OV_z+10.0)-sqrt((((SP_OV_z-6.0)*(SP_OV_z-6.0))+64.0))));
11668 SP_OV_a = (((SP_OV_yg-SP_OV_eta)*(SP_OV_yg-SP_OV_eta))+(GOV2*(SP_OV_eta+1.0)));
11669 SP_OV_c = ((2.0*(SP_OV_yg-SP_OV_eta))-GOV2);
11670 SP_OV_tau = (log((SP_OV_a/GOV2))-SP_OV_eta);
11671 nu = (SP_OV_a+SP_OV_c);
11672 mutau = ((nu*nu)+(SP_OV_tau*((0.5*(SP_OV_c*SP_OV_c))-SP_OV_a)));
11673 SP_OV_y0 = (SP_OV_eta+(((SP_OV_a*nu)*SP_OV_tau)/(mutau+(((((nu/mutau)*SP_OV_tau)*SP_OV_tau)*SP_OV_c)*(((SP_OV_c*SP_OV_c)*3.3333333333333333e-01)-SP_OV_a)))));
11674 SP_OV_D0 = exp(SP_OV_y0);
11675 SP_OV_temp = (SP_OV_yg-SP_OV_y0);
11676 SP_OV_p = ((2.0*SP_OV_temp)+(GOV2*(SP_OV_D0-1.0)));
11677 SP_OV_q = ((SP_OV_temp*SP_OV_temp)+(GOV2*((SP_OV_y0+1.0)-SP_OV_D0)));
11678 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11679 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11680 SP_OV_w = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11681 xs_ov = (-(SP_OV_y0+SP_OV_w));
11685 SP_OV_Afac = ((((xi_ov*
x1)*inv_xg1)-1.0)*inv_xg1);
11686 SP_OV_xbar = ((xgs_ov*inv_xi_ov)*(1.0+(SP_OV_Afac*xgs_ov)));
11687 if (((-SP_OV_xbar)>(-2.3025850929940458e+02)))
11689 SP_OV_temp = exp((-SP_OV_xbar));
11693 SP_OV_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*3.3333333333333333e-01))))))));
11695 SP_OV_w = (1.0-SP_OV_temp);
11696 SP_OV_x0 = ((xgs_ov+(GOV2*0.5))-(GOV*sqrt(((xgs_ov+(GOV2*0.25))-SP_OV_w))));
11697 if (((-SP_OV_x0)>(-2.3025850929940458e+02)))
11699 SP_OV_D0 = exp((-SP_OV_x0));
11703 SP_OV_D0 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*3.3333333333333333e-01))))))));
11705 SP_OV_p = ((2.0*(xgs_ov-SP_OV_x0))+(GOV2*(1-SP_OV_D0)));
11706 SP_OV_q = (((xgs_ov-SP_OV_x0)*(xgs_ov-SP_OV_x0))-(GOV2*((SP_OV_x0-1.0)+SP_OV_D0)));
11707 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11708 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11709 SP_OV_u = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11710 xs_ov = (SP_OV_x0+SP_OV_u);
11720 if ((fabs(xgd_ov)<=x_mrg_ov))
11722 xd_ov = ((-xgd_ov)*inv_xi_ov);
11726 if ((xgd_ov<(-x_mrg_ov)))
11728 SP_OV_yg = (-xgd_ov);
11729 SP_OV_z = ((
x1*SP_OV_yg)*inv_xi_ov);
11730 SP_OV_eta = (0.5*((SP_OV_z+10.0)-sqrt((((SP_OV_z-6.0)*(SP_OV_z-6.0))+64.0))));
11731 SP_OV_a = (((SP_OV_yg-SP_OV_eta)*(SP_OV_yg-SP_OV_eta))+(GOV2*(SP_OV_eta+1.0)));
11732 SP_OV_c = ((2.0*(SP_OV_yg-SP_OV_eta))-GOV2);
11733 SP_OV_tau = (log((SP_OV_a/GOV2))-SP_OV_eta);
11734 nu = (SP_OV_a+SP_OV_c);
11735 mutau = ((nu*nu)+(SP_OV_tau*((0.5*(SP_OV_c*SP_OV_c))-SP_OV_a)));
11736 SP_OV_y0 = (SP_OV_eta+(((SP_OV_a*nu)*SP_OV_tau)/(mutau+(((((nu/mutau)*SP_OV_tau)*SP_OV_tau)*SP_OV_c)*(((SP_OV_c*SP_OV_c)*3.3333333333333333e-01)-SP_OV_a)))));
11737 SP_OV_D0 = exp(SP_OV_y0);
11738 SP_OV_temp = (SP_OV_yg-SP_OV_y0);
11739 SP_OV_p = ((2.0*SP_OV_temp)+(GOV2*(SP_OV_D0-1.0)));
11740 SP_OV_q = ((SP_OV_temp*SP_OV_temp)+(GOV2*((SP_OV_y0+1.0)-SP_OV_D0)));
11741 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11742 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11743 SP_OV_w = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11744 xd_ov = (-(SP_OV_y0+SP_OV_w));
11748 SP_OV_Afac = ((((xi_ov*
x1)*inv_xg1)-1.0)*inv_xg1);
11749 SP_OV_xbar = ((xgd_ov*inv_xi_ov)*(1.0+(SP_OV_Afac*xgd_ov)));
11750 if (((-SP_OV_xbar)>(-2.3025850929940458e+02)))
11752 SP_OV_temp = exp((-SP_OV_xbar));
11756 SP_OV_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_xbar))*3.3333333333333333e-01))))))));
11758 SP_OV_w = (1.0-SP_OV_temp);
11759 SP_OV_x0 = ((xgd_ov+(GOV2*0.5))-(GOV*sqrt(((xgd_ov+(GOV2*0.25))-SP_OV_w))));
11760 if (((-SP_OV_x0)>(-2.3025850929940458e+02)))
11762 SP_OV_D0 = exp((-SP_OV_x0));
11766 SP_OV_D0 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_OV_x0))*(1.0+(((-2.3025850929940458e+02)-(-SP_OV_x0))*3.3333333333333333e-01))))))));
11768 SP_OV_p = ((2.0*(xgd_ov-SP_OV_x0))+(GOV2*(1-SP_OV_D0)));
11769 SP_OV_q = (((xgd_ov-SP_OV_x0)*(xgd_ov-SP_OV_x0))-(GOV2*((SP_OV_x0-1.0)+SP_OV_D0)));
11770 SP_OV_xi = (1.0-((GOV2*0.5)*SP_OV_D0));
11771 SP_OV_temp = ((SP_OV_p*SP_OV_p)-(4.0*(SP_OV_xi*SP_OV_q)));
11772 SP_OV_u = (2.0*(SP_OV_q/(SP_OV_p+sqrt(SP_OV_temp))));
11773 xd_ov = (SP_OV_x0+SP_OV_u);
11790 arg2mina = (Vovs+
Dov);
11791 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11792 zg = (sqrt(((Vovs*Vovs)+1.0e-6))*
inv_CHIB);
11795 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-6))));
11798 if ((fabs(arg1)<2.3025850929940458e+02))
11804 if ((arg1<(-2.3025850929940458e+02)))
11806 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11810 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11814 if ((fabs(arg1)<2.3025850929940458e+02))
11820 if ((arg1<(-2.3025850929940458e+02)))
11822 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11826 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11829 Dgate = (Dsi*temp);
11833 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11837 if ((temp>(-2.3025850929940458e+02)))
11843 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
11846 Igsov = (
IGOV_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
11850 arg2mina = (Vovd+
Dov);
11851 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11852 zg = (sqrt(((Vovd*Vovd)+1.0e-6))*
inv_CHIB);
11855 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-6))));
11858 if ((fabs(arg1)<2.3025850929940458e+02))
11864 if ((arg1<(-2.3025850929940458e+02)))
11866 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11870 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11874 if ((fabs(arg1)<2.3025850929940458e+02))
11880 if ((arg1<(-2.3025850929940458e+02)))
11882 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11886 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11889 Dgate = (Dsi*temp);
11893 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11897 if ((temp>(-2.3025850929940458e+02)))
11903 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
11906 Igdov = (
IGOVD_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
11915 if (((x_ds_dc-Udse_dc)>(-2.3025850929940458e+02)))
11917 temp = exp((x_ds_dc-Udse_dc));
11921 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*(1.0+(0.5*(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*(1.0+(((-2.3025850929940458e+02)-(x_ds_dc-Udse_dc))*3.3333333333333333e-01))))))));
11923 Vm = (Vsbnud+(
phit1*((0.5*x_ds_dc)-log((0.5*(1.0+temp))))));
11924 arg2mina = (Voxm_dc+
Dch);
11925 psi_t = (0.5*((+arg2mina)-sqrt((((-arg2mina)*(-arg2mina))+0.01))));
11926 zg = (sqrt(((Voxm_dc*Voxm_dc)+1.0e-6))*
inv_CHIB);
11929 zg = (0.5*((zg+
GCQ)-sqrt((((zg-
GCQ)*(zg-
GCQ))+1.0e-06))));
11932 if ((fabs(arg1)<2.3025850929940458e+02))
11938 if ((arg1<(-2.3025850929940458e+02)))
11940 Dsi = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11944 Dsi = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11947 arg1 = ((-((Vgs+Vsbnud)-Vm))*
inv_phit1);
11948 if ((fabs(arg1)<2.3025850929940458e+02))
11954 if ((arg1<(-2.3025850929940458e+02)))
11956 temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-arg1)*(1.0+(0.5*(((-2.3025850929940458e+02)-arg1)*(1.0+(((-2.3025850929940458e+02)-arg1)*3.3333333333333333e-01))))))));
11960 temp = (1.0e100*(1.0+((arg1-2.3025850929940458e+02)*(1.0+(0.5*((arg1-2.3025850929940458e+02)*(1.0+((arg1-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
11963 Dgate = (Dsi*temp);
11967 TP = (1.0+(temp*(1.0+(0.5*(temp*(1.0+(temp*3.3333333333333333e-01)))))));
11971 if ((temp>(-2.3025850929940458e+02)))
11977 TP = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
11980 Igc0 = (
IGINV_i*(TP*log(((1.0+Dsi)/(1.0+Dgate)))));
11990 x = (0.5*(dps_dc/u0));
11991 u0_div_H = (u0/H_dc);
11992 Bg = ((u0_div_H*(1.0-u0_div_H))*0.5);
11993 Ag = (0.5-(3.0*Bg));
11997 igc = (1.0+(xsq*((1.6666666666666667e-01+(u0_div_H*3.3333333333333333e-01))+(1.6666666666666667e-01*(xsq*(0.05+(0.2*u0_div_H)))))));
11998 igcd_h = ((0.5*igc)-(1.6666666666666667e-01*(x*(1.0+(xsq*((0.4*(Bg+0.25))+(0.0285714285714*(xsq*(0.125+Bg)))))))));
12003 if ((fabs(x)<2.3025850929940458e+02))
12009 if ((x<(-2.3025850929940458e+02)))
12011 ex = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-x)*(1.0+(0.5*(((-2.3025850929940458e+02)-x)*(1.0+(((-2.3025850929940458e+02)-x)*3.3333333333333333e-01))))))));
12015 ex = (1.0e100*(1.0+((x-2.3025850929940458e+02)*(1.0+(0.5*((x-2.3025850929940458e+02)*(1.0+((x-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12019 temp = (ex-inv_ex);
12020 temp2 = (ex+inv_ex);
12021 igc = (0.5*((((1.0-u0_div_H)*temp)*inv_x)+(u0_div_H*temp2)));
12022 igcd_h = (0.5*((igc-(temp*(Bg-((Ag*inv_x)*inv_x))))-((Ag*temp2)*inv_x)));
12025 Sg = (0.5*(1.0+(xg_dc/sqrt(((xg_dc*xg_dc)+1.0e-6)))));
12026 Igc = ((Igc0*igc)*Sg);
12027 Igcd = ((Igc0*igcd_h)*Sg);
12029 Igb = ((Igc0*igc)*(1.0-Sg));
12038 Vtovd = sqrt((((Vovd*Vovd)+((
CGIDLD_i*
CGIDLD_i)*(VdbPrime*VdbPrime)))+1.0e-6));
12040 if ((temp>(-2.3025850929940458e+02)))
12046 temp2 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
12048 Igidl = ((-
AGIDLD_i)*(((VdbPrime*Vovd)*Vtovd)*temp2));
12052 Vtovs = sqrt((((Vovs*Vovs)+((
CGIDL_i*
CGIDL_i)*(VsbPrime*VsbPrime)))+1.0e-6));
12054 if ((temp>(-2.3025850929940458e+02)))
12060 temp2 = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-temp)*(1.0+(0.5*(((-2.3025850929940458e+02)-temp)*(1.0+(((-2.3025850929940458e+02)-temp)*3.3333333333333333e-01))))))));
12062 Igisl = ((-
AGIDL_i)*(((VsbPrime*Vovs)*Vtovs)*temp2));
12234 temp = ((0.5*((Vdb+Vsb)-sqrt((((Vdb-Vsb)*(Vdb-Vsb))+
bphi_ac))))+
phix_ac);
12235 Vsbstar_ac = ((Vsb-(0.5*((temp)-sqrt((((temp)*(temp))+
aphi_ac)))))+
phix1_ac);
12236 Vsbstar = Vsbstar_ac;
12243 Vsbstar = Vsbstar_dc;
12269 Vdbstar = (Vds+Vsbstar);
12270 Vgbstar = (Vgs+Vsbstar);
12271 Vgb1 = (Vgbstar-
VFB_i);
12272 Vsbx = (Vsbstar+(0.5*(Vds-Vdsx)));
12273 delVg = (
CF_i*(Vdsx*(1+(
CFB_i*Vsbx))));
12274 Vgb1 = (Vgb1+delVg);
12279 Gf = (G_0*sqrt((1.0+Dnsub)));
12286 inv_Gf2 = (1.0/Gf2);
12287 xi = (1.0+(Gf*7.0710678118654746e-01));
12291 if ((xn_s<4.6051701859880916e+02))
12293 delta_ns = exp((-xn_s));
12297 delta_ns = (1.0e-200/(1.0+((xn_s-4.6051701859880916e+02)*(1.0+(0.5*((xn_s-4.6051701859880916e+02)*(1.0+((xn_s-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
12299 margin = (1e-5*xi);
12300 if ((fabs(xg)<=margin))
12302 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
12303 x_s = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_ns))*Gf)*SP_S_temp1)));
12307 if ((xg<(-margin)))
12310 SP_S_ysub = (1.25*(SP_S_yg*inv_xi));
12311 SP_S_eta = (0.5*((SP_S_ysub+10)-sqrt((((SP_S_ysub-6.0)*(SP_S_ysub-6.0))+64.0))));
12312 SP_S_temp = (SP_S_yg-SP_S_eta);
12313 SP_S_a = ((SP_S_temp*SP_S_temp)+(Gf2*(SP_S_eta+1.0)));
12314 SP_S_c = ((2.0*SP_S_temp)-Gf2);
12315 SP_S_tau = ((-SP_S_eta)+log((SP_S_a*inv_Gf2)));
12316 nu = (SP_S_a+SP_S_c);
12317 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-SP_S_a)));
12318 SP_S_y0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-SP_S_a)))));
12319 if ((SP_S_y0<2.3025850929940458e+02))
12321 SP_S_delta0 = exp(SP_S_y0);
12325 SP_S_delta0 = (1.0e100*(1.0+((SP_S_y0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_y0-2.3025850929940458e+02)*(1.0+((SP_S_y0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12327 SP_S_delta1 = (1.0/SP_S_delta0);
12328 SP_S_temp = (1.0/(2.0+(SP_S_y0*SP_S_y0)));
12329 SP_S_xi0 = ((SP_S_y0*SP_S_y0)*SP_S_temp);
12330 SP_S_xi1 = (4.0*((SP_S_y0*SP_S_temp)*SP_S_temp));
12331 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12332 SP_S_temp = (SP_S_yg-SP_S_y0);
12333 SP_S_temp1 = (delta_ns*SP_S_delta1);
12334 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((SP_S_delta0-1.0)-SP_S_temp1)+(delta_ns*(1.0-SP_S_xi1)))));
12335 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta0-SP_S_y0)-1.0)+SP_S_temp1)+(delta_ns*((SP_S_y0-1.0)-SP_S_xi0)))));
12336 SP_S_temp = (2.0-(Gf2*((SP_S_delta0+SP_S_temp1)-(delta_ns*SP_S_xi2))));
12337 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12338 x_s = ((-SP_S_y0)-(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12342 SP_xg1 = (1.0/(
x1+(Gf*7.324648775608221e-001)));
12343 SP_S_A_fac = ((((xi*
x1)*SP_xg1)-1.0)*SP_xg1);
12344 SP_S_xbar = ((xg*inv_xi)*(1.0+(SP_S_A_fac*xg)));
12345 if (((-SP_S_xbar)>(-2.3025850929940458e+02)))
12347 SP_S_temp = exp((-SP_S_xbar));
12351 SP_S_temp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(0.5*(((-2.3025850929940458e+02)-(-SP_S_xbar))*(1.0+(((-2.3025850929940458e+02)-(-SP_S_xbar))*3.3333333333333333e-01))))))));
12353 SP_S_w = (1.0-SP_S_temp);
12354 SP_S_x1 = ((xg+(Gf2*0.5))-(Gf*sqrt(((xg+(Gf2*0.25))-SP_S_w))));
12355 SP_S_bx = (xn_s+3.0);
12356 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
12357 SP_S_temp = (xg-SP_S_eta);
12358 SP_S_temp1 = exp((-SP_S_eta));
12359 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
12360 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
12361 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
12362 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
12363 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_ns*((SP_S_eta+1.0)+SP_S_xi0))))));
12364 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_ns*SP_S_xi2)))));
12365 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_ns*(1.0+SP_S_xi1)))));
12366 SP_S_tau = ((xn_s-SP_S_eta)+log((SP_S_a/Gf2)));
12367 nu = (SP_S_a+SP_S_c);
12368 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
12369 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
12370 if ((SP_S_x0<2.3025850929940458e+02))
12372 SP_S_delta0 = exp(SP_S_x0);
12373 SP_S_delta1 = (1.0/SP_S_delta0);
12374 SP_S_delta0 = (delta_ns*SP_S_delta0);
12378 if ((SP_S_x0>(xn_s-2.3025850929940458e+02)))
12380 SP_S_delta0 = exp((SP_S_x0-xn_s));
12381 SP_S_delta1 = (delta_ns/SP_S_delta0);
12385 SP_S_delta0 = (1.0e-100/(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_s-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12386 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12389 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
12390 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
12391 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
12392 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12393 SP_S_temp = (xg-SP_S_x0);
12394 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_ns*(1.0+SP_S_xi1)))));
12395 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_ns*((SP_S_x0+1.0)+SP_S_xi0)))));
12396 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_ns*SP_S_xi2))));
12397 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12398 x_s = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12408 Voxm = (xgm*
phit1);
12415 temp = (1.0/(2.0+(x_s*x_s)));
12416 xi0s = ((x_s*x_s)*temp);
12417 xi1s = (4.0*((x_s*temp)*temp));
12418 xi2s = ((((8.0*temp)-(12.0*xi0s))*temp)*temp);
12419 if ((x_s<2.3025850929940458e+02))
12421 delta_1s = exp(x_s);
12422 Es = (1.0/delta_1s);
12423 delta_1s = (delta_ns*delta_1s);
12427 if ((x_s>(xn_s-2.3025850929940458e+02)))
12429 delta_1s = exp((x_s-xn_s));
12430 Es = (delta_ns/delta_1s);
12434 delta_1s = (1.0e-100/(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_s-x_s)-2.3025850929940458e+02)*(1.0+(((xn_s-x_s)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12435 Es = (1.0e-100/(1.0+((x_s-2.3025850929940458e+02)*(1.0+(0.5*((x_s-2.3025850929940458e+02)*(1.0+((x_s-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12438 Ds = (delta_1s-(delta_ns*((x_s+1.0)+xi0s)));
12441 Ps = (0.5*((x_s*x_s)*(1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s)))))));
12442 Ds = (1.6666666666666667e-01*((((delta_ns*x_s)*x_s)*x_s)*(1.0+(1.75*x_s))));
12443 temp = sqrt((1.0-(3.3333333333333333e-01*(x_s*(1.0-(0.25*x_s))))));
12444 sqm = (7.0710678118654746e-01*(x_s*temp));
12445 alpha = (1.0+(((Gf*7.0710678118654746e-01)*((1.0-(0.5*x_s))+(1.6666666666666667e-01*(x_s*x_s))))/temp));
12449 Ps = ((x_s-1.0)+Es);
12451 alpha = (1.0+(0.5*((Gf*(1.0-Es))/sqm)));
12457 Rxcor = ((1.0+((0.2*
XCOR_i)*Vsbx))/(1.0+(
XCOR_i*Vsbx)));
12460 xgs = (Gf*sqrt((Ps+Ds)));
12461 qis = (((Gf2*Ds)*
phit1)/(xgs+(Gf*sqm)));
12462 qbs = ((sqm*Gf)*
phit1);
12465 rhob = (1.0/(1.0-(
RSB_i*Vsbx)));
12469 rhob = (1.0+(
RSB_i*Vsbx));
12473 temp = (1.0-(
RSG_i*qis));
12477 temp = (1.0/(1.0+(
RSG_i*qis)));
12479 GR = (
THER_i*((rhob*temp)*qis));
12481 if (((Eeffm*
MUE_i)!=0))
12483 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Ps/((Ps+Ds)+1.0e-14))));
12487 Mutmp = (
CS_i*(Ps/((Ps+Ds)+1.0e-14)));
12489 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
12498 temp2 = (qis*xitsb);
12499 wsat = (100.0*(temp2/(100.0+temp2)));
12509 phi_inf = ((qis/alpha)+
phit1);
12510 ysat = ((thesat1*phi_inf)*7.0710678118654746e-01);
12513 ysat = (ysat/sqrt((1.0+ysat)));
12515 za = (2.0/(1.0+sqrt((1.0+(4.0*ysat)))));
12517 Phi_0 = ((phi_inf*za)*(1.0+(0.86*((temp1*(1.0-(temp1*za)))/(1.0+(4.0*((temp1*temp1)*za)))))));
12518 asat = (xgs+(0.5*Gf2));
12519 Phi_2 = (0.98*(((Gf2*Ds)*
phit1)/(asat+sqrt(((asat*asat)-((Gf2*Ds)*0.98))))));
12520 Phi_0_2 = (Phi_0+Phi_2);
12521 Phi0_Phi2 = (2.0*(Phi_0*Phi_2));
12522 Phi_sat = (Phi0_Phi2/(Phi_0_2+sqrt(((Phi_0_2*Phi_0_2)-(1.98*Phi0_Phi2)))));
12523 Vdsat = (Phi_sat-(
phit1*log((1.0+(((Phi_sat*(Phi_sat-((2.0*asat)*
phit1)))*inv_Gf2)/((phit1*phit1)*Ds))))));
12529 if (((Vds/Vdsat)!=0))
12531 temp = pow((Vds/Vdsat),
AX_i);
12537 Vdse = (Vds*pow((1.0+temp),(-
inv_AX)));
12539 xn_d = (xn_s+Udse);
12540 if ((Udse<4.6051701859880916e+02))
12542 k_ds = exp((-Udse));
12546 k_ds = (1.0e-200/(1.0+((Udse-4.6051701859880916e+02)*(1.0+(0.5*((Udse-4.6051701859880916e+02)*(1.0+((Udse-4.6051701859880916e+02)*3.3333333333333333e-01))))))));
12548 delta_nd = (delta_ns*k_ds);
12549 if ((fabs(xg)<=margin))
12551 SP_S_temp1 = (((inv_xi*inv_xi)*1.6666666666666667e-01)*7.0710678118654746e-01);
12552 x_d = ((xg*inv_xi)*(1.0+(((xg*(1.0-delta_nd))*Gf)*SP_S_temp1)));
12556 SP_S_bx = (xn_d+3);
12557 SP_S_eta = ((0.5*((SP_S_x1+SP_S_bx)-sqrt((((SP_S_x1-SP_S_bx)*(SP_S_x1-SP_S_bx))+5.0))))-(0.5*(SP_S_bx-sqrt(((SP_S_bx*SP_S_bx)+5.0)))));
12558 SP_S_temp = (xg-SP_S_eta);
12559 SP_S_temp1 = exp((-SP_S_eta));
12560 SP_S_temp2 = (1.0/(2.0+(SP_S_eta*SP_S_eta)));
12561 SP_S_xi0 = ((SP_S_eta*SP_S_eta)*SP_S_temp2);
12562 SP_S_xi1 = (4.0*((SP_S_eta*SP_S_temp2)*SP_S_temp2));
12563 SP_S_xi2 = ((((8.0*SP_S_temp2)-(12.0*SP_S_xi0))*SP_S_temp2)*SP_S_temp2);
12564 SP_S_a = max(1.0e-40,((SP_S_temp*SP_S_temp)-(Gf2*(((SP_S_temp1+SP_S_eta)-1.0)-(delta_nd*((SP_S_eta+1.0)+SP_S_xi0))))));
12565 SP_S_b = (1.0-(0.5*(Gf2*(SP_S_temp1-(delta_nd*SP_S_xi2)))));
12566 SP_S_c = ((2.0*SP_S_temp)+(Gf2*((1.0-SP_S_temp1)-(delta_nd*(1.0+SP_S_xi1)))));
12567 SP_S_tau = ((xn_d-SP_S_eta)+log((SP_S_a/Gf2)));
12568 nu = (SP_S_a+SP_S_c);
12569 mutau = ((nu*nu)+(SP_S_tau*((0.5*(SP_S_c*SP_S_c))-(SP_S_a*SP_S_b))));
12570 SP_S_x0 = (SP_S_eta+(((SP_S_a*nu)*SP_S_tau)/(mutau+(((((nu/mutau)*SP_S_tau)*SP_S_tau)*SP_S_c)*(((SP_S_c*SP_S_c)*3.3333333333333333e-01)-(SP_S_a*SP_S_b))))));
12571 if ((SP_S_x0<2.3025850929940458e+02))
12573 SP_S_delta0 = exp(SP_S_x0);
12574 SP_S_delta1 = (1.0/SP_S_delta0);
12575 SP_S_delta0 = (delta_nd*SP_S_delta0);
12579 if ((SP_S_x0>(xn_d-2.3025850929940458e+02)))
12581 SP_S_delta0 = exp((SP_S_x0-xn_d));
12582 SP_S_delta1 = (delta_nd/SP_S_delta0);
12586 SP_S_delta0 = (1.0e-100/(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-SP_S_x0)-2.3025850929940458e+02)*(1.0+(((xn_d-SP_S_x0)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12587 SP_S_delta1 = (1.0e-100/(1.0+((SP_S_x0-2.3025850929940458e+02)*(1.0+(0.5*((SP_S_x0-2.3025850929940458e+02)*(1.0+((SP_S_x0-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12590 SP_S_temp = (1.0/(2.0+(SP_S_x0*SP_S_x0)));
12591 SP_S_xi0 = ((SP_S_x0*SP_S_x0)*SP_S_temp);
12592 SP_S_xi1 = (4.0*((SP_S_x0*SP_S_temp)*SP_S_temp));
12593 SP_S_xi2 = ((((8.0*SP_S_temp)-(12.0*SP_S_xi0))*SP_S_temp)*SP_S_temp);
12594 SP_S_temp = (xg-SP_S_x0);
12595 SP_S_pC = ((2.0*SP_S_temp)+(Gf2*(((1.0-SP_S_delta1)+SP_S_delta0)-(delta_nd*(1.0+SP_S_xi1)))));
12596 SP_S_qC = ((SP_S_temp*SP_S_temp)-(Gf2*((((SP_S_delta1+SP_S_x0)-1.0)+SP_S_delta0)-(delta_nd*((SP_S_x0+1.0)+SP_S_xi0)))));
12597 SP_S_temp = (2.0-(Gf2*((SP_S_delta1+SP_S_delta0)-(delta_nd*SP_S_xi2))));
12598 SP_S_temp = ((SP_S_pC*SP_S_pC)-(2.0*(SP_S_qC*SP_S_temp)));
12599 x_d = (SP_S_x0+(2.0*(SP_S_qC/(SP_S_pC+sqrt(SP_S_temp)))));
12602 if ((x_ds<1.0E-10))
12604 pC = ((2.0*(xg-x_s))+(Gf2*(((1.0-Es)+(delta_1s*k_ds))-(delta_nd*(1.0+xi1s)))));
12605 qC = ((Gf2*(1.0-k_ds))*Ds);
12606 temp = (2.0-(Gf2*((Es+(delta_1s*k_ds))-(delta_nd*xi2s))));
12607 temp = ((pC*pC)-(2.0*(temp*qC)));
12608 x_ds = (2.0*(qC/(pC+sqrt(temp))));
12611 dps = (x_ds*
phit1);
12612 xi0d = ((x_d*x_d)/(2.0+(x_d*x_d)));
12613 if ((x_d<2.3025850929940458e+02))
12618 Dd = (((((1.6666666666666667e-01*delta_nd)*x_d)*x_d)*x_d)*(1.0+(1.75*x_d)));
12622 Dd = (delta_nd*((((1.0/Ed)-x_d)-1.0)-xi0d));
12627 if ((x_d>(xn_d-2.3025850929940458e+02)))
12629 temp = exp((x_d-xn_d));
12630 Ed = (delta_nd/temp);
12631 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
12635 Ed = (1.0e-100/(1.0+((x_d-2.3025850929940458e+02)*(1.0+(0.5*((x_d-2.3025850929940458e+02)*(1.0+((x_d-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12636 temp = (1.0e-100/(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(0.5*(((xn_d-x_d)-2.3025850929940458e+02)*(1.0+(((xn_d-x_d)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
12637 Dd = (temp-(delta_nd*((x_d+1.0)+xi0d)));
12640 x_m = (0.5*(x_s+x_d));
12647 D_bar = (0.5*(Ds+Dd));
12648 Dm = (D_bar+(0.125*((x_ds*x_ds)*(Em-(2.0*inv_Gf2)))));
12651 Pm = (0.5*((x_m*x_m)*(1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m)))))));
12652 xgm = (Gf*sqrt((Dm+Pm)));
12655 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
12657 temp = sqrt((1.0-(3.3333333333333333e-01*(x_m*(1.0-(0.25*x_m))))));
12658 sqm = (7.0710678118654746e-01*(x_m*temp));
12659 alpha = (eta_p+(7.0710678118654746e-01*((Gf*((1.0-(0.5*x_m))+(1.6666666666666667e-01*(x_m*x_m))))/temp)));
12663 Pm = ((x_m-1.0)+Em);
12664 xgm = (Gf*sqrt((Dm+Pm)));
12667 d0 = ((1.0-Em)+(2.0*(xgm*inv_Gf2)));
12668 eta_p = (1.0/sqrt((1.0+(
kp*xgm))));
12669 temp = (eta_p/(eta_p+1.0));
12670 x_pm = (
kp*(((temp*temp)*Gf2)*Dm));
12671 p_pd = ((2.0*(xgm-x_pm))+(Gf2*((1.0-Em)+Dm)));
12672 q_pd = (x_pm*(x_pm-(2.0*xgm)));
12673 xi_pd = (1.0-(0.5*(Gf2*(Em+Dm))));
12674 u_pd = ((q_pd*p_pd)/((p_pd*p_pd)-(xi_pd*q_pd)));
12679 Pm = ((x_m-1.0)+Em);
12680 xgm = (Gf*sqrt((Dm+Pm)));
12681 help = ((1.0-Em)+(2.0*((xgm*eta_p)*inv_Gf2)));
12682 x_ds = (((x_ds*km)*(d0+D_bar))/(help+(km*D_bar)));
12683 dps = (x_ds*
phit1);
12686 alpha = (eta_p+(0.5*((Gf*(1.0-Em))/sqm)));
12688 qim = (
phit1*((Gf2*Dm)/(xgm+(Gf*sqm))));
12689 qim1 = (qim+(
phit1*alpha));
12690 qbm = ((sqm*Gf)*
phit1);
12693 temp = (1.0-(
RSG_i*qim));
12697 temp = (1.0/(1.0+(
RSG_i*qim)));
12699 GR = (
THER_i*((rhob*temp)*qim));
12700 qeff = (qbm+(
eta_mu*qim));
12703 if (((Eeffm*
MUE_i)!=0))
12705 Mutmp = (pow((Eeffm*MUE_i),
THEMU_i)+(
CS_i*(Pm/((Pm+Dm)+1.0e-14))));
12709 Mutmp = (
CS_i*(Pm/((Pm+Dm)+1.0e-14)));
12711 Gmob = (((1.0+Mutmp)+GR)*Rxcor);
12712 s1 = log(((1.0+((Vds-dps)*
inv_VP))/(1.0+((Vdse-dps)*inv_VP))));
12714 GdL = (1.0/((1.0+dL)+(dL*dL)));
12715 temp2 = (qim*xitsb);
12716 wsat = (100.0*(temp2/(100.0+temp2)));
12717 Gmob_dL = (Gmob*GdL);
12726 thesat1 = (
THESAT_i*(temp/Gmob_dL));
12727 zsat = (((thesat1*thesat1)*dps)*dps);
12730 zsat = (zsat/(1.0+(thesat1*dps)));
12732 Gvsat = (0.5*(Gmob_dL*(1.0+sqrt((1.0+(2.0*zsat))))));
12733 Gvsatinv = (1.0/Gvsat);
12734 Voxm = (xgm*
phit1);
12735 temp = (Gmob_dL*Gvsatinv);
12736 alpha1 = (alpha*(1.0+(0.5*((zsat*temp)*temp))));
12737 H = ((temp*qim1)/alpha1);
12750 Gmob_dL_ac = Gmob_dL;
12757 qeff1_ac = qeff1_dc;
12759 alpha_ac = alpha_dc;
12765 eta_p_ac = eta_p_dc;
12766 Gvsat_ac = Gvsat_dc;
12767 Gmob_dL_ac = Gmob_dL_dc;
12777 COX_qm = (
COX_i/(1.0+(
qq*pow(((qeff1_ac*qeff1_ac)+
qlim2),((-1.0)*1.6666666666666667e-01)))));
12788 Fj = (0.5*(dps_ac/H_ac));
12790 QCLM = ((1.0-GdL_ac)*(qim_ac-(0.5*(alpha_ac*dps_ac))));
12791 QG = (Voxm_ac+(0.5*((eta_p_ac*dps_ac)*((((Fj*GdL_ac)*3.3333333333333333e-01)-1.0)+GdL_ac))));
12792 temp = ((alpha_ac*dps_ac)*1.6666666666666667e-01);
12793 QI = ((GdL_ac*(qim_ac+(temp*Fj)))+QCLM);
12794 QD = (0.5*(((GdL_ac*GdL_ac)*(qim_ac-(temp*((1.0-Fj)-(0.2*Fj2)))))+(QCLM*(1.0+GdL_ac))));
12798 Qd = ((-QD)*COX_qm);
12799 Qb = ((-QB)*COX_qm);
12803 Qfgs = (
CFR_i*VgsPrime);
12804 Qfgd = (
CFRD_i*VgdPrime);
12814 if ((tm0<(-2.3025850929940458e+02)))
12816 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12831 if ((tm0<(-2.3025850929940458e+02)))
12833 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12855 if ((tm0<(-2.3025850929940458e+02)))
12857 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12872 ijun_s = ((ijunfor1+ijunfor2)+ijunrev);
12874 if ((tm0<(-2.3025850929940458e+02)))
12876 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12891 if ((tm0<(-2.3025850929940458e+02)))
12893 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12915 if ((tm0<(-2.3025850929940458e+02)))
12917 tm1 = (1.0e-100/(((-2.3025850929940458e+02)-tm0)+1));
12932 ijun_d = ((ijunfor1+ijunfor2)+ijunrev);
13049 h2d = (Vjun_s+(
vch_s*h2));
13052 h5 = sqrt(((h4*h4)+h1));
13204 h2d = (Vjun_d+(
vch_d*h2));
13207 h5 = sqrt(((h4*h4)+h1));
13368 h2d = (Vjun_s+(
vch_s*h2));
13371 h5 = sqrt(((h4*h4)+h1));
13375 if ((fabs((0.5*(Vjun_s*(
model_.
phitdinv))))<2.3025850929940458e+02))
13381 if (((0.5*(Vjun_s*(
model_.
phitdinv)))<(-2.3025850929940458e+02)))
13383 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_s*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
13387 zinv = (1.0e100*(1.0+(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(Vjun_s*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13401 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
13410 vav = (0.5*((Vjun_s)-sqrt((((Vjun_s)*(Vjun_s))+((4*1E-6)*1E-6)))));
13443 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
13445 wsrh = (wsrhstep+dwsrh);
13465 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
13466 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13467 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13468 sqrtumax = sqrt(fabs(umax));
13469 umaxpoweronepointfive = (umax*sqrtumax);
13472 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13478 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13479 ktat = sqrt((0.375*(btat/sqrtumax)));
13480 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13482 xerfc = ((ltat-1)*ktat);
13483 ysq = (xerfc*xerfc);
13492 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13494 tmp = exp(((-ysq)+mtat));
13498 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13500 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13503 erfctimesexpmtat = erfcpos;
13507 if ((mtat>(-2.3025850929940458e+02)))
13513 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13515 erfctimesexpmtat = ((2*tmp)-erfcpos);
13517 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
13535 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
13541 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
13543 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
13547 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13568 fbreakdown = (1/(1-tmp));
13575 ijunbot_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
13608 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
13610 wsrh = (wsrhstep+dwsrh);
13630 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
13631 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13632 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13633 sqrtumax = sqrt(fabs(umax));
13634 umaxpoweronepointfive = (umax*sqrtumax);
13637 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13643 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13644 ktat = sqrt((0.375*(btat/sqrtumax)));
13645 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13647 xerfc = ((ltat-1)*ktat);
13648 ysq = (xerfc*xerfc);
13657 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13659 tmp = exp(((-ysq)+mtat));
13663 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13665 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13668 erfctimesexpmtat = erfcpos;
13672 if ((mtat>(-2.3025850929940458e+02)))
13678 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13680 erfctimesexpmtat = ((2*tmp)-erfcpos);
13682 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
13700 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
13706 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
13708 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
13712 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13733 fbreakdown = (1/(1-tmp));
13740 ijunsti_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
13773 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
13775 wsrh = (wsrhstep+dwsrh);
13795 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
13796 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
13797 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
13798 sqrtumax = sqrt(fabs(umax));
13799 umaxpoweronepointfive = (umax*sqrtumax);
13802 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
13808 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
13809 ktat = sqrt((0.375*(btat/sqrtumax)));
13810 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
13812 xerfc = ((ltat-1)*ktat);
13813 ysq = (xerfc*xerfc);
13822 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
13824 tmp = exp(((-ysq)+mtat));
13828 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
13830 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
13833 erfctimesexpmtat = erfcpos;
13837 if ((mtat>(-2.3025850929940458e+02)))
13843 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
13845 erfctimesexpmtat = ((2*tmp)-erfcpos);
13847 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
13865 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
13871 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
13873 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
13877 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
13898 fbreakdown = (1/(1-tmp));
13905 ijungat_s = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14026 h2d = (Vjun_d+(
vch_d*h2));
14029 h5 = sqrt(((h4*h4)+h1));
14033 if ((fabs((0.5*(Vjun_d*(
model_.
phitdinv))))<2.3025850929940458e+02))
14039 if (((0.5*(Vjun_d*(
model_.
phitdinv)))<(-2.3025850929940458e+02)))
14041 zinv = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*(1.0+(0.5*(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*(1.0+(((-2.3025850929940458e+02)-(0.5*(Vjun_d*(
model_.
phitdinv))))*3.3333333333333333e-01))))))));
14045 zinv = (1.0e100*(1.0+(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(0.5*(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*(1.0+(((0.5*(Vjun_d*(
model_.
phitdinv)))-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14059 two_psistar = (2.0*((
model_.
phitd)*log(((2.0+z)+sqrt(((z+1.0)*(z+3.0)))))));
14068 vav = (0.5*((Vjun_d)-sqrt((((Vjun_d)*(Vjun_d))+((4*1E-6)*1E-6)))));
14101 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PBOT_i))));
14103 wsrh = (wsrhstep+dwsrh);
14123 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatbot))/btat);
14124 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14125 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14126 sqrtumax = sqrt(fabs(umax));
14127 umaxpoweronepointfive = (umax*sqrtumax);
14130 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14136 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14137 ktat = sqrt((0.375*(btat/sqrtumax)));
14138 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14140 xerfc = ((ltat-1)*ktat);
14141 ysq = (xerfc*xerfc);
14150 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14152 tmp = exp(((-ysq)+mtat));
14156 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14158 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14161 erfctimesexpmtat = erfcpos;
14165 if ((mtat>(-2.3025850929940458e+02)))
14171 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14173 erfctimesexpmtat = ((2*tmp)-erfcpos);
14175 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatbot)*erfctimesexpmtat)/ktat));
14193 if ((fabs(((-(
model_.
fbbtbot))/Fmaxr))<2.3025850929940458e+02))
14199 if ((((-(
model_.
fbbtbot))/Fmaxr)<(-2.3025850929940458e+02)))
14201 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtbot))/Fmaxr))*3.3333333333333333e-01))))))));
14205 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtbot))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14226 fbreakdown = (1/(1-tmp));
14233 ijunbot_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14266 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PSTI_i))));
14268 wsrh = (wsrhstep+dwsrh);
14288 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatsti))/btat);
14289 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14290 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14291 sqrtumax = sqrt(fabs(umax));
14292 umaxpoweronepointfive = (umax*sqrtumax);
14295 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14301 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14302 ktat = sqrt((0.375*(btat/sqrtumax)));
14303 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14305 xerfc = ((ltat-1)*ktat);
14306 ysq = (xerfc*xerfc);
14315 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14317 tmp = exp(((-ysq)+mtat));
14321 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14323 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14326 erfctimesexpmtat = erfcpos;
14330 if ((mtat>(-2.3025850929940458e+02)))
14336 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14338 erfctimesexpmtat = ((2*tmp)-erfcpos);
14340 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatsti)*erfctimesexpmtat)/ktat));
14358 if ((fabs(((-(
model_.
fbbtsti))/Fmaxr))<2.3025850929940458e+02))
14364 if ((((-(
model_.
fbbtsti))/Fmaxr)<(-2.3025850929940458e+02)))
14366 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtsti))/Fmaxr))*3.3333333333333333e-01))))))));
14370 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtsti))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14391 fbreakdown = (1/(1-tmp));
14398 ijunsti_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14431 dwsrh = (((((wsrhstep*wsrhstep)*log(wsrhstep))/(1-wsrhstep))+wsrhstep)*(1-(2*(
model_.
PGAT_i))));
14433 wsrh = (wsrhstep+dwsrh);
14453 twoatatoverthreebtat = ((0.666666666666667*(
model_.
atatgat))/btat);
14454 umaxbeforelimiting = (twoatatoverthreebtat*twoatatoverthreebtat);
14455 umax = sqrt(((umaxbeforelimiting*umaxbeforelimiting)/((umaxbeforelimiting*umaxbeforelimiting)+1)));
14456 sqrtumax = sqrt(fabs(umax));
14457 umaxpoweronepointfive = (umax*sqrtumax);
14460 wgamma = (1/(1+(btat*umaxpoweronepointfive)));
14466 wtat = ((
wsrh*wgamma)/(
wsrh+wgamma));
14467 ktat = sqrt((0.375*(btat/sqrtumax)));
14468 ltat = ((2*(twoatatoverthreebtat*sqrtumax))-umax);
14470 xerfc = ((ltat-1)*ktat);
14471 ysq = (xerfc*xerfc);
14480 if ((((-ysq)+mtat)>(-2.3025850929940458e+02)))
14482 tmp = exp(((-ysq)+mtat));
14486 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-ysq)+mtat))*(1.0+(((-2.3025850929940458e+02)-((-ysq)+mtat))*3.3333333333333333e-01))))))));
14488 erfcpos = ((((0.29214664*terfc)+((
model_.
berfc)*(terfc*terfc)))+((
model_.
cerfc)*((terfc*terfc)*terfc)))*tmp);
14491 erfctimesexpmtat = erfcpos;
14495 if ((mtat>(-2.3025850929940458e+02)))
14501 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-mtat)*(1.0+(0.5*(((-2.3025850929940458e+02)-mtat)*(1.0+(((-2.3025850929940458e+02)-mtat)*3.3333333333333333e-01))))))));
14503 erfctimesexpmtat = ((2*tmp)-erfcpos);
14505 gammamax = ((1.77245385090551603*0.5)*(((
model_.
atatgat)*erfctimesexpmtat)/ktat));
14523 if ((fabs(((-(
model_.
fbbtgat))/Fmaxr))<2.3025850929940458e+02))
14529 if ((((-(
model_.
fbbtgat))/Fmaxr)<(-2.3025850929940458e+02)))
14531 tmp = (1.0e-100/(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(0.5*(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*(1.0+(((-2.3025850929940458e+02)-((-(
model_.
fbbtgat))/Fmaxr))*3.3333333333333333e-01))))))));
14535 tmp = (1.0e100*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+(0.5*((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*(1.0+((((-(
model_.
fbbtgat))/Fmaxr)-2.3025850929940458e+02)*3.3333333333333333e-01))))))));
14556 fbreakdown = (1/(1-tmp));
14563 ijungat_d = ((((
id+isrh)+itat)+ibbt)*fbreakdown);
14576 Igsove = (
MULT_i*Igsov);
14577 Igdove = (
MULT_i*Igdov);
14578 Igidle = (
MULT_i*Igidl);
14579 Igisle = (
MULT_i*Igisl);
14580 Iimpacte = (
MULT_i*Iimpact);
14735 Qs = (-((Qg+Qb)+Qd));
14736 Qfgs = (
MULT_i*(Qfgs+Qgs_ov));
14737 Qfgd = (
MULT_i*(Qfgd+Qgd_ov));
14738 Qgb_ov = (
MULT_i*Qgb_ov);
14776 #ifdef Xyce_DEBUG_DEVICE
14779 Xyce::dout() <<
" probeVars[admsProbeID_V_DI_BD] = "
14781 Xyce::dout() <<
" probeVars[admsProbeID_V_SI_BS] = "
14783 Xyce::dout() <<
" probeVars[admsProbeID_V_SI_BP] = "
14785 Xyce::dout() <<
" probeVars[admsProbeID_V_DI_SI] = "
14787 Xyce::dout() <<
" probeVars[admsProbeID_V_GP_SI] = "
14789 Xyce::dout() <<
" probeVars[admsProbeID_V_B_BI] = "
14791 Xyce::dout() <<
" probeVars[admsProbeID_V_BP_BI] = "
14793 Xyce::dout() <<
" probeVars[admsProbeID_V_BD_BI] = "
14795 Xyce::dout() <<
" probeVars[admsProbeID_V_BS_BI] = "
14797 Xyce::dout() <<
" probeVars[admsProbeID_V_D_DI] = "
14799 Xyce::dout() <<
" probeVars[admsProbeID_V_S_SI] = "
14801 Xyce::dout() <<
" probeVars[admsProbeID_V_G_GP] = "
14803 Xyce::dout() <<
" staticContributions[admsNodeID_D] = "
14817 Xyce::dout() <<
" dynamicContributions[admsNodeID_D] = "
14831 Xyce::dout() <<
" staticContributions[admsNodeID_G] = "
14845 Xyce::dout() <<
" dynamicContributions[admsNodeID_G] = "
14859 Xyce::dout() <<
" staticContributions[admsNodeID_S] = "
14873 Xyce::dout() <<
" dynamicContributions[admsNodeID_S] = "
14887 Xyce::dout() <<
" staticContributions[admsNodeID_B] = "
14901 Xyce::dout() <<
" dynamicContributions[admsNodeID_B] = "
14915 Xyce::dout() <<
" staticContributions[admsNodeID_GP] = "
14929 Xyce::dout() <<
" dynamicContributions[admsNodeID_GP] = "
14943 Xyce::dout() <<
" staticContributions[admsNodeID_SI] = "
14957 Xyce::dout() <<
" dynamicContributions[admsNodeID_SI] = "
14971 Xyce::dout() <<
" staticContributions[admsNodeID_DI] = "
14985 Xyce::dout() <<
" dynamicContributions[admsNodeID_DI] = "
14999 Xyce::dout() <<
" staticContributions[admsNodeID_BI] = "
15013 Xyce::dout() <<
" dynamicContributions[admsNodeID_BI] = "
15027 Xyce::dout() <<
" staticContributions[admsNodeID_BP] = "
15041 Xyce::dout() <<
" dynamicContributions[admsNodeID_BP] = "
15055 Xyce::dout() <<
" staticContributions[admsNodeID_BS] = "
15069 Xyce::dout() <<
" dynamicContributions[admsNodeID_BS] = "
15083 Xyce::dout() <<
" staticContributions[admsNodeID_BD] = "
15097 Xyce::dout() <<
" dynamicContributions[admsNodeID_BD] = "
15113 Xyce::dout() <<
"This step was limited by this device." << std::endl;
15115 #endif // Xyce_DEBUG_DEVICE
15129 bool bsuccess =
true;
15132 #ifdef Xyce_DEBUG_DEVICE
15135 Xyce::dout() << subsection_divider << std::endl;
15136 Xyce::dout() <<
"ADMSPSP103VA::Instance::loadDAEdFdx (" <<
getName() <<
"):" << std::endl;
15142 #ifdef Xyce_DEBUG_DEVICE
15151 #ifdef Xyce_DEBUG_DEVICE
15160 #ifdef Xyce_DEBUG_DEVICE
15169 #ifdef Xyce_DEBUG_DEVICE
15178 #ifdef Xyce_DEBUG_DEVICE
15187 #ifdef Xyce_DEBUG_DEVICE
15196 #ifdef Xyce_DEBUG_DEVICE
15205 #ifdef Xyce_DEBUG_DEVICE
15214 #ifdef Xyce_DEBUG_DEVICE
15223 #ifdef Xyce_DEBUG_DEVICE
15232 #ifdef Xyce_DEBUG_DEVICE
15241 #ifdef Xyce_DEBUG_DEVICE
15250 #ifdef Xyce_DEBUG_DEVICE
15259 #ifdef Xyce_DEBUG_DEVICE
15268 #ifdef Xyce_DEBUG_DEVICE
15277 #ifdef Xyce_DEBUG_DEVICE
15286 #ifdef Xyce_DEBUG_DEVICE
15295 #ifdef Xyce_DEBUG_DEVICE
15304 #ifdef Xyce_DEBUG_DEVICE
15313 #ifdef Xyce_DEBUG_DEVICE
15322 #ifdef Xyce_DEBUG_DEVICE
15331 #ifdef Xyce_DEBUG_DEVICE
15340 #ifdef Xyce_DEBUG_DEVICE
15349 #ifdef Xyce_DEBUG_DEVICE
15358 #ifdef Xyce_DEBUG_DEVICE
15367 #ifdef Xyce_DEBUG_DEVICE
15376 #ifdef Xyce_DEBUG_DEVICE
15385 #ifdef Xyce_DEBUG_DEVICE
15394 #ifdef Xyce_DEBUG_DEVICE
15403 #ifdef Xyce_DEBUG_DEVICE
15412 #ifdef Xyce_DEBUG_DEVICE
15421 #ifdef Xyce_DEBUG_DEVICE
15430 #ifdef Xyce_DEBUG_DEVICE
15439 #ifdef Xyce_DEBUG_DEVICE
15448 #ifdef Xyce_DEBUG_DEVICE
15457 #ifdef Xyce_DEBUG_DEVICE
15466 #ifdef Xyce_DEBUG_DEVICE
15475 #ifdef Xyce_DEBUG_DEVICE
15484 #ifdef Xyce_DEBUG_DEVICE
15493 #ifdef Xyce_DEBUG_DEVICE
15502 #ifdef Xyce_DEBUG_DEVICE
15511 #ifdef Xyce_DEBUG_DEVICE
15520 #ifdef Xyce_DEBUG_DEVICE
15529 #ifdef Xyce_DEBUG_DEVICE
15538 #ifdef Xyce_DEBUG_DEVICE
15547 #ifdef Xyce_DEBUG_DEVICE
15556 #ifdef Xyce_DEBUG_DEVICE
15578 bool bsuccess =
true;
15581 #ifdef Xyce_DEBUG_DEVICE
15584 Xyce::dout() << subsection_divider << std::endl;
15585 Xyce::dout() <<
"ADMSPSP103VA::Instance::loadDAEdQdx (" <<
getName() <<
"):" << std::endl;
15591 #ifdef Xyce_DEBUG_DEVICE
15600 #ifdef Xyce_DEBUG_DEVICE
15609 #ifdef Xyce_DEBUG_DEVICE
15618 #ifdef Xyce_DEBUG_DEVICE
15627 #ifdef Xyce_DEBUG_DEVICE
15636 #ifdef Xyce_DEBUG_DEVICE
15645 #ifdef Xyce_DEBUG_DEVICE
15654 #ifdef Xyce_DEBUG_DEVICE
15663 #ifdef Xyce_DEBUG_DEVICE
15672 #ifdef Xyce_DEBUG_DEVICE
15681 #ifdef Xyce_DEBUG_DEVICE
15690 #ifdef Xyce_DEBUG_DEVICE
15699 #ifdef Xyce_DEBUG_DEVICE
15708 #ifdef Xyce_DEBUG_DEVICE
15717 #ifdef Xyce_DEBUG_DEVICE
15726 #ifdef Xyce_DEBUG_DEVICE
15735 #ifdef Xyce_DEBUG_DEVICE
15744 #ifdef Xyce_DEBUG_DEVICE
15753 #ifdef Xyce_DEBUG_DEVICE
15762 #ifdef Xyce_DEBUG_DEVICE
15771 #ifdef Xyce_DEBUG_DEVICE
15780 #ifdef Xyce_DEBUG_DEVICE
15789 #ifdef Xyce_DEBUG_DEVICE
15798 #ifdef Xyce_DEBUG_DEVICE
15807 #ifdef Xyce_DEBUG_DEVICE
15816 #ifdef Xyce_DEBUG_DEVICE
15825 #ifdef Xyce_DEBUG_DEVICE
15834 #ifdef Xyce_DEBUG_DEVICE
15880 if ( (!((
TYPE >=(-1.0) &&
TYPE <=1.0 ))) )
15882 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TYPE value " <<
TYPE <<
" out of range [ (-1.0), 1.0 ]";
15886 if ( (!((
TR >=(-273.0)))) )
15888 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TR value " <<
TR <<
" out of range [ (-273.0), (+inf) [";
15894 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWGEO value " <<
SWGEO <<
" out of range [ 0.0, 2.0 ]";
15900 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWIGATE value " <<
SWIGATE <<
" out of range [ 0.0, 1.0 ]";
15906 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWIMPACT value " <<
SWIMPACT <<
" out of range [ 0.0, 1.0 ]";
15912 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWGIDL value " <<
SWGIDL <<
" out of range [ 0.0, 1.0 ]";
15918 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWJUNCAP value " <<
SWJUNCAP <<
" out of range [ 0.0, 3.0 ]";
15924 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWNUD value " <<
SWNUD <<
" out of range [ 0.0, 2.0 ]";
15930 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWDELVTAC value " <<
SWDELVTAC <<
" out of range [ 0.0, 1.0 ]";
15934 if ( (!((
QMC >=0.0))) )
15936 UserError0(*
this) <<
"ADMSPSP103VA: Parameter QMC value " <<
QMC <<
" out of range [ 0.0, (+inf) [";
15940 if ( (!((
TOX >=1e-10))) )
15942 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOX value " <<
TOX <<
" out of range [ 1e-10, (+inf) [";
15946 if ( (!((
EPSROX >=1.0))) )
15948 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EPSROX value " <<
EPSROX <<
" out of range [ 1.0, (+inf) [";
15952 if ( (!((
NEFF >=1e20 &&
NEFF <=1e26 ))) )
15954 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NEFF value " <<
NEFF <<
" out of range [ 1e20, 1e26 ]";
15960 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FACNEFFAC value " <<
FACNEFFAC <<
" out of range [ 0.0, (+inf) [";
15966 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GFACNUD value " <<
GFACNUD <<
" out of range [ 0.01, (+inf) [";
15970 if ( (!((
VSBNUD >=0.0))) )
15972 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VSBNUD value " <<
VSBNUD <<
" out of range [ 0.0, (+inf) [";
15978 UserError0(*
this) <<
"ADMSPSP103VA: Parameter DVSBNUD value " <<
DVSBNUD <<
" out of range [ 0.1, (+inf) [";
15982 if ( (!((
NSLP >=1e-3))) )
15984 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NSLP value " <<
NSLP <<
" out of range [ 1e-3, (+inf) [";
15990 UserError0(*
this) <<
"ADMSPSP103VA: Parameter DNSUB value " <<
DNSUB <<
" out of range [ 0.0, 1.0 ]";
15994 if ( (!((
NP >=0.0))) )
15996 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NP value " <<
NP <<
" out of range [ 0.0, (+inf) [";
16000 if ( (!((
CT >=0.0))) )
16002 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CT value " <<
CT <<
" out of range [ 0.0, (+inf) [";
16006 if ( (!((
TOXOV >=1e-10))) )
16008 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOV value " <<
TOXOV <<
" out of range [ 1e-10, (+inf) [";
16012 if ( (!((
TOXOVD >=1e-10))) )
16014 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVD value " <<
TOXOVD <<
" out of range [ 1e-10, (+inf) [";
16018 if ( (!((
NOV >=1e20 &&
NOV <=1e27 ))) )
16020 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NOV value " <<
NOV <<
" out of range [ 1e20, 1e27 ]";
16024 if ( (!((
NOVD >=1e20 &&
NOVD <=1e27 ))) )
16026 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NOVD value " <<
NOVD <<
" out of range [ 1e20, 1e27 ]";
16030 if ( (!((
CF >=0.0))) )
16032 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CF value " <<
CF <<
" out of range [ 0.0, (+inf) [";
16036 if ( (!((
CFB >=0.0 &&
CFB <=1.0 ))) )
16038 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFB value " <<
CFB <<
" out of range [ 0.0, 1.0 ]";
16042 if ( (!((
BETN >=0.0))) )
16044 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BETN value " <<
BETN <<
" out of range [ 0.0, (+inf) [";
16048 if ( (!((
MUE >=0.0))) )
16050 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MUE value " <<
MUE <<
" out of range [ 0.0, (+inf) [";
16054 if ( (!((
THEMU >=0.0))) )
16056 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THEMU value " <<
THEMU <<
" out of range [ 0.0, (+inf) [";
16060 if ( (!((
CS >=0.0))) )
16062 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CS value " <<
CS <<
" out of range [ 0.0, (+inf) [";
16066 if ( (!((
XCOR >=0.0))) )
16068 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XCOR value " <<
XCOR <<
" out of range [ 0.0, (+inf) [";
16072 if ( (!((
FETA >=0.0))) )
16074 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FETA value " <<
FETA <<
" out of range [ 0.0, (+inf) [";
16078 if ( (!((
RS >=0.0))) )
16080 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RS value " <<
RS <<
" out of range [ 0.0, (+inf) [";
16084 if ( (!((
RSB >=(-0.5) &&
RSB <=1.0 ))) )
16086 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSB value " <<
RSB <<
" out of range [ (-0.5), 1.0 ]";
16090 if ( (!((
RSG >=(-0.5)))) )
16092 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSG value " <<
RSG <<
" out of range [ (-0.5), (+inf) [";
16096 if ( (!((
THESAT >=0.0))) )
16098 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESAT value " <<
THESAT <<
" out of range [ 0.0, (+inf) [";
16104 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESATB value " <<
THESATB <<
" out of range [ (-0.5), 1.0 ]";
16108 if ( (!((
THESATG >=(-0.5)))) )
16110 UserError0(*
this) <<
"ADMSPSP103VA: Parameter THESATG value " <<
THESATG <<
" out of range [ (-0.5), (+inf) [";
16114 if ( (!((
AX >=2.0))) )
16116 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AX value " <<
AX <<
" out of range [ 2.0, (+inf) [";
16120 if ( (!((
ALP >=0.0))) )
16122 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP value " <<
ALP <<
" out of range [ 0.0, (+inf) [";
16126 if ( (!((
ALP1 >=0.0))) )
16128 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP1 value " <<
ALP1 <<
" out of range [ 0.0, (+inf) [";
16132 if ( (!((
ALP2 >=0.0))) )
16134 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP2 value " <<
ALP2 <<
" out of range [ 0.0, (+inf) [";
16138 if ( (!((
VP >=1e-10))) )
16140 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VP value " <<
VP <<
" out of range [ 1e-10, (+inf) [";
16144 if ( (!((
A1 >=0.0))) )
16146 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A1 value " <<
A1 <<
" out of range [ 0.0, (+inf) [";
16150 if ( (!((
A2 >=0.0))) )
16152 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A2 value " <<
A2 <<
" out of range [ 0.0, (+inf) [";
16156 if ( (!((
A3 >=0.0))) )
16158 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A3 value " <<
A3 <<
" out of range [ 0.0, (+inf) [";
16162 if ( (!((
A4 >=0.0))) )
16164 UserError0(*
this) <<
"ADMSPSP103VA: Parameter A4 value " <<
A4 <<
" out of range [ 0.0, (+inf) [";
16168 if ( (!((
GCO >=(-10.0) &&
GCO <=10.0 ))) )
16170 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GCO value " <<
GCO <<
" out of range [ (-10.0), 10.0 ]";
16174 if ( (!((
IGINV >=0.0))) )
16176 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGINV value " <<
IGINV <<
" out of range [ 0.0, (+inf) [";
16180 if ( (!((
IGOV >=0.0))) )
16182 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGOV value " <<
IGOV <<
" out of range [ 0.0, (+inf) [";
16186 if ( (!((
IGOVD >=0.0))) )
16188 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IGOVD value " <<
IGOVD <<
" out of range [ 0.0, (+inf) [";
16192 if ( (!((
GC2 >=0.0 &&
GC2 <=10.0 ))) )
16194 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GC2 value " <<
GC2 <<
" out of range [ 0.0, 10.0 ]";
16198 if ( (!((
GC3 >=(-2.0) &&
GC3 <=2.0 ))) )
16200 UserError0(*
this) <<
"ADMSPSP103VA: Parameter GC3 value " <<
GC3 <<
" out of range [ (-2.0), 2.0 ]";
16204 if ( (!((
CHIB >=1.0))) )
16206 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CHIB value " <<
CHIB <<
" out of range [ 1.0, (+inf) [";
16210 if ( (!((
AGIDL >=0.0))) )
16212 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AGIDL value " <<
AGIDL <<
" out of range [ 0.0, (+inf) [";
16216 if ( (!((
AGIDLD >=0.0))) )
16218 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AGIDLD value " <<
AGIDLD <<
" out of range [ 0.0, (+inf) [";
16222 if ( (!((
BGIDL >=0.0))) )
16224 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BGIDL value " <<
BGIDL <<
" out of range [ 0.0, (+inf) [";
16228 if ( (!((
BGIDLD >=0.0))) )
16230 UserError0(*
this) <<
"ADMSPSP103VA: Parameter BGIDLD value " <<
BGIDLD <<
" out of range [ 0.0, (+inf) [";
16234 if ( (!((
COX >=0.0))) )
16236 UserError0(*
this) <<
"ADMSPSP103VA: Parameter COX value " <<
COX <<
" out of range [ 0.0, (+inf) [";
16240 if ( (!((
CGOV >=0.0))) )
16242 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGOV value " <<
CGOV <<
" out of range [ 0.0, (+inf) [";
16246 if ( (!((
CGOVD >=0.0))) )
16248 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGOVD value " <<
CGOVD <<
" out of range [ 0.0, (+inf) [";
16252 if ( (!((
CGBOV >=0.0))) )
16254 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CGBOV value " <<
CGBOV <<
" out of range [ 0.0, (+inf) [";
16258 if ( (!((
CFR >=0.0))) )
16260 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFR value " <<
CFR <<
" out of range [ 0.0, (+inf) [";
16264 if ( (!((
CFRD >=0.0))) )
16266 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CFRD value " <<
CFRD <<
" out of range [ 0.0, (+inf) [";
16270 if ( (!((
FNT >=0.0))) )
16272 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FNT value " <<
FNT <<
" out of range [ 0.0, (+inf) [";
16276 if ( (!((
NFA >=0.0))) )
16278 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFA value " <<
NFA <<
" out of range [ 0.0, (+inf) [";
16282 if ( (!((
NFB >=0.0))) )
16284 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFB value " <<
NFB <<
" out of range [ 0.0, (+inf) [";
16288 if ( (!((
NFC >=0.0))) )
16290 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NFC value " <<
NFC <<
" out of range [ 0.0, (+inf) [";
16294 if ( (!((
EF >=0.0))) )
16296 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EF value " <<
EF <<
" out of range [ 0.0, (+inf) [";
16300 if ( (!((
RG >=0.0))) )
16302 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RG value " <<
RG <<
" out of range [ 0.0, (+inf) [";
16306 if ( (!((
RSE >=0.0))) )
16308 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSE value " <<
RSE <<
" out of range [ 0.0, (+inf) [";
16312 if ( (!((
RDE >=0.0))) )
16314 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RDE value " <<
RDE <<
" out of range [ 0.0, (+inf) [";
16318 if ( (!((
RBULK >=0.0))) )
16320 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RBULK value " <<
RBULK <<
" out of range [ 0.0, (+inf) [";
16324 if ( (!((
RWELL >=0.0))) )
16326 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RWELL value " <<
RWELL <<
" out of range [ 0.0, (+inf) [";
16330 if ( (!((
RJUNS >=0.0))) )
16332 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RJUNS value " <<
RJUNS <<
" out of range [ 0.0, (+inf) [";
16336 if ( (!((
RJUND >=0.0))) )
16338 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RJUND value " <<
RJUND <<
" out of range [ 0.0, (+inf) [";
16342 if ( (!((
TOXO >=1e-10))) )
16344 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXO value " <<
TOXO <<
" out of range [ 1e-10, (+inf) [";
16350 UserError0(*
this) <<
"ADMSPSP103VA: Parameter EPSROXO value " <<
EPSROXO <<
" out of range [ 1.0, (+inf) [";
16354 if ( (!((
NSUBO >=1e20))) )
16356 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NSUBO value " <<
NSUBO <<
" out of range [ 1e20, (+inf) [";
16360 if ( (!((
WSEG >=1e-10))) )
16362 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WSEG value " <<
WSEG <<
" out of range [ 1e-10, (+inf) [";
16366 if ( (!((
NPCK >=0.0))) )
16368 UserError0(*
this) <<
"ADMSPSP103VA: Parameter NPCK value " <<
NPCK <<
" out of range [ 0.0, (+inf) [";
16372 if ( (!((
WSEGP >=1e-10))) )
16374 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WSEGP value " <<
WSEGP <<
" out of range [ 1e-10, (+inf) [";
16378 if ( (!((
LPCK >=1e-10))) )
16380 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LPCK value " <<
LPCK <<
" out of range [ 1e-10, (+inf) [";
16384 if ( (!((
TOXOVO >=1e-10))) )
16386 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVO value " <<
TOXOVO <<
" out of range [ 1e-10, (+inf) [";
16390 if ( (!((
TOXOVDO >=1e-10))) )
16392 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TOXOVDO value " <<
TOXOVDO <<
" out of range [ 1e-10, (+inf) [";
16396 if ( (!((
LOV >=0.0))) )
16398 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LOV value " <<
LOV <<
" out of range [ 0.0, (+inf) [";
16402 if ( (!((
LOVD >=0.0))) )
16404 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LOVD value " <<
LOVD <<
" out of range [ 0.0, (+inf) [";
16408 if ( (!((
LP1 >=1e-10))) )
16410 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LP1 value " <<
LP1 <<
" out of range [ 1e-10, (+inf) [";
16414 if ( (!((
LP2 >=1e-10))) )
16416 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LP2 value " <<
LP2 <<
" out of range [ 1e-10, (+inf) [";
16420 if ( (!((
WBET >=1e-10))) )
16422 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WBET value " <<
WBET <<
" out of range [ 1e-10, (+inf) [";
16426 if ( (!((
AXL >=0.0))) )
16428 UserError0(*
this) <<
"ADMSPSP103VA: Parameter AXL value " <<
AXL <<
" out of range [ 0.0, (+inf) [";
16432 if ( (!((
ALP1L2 >=0.0))) )
16434 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP1L2 value " <<
ALP1L2 <<
" out of range [ 0.0, (+inf) [";
16438 if ( (!((
ALP2L2 >=0.0))) )
16440 UserError0(*
this) <<
"ADMSPSP103VA: Parameter ALP2L2 value " <<
ALP2L2 <<
" out of range [ 0.0, (+inf) [";
16444 if ( (!((
RINT >=0.0))) )
16446 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RINT value " <<
RINT <<
" out of range [ 0.0, (+inf) [";
16450 if ( (!((
RVPOLY >=0.0))) )
16452 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RVPOLY value " <<
RVPOLY <<
" out of range [ 0.0, (+inf) [";
16456 if ( (!((
RSHG >=0.0))) )
16458 UserError0(*
this) <<
"ADMSPSP103VA: Parameter RSHG value " <<
RSHG <<
" out of range [ 0.0, (+inf) [";
16462 if ( (!((
SAREF >=1e-9))) )
16464 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SAREF value " <<
SAREF <<
" out of range [ 1e-9, (+inf) [";
16468 if ( (!((
SBREF >=1e-9))) )
16470 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SBREF value " <<
SBREF <<
" out of range [ 1e-9, (+inf) [";
16474 if ( (!((
KVSAT >=(-1.0) &&
KVSAT <=1.0 ))) )
16476 UserError0(*
this) <<
"ADMSPSP103VA: Parameter KVSAT value " <<
KVSAT <<
" out of range [ (-1.0), 1.0 ]";
16482 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LLODKUO value " <<
LLODKUO <<
" out of range [ 0.0, (+inf) [";
16488 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WLODKUO value " <<
WLODKUO <<
" out of range [ 0.0, (+inf) [";
16494 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LLODVTH value " <<
LLODVTH <<
" out of range [ 0.0, (+inf) [";
16500 UserError0(*
this) <<
"ADMSPSP103VA: Parameter WLODVTH value " <<
WLODVTH <<
" out of range [ 0.0, (+inf) [";
16506 UserError0(*
this) <<
"ADMSPSP103VA: Parameter LODETAO value " <<
LODETAO <<
" out of range [ 0.0, (+inf) [";
16510 if ( (!((
SCREF >=0.0))) )
16512 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SCREF value " <<
SCREF <<
" out of range [ 0.0, (+inf) [";
16516 if ( (!((
IMAX >=1E-12))) )
16518 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IMAX value " <<
IMAX <<
" out of range [ 1E-12, (+inf) [";
16522 if ( (!((
TRJ >=(-250)))) )
16524 UserError0(*
this) <<
"ADMSPSP103VA: Parameter TRJ value " <<
TRJ <<
" out of range [ (-250), (+inf) [";
16528 if ( (!((
CJORBOT >=1E-12))) )
16530 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORBOT value " <<
CJORBOT <<
" out of range [ 1E-12, (+inf) [";
16534 if ( (!((
CJORSTI >=1E-18))) )
16536 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORSTI value " <<
CJORSTI <<
" out of range [ 1E-18, (+inf) [";
16540 if ( (!((
CJORGAT >=1E-18))) )
16542 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORGAT value " <<
CJORGAT <<
" out of range [ 1E-18, (+inf) [";
16546 if ( (!((
VBIRBOT >=0.050))) )
16548 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRBOT value " <<
VBIRBOT <<
" out of range [ 0.050, (+inf) [";
16552 if ( (!((
VBIRSTI >=0.050))) )
16554 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRSTI value " <<
VBIRSTI <<
" out of range [ 0.050, (+inf) [";
16558 if ( (!((
VBIRGAT >=0.050))) )
16560 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRGAT value " <<
VBIRGAT <<
" out of range [ 0.050, (+inf) [";
16564 if ( (!((
PBOT >=0.05 &&
PBOT <=0.95 ))) )
16566 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBOT value " <<
PBOT <<
" out of range [ 0.05, 0.95 ]";
16570 if ( (!((
PSTI >=0.05 &&
PSTI <=0.95 ))) )
16572 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PSTI value " <<
PSTI <<
" out of range [ 0.05, 0.95 ]";
16576 if ( (!((
PGAT >=0.05 &&
PGAT <=0.95 ))) )
16578 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PGAT value " <<
PGAT <<
" out of range [ 0.05, 0.95 ]";
16584 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRBOT value " <<
IDSATRBOT <<
" out of range [ 0, (+inf) [";
16590 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRSTI value " <<
IDSATRSTI <<
" out of range [ 0, (+inf) [";
16596 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRGAT value " <<
IDSATRGAT <<
" out of range [ 0, (+inf) [";
16602 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHBOT value " <<
CSRHBOT <<
" out of range [ 0, (+inf) [";
16608 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHSTI value " <<
CSRHSTI <<
" out of range [ 0, (+inf) [";
16614 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHGAT value " <<
CSRHGAT <<
" out of range [ 0, (+inf) [";
16620 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNSTI value " <<
XJUNSTI <<
" out of range [ 1E-9, (+inf) [";
16626 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNGAT value " <<
XJUNGAT <<
" out of range [ 1E-9, (+inf) [";
16632 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATBOT value " <<
CTATBOT <<
" out of range [ 0, (+inf) [";
16638 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATSTI value " <<
CTATSTI <<
" out of range [ 0, (+inf) [";
16644 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATGAT value " <<
CTATGAT <<
" out of range [ 0, (+inf) [";
16650 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATBOT value " <<
MEFFTATBOT <<
" out of range [ 0.01, (+inf) [";
16656 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATSTI value " <<
MEFFTATSTI <<
" out of range [ 0.01, (+inf) [";
16662 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATGAT value " <<
MEFFTATGAT <<
" out of range [ 0.01, (+inf) [";
16668 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTBOT value " <<
CBBTBOT <<
" out of range [ 0, (+inf) [";
16674 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTSTI value " <<
CBBTSTI <<
" out of range [ 0, (+inf) [";
16680 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTGAT value " <<
CBBTGAT <<
" out of range [ 0, (+inf) [";
16684 if ( (!((
VBRBOT >=0.1))) )
16686 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRBOT value " <<
VBRBOT <<
" out of range [ 0.1, (+inf) [";
16690 if ( (!((
VBRSTI >=0.1))) )
16692 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRSTI value " <<
VBRSTI <<
" out of range [ 0.1, (+inf) [";
16696 if ( (!((
VBRGAT >=0.1))) )
16698 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRGAT value " <<
VBRGAT <<
" out of range [ 0.1, (+inf) [";
16702 if ( (!((
PBRBOT >=0.1))) )
16704 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRBOT value " <<
PBRBOT <<
" out of range [ 0.1, (+inf) [";
16708 if ( (!((
PBRSTI >=0.1))) )
16710 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRSTI value " <<
PBRSTI <<
" out of range [ 0.1, (+inf) [";
16714 if ( (!((
PBRGAT >=0.1))) )
16716 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRGAT value " <<
PBRGAT <<
" out of range [ 0.1, (+inf) [";
16722 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORBOTD value " <<
CJORBOTD <<
" out of range [ 1E-12, (+inf) [";
16728 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORSTID value " <<
CJORSTID <<
" out of range [ 1E-18, (+inf) [";
16734 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CJORGATD value " <<
CJORGATD <<
" out of range [ 1E-18, (+inf) [";
16740 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRBOTD value " <<
VBIRBOTD <<
" out of range [ 0.050, (+inf) [";
16746 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRSTID value " <<
VBIRSTID <<
" out of range [ 0.050, (+inf) [";
16752 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBIRGATD value " <<
VBIRGATD <<
" out of range [ 0.050, (+inf) [";
16758 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBOTD value " <<
PBOTD <<
" out of range [ 0.05, 0.95 ]";
16764 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PSTID value " <<
PSTID <<
" out of range [ 0.05, 0.95 ]";
16770 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PGATD value " <<
PGATD <<
" out of range [ 0.05, 0.95 ]";
16776 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRBOTD value " <<
IDSATRBOTD <<
" out of range [ 0, (+inf) [";
16782 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRSTID value " <<
IDSATRSTID <<
" out of range [ 0, (+inf) [";
16788 UserError0(*
this) <<
"ADMSPSP103VA: Parameter IDSATRGATD value " <<
IDSATRGATD <<
" out of range [ 0, (+inf) [";
16794 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHBOTD value " <<
CSRHBOTD <<
" out of range [ 0, (+inf) [";
16800 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHSTID value " <<
CSRHSTID <<
" out of range [ 0, (+inf) [";
16806 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CSRHGATD value " <<
CSRHGATD <<
" out of range [ 0, (+inf) [";
16812 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNSTID value " <<
XJUNSTID <<
" out of range [ 1E-9, (+inf) [";
16818 UserError0(*
this) <<
"ADMSPSP103VA: Parameter XJUNGATD value " <<
XJUNGATD <<
" out of range [ 1E-9, (+inf) [";
16824 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATBOTD value " <<
CTATBOTD <<
" out of range [ 0, (+inf) [";
16830 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATSTID value " <<
CTATSTID <<
" out of range [ 0, (+inf) [";
16836 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CTATGATD value " <<
CTATGATD <<
" out of range [ 0, (+inf) [";
16842 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATBOTD value " <<
MEFFTATBOTD <<
" out of range [ 0.01, (+inf) [";
16848 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATSTID value " <<
MEFFTATSTID <<
" out of range [ 0.01, (+inf) [";
16854 UserError0(*
this) <<
"ADMSPSP103VA: Parameter MEFFTATGATD value " <<
MEFFTATGATD <<
" out of range [ 0.01, (+inf) [";
16860 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTBOTD value " <<
CBBTBOTD <<
" out of range [ 0, (+inf) [";
16866 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTSTID value " <<
CBBTSTID <<
" out of range [ 0, (+inf) [";
16872 UserError0(*
this) <<
"ADMSPSP103VA: Parameter CBBTGATD value " <<
CBBTGATD <<
" out of range [ 0, (+inf) [";
16878 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRBOTD value " <<
VBRBOTD <<
" out of range [ 0.1, (+inf) [";
16884 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRSTID value " <<
VBRSTID <<
" out of range [ 0.1, (+inf) [";
16890 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VBRGATD value " <<
VBRGATD <<
" out of range [ 0.1, (+inf) [";
16896 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRBOTD value " <<
PBRBOTD <<
" out of range [ 0.1, (+inf) [";
16902 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRSTID value " <<
PBRSTID <<
" out of range [ 0.1, (+inf) [";
16908 UserError0(*
this) <<
"ADMSPSP103VA: Parameter PBRGATD value " <<
PBRGATD <<
" out of range [ 0.1, (+inf) [";
16914 UserError0(*
this) <<
"ADMSPSP103VA: Parameter SWJUNEXP value " <<
SWJUNEXP <<
" out of range [ 0.0, 1.0 ]";
16920 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VJUNREF value " <<
VJUNREF <<
" out of range [ 0.5, (+inf) [";
16924 if ( (!((
FJUNQ >=0.0))) )
16926 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FJUNQ value " <<
FJUNQ <<
" out of range [ 0.0, (+inf) [";
16932 UserError0(*
this) <<
"ADMSPSP103VA: Parameter VJUNREFD value " <<
VJUNREFD <<
" out of range [ 0.5, (+inf) [";
16936 if ( (!((
FJUNQD >=0.0))) )
16938 UserError0(*
this) <<
"ADMSPSP103VA: Parameter FJUNQD value " <<
FJUNQD <<
" out of range [ 0.0, (+inf) [";
16947 double KBOL_over_QELE;
17007 TR_i = ((
TR>(-273))?
TR:(-273));
17008 TKR = (273.15+TR_i);
17014 phit = ((
TKD*1.3806505E-23)/1.6021918E-19);
17016 Eg = ((1.179-(9.025e-5*
TKD))-(3.05e-7*TKD_sq));
17017 phibFac = ((((1.045+(4.5e-4*
TKD))*((0.523+(1.4e-3*
TKD))-(1.48e-6*TKD_sq)))*TKD_sq)/9.0E4);
17019 EPSSI = (8.8541878176E-12*11.8);
17020 nt0 = ((4*1.3806505E-23)*
TKD);
17021 TRJ_i = ((
TRJ>(-250))?
TRJ:(-250));
17210 tkr = (273.15+TRJ_i);
17213 KBOL_over_QELE = (1.3806505E-23/1.6021918E-19);
17214 phitr = (KBOL_over_QELE*tkr);
17215 phitrinv = (1.0/
phitr);
17216 phitd = (KBOL_over_QELE*tkd);
17218 deltaphigr = ((-((7.02e-4*tkr)*tkr))/(1108.0+tkr));
17222 deltaphigd = ((-((7.02e-4*tkd)*tkd))/(1108.0+tkd));
17265 perfc = (1.77245385090551603*0.29214664);
17266 berfc = (((((-5)*0.29214664)+6)-pow(
perfc,(-2)))/3);
17447 std::vector<Instance*>::iterator iter;
17451 for (iter=first; iter!=last; ++iter)
17453 (*iter)->processParams();
17471 :
DeviceModel(model_block, configuration.getModelParameters(), factory_block),
18032 STFBBTBOT((-1E-3)),
18033 STFBBTSTI((-1E-3)),
18034 STFBBTGAT((-1E-3)),
18073 STFBBTBOTD((-1E-3)),
18074 STFBBTSTID((-1E-3)),
18075 STFBBTGATD((-1E-3)),
18213 one_minus_PBOT(0.0),
18214 one_minus_PSTI(0.0),
18215 one_minus_PGAT(0.0),
18216 one_over_one_minus_PBOT(0.0),
18217 one_over_one_minus_PSTI(0.0),
18218 one_over_one_minus_PGAT(0.0),
18231 wdepnulrinvbot(0.0),
18232 wdepnulrinvsti(0.0),
18233 wdepnulrinvgat(0.0),
18281 MEFFTATBOTS_i(0.0),
18282 MEFFTATSTIS_i(0.0),
18283 MEFFTATGATS_i(0.0),
18322 MEFFTATBOTD_i(0.0),
18323 MEFFTATSTID_i(0.0),
18324 MEFFTATGATD_i(0.0),
18365 one_minus_PBOT_s(0.0),
18366 one_minus_PSTI_s(0.0),
18367 one_minus_PGAT_s(0.0),
18368 one_over_one_minus_PBOT_s(0.0),
18369 one_over_one_minus_PSTI_s(0.0),
18370 one_over_one_minus_PGAT_s(0.0),
18380 wdepnulrbot_s(0.0),
18381 wdepnulrsti_s(0.0),
18382 wdepnulrgat_s(0.0),
18383 wdepnulrinvbot_s(0.0),
18384 wdepnulrinvsti_s(0.0),
18385 wdepnulrinvgat_s(0.0),
18395 btatpartbot_s(0.0),
18396 btatpartsti_s(0.0),
18397 btatpartgat_s(0.0),
18431 one_minus_PBOT_d(0.0),
18432 one_minus_PSTI_d(0.0),
18433 one_minus_PGAT_d(0.0),
18434 one_over_one_minus_PBOT_d(0.0),
18435 one_over_one_minus_PSTI_d(0.0),
18436 one_over_one_minus_PGAT_d(0.0),
18446 wdepnulrbot_d(0.0),
18447 wdepnulrsti_d(0.0),
18448 wdepnulrgat_d(0.0),
18449 wdepnulrinvbot_d(0.0),
18450 wdepnulrinvsti_d(0.0),
18451 wdepnulrinvgat_d(0.0),
18461 btatpartbot_d(0.0),
18462 btatpartsti_d(0.0),
18463 btatpartgat_d(0.0),
18488 if (!
given(
"XYCEADMSMODTEMP"))
18514 std::vector<Instance*>::iterator iterI;
18519 for (iterI = firstI; iterI != lastI; ++iterI)
18535 std::vector<Instance*>::const_iterator iter;
18541 os <<
" name model name Parameters" << std::endl;
18542 for (i=0, iter=first; iter!=last; ++iter, ++i)
18544 os <<
" " << i <<
": " << (*iter)->getName() <<
" ";
18548 os <<
"L = " << (*iter)->L << std::endl;
18549 os <<
"W = " << (*iter)->W << std::endl;
18550 os <<
"SA = " << (*iter)->SA << std::endl;
18551 os <<
"SB = " << (*iter)->SB << std::endl;
18552 os <<
"SD = " << (*iter)->SD << std::endl;
18553 os <<
"SCA = " << (*iter)->SCA << std::endl;
18554 os <<
"SCB = " << (*iter)->SCB << std::endl;
18555 os <<
"SCC = " << (*iter)->SCC << std::endl;
18556 os <<
"SC = " << (*iter)->SC << std::endl;
18557 os <<
"NF = " << (*iter)->NF << std::endl;
18558 os <<
"NGCON = " << (*iter)->NGCON << std::endl;
18559 os <<
"XGW = " << (*iter)->XGW << std::endl;
18560 os <<
"NRS = " << (*iter)->NRS << std::endl;
18561 os <<
"NRD = " << (*iter)->NRD << std::endl;
18562 os <<
"JW = " << (*iter)->JW << std::endl;
18563 os <<
"DELVTO = " << (*iter)->DELVTO << std::endl;
18564 os <<
"FACTUO = " << (*iter)->FACTUO << std::endl;
18565 os <<
"ABSOURCE = " << (*iter)->ABSOURCE << std::endl;
18566 os <<
"LSSOURCE = " << (*iter)->LSSOURCE << std::endl;
18567 os <<
"LGSOURCE = " << (*iter)->LGSOURCE << std::endl;
18568 os <<
"ABDRAIN = " << (*iter)->ABDRAIN << std::endl;
18569 os <<
"LSDRAIN = " << (*iter)->LSDRAIN << std::endl;
18570 os <<
"LGDRAIN = " << (*iter)->LGDRAIN << std::endl;
18571 os <<
"AS = " << (*iter)->AS << std::endl;
18572 os <<
"PS = " << (*iter)->PS << std::endl;
18573 os <<
"AD = " << (*iter)->AD << std::endl;
18574 os <<
"PD = " << (*iter)->PD << std::endl;
18575 os <<
"MULT = " << (*iter)->MULT << std::endl;
18600 for (std::vector<Instance *>::const_iterator it = instanceContainer.begin(); it != instanceContainer.end(); ++it)
18612 .registerDevice(
"m", 103)
18613 .registerModelType(
"nmos", 103)
18614 .registerModelType(
"pmos", 103);