49 #include <Xyce_config.h>
61 #include <N_LAS_Matrix.h>
62 #include <N_LAS_Vector.h>
64 #include <N_UTL_FeatureTest.h>
65 #if defined(HAVE_UNORDERED_MAP)
66 #include <unordered_map>
67 using std::unordered_map;
68 #elif defined(HAVE_TR1_UNORDERED_MAP)
69 #include <tr1/unordered_map>
70 using std::tr1::unordered_map;
72 #error neither unordered_map or tr1/unordered_map found
77 namespace ADMSbjt504va {
90 .setExpressionAccess(
NO_DOC)
93 .setDescription(
"Internal-use parameter for setting device instance temperature");
95 .setDescription(
"Multiplication factor")
96 .setAnalyticSensitivityAvailable(
true)
111 .setExpressionAccess(
NO_DOC)
114 .setDescription(
"Internal-use parameter for setting device model temperature");
116 .setDescription(
"Model level");
119 .setDescription(
"Reference temperature")
120 .setAnalyticSensitivityAvailable(
true)
121 .setSensitivityFunctor(&
modSens);
124 .setDescription(
"Difference between the local and global ambient temperatures")
125 .setAnalyticSensitivityAvailable(
true)
126 .setSensitivityFunctor(&
modSens);
128 .setDescription(
"Flag for extended modeling of the reverse current gain");
130 .setDescription(
"Flag for the distributed high-frequency effects in transient");
132 .setDescription(
"Flag for extended modeling of avalanche currents");
134 .setDescription(
"Flag for extended modelling of substrate currents");
137 .setDescription(
"Collector-emitter saturation current")
138 .setAnalyticSensitivityAvailable(
true)
139 .setSensitivityFunctor(&
modSens);
142 .setDescription(
"Collector-emitter high injection knee current")
143 .setAnalyticSensitivityAvailable(
true)
144 .setSensitivityFunctor(&
modSens);
147 .setDescription(
"Reverse Early voltage")
148 .setAnalyticSensitivityAvailable(
true)
149 .setSensitivityFunctor(&
modSens);
152 .setDescription(
"Forward Early voltage")
153 .setAnalyticSensitivityAvailable(
true)
154 .setSensitivityFunctor(&
modSens);
156 .setDescription(
"Ideal forward current gain")
157 .setAnalyticSensitivityAvailable(
true)
158 .setSensitivityFunctor(&
modSens);
161 .setDescription(
"Saturation current of the non-ideal forward base current")
162 .setAnalyticSensitivityAvailable(
true)
163 .setSensitivityFunctor(&
modSens);
165 .setDescription(
"Non-ideality factor of the non-ideal forward base current")
166 .setAnalyticSensitivityAvailable(
true)
167 .setSensitivityFunctor(&
modSens);
169 .setDescription(
"Part of ideal base current that belongs to the sidewall")
170 .setAnalyticSensitivityAvailable(
true)
171 .setSensitivityFunctor(&
modSens);
174 .setDescription(
"Pre-factor of emitter-base Zener tunneling current")
175 .setAnalyticSensitivityAvailable(
true)
176 .setSensitivityFunctor(&
modSens);
178 .setDescription(
"Coefficient of emitter-base Zener tunneling current")
179 .setAnalyticSensitivityAvailable(
true)
180 .setSensitivityFunctor(&
modSens);
182 .setDescription(
"Ideal reverse current gain")
183 .setAnalyticSensitivityAvailable(
true)
184 .setSensitivityFunctor(&
modSens);
187 .setDescription(
"Saturation current of the non-ideal reverse base current")
188 .setAnalyticSensitivityAvailable(
true)
189 .setSensitivityFunctor(&
modSens);
192 .setDescription(
"Cross-over voltage of the non-ideal reverse base current")
193 .setAnalyticSensitivityAvailable(
true)
194 .setSensitivityFunctor(&
modSens);
196 .setDescription(
"Part of currents and charges that belong to extrinsic region")
197 .setAnalyticSensitivityAvailable(
true)
198 .setSensitivityFunctor(&
modSens);
201 .setDescription(
"Epilayer thickness used in weak-avalanche model")
202 .setAnalyticSensitivityAvailable(
true)
203 .setSensitivityFunctor(&
modSens);
206 .setDescription(
"Voltage determining curvature of avalanche current")
207 .setAnalyticSensitivityAvailable(
true)
208 .setSensitivityFunctor(&
modSens);
210 .setDescription(
"Current spreading factor of avalanche model when EXAVL=1")
211 .setAnalyticSensitivityAvailable(
true)
212 .setSensitivityFunctor(&
modSens);
215 .setDescription(
"Emitter resistance")
216 .setAnalyticSensitivityAvailable(
true)
217 .setSensitivityFunctor(&
modSens);
220 .setDescription(
"Constant part of the base resistance")
221 .setAnalyticSensitivityAvailable(
true)
222 .setSensitivityFunctor(&
modSens);
225 .setDescription(
"Zero-bias value of the variable part of the base resistance")
226 .setAnalyticSensitivityAvailable(
true)
227 .setSensitivityFunctor(&
modSens);
230 .setDescription(
"Constant part of the collector resistance")
231 .setAnalyticSensitivityAvailable(
true)
232 .setSensitivityFunctor(&
modSens);
235 .setDescription(
"Resistance of the un-modulated epilayer")
236 .setAnalyticSensitivityAvailable(
true)
237 .setSensitivityFunctor(&
modSens);
240 .setDescription(
"Space charge resistance of the epilayer")
241 .setAnalyticSensitivityAvailable(
true)
242 .setSensitivityFunctor(&
modSens);
245 .setDescription(
"Critical current for velocity saturation in the epilayer")
246 .setAnalyticSensitivityAvailable(
true)
247 .setSensitivityFunctor(&
modSens);
249 .setDescription(
"Smoothness parameter for the onset of quasi-saturation")
250 .setAnalyticSensitivityAvailable(
true)
251 .setSensitivityFunctor(&
modSens);
254 .setDescription(
"Zero-bias emitter-base depletion capacitance")
255 .setAnalyticSensitivityAvailable(
true)
256 .setSensitivityFunctor(&
modSens);
259 .setDescription(
"Emitter-base diffusion voltage")
260 .setAnalyticSensitivityAvailable(
true)
261 .setSensitivityFunctor(&
modSens);
263 .setDescription(
"Emitter-base grading coefficient")
264 .setAnalyticSensitivityAvailable(
true)
265 .setSensitivityFunctor(&
modSens);
267 .setDescription(
"Sidewall fraction of the emitter-base depletion capacitance")
268 .setAnalyticSensitivityAvailable(
true)
269 .setSensitivityFunctor(&
modSens);
271 .setDescription(
"Emitter-base overlap capacitance")
272 .setAnalyticSensitivityAvailable(
true)
273 .setSensitivityFunctor(&
modSens);
276 .setDescription(
"Zero-bias collector-base depletion capacitance")
277 .setAnalyticSensitivityAvailable(
true)
278 .setSensitivityFunctor(&
modSens);
281 .setDescription(
"Collector-base diffusion voltage")
282 .setAnalyticSensitivityAvailable(
true)
283 .setSensitivityFunctor(&
modSens);
285 .setDescription(
"Collector-base grading coefficient")
286 .setAnalyticSensitivityAvailable(
true)
287 .setSensitivityFunctor(&
modSens);
289 .setDescription(
"Constant part of Cjc")
290 .setAnalyticSensitivityAvailable(
true)
291 .setSensitivityFunctor(&
modSens);
293 .setDescription(
"Coefficient for current modulation of CB depletion capacitance")
294 .setAnalyticSensitivityAvailable(
true)
295 .setSensitivityFunctor(&
modSens);
297 .setDescription(
"Fraction of CB depletion capacitance under the emitter")
298 .setAnalyticSensitivityAvailable(
true)
299 .setSensitivityFunctor(&
modSens);
302 .setDescription(
"Resistance Collector Buried Layer eXtrinsic")
303 .setAnalyticSensitivityAvailable(
true)
304 .setSensitivityFunctor(&
modSens);
307 .setDescription(
"Resistance Collector Buried Layer Intrinsic")
308 .setAnalyticSensitivityAvailable(
true)
309 .setSensitivityFunctor(&
modSens);
311 .setDescription(
"Collector-base overlap capacitance")
312 .setAnalyticSensitivityAvailable(
true)
313 .setSensitivityFunctor(&
modSens);
315 .setDescription(
"Non-ideality factor of the emitter stored charge")
316 .setAnalyticSensitivityAvailable(
true)
317 .setSensitivityFunctor(&
modSens);
320 .setDescription(
"Minimum transit time of stored emitter charge")
321 .setAnalyticSensitivityAvailable(
true)
322 .setSensitivityFunctor(&
modSens);
325 .setDescription(
"Transit time of stored base sharge")
326 .setAnalyticSensitivityAvailable(
true)
327 .setSensitivityFunctor(&
modSens);
330 .setDescription(
"Transit time of stored epilayer charge")
331 .setAnalyticSensitivityAvailable(
true)
332 .setSensitivityFunctor(&
modSens);
335 .setDescription(
"Transit time of reverse extrinsic stored base charge")
336 .setAnalyticSensitivityAvailable(
true)
337 .setSensitivityFunctor(&
modSens);
340 .setDescription(
"Bandgap difference over the base")
341 .setAnalyticSensitivityAvailable(
true)
342 .setSensitivityFunctor(&
modSens);
344 .setDescription(
"Pre-factor of the recombination part of Ib1")
345 .setAnalyticSensitivityAvailable(
true)
346 .setSensitivityFunctor(&
modSens);
348 .setDescription(
"Temperature coefficient of the zero-bias base charge")
349 .setAnalyticSensitivityAvailable(
true)
350 .setSensitivityFunctor(&
modSens);
352 .setDescription(
"Temperature coefficient of the resistivity of the emitter")
353 .setAnalyticSensitivityAvailable(
true)
354 .setSensitivityFunctor(&
modSens);
356 .setDescription(
"Temperature coefficient of the resistivity of the base")
357 .setAnalyticSensitivityAvailable(
true)
358 .setSensitivityFunctor(&
modSens);
360 .setDescription(
"Temperature coefficient of the resistivity of the epilayer")
361 .setAnalyticSensitivityAvailable(
true)
362 .setSensitivityFunctor(&
modSens);
364 .setDescription(
"Temperature coefficient of the resistivity of the extrinsic base")
365 .setAnalyticSensitivityAvailable(
true)
366 .setSensitivityFunctor(&
modSens);
368 .setDescription(
"Temperature coefficient of the resistivity of the collector contact")
369 .setAnalyticSensitivityAvailable(
true)
370 .setSensitivityFunctor(&
modSens);
372 .setDescription(
"Temperature coefficient of the resistivity of the collector buried layer")
373 .setAnalyticSensitivityAvailable(
true)
374 .setSensitivityFunctor(&
modSens);
377 .setDescription(
"Band-gap voltage difference of the forward current gain")
378 .setAnalyticSensitivityAvailable(
true)
379 .setSensitivityFunctor(&
modSens);
382 .setDescription(
"Band-gap voltage difference of the reverse current gain")
383 .setAnalyticSensitivityAvailable(
true)
384 .setSensitivityFunctor(&
modSens);
387 .setDescription(
"Band-gap voltage of the base")
388 .setAnalyticSensitivityAvailable(
true)
389 .setSensitivityFunctor(&
modSens);
392 .setDescription(
"Band-gap voltage of the collector")
393 .setAnalyticSensitivityAvailable(
true)
394 .setSensitivityFunctor(&
modSens);
397 .setDescription(
"Band-gap voltage recombination emitter-base junction")
398 .setAnalyticSensitivityAvailable(
true)
399 .setSensitivityFunctor(&
modSens);
402 .setDescription(
"Band-gap voltage at Tref of Zener effect emitter-base junction")
403 .setAnalyticSensitivityAvailable(
true)
404 .setSensitivityFunctor(&
modSens);
407 .setDescription(
"Temperature coefficient band-gap voltage for Zener effect emitter-base junction")
408 .setAnalyticSensitivityAvailable(
true)
409 .setSensitivityFunctor(&
modSens);
412 .setDescription(
"Temperature coefficient band-gap voltage for Zener effect emitter-base junction")
413 .setAnalyticSensitivityAvailable(
true)
414 .setSensitivityFunctor(&
modSens);
417 .setDescription(
"Band-gap voltage difference of emitter stored charge")
418 .setAnalyticSensitivityAvailable(
true)
419 .setSensitivityFunctor(&
modSens);
421 .setDescription(
"Fine tuning of temperature dependence of C-E saturation current")
422 .setAnalyticSensitivityAvailable(
true)
423 .setSensitivityFunctor(&
modSens);
425 .setDescription(
"Exponent of the Flicker-noise")
426 .setAnalyticSensitivityAvailable(
true)
427 .setSensitivityFunctor(&
modSens);
429 .setDescription(
"Flicker-noise coefficient of the ideal base current")
430 .setAnalyticSensitivityAvailable(
true)
431 .setSensitivityFunctor(&
modSens);
433 .setDescription(
"Flicker-noise coefficient of the non-ideal base current")
434 .setAnalyticSensitivityAvailable(
true)
435 .setSensitivityFunctor(&
modSens);
437 .setDescription(
"Switch for white noise contribution due to avalanche");
440 .setDescription(
"Base-substrate saturation current")
441 .setAnalyticSensitivityAvailable(
true)
442 .setSensitivityFunctor(&
modSens);
445 .setDescription(
"Collector-substrate ideal saturation current")
446 .setAnalyticSensitivityAvailable(
true)
447 .setSensitivityFunctor(&
modSens);
450 .setDescription(
"Base-substrate high injection knee current")
451 .setAnalyticSensitivityAvailable(
true)
452 .setSensitivityFunctor(&
modSens);
455 .setDescription(
"Zero-bias collector-substrate depletion capacitance")
456 .setAnalyticSensitivityAvailable(
true)
457 .setSensitivityFunctor(&
modSens);
460 .setDescription(
"Collector-substrate diffusion voltage")
461 .setAnalyticSensitivityAvailable(
true)
462 .setSensitivityFunctor(&
modSens);
464 .setDescription(
"Collector-substrate grading coefficient")
465 .setAnalyticSensitivityAvailable(
true)
466 .setSensitivityFunctor(&
modSens);
469 .setDescription(
"band-gap voltage of the substrate")
470 .setAnalyticSensitivityAvailable(
true)
471 .setSensitivityFunctor(&
modSens);
473 .setDescription(
"Substrate temperature coefficient")
474 .setAnalyticSensitivityAvailable(
true)
475 .setSensitivityFunctor(&
modSens);
477 .setDescription(
"Temperature coefficient for mobility of minorities in the substrate")
478 .setAnalyticSensitivityAvailable(
true)
479 .setSensitivityFunctor(&
modSens);
481 .setDescription(
"Multiplication factor")
482 .setAnalyticSensitivityAvailable(
true)
483 .setSensitivityFunctor(&
modSens);
485 .setDescription(
"Flag for NPN (1) or PNP (-1) transistor type");
487 .setDescription(
"Minimum conductance")
488 .setAnalyticSensitivityAvailable(
true)
489 .setSensitivityFunctor(&
modSens);
507 if ( (!((
MULT >0.0))) )
509 UserError0(*
this) <<
"ADMSbjt504va: Parameter MULT value " <<
MULT <<
" out of range ] 0.0, (+inf) [";
540 :
DeviceInstance(instance_block, configuration.getInstanceParameters(), factory_block),
570 f_c1_Equ_c1_Node_Ptr(0),
571 f_c1_Equ_c2_Node_Ptr(0),
572 f_c2_Equ_c1_Node_Ptr(0),
573 f_c2_Equ_c2_Node_Ptr(0),
574 f_c1_Equ_b2_Node_Ptr(0),
575 f_c2_Equ_b2_Node_Ptr(0),
576 f_e1_Equ_c1_Node_Ptr(0),
577 f_e1_Equ_c2_Node_Ptr(0),
578 f_e1_Equ_b2_Node_Ptr(0),
579 f_c2_Equ_e1_Node_Ptr(0),
580 f_e1_Equ_e1_Node_Ptr(0),
581 f_b1_Equ_b1_Node_Ptr(0),
582 f_b1_Equ_e1_Node_Ptr(0),
583 f_e1_Equ_b1_Node_Ptr(0),
584 f_b2_Equ_b2_Node_Ptr(0),
585 f_b2_Equ_e1_Node_Ptr(0),
586 f_b2_Equ_c1_Node_Ptr(0),
587 f_b2_Equ_c2_Node_Ptr(0),
588 f_b1_Equ_s_Node_Ptr(0),
589 f_b1_Equ_c1_Node_Ptr(0),
590 f_s_Equ_s_Node_Ptr(0),
591 f_s_Equ_c1_Node_Ptr(0),
592 f_b1_Equ_c4_Node_Ptr(0),
593 f_s_Equ_c4_Node_Ptr(0),
594 f_b1_Equ_c2_Node_Ptr(0),
595 f_s_Equ_c2_Node_Ptr(0),
596 f_b1_Equ_b2_Node_Ptr(0),
597 f_s_Equ_b2_Node_Ptr(0),
598 f_s_Equ_b1_Node_Ptr(0),
599 f_b_Equ_s_Node_Ptr(0),
600 f_b_Equ_c1_Node_Ptr(0),
601 f_b_Equ_c2_Node_Ptr(0),
602 f_b_Equ_b2_Node_Ptr(0),
603 f_b_Equ_e1_Node_Ptr(0),
604 f_s_Equ_e1_Node_Ptr(0),
605 f_b_Equ_c3_Node_Ptr(0),
606 f_b_Equ_c4_Node_Ptr(0),
607 f_s_Equ_c3_Node_Ptr(0),
608 f_b_Equ_b1_Node_Ptr(0),
609 f_b_Equ_b_Node_Ptr(0),
610 f_s_Equ_b_Node_Ptr(0),
611 f_b_Equ_c_Node_Ptr(0),
612 f_s_Equ_c_Node_Ptr(0),
613 f_c1_Equ_s_Node_Ptr(0),
614 f_b1_Equ_c3_Node_Ptr(0),
615 f_b2_Equ_c3_Node_Ptr(0),
616 f_b2_Equ_c4_Node_Ptr(0),
617 f_b1_Equ_b_Node_Ptr(0),
618 f_b2_Equ_b_Node_Ptr(0),
619 f_b2_Equ_b1_Node_Ptr(0),
620 f_b1_Equ_c_Node_Ptr(0),
621 f_b2_Equ_c_Node_Ptr(0),
622 f_c2_Equ_c3_Node_Ptr(0),
623 f_c2_Equ_c4_Node_Ptr(0),
624 f_c2_Equ_b1_Node_Ptr(0),
625 f_c2_Equ_b_Node_Ptr(0),
626 f_c2_Equ_c_Node_Ptr(0),
627 f_e_Equ_e_Node_Ptr(0),
628 f_e_Equ_e1_Node_Ptr(0),
629 f_e1_Equ_e_Node_Ptr(0),
630 f_noi_Equ_noi_Node_Ptr(0),
631 f_noi_Equ_e1_Node_Ptr(0),
632 f_e1_Equ_noi_Node_Ptr(0),
633 f_b2_Equ_noi_Node_Ptr(0),
634 f_c2_Equ_noi_Node_Ptr(0),
635 f_e1_Equ_c3_Node_Ptr(0),
636 f_e1_Equ_c4_Node_Ptr(0),
637 f_e1_Equ_b_Node_Ptr(0),
638 f_e1_Equ_c_Node_Ptr(0),
639 f_b_Equ_e_Node_Ptr(0),
640 f_e_Equ_b_Node_Ptr(0),
641 f_c_Equ_b_Node_Ptr(0),
642 f_c_Equ_c_Node_Ptr(0),
643 f_c3_Equ_s_Node_Ptr(0),
644 f_c3_Equ_c1_Node_Ptr(0),
645 f_c3_Equ_c2_Node_Ptr(0),
646 f_c3_Equ_b2_Node_Ptr(0),
647 f_c3_Equ_e1_Node_Ptr(0),
648 f_c3_Equ_c3_Node_Ptr(0),
649 f_c3_Equ_c4_Node_Ptr(0),
650 f_c3_Equ_b1_Node_Ptr(0),
651 f_c3_Equ_b_Node_Ptr(0),
652 f_c3_Equ_c_Node_Ptr(0),
653 f_c_Equ_c3_Node_Ptr(0),
654 f_c_Equ_c4_Node_Ptr(0),
655 f_c_Equ_c1_Node_Ptr(0),
656 f_c_Equ_c2_Node_Ptr(0),
657 f_c_Equ_b2_Node_Ptr(0),
658 f_c_Equ_b1_Node_Ptr(0),
659 f_c4_Equ_c4_Node_Ptr(0),
660 f_c4_Equ_c1_Node_Ptr(0),
661 f_c1_Equ_c4_Node_Ptr(0),
662 f_c4_Equ_b2_Node_Ptr(0),
663 f_c4_Equ_e1_Node_Ptr(0),
664 f_c4_Equ_c2_Node_Ptr(0),
665 f_c4_Equ_b1_Node_Ptr(0),
666 f_c4_Equ_c3_Node_Ptr(0),
667 f_c1_Equ_e1_Node_Ptr(0),
668 f_c1_Equ_b1_Node_Ptr(0),
669 f_c1_Equ_c3_Node_Ptr(0),
670 f_c4_Equ_s_Node_Ptr(0),
671 f_c4_Equ_b_Node_Ptr(0),
672 f_c4_Equ_c_Node_Ptr(0),
673 f_c1_Equ_b_Node_Ptr(0),
674 f_c1_Equ_c_Node_Ptr(0),
675 f_noi_Equ_b2_Node_Ptr(0),
676 f_noi_Equ_c1_Node_Ptr(0),
677 f_noi_Equ_c2_Node_Ptr(0),
678 q_c1_Equ_c1_Node_Ptr(0),
679 q_c1_Equ_c2_Node_Ptr(0),
680 q_c2_Equ_c1_Node_Ptr(0),
681 q_c2_Equ_c2_Node_Ptr(0),
682 q_c1_Equ_b2_Node_Ptr(0),
683 q_c2_Equ_b2_Node_Ptr(0),
684 q_e1_Equ_c1_Node_Ptr(0),
685 q_e1_Equ_c2_Node_Ptr(0),
686 q_e1_Equ_b2_Node_Ptr(0),
687 q_c2_Equ_e1_Node_Ptr(0),
688 q_e1_Equ_e1_Node_Ptr(0),
689 q_b1_Equ_b1_Node_Ptr(0),
690 q_b1_Equ_e1_Node_Ptr(0),
691 q_e1_Equ_b1_Node_Ptr(0),
692 q_b2_Equ_b2_Node_Ptr(0),
693 q_b2_Equ_e1_Node_Ptr(0),
694 q_b2_Equ_c1_Node_Ptr(0),
695 q_b2_Equ_c2_Node_Ptr(0),
696 q_b1_Equ_s_Node_Ptr(0),
697 q_b1_Equ_c1_Node_Ptr(0),
698 q_s_Equ_s_Node_Ptr(0),
699 q_s_Equ_c1_Node_Ptr(0),
700 q_b1_Equ_c4_Node_Ptr(0),
701 q_s_Equ_c4_Node_Ptr(0),
702 q_b1_Equ_c2_Node_Ptr(0),
703 q_s_Equ_c2_Node_Ptr(0),
704 q_b1_Equ_b2_Node_Ptr(0),
705 q_s_Equ_b2_Node_Ptr(0),
706 q_s_Equ_b1_Node_Ptr(0),
707 q_b_Equ_s_Node_Ptr(0),
708 q_b_Equ_c1_Node_Ptr(0),
709 q_b_Equ_c2_Node_Ptr(0),
710 q_b_Equ_b2_Node_Ptr(0),
711 q_b_Equ_e1_Node_Ptr(0),
712 q_s_Equ_e1_Node_Ptr(0),
713 q_b_Equ_c3_Node_Ptr(0),
714 q_b_Equ_c4_Node_Ptr(0),
715 q_s_Equ_c3_Node_Ptr(0),
716 q_b_Equ_b1_Node_Ptr(0),
717 q_b_Equ_b_Node_Ptr(0),
718 q_s_Equ_b_Node_Ptr(0),
719 q_b_Equ_c_Node_Ptr(0),
720 q_s_Equ_c_Node_Ptr(0),
721 q_c1_Equ_s_Node_Ptr(0),
722 q_b1_Equ_c3_Node_Ptr(0),
723 q_b2_Equ_c3_Node_Ptr(0),
724 q_b2_Equ_c4_Node_Ptr(0),
725 q_b1_Equ_b_Node_Ptr(0),
726 q_b2_Equ_b_Node_Ptr(0),
727 q_b2_Equ_b1_Node_Ptr(0),
728 q_b1_Equ_c_Node_Ptr(0),
729 q_b2_Equ_c_Node_Ptr(0),
730 q_c2_Equ_c3_Node_Ptr(0),
731 q_c2_Equ_c4_Node_Ptr(0),
732 q_c2_Equ_b1_Node_Ptr(0),
733 q_c2_Equ_b_Node_Ptr(0),
734 q_c2_Equ_c_Node_Ptr(0),
735 q_e_Equ_e_Node_Ptr(0),
736 q_e_Equ_e1_Node_Ptr(0),
737 q_e1_Equ_e_Node_Ptr(0),
738 q_noi_Equ_noi_Node_Ptr(0),
739 q_noi_Equ_e1_Node_Ptr(0),
740 q_e1_Equ_noi_Node_Ptr(0),
741 q_b2_Equ_noi_Node_Ptr(0),
742 q_c2_Equ_noi_Node_Ptr(0),
743 q_e1_Equ_c3_Node_Ptr(0),
744 q_e1_Equ_c4_Node_Ptr(0),
745 q_e1_Equ_b_Node_Ptr(0),
746 q_e1_Equ_c_Node_Ptr(0),
747 q_b_Equ_e_Node_Ptr(0),
748 q_e_Equ_b_Node_Ptr(0),
749 q_c_Equ_b_Node_Ptr(0),
750 q_c_Equ_c_Node_Ptr(0),
751 q_c3_Equ_s_Node_Ptr(0),
752 q_c3_Equ_c1_Node_Ptr(0),
753 q_c3_Equ_c2_Node_Ptr(0),
754 q_c3_Equ_b2_Node_Ptr(0),
755 q_c3_Equ_e1_Node_Ptr(0),
756 q_c3_Equ_c3_Node_Ptr(0),
757 q_c3_Equ_c4_Node_Ptr(0),
758 q_c3_Equ_b1_Node_Ptr(0),
759 q_c3_Equ_b_Node_Ptr(0),
760 q_c3_Equ_c_Node_Ptr(0),
761 q_c_Equ_c3_Node_Ptr(0),
762 q_c_Equ_c4_Node_Ptr(0),
763 q_c_Equ_c1_Node_Ptr(0),
764 q_c_Equ_c2_Node_Ptr(0),
765 q_c_Equ_b2_Node_Ptr(0),
766 q_c_Equ_b1_Node_Ptr(0),
767 q_c4_Equ_c4_Node_Ptr(0),
768 q_c4_Equ_c1_Node_Ptr(0),
769 q_c1_Equ_c4_Node_Ptr(0),
770 q_c4_Equ_b2_Node_Ptr(0),
771 q_c4_Equ_e1_Node_Ptr(0),
772 q_c4_Equ_c2_Node_Ptr(0),
773 q_c4_Equ_b1_Node_Ptr(0),
774 q_c4_Equ_c3_Node_Ptr(0),
775 q_c1_Equ_e1_Node_Ptr(0),
776 q_c1_Equ_b1_Node_Ptr(0),
777 q_c1_Equ_c3_Node_Ptr(0),
778 q_c4_Equ_s_Node_Ptr(0),
779 q_c4_Equ_b_Node_Ptr(0),
780 q_c4_Equ_c_Node_Ptr(0),
781 q_c1_Equ_b_Node_Ptr(0),
782 q_c1_Equ_c_Node_Ptr(0),
783 q_noi_Equ_b2_Node_Ptr(0),
784 q_noi_Equ_c1_Node_Ptr(0),
785 q_noi_Equ_c2_Node_Ptr(0),
786 admsTemperature(getDeviceOptions().temp.getImmutableValue<double>())
934 for (
int i=0;i<mapSize;++i)
939 for (
int j=0;j<rowSize;++j)
954 if (!(
given(
"MULT")))
966 if (!
given(
"XYCEADMSINSTTEMP"))
1019 std::vector< std::vector<int> > tempStamp;
1020 std::vector<int> tempMap;
1021 std::vector< std::vector<int> > tempMap2;
1023 int OriginalSize =
jacMap.size();
1033 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
1035 tempStamp, tempMap, tempMap2,
1044 tempStamp.clear(); tempMap.clear(); tempMap2.clear();
1046 tempStamp, tempMap, tempMap2,
1081 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS))
1083 Xyce::dout() << std::endl << section_divider << std::endl
1084 <<
"In ADMSbjt504va::Instance::register LIDs\n\n"
1085 <<
"name = " <<
getName() << std::endl
1086 <<
"number of internal variables: " <<
numIntVars << std::endl
1087 <<
"number of external variables: " <<
numExtVars << std::endl;
1097 li_c = extLIDVecRef[i++];
1098 li_b = extLIDVecRef[i++];
1099 li_e = extLIDVecRef[i++];
1100 li_s = extLIDVecRef[i++];
1104 li_e1 = intLIDVecRef[i++];
1105 li_b1 = intLIDVecRef[i++];
1106 li_b2 = intLIDVecRef[i++];
1107 li_c3 = intLIDVecRef[i++];
1109 li_c4 = intLIDVecRef[i++];
1112 li_c2 = intLIDVecRef[i++];
1114 li_c1 = intLIDVecRef[i++];
1117 li_noi = intLIDVecRef[i++];
1120 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS))
1122 Xyce::dout() <<
"\nSolution and RHS variables:\n";
1123 Xyce::dout() <<
"\nli_c = " <<
li_c << std::endl;
1124 Xyce::dout() <<
"\nli_b = " <<
li_b << std::endl;
1125 Xyce::dout() <<
"\nli_e = " <<
li_e << std::endl;
1126 Xyce::dout() <<
"\nli_s = " <<
li_s << std::endl;
1127 Xyce::dout() <<
"\nli_e1 = " <<
li_e1 << std::endl;
1128 Xyce::dout() <<
"\nli_b1 = " <<
li_b1 << std::endl;
1129 Xyce::dout() <<
"\nli_b2 = " <<
li_b2 << std::endl;
1130 Xyce::dout() <<
"\nli_c3 = " <<
li_c3 << std::endl;
1131 Xyce::dout() <<
"\nli_c4 = " <<
li_c4 << std::endl;
1132 Xyce::dout() <<
"\nli_c2 = " <<
li_c2 << std::endl;
1133 Xyce::dout() <<
"\nli_c1 = " <<
li_c1 << std::endl;
1134 Xyce::dout() <<
"\nli_noi = " <<
li_noi << std::endl;
1136 Xyce::dout() <<
"\nEnd of ADMSbjt504va::Instance::register LIDs\n";
1137 Xyce::dout() << section_divider << std::endl;
1179 int numSta = staLIDVecRef.size();
1217 std::vector<int> & map=
jacMap;
1218 std::vector< std::vector<int> > & map2=
jacMap2;
1563 bool bsuccess =
true;
1593 bool bsuccess =
true;
1615 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
1617 Xyce::dout() << std::endl << subsection_divider << std::endl;
1618 Xyce::dout() <<
" In ADMSbjt504va::Instance::updateIntermediateVars\n\n";
1619 Xyce::dout() <<
" name = " <<
getName() << std::endl;
1633 double exponentFBC1fB2;
1812 double Vb1b2_orig,Vb1b2_limited,Vb1b2_old;
1813 double Vb1e1_orig,Vb1e1_limited,Vb1e1_old;
1814 double Vb2c2_orig,Vb2c2_limited,Vb2c2_old;
1815 double Vb2c1_orig,Vb2c1_limited,Vb2c1_old;
1831 for (
int i=0; i < 12+0 ; ++i)
1839 for (
int i=0; i < 15 ; ++i)
1921 Vb1b2_old = Vb1b2_limited;
1922 Vb1e1_old = Vb1e1_limited;
1923 Vb2c2_old = Vb2c2_limited;
1924 Vb2c1_old = Vb2c1_limited;
1944 if (Vb2c1_limited != Vb2c1_orig)
1965 if (Vb2c2_limited != Vb2c2_orig)
1987 if (Vb1e1_limited != Vb1e1_orig)
2008 if (Vb1b2_limited != Vb1b2_orig)
2054 Vb1c4 = (((Vb1b2+Vb2c2)-Vc1c2)-Vc4c1);
2055 Vcc3 = ((((-Vbc)+Vbb1)+Vb1c4)-Vc3c4);
2057 Vsc4 = (Vsc1-Vc4c1);
2058 Vsc3 = (Vsc4-Vc3c4);
2066 eVb2c2 = (expl*(1.0+((Vb2c2*(
model_.
VtINV))-400.0)));
2075 eVb2e1 = (expl*(1.0+((Vb2e1*(
model_.
VtINV))-400.0)));
2084 eVb1e1 = (expl*(1.0+((Vb1e1*(
model_.
VtINV))-400.0)));
2093 eVb1c4 = (expl*(1.0+((Vb1c4*(
model_.
VtINV))-400.0)));
2111 eVbc3 = (expl*(1.0+((Vbc3*(
model_.
VtINV))-400.0)));
2120 eVsc1 = (expl*(1.0+((Vsc1*(
model_.
VtINV))-400.0)));
2129 eVsc3 = (expl*(1.0+((Vsc3*(
model_.
VtINV))-400.0)));
2138 eVsc4 = (expl*(1.0+((Vsc4*(
model_.
VtINV))-400.0)));
2176 K0 = sqrt((1.0+(4.0*eVb2c2VDC)));
2177 Kw = sqrt((1.0+(4.0*eVb2c1VDC)));
2178 pW = ((2.0*eVb2c1VDC)/(1.0+Kw));
2183 Ec = ((
model_.
Vt)*((K0-Kw)-log(((K0+1.0)/(Kw+1.0)))));
2193 tmpV = (100.0+log((1.0+(Vb2c1-100.0))));
2198 eps2 = (eps_VDC*eps_VDC);
2199 x2 = (Vqs_th*Vqs_th);
2202 Vqs = ((0.5*eps2)/(sqrt((x2+eps2))-Vqs_th));
2206 Vqs = (0.5*(sqrt((x2+eps2))+Vqs_th));
2210 Ic1c2_Iqs = (Ic1c2/Iqs);
2216 if ((Ic1c2_Iqs<1.0))
2218 alpha1 = (1.0+((
model_.
AXI)*log((1.0+exp(dxa)))));
2222 alpha1 = (Ic1c2_Iqs+((
model_.
AXI)*log((1.0+exp((-dxa))))));
2228 yi = ((1.0+sqrt((1.0+(((4.0*alpha)*vyi)*(1.0+vyi)))))/((2.0*alpha)*(1.0+vyi)));
2229 xi_w = (1.0-(yi/(1.0+(pW*yi))));
2231 gp0_help = ((2.0*gp0)+(pW*((pW+gp0)+1.0)));
2232 gp02 = (0.5*(gp0-1.0));
2233 sqr_arg = ((gp02*gp02)+gp0_help);
2236 p0star = (gp02+sqrt(sqr_arg));
2240 p0star = (gp0_help/(sqrt(sqr_arg)-gp02));
2242 if ((p0star<1.0e-40))
2249 Vxi0 = (B1+sqrt(((B1*B1)+B2)));
2250 Vch = ((
model_.
VDC_T)*(0.1+((2.0*Ic1c2)/(Ic1c2+Iqs))));
2257 p0star = ((2.0*eVb2c2VDC)/(1.0+K0));
2258 eVb2c2star = eVb2c2;
2259 if (((fabs(Vc1c2)<(1.0e-5*(
model_.
Vt)))||(fabs(Ec)<((1.0e-40*(
model_.
Vt))*(K0+Kw)))))
2261 pav = (0.5*(p0star+pW));
2262 xi_w = (pav/(pav+1.0));
2266 xi_w = (Ec/((Ec+Vb2c2)-Vb2c1));
2279 dxa = ((Vb2e1-Vfe)/a_VDE);
2282 Vje = (Vb2e1-(a_VDE*log((1.0+exp(dxa)))));
2286 Vje = (Vfe-(a_VDE*log((1.0+exp((-dxa))))));
2292 Vjunc = (Vb2c1+Vxi0);
2299 dxa = ((Vjunc-Vfc)/Vch);
2302 Vjc = (Vjunc-(Vch*log((1.0+exp(dxa)))));
2306 Vjc = (Vfc-(Vch*log((1.0+exp((-dxa))))));
2315 n0 = (f1/(1.0+sqrt((1.0+f1))));
2316 f2 = (If0*eVb2c2star);
2317 nB = (f2/(1.0+sqrt((1.0+f2))));
2332 q1I = ((0.5*eps2)/(sqrt((x2+eps2))-q0I));
2336 q1I = (0.5*(sqrt((x2+eps2))+q0I));
2339 qBI = (q1I*(1.0+(0.5*(n0+nB))));
2370 tmpExp = (expl*(1.0+(((0.5*Vb1c4)*(
model_.
VtINV))-400.0)));
2404 g2 = (4.0*eVb1c4VDC);
2405 nBex = ((g1-If0)/(1.0+sqrt((1.0+g1))));
2406 pWex = (g2/(1.0+sqrt((1.0+g2))));
2431 XnBex = ((Xg1-If0)/(1.0+sqrt((1.0+Xg1))));
2450 VBex = ((0.5*eps2)/(sqrt((x2+eps2))-vdif));
2454 VBex = (0.5*(sqrt((x2+eps2))+vdif));
2457 Fex = (VBex/((Vex_bias+((XIMex+XIMsub)*(
model_.
RCCxx_TM)))+VBex));
2467 XIsub = (Fex*XIMsub);
2479 q1Q = ((0.5*eps2)/(sqrt((x2+eps2))-q0Q));
2483 q1Q = (0.5*(sqrt((x2+eps2))+q0Q));
2486 qBQ = (q1Q*(1.0+(0.5*(n0+nB))));
2495 xd = sqrt(((2.0*sqr_arg)/dEdx0));
2502 xi_w1 = (1.0-(0.5*xi_w));
2505 Wd = ((xd*Weff)/sqrt(((xd*xd)+(Weff*Weff))));
2507 E0 = (Eav+(((0.5*Wd)*dEdx0)*Icap_IHC));
2514 SHw = (1.0+((2.0*(
model_.
SFH))*(1.0+(2.0*xi_w))));
2516 Ew = (Eav-(((0.5*Wd)*dEdx0)*(Efi-(Ic1c2/((
model_.
IHC_M)*SHw)))));
2517 sqr_arg = (((Ew-E0)*(Ew-E0))+((((0.1*Eav)*Eav)*Icap)/(
model_.
IHC_M)));
2518 Em = (0.5*((Ew+E0)+sqrt(sqr_arg)));
2520 EmEav_Em = ((Em-Eav)/Em);
2521 if ((fabs(EmEav_Em)>1.0e-7))
2523 lambda = ((0.5*Wd)/EmEav_Em);
2531 Iavl = ((Ic1c2*
Gem)/((
Gem+(
Gem/Gmax))+1.0));
2533 if ((eVb2c2star>0.0))
2535 Vb2c2star = ((
model_.
Vt)*log(eVb2c2star));
2546 dxa = ((Vb1e1-Vfe)/a_VDE);
2549 Vje_s = (Vb1e1-(a_VDE*log((1.0+exp(dxa)))));
2553 Vje_s = (Vfe-(a_VDE*log((1.0+exp((-dxa))))));
2560 Qbe_qs = (((0.5*Qb0)*n0)*q1Q);
2561 Qbc_qs = (((0.5*Qb0)*nB)*q1Q);
2567 dxa = ((Vb1c4-Vfc)/a_VDC);
2570 Vjcex = (Vb1c4-(a_VDC*log((1.0+exp(dxa)))));
2574 Vjcex = (Vfc-(a_VDC*log((1.0+exp((-dxa))))));
2584 dxa = ((Vbc3-Vfc)/a_VDC);
2587 XVjcex = (Vbc3-(a_VDC*log((1.0+exp(dxa)))));
2591 XVjcex = (Vfc-(a_VDC*log((1.0+exp((-dxa))))));
2603 dxa = ((Vsc1-Vfs)/a_VDS);
2606 Vjs = (Vsc1-(a_VDS*log((1.0+exp(dxa)))));
2610 Vjs = (Vfs-(a_VDS*log((1.0+exp((-dxa))))));
2625 Qe = (Qe0*(tmpExp-1.0));
2627 Qepi = (((0.5*Qepi0)*xi_w)*((p0star+pW)+2.0));
2633 Xg2 = (4.0*eVbc3VDC);
2634 XpWex = (Xg2/(1.0+sqrt((1.0+Xg2))));
2641 Vb2e1Vfe = ((Vb2e1-Vfe)/a_VDE);
2644 dVjeVb2e1 = (1.0/(1.0+exp(Vb2e1Vfe)));
2648 dVjeVb2e1 = (exp((-Vb2e1Vfe))/(1.0+exp((-Vb2e1Vfe))));
2650 dVteVb2e1 = ((dVteVje*dVjeVb2e1)+3.0);
2652 dn0Vb2e1 = (((If0*eVb2e1)*(
model_.
VtINV))*(0.5/sqrt((1.0+f1))));
2653 dQbeVb2e1 = (((0.5*Qb0)*q1Q)*dn0Vb2e1);
2655 Qb1b2 = ((0.2*Vb1b2)*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));
2656 Qbc = ((Qbe_qs*0.33333333333333333333)+Qbc_qs);
2657 Qbe = ((2.0*Qbe_qs)*0.33333333333333333333);
2760 contribTemp= cor_exp_1;
2771 contribTemp= cor_exp_2;
2781 contribTemp= (((
model_.
TYPE)*((Qte+Qbe)+Qe)));
2801 contribTemp= (((
model_.
TYPE)*((Qtc+Qbc)+Qepi)));
3044 Xyce::dout() <<
" probeVars[admsProbeID_V_noi_e1] = "
3046 Xyce::dout() <<
" probeVars[admsProbeID_V_c3_c1] = "
3048 Xyce::dout() <<
" probeVars[admsProbeID_V_c3_c4] = "
3050 Xyce::dout() <<
" probeVars[admsProbeID_V_c4_c1] = "
3052 Xyce::dout() <<
" probeVars[admsProbeID_V_b_c] = "
3054 Xyce::dout() <<
" probeVars[admsProbeID_V_b_e] = "
3056 Xyce::dout() <<
" probeVars[admsProbeID_V_b_b1] = "
3058 Xyce::dout() <<
" probeVars[admsProbeID_V_e_e1] = "
3060 Xyce::dout() <<
" probeVars[admsProbeID_V_c1_c2] = "
3062 Xyce::dout() <<
" probeVars[admsProbeID_V_s_c1] = "
3064 Xyce::dout() <<
" probeVars[admsProbeID_V_b1_b2] = "
3066 Xyce::dout() <<
" probeVars[admsProbeID_V_b1_e1] = "
3068 Xyce::dout() <<
" probeVars[admsProbeID_V_b2_e1] = "
3070 Xyce::dout() <<
" probeVars[admsProbeID_V_b2_c2] = "
3072 Xyce::dout() <<
" probeVars[admsProbeID_V_b2_c1] = "
3074 Xyce::dout() <<
" staticContributions[admsNodeID_c] = "
3091 Xyce::dout() <<
" dynamicContributions[admsNodeID_c] = "
3108 Xyce::dout() <<
" Jdxp_static[admsNodeID_c] = "
3110 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_c] = "
3112 Xyce::dout() <<
" staticContributions[admsNodeID_b] = "
3129 Xyce::dout() <<
" dynamicContributions[admsNodeID_b] = "
3146 Xyce::dout() <<
" Jdxp_static[admsNodeID_b] = "
3148 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_b] = "
3150 Xyce::dout() <<
" staticContributions[admsNodeID_e] = "
3167 Xyce::dout() <<
" dynamicContributions[admsNodeID_e] = "
3184 Xyce::dout() <<
" Jdxp_static[admsNodeID_e] = "
3186 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_e] = "
3188 Xyce::dout() <<
" staticContributions[admsNodeID_s] = "
3205 Xyce::dout() <<
" dynamicContributions[admsNodeID_s] = "
3222 Xyce::dout() <<
" Jdxp_static[admsNodeID_s] = "
3224 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_s] = "
3226 Xyce::dout() <<
" staticContributions[admsNodeID_e1] = "
3243 Xyce::dout() <<
" dynamicContributions[admsNodeID_e1] = "
3260 Xyce::dout() <<
" Jdxp_static[admsNodeID_e1] = "
3262 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_e1] = "
3264 Xyce::dout() <<
" staticContributions[admsNodeID_b1] = "
3281 Xyce::dout() <<
" dynamicContributions[admsNodeID_b1] = "
3298 Xyce::dout() <<
" Jdxp_static[admsNodeID_b1] = "
3300 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_b1] = "
3302 Xyce::dout() <<
" staticContributions[admsNodeID_b2] = "
3319 Xyce::dout() <<
" dynamicContributions[admsNodeID_b2] = "
3336 Xyce::dout() <<
" Jdxp_static[admsNodeID_b2] = "
3338 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_b2] = "
3340 Xyce::dout() <<
" staticContributions[admsNodeID_c3] = "
3357 Xyce::dout() <<
" dynamicContributions[admsNodeID_c3] = "
3374 Xyce::dout() <<
" Jdxp_static[admsNodeID_c3] = "
3376 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_c3] = "
3378 Xyce::dout() <<
" staticContributions[admsNodeID_c4] = "
3395 Xyce::dout() <<
" dynamicContributions[admsNodeID_c4] = "
3412 Xyce::dout() <<
" Jdxp_static[admsNodeID_c4] = "
3414 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_c4] = "
3416 Xyce::dout() <<
" staticContributions[admsNodeID_c2] = "
3433 Xyce::dout() <<
" dynamicContributions[admsNodeID_c2] = "
3450 Xyce::dout() <<
" Jdxp_static[admsNodeID_c2] = "
3452 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_c2] = "
3454 Xyce::dout() <<
" staticContributions[admsNodeID_c1] = "
3471 Xyce::dout() <<
" dynamicContributions[admsNodeID_c1] = "
3488 Xyce::dout() <<
" Jdxp_static[admsNodeID_c1] = "
3490 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_c1] = "
3492 Xyce::dout() <<
" staticContributions[admsNodeID_noi] = "
3509 Xyce::dout() <<
" dynamicContributions[admsNodeID_noi] = "
3526 Xyce::dout() <<
" Jdxp_static[admsNodeID_noi] = "
3528 Xyce::dout() <<
" Jdxp_dynamic[admsNodeID_noi] = "
3532 Xyce::dout() <<
"This step was limited by this device." << std::endl;
3548 bool bsuccess =
true;
3551 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3553 Xyce::dout() << subsection_divider << std::endl;
3554 Xyce::dout() <<
"ADMSbjt504va::Instance::loadDAEdFdx (" <<
getName() <<
"):" << std::endl;
3559 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3566 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3573 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3580 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3587 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3594 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3601 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3608 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3615 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3622 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3629 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3636 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3643 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3650 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3657 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3664 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3671 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3678 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3685 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3692 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3699 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3706 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3713 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3720 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3727 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3734 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3741 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3748 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3755 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3762 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3769 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3776 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3783 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3790 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3797 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3804 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3811 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3818 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3825 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3832 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3839 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3846 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3853 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3860 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3867 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3874 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3881 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3888 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3895 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3902 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3909 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3916 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3923 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3930 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3937 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3944 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3951 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3958 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3965 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3972 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3979 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3986 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
3993 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4000 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4007 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4014 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4021 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4028 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4035 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4042 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4049 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4056 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4063 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4070 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4077 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4084 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4091 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4098 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4105 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4112 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4119 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4126 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4133 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4140 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4147 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4154 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4161 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4168 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4175 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4182 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4189 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4196 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4203 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4210 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4217 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4224 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4231 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4238 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4245 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4252 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4259 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4266 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4286 bool bsuccess =
true;
4289 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4291 Xyce::dout() << subsection_divider << std::endl;
4292 Xyce::dout() <<
"ADMSbjt504va::Instance::loadDAEdQdx (" <<
getName() <<
"):" << std::endl;
4297 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4304 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4311 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4318 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4325 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4332 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4339 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4346 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4353 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4360 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4367 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4374 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4381 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4388 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4395 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4402 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4409 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4416 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4423 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4430 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4437 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4444 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4451 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4458 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4465 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4472 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4479 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4486 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4493 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4500 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4507 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4514 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4521 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4528 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4535 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4542 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4549 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4556 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4563 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4570 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4577 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4584 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4591 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4598 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4605 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4612 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4619 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4626 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4633 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4640 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4647 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4654 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4661 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4668 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4675 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4682 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4689 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4696 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4703 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4710 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4717 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4724 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4731 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4738 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4745 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4752 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4759 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4766 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4773 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4780 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4787 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4794 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4801 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4808 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4815 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4822 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4829 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4836 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4843 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4850 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4857 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4864 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4871 if (DEBUG_DEVICE && isActive(Diag::DEVICE_PARAMETERS) &&
getSolverState().debugTimeFlag)
4917 UserError0(*
this) <<
"ADMSbjt504va: Parameter LEVEL value " <<
LEVEL <<
" out of range [ 504, 505 [";
4921 if ( (!((
TREF >=(-273.0)))) )
4923 UserError0(*
this) <<
"ADMSbjt504va: Parameter TREF value " <<
TREF <<
" out of range [ (-273.0), (+inf) [";
4929 UserError0(*
this) <<
"ADMSbjt504va: Parameter EXMOD value " <<
EXMOD <<
" out of range [ 0, 2 ]";
4935 UserError0(*
this) <<
"ADMSbjt504va: Parameter EXPHI value " <<
EXPHI <<
" out of range [ 0, 1 ]";
4941 UserError0(*
this) <<
"ADMSbjt504va: Parameter EXAVL value " <<
EXAVL <<
" out of range [ 0, 1 ]";
4947 UserError0(*
this) <<
"ADMSbjt504va: Parameter EXSUB value " <<
EXSUB <<
" out of range [ 0, 1 ]";
4951 if ( (!((
IS >0.0))) )
4953 UserError0(*
this) <<
"ADMSbjt504va: Parameter IS value " <<
IS <<
" out of range ] 0.0, (+inf) [";
4957 if ( (!((
IK >=1.0*1.0e-12))) )
4959 UserError0(*
this) <<
"ADMSbjt504va: Parameter IK value " <<
IK <<
" out of range [ 1.0*1.0e-12, (+inf) [";
4963 if ( (!((
VER >=0.01))) )
4965 UserError0(*
this) <<
"ADMSbjt504va: Parameter VER value " <<
VER <<
" out of range [ 0.01, (+inf) [";
4969 if ( (!((
VEF >=0.01))) )
4971 UserError0(*
this) <<
"ADMSbjt504va: Parameter VEF value " <<
VEF <<
" out of range [ 0.01, (+inf) [";
4975 if ( (!((
BF >=0.1*1.0e-3))) )
4977 UserError0(*
this) <<
"ADMSbjt504va: Parameter BF value " <<
BF <<
" out of range [ 0.1*1.0e-3, (+inf) [";
4981 if ( (!((
IBF >=0.0))) )
4983 UserError0(*
this) <<
"ADMSbjt504va: Parameter IBF value " <<
IBF <<
" out of range [ 0.0, (+inf) [";
4987 if ( (!((
MLF >=0.1))) )
4989 UserError0(*
this) <<
"ADMSbjt504va: Parameter MLF value " <<
MLF <<
" out of range [ 0.1, (+inf) [";
4993 if ( (!((
XIBI >=0.0 &&
XIBI <=1.0 ))) )
4995 UserError0(*
this) <<
"ADMSbjt504va: Parameter XIBI value " <<
XIBI <<
" out of range [ 0.0, 1.0 ]";
4999 if ( (!((
IZEB >=0.0))) )
5001 UserError0(*
this) <<
"ADMSbjt504va: Parameter IZEB value " <<
IZEB <<
" out of range [ 0.0, (+inf) [";
5005 if ( (!((
NZEB >=0.0))) )
5007 UserError0(*
this) <<
"ADMSbjt504va: Parameter NZEB value " <<
NZEB <<
" out of range [ 0.0, (+inf) [";
5011 if ( (!((
BRI >=1.0e-4))) )
5013 UserError0(*
this) <<
"ADMSbjt504va: Parameter BRI value " <<
BRI <<
" out of range [ 1.0e-4, (+inf) [";
5017 if ( (!((
IBR >=0.0))) )
5019 UserError0(*
this) <<
"ADMSbjt504va: Parameter IBR value " <<
IBR <<
" out of range [ 0.0, (+inf) [";
5023 if ( (!((
XEXT >=0.0 &&
XEXT <=1.0 ))) )
5025 UserError0(*
this) <<
"ADMSbjt504va: Parameter XEXT value " <<
XEXT <<
" out of range [ 0.0, 1.0 ]";
5029 if ( (!((
WAVL >=1.0*1.0e-9))) )
5031 UserError0(*
this) <<
"ADMSbjt504va: Parameter WAVL value " <<
WAVL <<
" out of range [ 1.0*1.0e-9, (+inf) [";
5035 if ( (!((
VAVL >=0.01))) )
5037 UserError0(*
this) <<
"ADMSbjt504va: Parameter VAVL value " <<
VAVL <<
" out of range [ 0.01, (+inf) [";
5041 if ( (!((
SFH >=0.0))) )
5043 UserError0(*
this) <<
"ADMSbjt504va: Parameter SFH value " <<
SFH <<
" out of range [ 0.0, (+inf) [";
5047 if ( (!((
RE >=1.0*1.0e-3))) )
5049 UserError0(*
this) <<
"ADMSbjt504va: Parameter RE value " <<
RE <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5053 if ( (!((
RBC >=1.0*1.0e-3))) )
5055 UserError0(*
this) <<
"ADMSbjt504va: Parameter RBC value " <<
RBC <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5059 if ( (!((
RBV >=1.0*1.0e-3))) )
5061 UserError0(*
this) <<
"ADMSbjt504va: Parameter RBV value " <<
RBV <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5065 if ( (!((
RCC >=1.0*1.0e-3))) )
5067 UserError0(*
this) <<
"ADMSbjt504va: Parameter RCC value " <<
RCC <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5071 if ( (!((
RCV >=1.0*1.0e-3))) )
5073 UserError0(*
this) <<
"ADMSbjt504va: Parameter RCV value " <<
RCV <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5077 if ( (!((
SCRCV >=1.0*1.0e-3))) )
5079 UserError0(*
this) <<
"ADMSbjt504va: Parameter SCRCV value " <<
SCRCV <<
" out of range [ 1.0*1.0e-3, (+inf) [";
5083 if ( (!((
IHC >=1.0*1.0e-12))) )
5085 UserError0(*
this) <<
"ADMSbjt504va: Parameter IHC value " <<
IHC <<
" out of range [ 1.0*1.0e-12, (+inf) [";
5089 if ( (!((
AXI >=0.02))) )
5091 UserError0(*
this) <<
"ADMSbjt504va: Parameter AXI value " <<
AXI <<
" out of range [ 0.02, (+inf) [";
5095 if ( (!((
CJE >=0.0))) )
5097 UserError0(*
this) <<
"ADMSbjt504va: Parameter CJE value " <<
CJE <<
" out of range [ 0.0, (+inf) [";
5101 if ( (!((
VDE >=0.05))) )
5103 UserError0(*
this) <<
"ADMSbjt504va: Parameter VDE value " <<
VDE <<
" out of range [ 0.05, (+inf) [";
5107 if ( (!((
PE >=0.01 &&
PE <0.99 ))) )
5109 UserError0(*
this) <<
"ADMSbjt504va: Parameter PE value " <<
PE <<
" out of range [ 0.01, 0.99 [";
5113 if ( (!((
XCJE >=0.0 &&
XCJE <=1.0 ))) )
5115 UserError0(*
this) <<
"ADMSbjt504va: Parameter XCJE value " <<
XCJE <<
" out of range [ 0.0, 1.0 ]";
5119 if ( (!((
CBEO >=0.0))) )
5121 UserError0(*
this) <<
"ADMSbjt504va: Parameter CBEO value " <<
CBEO <<
" out of range [ 0.0, (+inf) [";
5125 if ( (!((
CJC >=0.0))) )
5127 UserError0(*
this) <<
"ADMSbjt504va: Parameter CJC value " <<
CJC <<
" out of range [ 0.0, (+inf) [";
5131 if ( (!((
VDC >=0.05))) )
5133 UserError0(*
this) <<
"ADMSbjt504va: Parameter VDC value " <<
VDC <<
" out of range [ 0.05, (+inf) [";
5137 if ( (!((
PC >=0.01 &&
PC <0.99 ))) )
5139 UserError0(*
this) <<
"ADMSbjt504va: Parameter PC value " <<
PC <<
" out of range [ 0.01, 0.99 [";
5143 if ( (!((
XP >=0.0 &&
XP <0.99 ))) )
5145 UserError0(*
this) <<
"ADMSbjt504va: Parameter XP value " <<
XP <<
" out of range [ 0.0, 0.99 [";
5149 if ( (!((
MC >=0.0 &&
MC <1.0 ))) )
5151 UserError0(*
this) <<
"ADMSbjt504va: Parameter MC value " <<
MC <<
" out of range [ 0.0, 1.0 [";
5155 if ( (!((
XCJC >=0.0 &&
XCJC <=1.0 ))) )
5157 UserError0(*
this) <<
"ADMSbjt504va: Parameter XCJC value " <<
XCJC <<
" out of range [ 0.0, 1.0 ]";
5161 if ( (!((
RCBLX >=0.0))) )
5163 UserError0(*
this) <<
"ADMSbjt504va: Parameter RCBLX value " <<
RCBLX <<
" out of range [ 0.0, (+inf) [";
5167 if ( (!((
RCBLI >=0.0))) )
5169 UserError0(*
this) <<
"ADMSbjt504va: Parameter RCBLI value " <<
RCBLI <<
" out of range [ 0.0, (+inf) [";
5173 if ( (!((
CBCO >=0.0))) )
5175 UserError0(*
this) <<
"ADMSbjt504va: Parameter CBCO value " <<
CBCO <<
" out of range [ 0.0, (+inf) [";
5179 if ( (!((
MTAU >=0.1))) )
5181 UserError0(*
this) <<
"ADMSbjt504va: Parameter MTAU value " <<
MTAU <<
" out of range [ 0.1, (+inf) [";
5185 if ( (!((
TAUE >=0.0))) )
5187 UserError0(*
this) <<
"ADMSbjt504va: Parameter TAUE value " <<
TAUE <<
" out of range [ 0.0, (+inf) [";
5191 if ( (!((
TAUB >0.0))) )
5193 UserError0(*
this) <<
"ADMSbjt504va: Parameter TAUB value " <<
TAUB <<
" out of range ] 0.0, (+inf) [";
5197 if ( (!((
TEPI >=0.0))) )
5199 UserError0(*
this) <<
"ADMSbjt504va: Parameter TEPI value " <<
TEPI <<
" out of range [ 0.0, (+inf) [";
5203 if ( (!((
TAUR >=0.0))) )
5205 UserError0(*
this) <<
"ADMSbjt504va: Parameter TAUR value " <<
TAUR <<
" out of range [ 0.0, (+inf) [";
5209 if ( (!((
XREC >=0.0))) )
5211 UserError0(*
this) <<
"ADMSbjt504va: Parameter XREC value " <<
XREC <<
" out of range [ 0.0, (+inf) [";
5215 if ( (!((
ACBL >=0.0))) )
5217 UserError0(*
this) <<
"ADMSbjt504va: Parameter ACBL value " <<
ACBL <<
" out of range [ 0.0, (+inf) [";
5221 if ( (!((
VGB >=0.1))) )
5223 UserError0(*
this) <<
"ADMSbjt504va: Parameter VGB value " <<
VGB <<
" out of range [ 0.1, (+inf) [";
5227 if ( (!((
VGC >=0.1))) )
5229 UserError0(*
this) <<
"ADMSbjt504va: Parameter VGC value " <<
VGC <<
" out of range [ 0.1, (+inf) [";
5233 if ( (!((
VGJ >=0.1))) )
5235 UserError0(*
this) <<
"ADMSbjt504va: Parameter VGJ value " <<
VGJ <<
" out of range [ 0.1, (+inf) [";
5239 if ( (!((
VGZEB >=0.1))) )
5241 UserError0(*
this) <<
"ADMSbjt504va: Parameter VGZEB value " <<
VGZEB <<
" out of range [ 0.1, (+inf) [";
5247 if ( (!((
TVGEB >=0.0))) )
5249 UserError0(*
this) <<
"ADMSbjt504va: Parameter TVGEB value " <<
TVGEB <<
" out of range [ 0.0, (+inf) [";
5253 if ( (!((
AF >=0.01))) )
5255 UserError0(*
this) <<
"ADMSbjt504va: Parameter AF value " <<
AF <<
" out of range [ 0.01, (+inf) [";
5259 if ( (!((
KF >=0.0))) )
5261 UserError0(*
this) <<
"ADMSbjt504va: Parameter KF value " <<
KF <<
" out of range [ 0.0, (+inf) [";
5265 if ( (!((
KFN >=0.0))) )
5267 UserError0(*
this) <<
"ADMSbjt504va: Parameter KFN value " <<
KFN <<
" out of range [ 0.0, (+inf) [";
5271 if ( (!((
KAVL >=0 &&
KAVL <=1 ))) )
5273 UserError0(*
this) <<
"ADMSbjt504va: Parameter KAVL value " <<
KAVL <<
" out of range [ 0, 1 ]";
5277 if ( (!((
ISS >=0.0))) )
5279 UserError0(*
this) <<
"ADMSbjt504va: Parameter ISS value " <<
ISS <<
" out of range [ 0.0, (+inf) [";
5285 if ( (!((
IKS >=1.0*1.0e-12))) )
5287 UserError0(*
this) <<
"ADMSbjt504va: Parameter IKS value " <<
IKS <<
" out of range [ 1.0*1.0e-12, (+inf) [";
5291 if ( (!((
CJS >=0))) )
5293 UserError0(*
this) <<
"ADMSbjt504va: Parameter CJS value " <<
CJS <<
" out of range [ 0, (+inf) [";
5297 if ( (!((
VDS >0.05))) )
5299 UserError0(*
this) <<
"ADMSbjt504va: Parameter VDS value " <<
VDS <<
" out of range ] 0.05, (+inf) [";
5303 if ( (!((
PS >0.01 &&
PS <0.99 ))) )
5305 UserError0(*
this) <<
"ADMSbjt504va: Parameter PS value " <<
PS <<
" out of range ] 0.01, 0.99 [";
5309 if ( (!((
VGS >=0.1))) )
5311 UserError0(*
this) <<
"ADMSbjt504va: Parameter VGS value " <<
VGS <<
" out of range [ 0.1, (+inf) [";
5315 if ( (!((
MULT >0.0))) )
5317 UserError0(*
this) <<
"ADMSbjt504va: Parameter MULT value " <<
MULT <<
" out of range ] 0.0, (+inf) [";
5321 if ( (!((
TYPE >=(-1) &&
TYPE <=1 ))) )
5323 UserError0(*
this) <<
"ADMSbjt504va: Parameter TYPE value " <<
TYPE <<
" out of range [ (-1), 1 ]";
5327 if ( (!((
GMIN >0 &&
GMIN <=1e-10 ))) )
5329 UserError0(*
this) <<
"ADMSbjt504va: Parameter GMIN value " <<
GMIN <<
" out of range ] 0, 1e-10 ]";
5358 double CJE_T_div_CJE;
5370 double inv_VGZEB_Tr;
5392 invMULT = (1.0/
MULT);
5398 Trk = (
TREF+273.15);
5406 VGZEBOK = (0.05+(0.1*log((1.0+exp(dxa)))));
5410 VGZEBOK = ((
VGZEB+(((
AVGEB*Trk)*Trk)/(Trk+
TVGEB)))+(0.1*log((1.0+exp((-dxa))))));
5415 inv_VGZEB_Tr = (1.0/VGZEB_Tr);
5416 inv_VDE = (1.0/
VDE);
5421 Vt = (8.61708691805812512584e-5*
Tk);
5422 Vtr = (8.61708691805812512584e-5*Trk);
5425 VdtINV = (
VtINV-VtrINV);
5434 VGZEB_T = (0.05+(0.1*log((1.0+exp(dxa)))));
5442 UdeT = (((((-3.0)*
Vt)*log(tN))+(
VDE*tN))+((1.0-tN)*
VGB));
5447 dxa = ((0.05-UdeT)/
Vt);
5450 VDE_T = (UdeT+(
Vt*log((1.0+exp(dxa)))));
5454 VDE_T = (0.05+(
Vt*log((1.0+exp((-dxa))))));
5458 UdcT = (((((-3.0)*
Vt)*log(tN))+(
VDC*tN))+((1.0-tN)*
VGC));
5463 dxa = ((0.05-UdcT)/
Vt);
5466 VDC_T = (UdcT+(
Vt*log((1.0+exp(dxa)))));
5470 VDC_T = (0.05+(
Vt*log((1.0+exp((-dxa))))));
5474 UdsT = (((((-3.0)*
Vt)*log(tN))+(
VDS*tN))+((1.0-tN)*
VGS));
5479 dxa = ((0.05-UdsT)/
Vt);
5482 VDS_T = (UdsT+(
Vt*log((1.0+exp(dxa)))));
5486 VDS_T = (0.05+(
Vt*log((1.0+exp((-dxa))))));
5492 CJE_T = (
CJE*CJE_T_div_CJE);
5495 CJCscaleINV = (1.0/CJCscale);
5496 CJC_T = (
CJC*CJCscale);
5498 RE_T = (
RE*exp((lntN*
AE)));
5500 RBC_T = (
RBC*exp((lntN*
AEX)));
5501 RCCxx_T = (
RCC*exp((lntN*
AC)));
5503 RCCin_T = (
RCBLI*exp((lntN*ACBL)));
5504 RCV_T = (
RCV*exp((lntN*
AEPI)));
5508 IK_T = (
IK*exp((lntN*(1.0-
AB))));
5509 IBF_T = ((
IBF*exp((lntN*(6.0-(2.0*
MLF)))))*exp((((-
VGJ)*VdtINV)/
MLF)));
5510 IBR_T = (((
IBR*tN)*tN)*exp((((-
VGC)*VdtINV)/2.0)));
5511 tempx = pow((
VGZEB_T*inv_VGZEB_Tr),(-0.5));
5512 y = (1.0/CJE_T_div_CJE);
5515 tempx = exp((lntN*
AQBO));
5518 ISS_T = ((
ISS*exp((lntN*(4.0-
AS))))*exp(((-
VGS)*VdtINV)));
5519 ICSS_T = ((
ICSS*exp((lntN*(3.5-(0.5*
ASUB)))))*exp(((-
VGS)*VdtINV)));
5535 BnT = (Bn*((1.0+(7.2e-4*Tk300))-((1.6e-6*Tk300)*Tk300)));
5554 RE_TM = (RE_T*invMULT);
5555 RBC_TM = (RBC_T*invMULT);
5556 RBV_TM = (RBV_T*invMULT);
5558 RCCex_TM = (RCCex_T*invMULT);
5559 RCCin_TM = (RCCin_T*invMULT);
5560 RCV_TM = (RCV_T*invMULT);
5602 std::vector<Instance*>::iterator iter;
5606 for (iter=first; iter!=last; ++iter)
5608 (*iter)->processParams();
5626 :
DeviceModel(model_block, configuration.getModelParameters(), factory_block),
5677 TAUR(520.0*1.0e-12),
5776 if (!
given(
"XYCEADMSMODTEMP"))
5800 std::vector<Instance*>::iterator iterI;
5805 for (iterI = firstI; iterI != lastI; ++iterI)
5821 std::vector<Instance*>::const_iterator iter;
5827 os <<
" name model name Parameters" << std::endl;
5828 for (i=0, iter=first; iter!=last; ++iter, ++i)
5830 os <<
" " << i <<
": " << (*iter)->getName() <<
" ";
5834 os <<
"MULT = " << (*iter)->MULT << std::endl;
5859 for (std::vector<Instance *>::const_iterator it = instanceContainer.begin(); it != instanceContainer.end(); ++it)
5871 .registerDevice(
"q", 504)
5872 .registerModelType(
"npn", 504)
5873 .registerModelType(
"pnp", 504);
5890 bool instancePar_given_MULT,
5911 bool modelPar_given_TREF,
5913 bool modelPar_given_DTA,
5915 bool modelPar_given_IS,
5917 bool modelPar_given_IK,
5919 bool modelPar_given_VER,
5921 bool modelPar_given_VEF,
5923 bool modelPar_given_BF,
5925 bool modelPar_given_IBF,
5927 bool modelPar_given_MLF,
5929 bool modelPar_given_XIBI,
5931 bool modelPar_given_IZEB,
5933 bool modelPar_given_NZEB,
5935 bool modelPar_given_BRI,
5937 bool modelPar_given_IBR,
5939 bool modelPar_given_VLR,
5941 bool modelPar_given_XEXT,
5943 bool modelPar_given_WAVL,
5945 bool modelPar_given_VAVL,
5947 bool modelPar_given_SFH,
5949 bool modelPar_given_RE,
5951 bool modelPar_given_RBC,
5953 bool modelPar_given_RBV,
5955 bool modelPar_given_RCC,
5957 bool modelPar_given_RCV,
5959 bool modelPar_given_SCRCV,
5961 bool modelPar_given_IHC,
5963 bool modelPar_given_AXI,
5965 bool modelPar_given_CJE,
5967 bool modelPar_given_VDE,
5969 bool modelPar_given_PE,
5971 bool modelPar_given_XCJE,
5973 bool modelPar_given_CBEO,
5975 bool modelPar_given_CJC,
5977 bool modelPar_given_VDC,
5979 bool modelPar_given_PC,
5981 bool modelPar_given_XP,
5983 bool modelPar_given_MC,
5985 bool modelPar_given_XCJC,
5987 bool modelPar_given_RCBLX,
5989 bool modelPar_given_RCBLI,
5991 bool modelPar_given_CBCO,
5993 bool modelPar_given_MTAU,
5995 bool modelPar_given_TAUE,
5997 bool modelPar_given_TAUB,
5999 bool modelPar_given_TEPI,
6001 bool modelPar_given_TAUR,
6003 bool modelPar_given_DEG,
6005 bool modelPar_given_XREC,
6007 bool modelPar_given_AQBO,
6009 bool modelPar_given_AE,
6011 bool modelPar_given_AB,
6013 bool modelPar_given_AEPI,
6015 bool modelPar_given_AEX,
6017 bool modelPar_given_AC,
6019 bool modelPar_given_ACBL,
6021 bool modelPar_given_DVGBF,
6023 bool modelPar_given_DVGBR,
6025 bool modelPar_given_VGB,
6027 bool modelPar_given_VGC,
6029 bool modelPar_given_VGJ,
6031 bool modelPar_given_VGZEB,
6033 bool modelPar_given_AVGEB,
6035 bool modelPar_given_TVGEB,
6037 bool modelPar_given_DVGTE,
6039 bool modelPar_given_DAIS,
6041 bool modelPar_given_AF,
6043 bool modelPar_given_KF,
6045 bool modelPar_given_KFN,
6047 bool modelPar_given_ISS,
6049 bool modelPar_given_ICSS,
6051 bool modelPar_given_IKS,
6053 bool modelPar_given_CJS,
6055 bool modelPar_given_VDS,
6057 bool modelPar_given_PS,
6059 bool modelPar_given_VGS,
6061 bool modelPar_given_AS,
6063 bool modelPar_given_ASUB,
6065 bool modelPar_given_MULT,
6067 bool modelPar_given_GMIN,
6070 bool modelPar_given_LEVEL,
6072 bool modelPar_given_EXMOD,
6074 bool modelPar_given_EXPHI,
6076 bool modelPar_given_EXAVL,
6078 bool modelPar_given_EXSUB,
6080 bool modelPar_given_KAVL,
6082 bool modelPar_given_TYPE
6136 double admsTemperature,
double adms_vt_nom)
6154 bool modelPar_given_TREF,
6156 bool modelPar_given_DTA,
6158 bool modelPar_given_IS,
6160 bool modelPar_given_IK,
6162 bool modelPar_given_VER,
6164 bool modelPar_given_VEF,
6166 bool modelPar_given_BF,
6168 bool modelPar_given_IBF,
6170 bool modelPar_given_MLF,
6172 bool modelPar_given_XIBI,
6174 bool modelPar_given_IZEB,
6176 bool modelPar_given_NZEB,
6178 bool modelPar_given_BRI,
6180 bool modelPar_given_IBR,
6182 bool modelPar_given_VLR,
6184 bool modelPar_given_XEXT,
6186 bool modelPar_given_WAVL,
6188 bool modelPar_given_VAVL,
6190 bool modelPar_given_SFH,
6192 bool modelPar_given_RE,
6194 bool modelPar_given_RBC,
6196 bool modelPar_given_RBV,
6198 bool modelPar_given_RCC,
6200 bool modelPar_given_RCV,
6202 bool modelPar_given_SCRCV,
6204 bool modelPar_given_IHC,
6206 bool modelPar_given_AXI,
6208 bool modelPar_given_CJE,
6210 bool modelPar_given_VDE,
6212 bool modelPar_given_PE,
6214 bool modelPar_given_XCJE,
6216 bool modelPar_given_CBEO,
6218 bool modelPar_given_CJC,
6220 bool modelPar_given_VDC,
6222 bool modelPar_given_PC,
6224 bool modelPar_given_XP,
6226 bool modelPar_given_MC,
6228 bool modelPar_given_XCJC,
6230 bool modelPar_given_RCBLX,
6232 bool modelPar_given_RCBLI,
6234 bool modelPar_given_CBCO,
6236 bool modelPar_given_MTAU,
6238 bool modelPar_given_TAUE,
6240 bool modelPar_given_TAUB,
6242 bool modelPar_given_TEPI,
6244 bool modelPar_given_TAUR,
6246 bool modelPar_given_DEG,
6248 bool modelPar_given_XREC,
6250 bool modelPar_given_AQBO,
6252 bool modelPar_given_AE,
6254 bool modelPar_given_AB,
6256 bool modelPar_given_AEPI,
6258 bool modelPar_given_AEX,
6260 bool modelPar_given_AC,
6262 bool modelPar_given_ACBL,
6264 bool modelPar_given_DVGBF,
6266 bool modelPar_given_DVGBR,
6268 bool modelPar_given_VGB,
6270 bool modelPar_given_VGC,
6272 bool modelPar_given_VGJ,
6274 bool modelPar_given_VGZEB,
6276 bool modelPar_given_AVGEB,
6278 bool modelPar_given_TVGEB,
6280 bool modelPar_given_DVGTE,
6282 bool modelPar_given_DAIS,
6284 bool modelPar_given_AF,
6286 bool modelPar_given_KF,
6288 bool modelPar_given_KFN,
6290 bool modelPar_given_ISS,
6292 bool modelPar_given_ICSS,
6294 bool modelPar_given_IKS,
6296 bool modelPar_given_CJS,
6298 bool modelPar_given_VDS,
6300 bool modelPar_given_PS,
6302 bool modelPar_given_VGS,
6304 bool modelPar_given_AS,
6306 bool modelPar_given_ASUB,
6308 bool modelPar_given_MULT,
6310 bool modelPar_given_GMIN,
6313 bool modelPar_given_LEVEL,
6315 bool modelPar_given_EXMOD,
6317 bool modelPar_given_EXPHI,
6319 bool modelPar_given_EXAVL,
6321 bool modelPar_given_EXSUB,
6323 bool modelPar_given_KAVL,
6325 bool modelPar_given_TYPE
6379 double admsTemperature)
6425 if ((modelPar_TYPE==1))
6427 modelVar_An = 7.03e7;
6432 modelVar_An = 1.58e8;
6435 modelVar_Xext1 = (1.0-modelPar_XEXT);
6436 modelVar_CBEO_M = (modelPar_CBEO*modelPar_MULT);
6437 modelVar_CBCO_M = (modelPar_CBCO*modelPar_MULT);
6438 invMULT = (1.0/modelPar_MULT);
6439 modelVar_SCRCV_M = (modelPar_SCRCV*invMULT);
6440 modelVar_KF_M = (modelPar_KF*pow(modelPar_MULT,(1.0-modelPar_AF)));
6441 modelVar_KFN_M = (modelPar_KFN*pow(modelPar_MULT,(1.0-((2.0*(modelPar_MLF-1.0))+(modelPar_AF*(2.0-modelPar_MLF))))));
6442 modelVar_pow2_2mPE = pow(2.0,(2.0-modelPar_PE));
6443 modelVar_pow2_PEm2 = (1.0/modelVar_pow2_2mPE);
6444 Trk = (modelPar_TREF+273.15);
6449 dxa = (((modelPar_VGZEB+(((modelPar_AVGEB*Trk)*Trk)/(Trk+modelPar_TVGEB)))-0.05)/0.1);
6450 if (((modelPar_VGZEB+(((modelPar_AVGEB*Trk)*Trk)/(Trk+modelPar_TVGEB)))<0.05))
6452 VGZEBOK = (0.05+(0.1*log((1.0+exp(dxa)))));
6456 VGZEBOK = ((modelPar_VGZEB+(((modelPar_AVGEB*Trk)*Trk)/(Trk+modelPar_TVGEB)))+(0.1*log((1.0+exp((-dxa))))));
6460 VGZEB_Tr = modelPar_VGZEB;
6461 inv_VGZEB_Tr = (1.0/VGZEB_Tr);
6462 inv_VDE = (1.0/modelPar_VDE);
6464 modelVar_Tk = ((admsTemperature+modelPar_DTA)+Vdt);
6465 Tamb = (admsTemperature+modelPar_DTA);
6466 tN = (modelVar_Tk/Trk);
6467 modelVar_Vt = (8.61708691805812512584e-5*modelVar_Tk);
6468 Vtr = (8.61708691805812512584e-5*Trk);
6469 modelVar_VtINV = (1.0/modelVar_Vt);
6471 VdtINV = (modelVar_VtINV-VtrINV);
6477 dxa = (((VGZEBOK-(((modelPar_AVGEB*modelVar_Tk)*modelVar_Tk)/(modelVar_Tk+modelPar_TVGEB)))-0.05)/0.1);
6478 if (((VGZEBOK-(((modelPar_AVGEB*modelVar_Tk)*modelVar_Tk)/(modelVar_Tk+modelPar_TVGEB)))<0.05))
6480 modelVar_VGZEB_T = (0.05+(0.1*log((1.0+exp(dxa)))));
6484 modelVar_VGZEB_T = ((VGZEBOK-(((modelPar_AVGEB*modelVar_Tk)*modelVar_Tk)/(modelVar_Tk+modelPar_TVGEB)))+(0.1*log((1.0+exp((-dxa))))));
6486 modelVar_VGZEB_T = modelVar_VGZEB_T;
6488 UdeT = (((((-3.0)*modelVar_Vt)*log(tN))+(modelPar_VDE*tN))+((1.0-tN)*modelPar_VGB));
6493 dxa = ((0.05-UdeT)/modelVar_Vt);
6496 modelVar_VDE_T = (UdeT+(modelVar_Vt*log((1.0+exp(dxa)))));
6500 modelVar_VDE_T = (0.05+(modelVar_Vt*log((1.0+exp((-dxa))))));
6502 modelVar_VDE_T = modelVar_VDE_T;
6504 UdcT = (((((-3.0)*modelVar_Vt)*log(tN))+(modelPar_VDC*tN))+((1.0-tN)*modelPar_VGC));
6509 dxa = ((0.05-UdcT)/modelVar_Vt);
6512 modelVar_VDC_T = (UdcT+(modelVar_Vt*log((1.0+exp(dxa)))));
6516 modelVar_VDC_T = (0.05+(modelVar_Vt*log((1.0+exp((-dxa))))));
6518 modelVar_VDC_T = modelVar_VDC_T;
6520 UdsT = (((((-3.0)*modelVar_Vt)*log(tN))+(modelPar_VDS*tN))+((1.0-tN)*modelPar_VGS));
6525 dxa = ((0.05-UdsT)/modelVar_Vt);
6528 modelVar_VDS_T = (UdsT+(modelVar_Vt*log((1.0+exp(dxa)))));
6532 modelVar_VDS_T = (0.05+(modelVar_Vt*log((1.0+exp((-dxa))))));
6534 modelVar_VDS_T = modelVar_VDS_T;
6536 modelVar_inv_VDE_T = (1.0/modelVar_VDE_T);
6537 CJE_T_div_CJE = pow((modelPar_VDE*modelVar_inv_VDE_T),modelPar_PE);
6538 CJE_T = (modelPar_CJE*CJE_T_div_CJE);
6539 CJS_T = (modelPar_CJS*pow((modelPar_VDS/modelVar_VDS_T),modelPar_PS));
6540 CJCscale = (((1.0-modelPar_XP)*pow((modelPar_VDC/modelVar_VDC_T),modelPar_PC))+modelPar_XP);
6541 CJCscaleINV = (1.0/CJCscale);
6542 CJC_T = (modelPar_CJC*CJCscale);
6543 modelVar_XP_T = (modelPar_XP*CJCscaleINV);
6544 RE_T = (modelPar_RE*exp((lntN*modelPar_AE)));
6545 RBV_T = (modelPar_RBV*exp((lntN*(modelPar_AB-modelPar_AQBO))));
6546 RBC_T = (modelPar_RBC*exp((lntN*modelPar_AEX)));
6547 RCCxx_T = (modelPar_RCC*exp((lntN*modelPar_AC)));
6548 RCCex_T = (modelPar_RCBLX*exp((lntN*modelPar_ACBL)));
6549 RCCin_T = (modelPar_RCBLI*exp((lntN*modelPar_ACBL)));
6550 RCV_T = (modelPar_RCV*exp((lntN*modelPar_AEPI)));
6551 modelVar_BF_T = ((modelPar_BF*exp((lntN*((modelPar_AE-modelPar_AB)-modelPar_AQBO))))*exp(((-modelPar_DVGBF)*VdtINV)));
6552 modelVar_BRI_T = (modelPar_BRI*exp(((-modelPar_DVGBR)*VdtINV)));
6553 modelVar_IS_T = ((modelPar_IS*exp((lntN*(((4.0-modelPar_AB)-modelPar_AQBO)+modelPar_DAIS))))*exp(((-modelPar_VGB)*VdtINV)));
6554 IK_T = (modelPar_IK*exp((lntN*(1.0-modelPar_AB))));
6555 IBF_T = ((modelPar_IBF*exp((lntN*(6.0-(2.0*modelPar_MLF)))))*exp((((-modelPar_VGJ)*VdtINV)/modelPar_MLF)));
6556 IBR_T = (((modelPar_IBR*tN)*tN)*exp((((-modelPar_VGC)*VdtINV)/2.0)));
6557 tempx = pow((modelVar_VGZEB_T*inv_VGZEB_Tr),(-0.5));
6558 y = (1.0/CJE_T_div_CJE);
6559 modelVar_nZEB_T = ((((((((modelPar_NZEB*modelVar_VGZEB_T)*modelVar_VGZEB_T)*tempx)*y)*modelPar_VDE)*modelVar_inv_VDE_T)*inv_VGZEB_Tr)*inv_VGZEB_Tr);
6560 IZEB_T = (((((((modelPar_IZEB*tempx)*modelVar_VDE_T)*modelVar_VDE_T)*inv_VDE)*inv_VDE)*CJE_T_div_CJE)*exp((modelPar_NZEB-modelVar_nZEB_T)));
6561 tempx = exp((lntN*modelPar_AQBO));
6562 modelVar_VEF_T = ((modelPar_VEF*tempx)*CJCscaleINV);
6563 modelVar_VER_T = ((modelPar_VER*tempx)*y);
6564 ISS_T = ((modelPar_ISS*exp((lntN*(4.0-modelPar_AS))))*exp(((-modelPar_VGS)*VdtINV)));
6565 ICSS_T = ((modelPar_ICSS*exp((lntN*(3.5-(0.5*modelPar_ASUB)))))*exp(((-modelPar_VGS)*VdtINV)));
6568 modelVar_IKS_T = (((modelPar_IKS*exp((lntN*(1.0-modelPar_AS))))*(modelVar_IS_T/modelPar_IS))*(modelPar_ISS/ISS_T));
6572 modelVar_IKS_T = (modelPar_IKS*exp((lntN*(1.0-modelPar_AS))));
6574 modelVar_TAUE_T = ((modelPar_TAUE*exp((lntN*(modelPar_AB-2.0))))*exp(((-modelPar_DVGTE)*VdtINV)));
6575 modelVar_TAUB_T = (modelPar_TAUB*exp((lntN*((modelPar_AQBO+modelPar_AB)-1.0))));
6576 modelVar_TEPI_T = (modelPar_TEPI*exp((lntN*(modelPar_AEPI-1.0))));
6577 modelVar_TAUR_T = ((modelPar_TAUR*(modelVar_TAUB_T+modelVar_TEPI_T))/(modelPar_TAUB+modelPar_TEPI));
6578 Tk300 = (modelVar_Tk-300.0);
6579 if ((modelVar_Tk<525.0))
6581 modelVar_BnT = (Bn*((1.0+(7.2e-4*Tk300))-((1.6e-6*Tk300)*Tk300)));
6585 modelVar_BnT = (Bn*1.081);
6587 modelVar_DEG_T = (modelPar_DEG*exp((lntN*modelPar_AQBO)));
6588 modelVar_IS_TM = (modelVar_IS_T*modelPar_MULT);
6589 modelVar_IK_TM = (IK_T*modelPar_MULT);
6590 modelVar_IBF_TM = (IBF_T*modelPar_MULT);
6591 modelVar_IBR_TM = (IBR_T*modelPar_MULT);
6592 modelVar_IZEB_TM = (IZEB_T*modelPar_MULT);
6593 modelVar_IHC_M = (modelPar_IHC*modelPar_MULT);
6594 modelVar_ISS_TM = (ISS_T*modelPar_MULT);
6595 modelVar_ICSS_TM = (ICSS_T*modelPar_MULT);
6596 modelVar_IKS_TM = (modelVar_IKS_T*modelPar_MULT);
6597 modelVar_CJE_TM = (CJE_T*modelPar_MULT);
6598 modelVar_CJC_TM = (CJC_T*modelPar_MULT);
6599 modelVar_CJS_TM = (CJS_T*modelPar_MULT);
6600 modelVar_RE_TM = (RE_T*invMULT);
6601 modelVar_RBC_TM = (RBC_T*invMULT);
6602 modelVar_RBV_TM = (RBV_T*invMULT);
6603 modelVar_RCCxx_TM = (RCCxx_T*invMULT);
6604 RCCex_TM = (RCCex_T*invMULT);
6605 RCCin_TM = (RCCin_T*invMULT);
6606 modelVar_RCV_TM = (RCV_T*invMULT);
6607 if ((modelPar_RCC>0.0))
6609 modelVar_GCCxx_TM = (1.0/modelVar_RCCxx_TM);
6613 modelVar_GCCxx_TM = 0;
6615 if ((modelPar_RCBLX>0.0))
6617 modelVar_GCCex_TM = (1.0/RCCex_TM);
6621 modelVar_GCCex_TM = 0;
6623 if ((modelPar_RCBLI>0.0))
6625 modelVar_GCCin_TM = (1.0/RCCin_TM);
6629 modelVar_GCCin_TM = 0;
6649 std::vector <double> & probeVars,
6651 const int admsProbeID_V_noi_e1,
6652 const int admsProbeID_V_c3_c1,
6653 const int admsProbeID_V_c3_c4,
6654 const int admsProbeID_V_c4_c1,
6655 const int admsProbeID_V_b_c,
6656 const int admsProbeID_V_b_e,
6657 const int admsProbeID_V_b_b1,
6658 const int admsProbeID_V_e_e1,
6659 const int admsProbeID_V_c1_c2,
6660 const int admsProbeID_V_s_c1,
6661 const int admsProbeID_V_b1_b2,
6662 const int admsProbeID_V_b1_e1,
6663 const int admsProbeID_V_b2_e1,
6664 const int admsProbeID_V_b2_c2,
6665 const int admsProbeID_V_b2_c1,
6667 const int admsNodeID_c,
6668 const int admsNodeID_b,
6669 const int admsNodeID_e,
6670 const int admsNodeID_s,
6671 const int admsNodeID_e1,
6672 const int admsNodeID_b1,
6673 const int admsNodeID_b2,
6674 const int admsNodeID_c3,
6675 const int admsNodeID_c4,
6676 const int admsNodeID_c2,
6677 const int admsNodeID_c1,
6678 const int admsNodeID_noi,
6682 bool instancePar_given_MULT,
6703 bool modelPar_given_TREF,
6705 bool modelPar_given_DTA,
6707 bool modelPar_given_IS,
6709 bool modelPar_given_IK,
6711 bool modelPar_given_VER,
6713 bool modelPar_given_VEF,
6715 bool modelPar_given_BF,
6717 bool modelPar_given_IBF,
6719 bool modelPar_given_MLF,
6721 bool modelPar_given_XIBI,
6723 bool modelPar_given_IZEB,
6725 bool modelPar_given_NZEB,
6727 bool modelPar_given_BRI,
6729 bool modelPar_given_IBR,
6731 bool modelPar_given_VLR,
6733 bool modelPar_given_XEXT,
6735 bool modelPar_given_WAVL,
6737 bool modelPar_given_VAVL,
6739 bool modelPar_given_SFH,
6741 bool modelPar_given_RE,
6743 bool modelPar_given_RBC,
6745 bool modelPar_given_RBV,
6747 bool modelPar_given_RCC,
6749 bool modelPar_given_RCV,
6751 bool modelPar_given_SCRCV,
6753 bool modelPar_given_IHC,
6755 bool modelPar_given_AXI,
6757 bool modelPar_given_CJE,
6759 bool modelPar_given_VDE,
6761 bool modelPar_given_PE,
6763 bool modelPar_given_XCJE,
6765 bool modelPar_given_CBEO,
6767 bool modelPar_given_CJC,
6769 bool modelPar_given_VDC,
6771 bool modelPar_given_PC,
6773 bool modelPar_given_XP,
6775 bool modelPar_given_MC,
6777 bool modelPar_given_XCJC,
6779 bool modelPar_given_RCBLX,
6781 bool modelPar_given_RCBLI,
6783 bool modelPar_given_CBCO,
6785 bool modelPar_given_MTAU,
6787 bool modelPar_given_TAUE,
6789 bool modelPar_given_TAUB,
6791 bool modelPar_given_TEPI,
6793 bool modelPar_given_TAUR,
6795 bool modelPar_given_DEG,
6797 bool modelPar_given_XREC,
6799 bool modelPar_given_AQBO,
6801 bool modelPar_given_AE,
6803 bool modelPar_given_AB,
6805 bool modelPar_given_AEPI,
6807 bool modelPar_given_AEX,
6809 bool modelPar_given_AC,
6811 bool modelPar_given_ACBL,
6813 bool modelPar_given_DVGBF,
6815 bool modelPar_given_DVGBR,
6817 bool modelPar_given_VGB,
6819 bool modelPar_given_VGC,
6821 bool modelPar_given_VGJ,
6823 bool modelPar_given_VGZEB,
6825 bool modelPar_given_AVGEB,
6827 bool modelPar_given_TVGEB,
6829 bool modelPar_given_DVGTE,
6831 bool modelPar_given_DAIS,
6833 bool modelPar_given_AF,
6835 bool modelPar_given_KF,
6837 bool modelPar_given_KFN,
6839 bool modelPar_given_ISS,
6841 bool modelPar_given_ICSS,
6843 bool modelPar_given_IKS,
6845 bool modelPar_given_CJS,
6847 bool modelPar_given_VDS,
6849 bool modelPar_given_PS,
6851 bool modelPar_given_VGS,
6853 bool modelPar_given_AS,
6855 bool modelPar_given_ASUB,
6857 bool modelPar_given_MULT,
6859 bool modelPar_given_GMIN,
6862 bool modelPar_given_LEVEL,
6864 bool modelPar_given_EXMOD,
6866 bool modelPar_given_EXPHI,
6868 bool modelPar_given_EXAVL,
6870 bool modelPar_given_EXSUB,
6872 bool modelPar_given_KAVL,
6874 bool modelPar_given_TYPE
6929 double admsTemperature,
double adms_vt_nom,
double gmin, std::vector <AdmsSensFadType> & staticContributions, std::vector <AdmsSensFadType> & dynamicContributions,
const Instance & theInstance)
7125 Vb2c1 = probeVars[admsProbeID_V_b2_c1];
7127 Vb2c2 = probeVars[admsProbeID_V_b2_c2];
7129 Vb2e1 = (modelPar_TYPE*(probeVars[admsProbeID_V_b2_e1]));
7130 Vb1e1 = probeVars[admsProbeID_V_b1_e1];
7132 Vb1b2 = probeVars[admsProbeID_V_b1_b2];
7134 Vsc1 = (modelPar_TYPE*(probeVars[admsProbeID_V_s_c1]));
7135 Vc1c2 = (modelPar_TYPE*(probeVars[admsProbeID_V_c1_c2]));
7136 Vee1 = (modelPar_TYPE*(probeVars[admsProbeID_V_e_e1]));
7137 Vbb1 = (modelPar_TYPE*(probeVars[admsProbeID_V_b_b1]));
7138 Vbe = (modelPar_TYPE*(probeVars[admsProbeID_V_b_e]));
7139 Vbc = (modelPar_TYPE*(probeVars[admsProbeID_V_b_c]));
7140 if ((modelPar_RCBLX>0.0))
7142 if ((modelPar_RCBLI>0.0))
7144 Vc4c1 = (modelPar_TYPE*(probeVars[admsProbeID_V_c4_c1]));
7145 Vc3c4 = (modelPar_TYPE*(probeVars[admsProbeID_V_c3_c4]));
7150 Vc3c4 = (modelPar_TYPE*(probeVars[admsProbeID_V_c3_c1]));
7155 if ((modelPar_RCBLI>0.0))
7157 Vc4c1 = (modelPar_TYPE*(probeVars[admsProbeID_V_c4_c1]));
7166 Vb1c4 = (((Vb1b2+Vb2c2)-Vc1c2)-Vc4c1);
7167 Vcc3 = ((((-Vbc)+Vbb1)+Vb1c4)-Vc3c4);
7169 Vsc4 = (Vsc1-Vc4c1);
7170 Vsc3 = (Vsc4-Vc3c4);
7171 if (((Vb2c2*modelVar_VtINV)<400.0))
7173 eVb2c2 = exp((Vb2c2*modelVar_VtINV));
7178 eVb2c2 = (expl*(1.0+((Vb2c2*modelVar_VtINV)-400.0)));
7180 if (((Vb2e1*modelVar_VtINV)<400.0))
7182 eVb2e1 = exp((Vb2e1*modelVar_VtINV));
7187 eVb2e1 = (expl*(1.0+((Vb2e1*modelVar_VtINV)-400.0)));
7189 if (((Vb1e1*modelVar_VtINV)<400.0))
7191 eVb1e1 = exp((Vb1e1*modelVar_VtINV));
7196 eVb1e1 = (expl*(1.0+((Vb1e1*modelVar_VtINV)-400.0)));
7198 if (((Vb1c4*modelVar_VtINV)<400.0))
7200 eVb1c4 = exp((Vb1c4*modelVar_VtINV));
7205 eVb1c4 = (expl*(1.0+((Vb1c4*modelVar_VtINV)-400.0)));
7207 if (((Vb1b2*modelVar_VtINV)<400.0))
7209 instanceVar_eVb1b2 = exp((Vb1b2*modelVar_VtINV));
7214 instanceVar_eVb1b2 = (expl*(1.0+((Vb1b2*modelVar_VtINV)-400.0)));
7216 if (((Vbc3*modelVar_VtINV)<400.0))
7218 eVbc3 = exp((Vbc3*modelVar_VtINV));
7223 eVbc3 = (expl*(1.0+((Vbc3*modelVar_VtINV)-400.0)));
7225 if (((Vsc1*modelVar_VtINV)<400.0))
7227 eVsc1 = exp((Vsc1*modelVar_VtINV));
7232 eVsc1 = (expl*(1.0+((Vsc1*modelVar_VtINV)-400.0)));
7234 if (((Vsc3*modelVar_VtINV)<400.0))
7236 eVsc3 = exp((Vsc3*modelVar_VtINV));
7241 eVsc3 = (expl*(1.0+((Vsc3*modelVar_VtINV)-400.0)));
7243 if (((Vsc4*modelVar_VtINV)<400.0))
7245 eVsc4 = exp((Vsc4*modelVar_VtINV));
7250 eVsc4 = (expl*(1.0+((Vsc4*modelVar_VtINV)-400.0)));
7252 if ((((Vbc3-modelVar_VDC_T)*modelVar_VtINV)<400.0))
7254 eVbc3VDC = exp(((Vbc3-modelVar_VDC_T)*modelVar_VtINV));
7259 eVbc3VDC = (expl*(1.0+(((Vbc3-modelVar_VDC_T)*modelVar_VtINV)-400.0)));
7261 if ((((Vb1c4-modelVar_VDC_T)*modelVar_VtINV)<400.0))
7263 eVb1c4VDC = exp(((Vb1c4-modelVar_VDC_T)*modelVar_VtINV));
7268 eVb1c4VDC = (expl*(1.0+(((Vb1c4-modelVar_VDC_T)*modelVar_VtINV)-400.0)));
7270 if ((((Vb2c2-modelVar_VDC_T)*modelVar_VtINV)<400.0))
7272 eVb2c2VDC = exp(((Vb2c2-modelVar_VDC_T)*modelVar_VtINV));
7277 eVb2c2VDC = (expl*(1.0+(((Vb2c2-modelVar_VDC_T)*modelVar_VtINV)-400.0)));
7279 if ((((Vb2c1-modelVar_VDC_T)*modelVar_VtINV)<400.0))
7281 eVb2c1VDC = exp(((Vb2c1-modelVar_VDC_T)*modelVar_VtINV));
7286 eVb2c1VDC = (expl*(1.0+(((Vb2c1-modelVar_VDC_T)*modelVar_VtINV)-400.0)));
7288 K0 = sqrt((1.0+(4.0*eVb2c2VDC)));
7289 Kw = sqrt((1.0+(4.0*eVb2c1VDC)));
7290 pW = ((2.0*eVb2c1VDC)/(1.0+Kw));
7295 Ec = (modelVar_Vt*((K0-Kw)-log(((K0+1.0)/(Kw+1.0)))));
7296 Ic1c2 = ((Ec+Vc1c2)/modelVar_RCV_TM);
7305 tmpV = (100.0+log((1.0+(Vb2c1-100.0))));
7308 Vqs_th = ((modelVar_VDC_T+((2.0*modelVar_Vt)*log(((((0.5*Ic1c2)*modelVar_RCV_TM)*modelVar_VtINV)+1.0))))-tmpV);
7309 eps_VDC = (0.2*modelVar_VDC_T);
7310 eps2 = (eps_VDC*eps_VDC);
7311 x2 = (Vqs_th*Vqs_th);
7314 Vqs = ((0.5*eps2)/(sqrt((x2+eps2))-Vqs_th));
7318 Vqs = (0.5*(sqrt((x2+eps2))+Vqs_th));
7321 Iqs = ((Vqs*(Vqs+(modelVar_IHC_M*modelVar_SCRCV_M)))/(modelVar_SCRCV_M*(Vqs+(modelVar_IHC_M*modelVar_RCV_TM))));
7322 Ic1c2_Iqs = (Ic1c2/Iqs);
7327 dxa = ((Ic1c2_Iqs-1.0)/modelPar_AXI);
7328 if ((Ic1c2_Iqs<1.0))
7330 alpha1 = (1.0+(modelPar_AXI*log((1.0+exp(dxa)))));
7334 alpha1 = (Ic1c2_Iqs+(modelPar_AXI*log((1.0+exp((-dxa))))));
7338 alpha = (alpha1/(1.0+(modelPar_AXI*log((1.0+exp(((-1.0)/modelPar_AXI)))))));
7339 vyi = (Vqs/(modelVar_IHC_M*modelVar_SCRCV_M));
7340 yi = ((1.0+sqrt((1.0+(((4.0*alpha)*vyi)*(1.0+vyi)))))/((2.0*alpha)*(1.0+vyi)));
7341 xi_w = (1.0-(yi/(1.0+(pW*yi))));
7342 gp0 = ((((0.5*Ic1c2)*modelVar_RCV_TM)*xi_w)*modelVar_VtINV);
7343 gp0_help = ((2.0*gp0)+(pW*((pW+gp0)+1.0)));
7344 gp02 = (0.5*(gp0-1.0));
7345 sqr_arg = ((gp02*gp02)+gp0_help);
7348 p0star = (gp02+sqrt(sqr_arg));
7352 p0star = (gp0_help/(sqrt(sqr_arg)-gp02));
7354 if ((p0star<1.0e-40))
7358 eVb2c2star = ((p0star*(p0star+1.0))*exp((modelVar_VDC_T*modelVar_VtINV)));
7359 B1 = ((0.5*modelVar_SCRCV_M)*(Ic1c2-modelVar_IHC_M));
7360 B2 = (((modelVar_SCRCV_M*modelVar_RCV_TM)*modelVar_IHC_M)*Ic1c2);
7361 Vxi0 = (B1+sqrt(((B1*B1)+B2)));
7362 Vch = (modelVar_VDC_T*(0.1+((2.0*Ic1c2)/(Ic1c2+Iqs))));
7363 Icap = ((modelVar_IHC_M*Ic1c2)/(modelVar_IHC_M+Ic1c2));
7364 Icap_IHC = (modelVar_IHC_M/(modelVar_IHC_M+Ic1c2));
7369 p0star = ((2.0*eVb2c2VDC)/(1.0+K0));
7370 eVb2c2star = eVb2c2;
7371 if (((fabs(Vc1c2)<(1.0e-5*modelVar_Vt))||(fabs(Ec)<((1.0e-40*modelVar_Vt)*(K0+Kw)))))
7373 pav = (0.5*(p0star+pW));
7374 xi_w = (pav/(pav+1.0));
7378 xi_w = (Ec/((Ec+Vb2c2)-Vb2c1));
7381 Vch = (0.1*modelVar_VDC_T);
7383 Icap_IHC = (1.0-(Icap/modelVar_IHC_M));
7385 Vfe = (modelVar_VDE_T*(1.0-pow(3.0,((-1.0)/modelPar_PE))));
7386 a_VDE = (0.1*modelVar_VDE_T);
7391 dxa = ((Vb2e1-Vfe)/a_VDE);
7394 Vje = (Vb2e1-(a_VDE*log((1.0+exp(dxa)))));
7398 Vje = (Vfe-(a_VDE*log((1.0+exp((-dxa))))));
7402 E0BE = pow((1.0-(Vje*modelVar_inv_VDE_T)),(1.0-modelPar_PE));
7403 Vte = (((modelVar_VDE_T/(1.0-modelPar_PE))*(1.0-E0BE))+(3.0*(Vb2e1-Vje)));
7404 Vjunc = (Vb2c1+Vxi0);
7405 bjc = ((2.0-modelVar_XP_T)/(1.0-modelVar_XP_T));
7406 Vfc = (modelVar_VDC_T*(1.0-pow(bjc,((-1.0)/modelPar_PC))));
7411 dxa = ((Vjunc-Vfc)/Vch);
7414 Vjc = (Vjunc-(Vch*log((1.0+exp(dxa)))));
7418 Vjc = (Vfc-(Vch*log((1.0+exp((-dxa))))));
7422 fI = pow(Icap_IHC,modelPar_MC);
7423 Vcv = (((modelVar_VDC_T/(1.0-modelPar_PC))*(1.0-(fI*pow((1.0-(Vjc/modelVar_VDC_T)),(1.0-modelPar_PC)))))+((fI*bjc)*(Vjunc-Vjc)));
7424 Vtc = (((1.0-modelVar_XP_T)*Vcv)+(modelVar_XP_T*Vb2c1));
7425 If0 = ((4.0*modelVar_IS_TM)/modelVar_IK_TM);
7427 n0 = (f1/(1.0+sqrt((1.0+f1))));
7428 f2 = (If0*eVb2c2star);
7429 nB = (f2/(1.0+sqrt((1.0+f2))));
7430 if ((modelPar_DEG==0.0))
7432 q0I = ((1.0+(Vte/modelVar_VER_T))+(Vtc/modelVar_VEF_T));
7436 termE = ((((Vte/modelVar_VER_T)+1.0)*modelVar_DEG_T)*modelVar_VtINV);
7437 termC = ((((-Vtc)/modelVar_VEF_T)*modelVar_DEG_T)*modelVar_VtINV);
7438 q0I = ((exp(termE)-exp(termC))/(exp((modelVar_DEG_T*modelVar_VtINV))-1.0));
7444 q1I = ((0.5*eps2)/(sqrt((x2+eps2))-q0I));
7448 q1I = (0.5*(sqrt((x2+eps2))+q0I));
7451 instanceVar_qBI = (q1I*(1.0+(0.5*(n0+nB))));
7452 instanceVar_Ir = (modelVar_IS_TM*eVb2c2star);
7453 instanceVar_If = (modelVar_IS_TM*eVb2e1);
7454 In = ((instanceVar_If-instanceVar_Ir)/instanceVar_qBI);
7455 Ibf0 = (modelVar_IS_TM/modelVar_BF_T);
7456 if ((modelPar_XREC==0.0))
7458 instanceVar_Ib1 = (((1.0-modelPar_XIBI)*Ibf0)*(eVb2e1-1.0));
7462 instanceVar_Ib1 = (((1.0-modelPar_XIBI)*Ibf0)*(((1.0-modelPar_XREC)*(eVb2e1-1.0))+((modelPar_XREC*((eVb2e1+eVb2c2star)-2.0))*(1.0+(Vtc/modelVar_VEF_T)))));
7464 instanceVar_Ib1_s = ((modelPar_XIBI*Ibf0)*(eVb1e1-1.0));
7465 if ((((Vb2e1*modelVar_VtINV)/modelPar_MLF)<400.0))
7467 tmpExp = exp(((Vb2e1*modelVar_VtINV)/modelPar_MLF));
7472 tmpExp = (expl*(1.0+(((Vb2e1*modelVar_VtINV)/modelPar_MLF)-400.0)));
7474 instanceVar_Ib2 = ((modelVar_IBF_TM*(tmpExp-1.0))+(modelPar_GMIN*Vb2e1));
7475 if ((((0.5*Vb1c4)*modelVar_VtINV)<400.0))
7477 tmpExp = exp(((0.5*Vb1c4)*modelVar_VtINV));
7482 tmpExp = (expl*(1.0+(((0.5*Vb1c4)*modelVar_VtINV)-400.0)));
7484 instanceVar_Ib3 = (((modelVar_IBR_TM*(eVb1c4-1.0))/(tmpExp+exp(((0.5*modelPar_VLR)*modelVar_VtINV))))+(modelPar_GMIN*Vb1c4));
7485 if ((((modelPar_IZEB>0.0)&&(modelPar_NZEB>0.0))&&(Vb2e1<0)))
7487 if (((modelVar_nZEB_T*(1-(modelVar_pow2_2mPE/(2.0*E0BE))))<400.0))
7489 eZEB = exp((modelVar_nZEB_T*(1-(modelVar_pow2_2mPE/(2.0*E0BE)))));
7494 eZEB = (expl*(1.0+((modelVar_nZEB_T*(1-(modelVar_pow2_2mPE/(2.0*E0BE))))-400.0)));
7496 x = (Vb2e1*modelVar_inv_VDE_T);
7497 dE0BE = ((pow((-x),((-2.0)-modelPar_PE))*((modelPar_PE*((1-(modelPar_PE*modelPar_PE))-((3*x)*(modelPar_PE-1))))-(((6*x)*x)*((modelPar_PE-1)+x))))*0.16666666666666666667);
7498 if (((((Vb2e1*modelVar_pow2_2mPE)*modelVar_nZEB_T)/(modelVar_VGZEB_T*dE0BE))<400.0))
7500 edZEB = exp((((Vb2e1*modelVar_pow2_2mPE)*modelVar_nZEB_T)/(modelVar_VGZEB_T*dE0BE)));
7505 edZEB = (expl*(1.0+((((Vb2e1*modelVar_pow2_2mPE)*modelVar_nZEB_T)/(modelVar_VGZEB_T*dE0BE))-400.0)));
7507 DZEB = ((-Vb2e1)-(((modelVar_VGZEB_T*dE0BE)*(1-edZEB))/(modelVar_pow2_2mPE*modelVar_nZEB_T)));
7508 instanceVar_Izteb = ((((((2.0*modelVar_IZEB_TM)*DZEB)*E0BE)*eZEB)*modelVar_inv_VDE_T)*modelVar_pow2_PEm2);
7513 instanceVar_Izteb = 0;
7516 g2 = (4.0*eVb1c4VDC);
7517 nBex = ((g1-If0)/(1.0+sqrt((1.0+g1))));
7518 pWex = (g2/(1.0+sqrt((1.0+g2))));
7519 instanceVar_Iex = ((modelVar_IK_TM*nBex)/(2.0*modelVar_BRI_T));
7520 if ((modelPar_EXSUB==1.0))
7522 instanceVar_Isub = (((2.0*modelVar_ISS_TM)*(eVb1c4-eVsc4))/(1.0+sqrt((1.0+((4.0*(modelVar_IS_TM/modelVar_IKS_TM))*eVb1c4)))));
7526 instanceVar_Isub = (((2.0*modelVar_ISS_TM)*(eVb1c4-1.0))/(1.0+sqrt((1.0+((4.0*(modelVar_IS_TM/modelVar_IKS_TM))*eVb1c4)))));
7528 if ((modelPar_ICSS<0.0))
7530 Isf = (modelVar_ISS_TM*(eVsc1-1.0));
7534 Isf = (modelVar_ICSS_TM*(eVsc1-1.0));
7536 instanceVar_XIex = 0.0;
7537 instanceVar_XIsub = 0.0;
7538 if (((modelPar_EXMOD==1)||(modelPar_EXMOD==2)))
7540 instanceVar_Iex = (instanceVar_Iex*modelVar_Xext1);
7541 instanceVar_Isub = (instanceVar_Isub*modelVar_Xext1);
7543 XnBex = ((Xg1-If0)/(1.0+sqrt((1.0+Xg1))));
7544 XIMex = ((((modelPar_XEXT*0.5)*modelVar_IK_TM)*XnBex)/modelVar_BRI_T);
7545 if ((modelPar_EXSUB==1.0))
7547 XIMsub = ((((modelPar_XEXT*2.0)*modelVar_ISS_TM)*(eVbc3-eVsc3))/(1.0+sqrt((1.0+(((4.0*modelVar_IS_T)/modelVar_IKS_T)*eVbc3)))));
7551 XIMsub = ((((modelPar_XEXT*2.0)*modelVar_ISS_TM)*(eVbc3-1.0))/(1.0+sqrt((1.0+(((4.0*modelVar_IS_T)/modelVar_IKS_T)*eVbc3)))));
7553 if ((modelPar_EXMOD==1))
7555 Vex_bias = ((modelPar_XEXT*((modelVar_IS_TM/modelVar_BRI_T)+modelVar_ISS_TM))*modelVar_RCCxx_TM);
7556 Vex = (modelVar_Vt*(2.0-log((Vex_bias*modelVar_VtINV))));
7562 VBex = ((0.5*eps2)/(sqrt((x2+eps2))-vdif));
7566 VBex = (0.5*(sqrt((x2+eps2))+vdif));
7569 Fex = (VBex/((Vex_bias+((XIMex+XIMsub)*modelVar_RCCxx_TM))+VBex));
7578 instanceVar_XIex = (Fex*XIMex);
7579 instanceVar_XIsub = (Fex*XIMsub);
7586 q0Q = ((1.0+(Vte/modelVar_VER_T))+(Vtc/modelVar_VEF_T));
7591 q1Q = ((0.5*eps2)/(sqrt((x2+eps2))-q0Q));
7595 q1Q = (0.5*(sqrt((x2+eps2))+q0Q));
7598 qBQ = (q1Q*(1.0+(0.5*(n0+nB))));
7599 instanceVar_Rb2 = ((3.0*modelVar_RBV_TM)/qBQ);
7600 Ib1b2 = ((((2.0*modelVar_Vt)*(instanceVar_eVb1b2-1.0))+Vb1b2)/instanceVar_Rb2);
7602 instanceVar_Gem = 0.0;
7603 if (((Ic1c2>0.0)&&(Vb2c1<modelVar_VDC_T)))
7605 dEdx0 = ((2.0*modelPar_VAVL)/(modelPar_WAVL*modelPar_WAVL));
7606 sqr_arg = ((modelVar_VDC_T-Vb2c1)/Icap_IHC);
7607 xd = sqrt(((2.0*sqr_arg)/dEdx0));
7608 if ((modelPar_EXAVL==0.0))
7610 Weff = modelPar_WAVL;
7614 xi_w1 = (1.0-(0.5*xi_w));
7615 Weff = ((modelPar_WAVL*xi_w1)*xi_w1);
7617 Wd = ((xd*Weff)/sqrt(((xd*xd)+(Weff*Weff))));
7618 Eav = ((modelVar_VDC_T-Vb2c1)/Wd);
7619 E0 = (Eav+(((0.5*Wd)*dEdx0)*Icap_IHC));
7620 if ((modelPar_EXAVL==0))
7626 SHw = (1.0+((2.0*modelPar_SFH)*(1.0+(2.0*xi_w))));
7627 Efi = ((1.0+modelPar_SFH)/(1.0+(2.0*modelPar_SFH)));
7628 Ew = (Eav-(((0.5*Wd)*dEdx0)*(Efi-(Ic1c2/(modelVar_IHC_M*SHw)))));
7629 sqr_arg = (((Ew-E0)*(Ew-E0))+((((0.1*Eav)*Eav)*Icap)/modelVar_IHC_M));
7630 Em = (0.5*((Ew+E0)+sqrt(sqr_arg)));
7632 EmEav_Em = ((Em-Eav)/Em);
7633 if ((fabs(EmEav_Em)>1.0e-7))
7635 lambda = ((0.5*Wd)/EmEav_Em);
7636 instanceVar_Gem = ((((modelVar_An/modelVar_BnT)*Em)*lambda)*(exp(((-modelVar_BnT)/Em))-exp((((-modelVar_BnT)/Em)*(1.0+(Weff/lambda))))));
7640 instanceVar_Gem = ((modelVar_An*Weff)*exp(((-modelVar_BnT)/Em)));
7642 Gmax = (((modelVar_Vt/(Ic1c2*(modelVar_RBC_TM+instanceVar_Rb2)))+(instanceVar_qBI/modelVar_BF_T))+(modelVar_RE_TM/(modelVar_RBC_TM+instanceVar_Rb2)));
7643 Iavl = ((Ic1c2*instanceVar_Gem)/((instanceVar_Gem+(instanceVar_Gem/Gmax))+1.0));
7645 if ((eVb2c2star>0.0))
7647 Vb2c2star = (modelVar_Vt*log(eVb2c2star));
7653 Qte = (((1.0-modelPar_XCJE)*modelVar_CJE_TM)*Vte);
7658 dxa = ((Vb1e1-Vfe)/a_VDE);
7661 Vje_s = (Vb1e1-(a_VDE*log((1.0+exp(dxa)))));
7665 Vje_s = (Vfe-(a_VDE*log((1.0+exp((-dxa))))));
7669 Qte_s = ((modelPar_XCJE*modelVar_CJE_TM)*(((modelVar_VDE_T/(1.0-modelPar_PE))*(1.0-pow((1.0-(Vje_s*modelVar_inv_VDE_T)),(1.0-modelPar_PE))))+(3.0*(Vb1e1-Vje_s))));
7670 Qtc = ((modelPar_XCJC*modelVar_CJC_TM)*Vtc);
7671 Qb0 = (modelVar_TAUB_T*modelVar_IK_TM);
7672 Qbe_qs = (((0.5*Qb0)*n0)*q1Q);
7673 Qbc_qs = (((0.5*Qb0)*nB)*q1Q);
7674 a_VDC = (0.1*modelVar_VDC_T);
7679 dxa = ((Vb1c4-Vfc)/a_VDC);
7682 Vjcex = (Vb1c4-(a_VDC*log((1.0+exp(dxa)))));
7686 Vjcex = (Vfc-(a_VDC*log((1.0+exp((-dxa))))));
7690 Vtexv = (((modelVar_VDC_T/(1.0-modelPar_PC))*(1.0-pow((1.0-(Vjcex/modelVar_VDC_T)),(1.0-modelPar_PC))))+(bjc*(Vb1c4-Vjcex)));
7691 Qtex = (((modelVar_CJC_TM*(((1.0-modelVar_XP_T)*Vtexv)+(modelVar_XP_T*Vb1c4)))*(1.0-modelPar_XCJC))*(1.0-modelPar_XEXT));
7696 dxa = ((Vbc3-Vfc)/a_VDC);
7699 XVjcex = (Vbc3-(a_VDC*log((1.0+exp(dxa)))));
7703 XVjcex = (Vfc-(a_VDC*log((1.0+exp((-dxa))))));
7707 XVtexv = (((modelVar_VDC_T/(1.0-modelPar_PC))*(1.0-pow((1.0-(XVjcex/modelVar_VDC_T)),(1.0-modelPar_PC))))+(bjc*(Vbc3-XVjcex)));
7708 XQtex = (((modelVar_CJC_TM*(((1.0-modelVar_XP_T)*XVtexv)+(modelVar_XP_T*Vbc3)))*(1.0-modelPar_XCJC))*modelPar_XEXT);
7709 a_VDS = (0.1*modelVar_VDS_T);
7710 Vfs = (modelVar_VDS_T*(1.0-pow(2.0,((-1.0)/modelPar_PS))));
7715 dxa = ((Vsc1-Vfs)/a_VDS);
7718 Vjs = (Vsc1-(a_VDS*log((1.0+exp(dxa)))));
7722 Vjs = (Vfs-(a_VDS*log((1.0+exp((-dxa))))));
7726 Qts = (modelVar_CJS_TM*(((modelVar_VDS_T/(1.0-modelPar_PS))*(1.0-pow((1.0-(Vjs/modelVar_VDS_T)),(1.0-modelPar_PS))))+(2.0*(Vsc1-Vjs))));
7727 Qe0 = ((modelVar_TAUE_T*modelVar_IK_TM)*pow((modelVar_IS_TM/modelVar_IK_TM),(1.0/modelPar_MTAU)));
7728 if (((Vb2e1/(modelPar_MTAU*modelVar_Vt))<400.0))
7730 tmpExp = exp((Vb2e1/(modelPar_MTAU*modelVar_Vt)));
7735 tmpExp = (expl*(1.0+((Vb2e1/(modelPar_MTAU*modelVar_Vt))-400.0)));
7737 Qe = (Qe0*(tmpExp-1.0));
7738 Qepi0 = (((4.0*modelVar_TEPI_T)*modelVar_Vt)/modelVar_RCV_TM);
7739 Qepi = (((0.5*Qepi0)*xi_w)*((p0star+pW)+2.0));
7740 Qex = (((modelVar_TAUR_T*0.5)*((Qb0*nBex)+(Qepi0*pWex)))/(modelVar_TAUB_T+modelVar_TEPI_T));
7742 if ((modelPar_EXMOD==1))
7744 Qex = (Qex*(1.0-modelPar_XEXT));
7745 Xg2 = (4.0*eVbc3VDC);
7746 XpWex = (Xg2/(1.0+sqrt((1.0+Xg2))));
7747 XQex = (((((0.5*Fex)*modelPar_XEXT)*modelVar_TAUR_T)*((Qb0*XnBex)+(Qepi0*XpWex)))/(modelVar_TAUB_T+modelVar_TEPI_T));
7750 if ((modelPar_EXPHI==1))
7752 dVteVje = (pow((1.0-(Vje*modelVar_inv_VDE_T)),(-modelPar_PE))-3.0);
7753 Vb2e1Vfe = ((Vb2e1-Vfe)/a_VDE);
7756 dVjeVb2e1 = (1.0/(1.0+exp(Vb2e1Vfe)));
7760 dVjeVb2e1 = (exp((-Vb2e1Vfe))/(1.0+exp((-Vb2e1Vfe))));
7762 dVteVb2e1 = ((dVteVje*dVjeVb2e1)+3.0);
7763 dQteVb2e1 = (((1.0-modelPar_XCJE)*modelVar_CJE_TM)*dVteVb2e1);
7764 dn0Vb2e1 = (((If0*eVb2e1)*modelVar_VtINV)*(0.5/sqrt((1.0+f1))));
7765 dQbeVb2e1 = (((0.5*Qb0)*q1Q)*dn0Vb2e1);
7766 dQeVb2e1 = ((Qe+Qe0)/(modelPar_MTAU*modelVar_Vt));
7767 Qb1b2 = ((0.2*Vb1b2)*((dQteVb2e1+dQbeVb2e1)+dQeVb2e1));
7768 Qbc = ((Qbe_qs*0.33333333333333333333)+Qbc_qs);
7769 Qbe = ((2.0*Qbe_qs)*0.33333333333333333333);
7777 staticContributions[admsNodeID_c1] += (modelPar_TYPE*Ic1c2);
7778 staticContributions[admsNodeID_c2] -= (modelPar_TYPE*Ic1c2);
7780 staticContributions[admsNodeID_c2] += (modelPar_TYPE*In);
7781 staticContributions[admsNodeID_e1] -= (modelPar_TYPE*In);
7783 staticContributions[admsNodeID_b1] += (modelPar_TYPE*instanceVar_Ib1_s);
7784 staticContributions[admsNodeID_e1] -= (modelPar_TYPE*instanceVar_Ib1_s);
7786 staticContributions[admsNodeID_b2] += (modelPar_TYPE*((instanceVar_Ib1+instanceVar_Ib2)-instanceVar_Izteb));
7787 staticContributions[admsNodeID_e1] -= (modelPar_TYPE*((instanceVar_Ib1+instanceVar_Ib2)-instanceVar_Izteb));
7789 staticContributions[admsNodeID_b1] += (modelPar_TYPE*instanceVar_Isub);
7790 staticContributions[admsNodeID_s] -= (modelPar_TYPE*instanceVar_Isub);
7792 staticContributions[admsNodeID_b] += (modelPar_TYPE*instanceVar_XIsub);
7793 staticContributions[admsNodeID_s] -= (modelPar_TYPE*instanceVar_XIsub);
7795 staticContributions[admsNodeID_s] += (modelPar_TYPE*Isf);
7796 staticContributions[admsNodeID_c1] -= (modelPar_TYPE*Isf);
7798 staticContributions[admsNodeID_b1] += (modelPar_TYPE*Ib1b2);
7799 staticContributions[admsNodeID_b2] -= (modelPar_TYPE*Ib1b2);
7801 staticContributions[admsNodeID_b2] += (modelPar_TYPE*((-1.0)*Iavl));
7802 staticContributions[admsNodeID_c2] -= (modelPar_TYPE*((-1.0)*Iavl));
7804 staticContributions[admsNodeID_e] += ((modelPar_TYPE*Vee1)/modelVar_RE_TM);
7805 staticContributions[admsNodeID_e1] -= ((modelPar_TYPE*Vee1)/modelVar_RE_TM);
7807 staticContributions[admsNodeID_b] += ((modelPar_TYPE*Vbb1)/modelVar_RBC_TM);
7808 staticContributions[admsNodeID_b1] -= ((modelPar_TYPE*Vbb1)/modelVar_RBC_TM);
7810 staticContributions[admsNodeID_noi] += (probeVars[admsProbeID_V_noi_e1]);
7811 staticContributions[admsNodeID_e1] -= (probeVars[admsProbeID_V_noi_e1]);
7812 cor_exp_1 = (sqrt((1.0+(2.0*instanceVar_Gem)))*(probeVars[admsProbeID_V_noi_e1]));
7814 staticContributions[admsNodeID_b2] += cor_exp_1;
7815 staticContributions[admsNodeID_e1] -= cor_exp_1;
7816 cor_exp_2 = (((2.0+(2.0*instanceVar_Gem))/sqrt((1.0+(2.0*instanceVar_Gem))))*(probeVars[admsProbeID_V_noi_e1]));
7818 staticContributions[admsNodeID_e1] += cor_exp_2;
7819 staticContributions[admsNodeID_c2] -= cor_exp_2;
7821 dynamicContributions[admsNodeID_b2] += ((modelPar_TYPE*((Qte+Qbe)+Qe)));
7822 dynamicContributions[admsNodeID_e1] -= ((modelPar_TYPE*((Qte+Qbe)+Qe)));
7824 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*Qte_s));
7825 dynamicContributions[admsNodeID_e1] -= ((modelPar_TYPE*Qte_s));
7827 dynamicContributions[admsNodeID_b2] += ((modelPar_TYPE*((Qtc+Qbc)+Qepi)));
7828 dynamicContributions[admsNodeID_c2] -= ((modelPar_TYPE*((Qtc+Qbc)+Qepi)));
7830 dynamicContributions[admsNodeID_s] += ((modelPar_TYPE*Qts));
7831 dynamicContributions[admsNodeID_c1] -= ((modelPar_TYPE*Qts));
7833 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*Qb1b2));
7834 dynamicContributions[admsNodeID_b2] -= ((modelPar_TYPE*Qb1b2));
7836 dynamicContributions[admsNodeID_b] += (((modelPar_TYPE*modelVar_CBEO_M)*Vbe));
7837 dynamicContributions[admsNodeID_e] -= (((modelPar_TYPE*modelVar_CBEO_M)*Vbe));
7839 dynamicContributions[admsNodeID_b] += (((modelPar_TYPE*modelVar_CBCO_M)*Vbc));
7840 dynamicContributions[admsNodeID_c] -= (((modelPar_TYPE*modelVar_CBCO_M)*Vbc));
7842 if ((modelPar_RCBLX>0.0))
7845 staticContributions[admsNodeID_b] += (modelPar_TYPE*instanceVar_XIex);
7846 staticContributions[admsNodeID_c3] -= (modelPar_TYPE*instanceVar_XIex);
7848 staticContributions[admsNodeID_c] += ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7849 staticContributions[admsNodeID_c3] -= ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7851 dynamicContributions[admsNodeID_b] += ((modelPar_TYPE*(XQtex+XQex)));
7852 dynamicContributions[admsNodeID_c3] -= ((modelPar_TYPE*(XQtex+XQex)));
7853 if ((modelPar_RCBLI>0.0))
7856 staticContributions[admsNodeID_c4] += ((modelPar_TYPE*Vc4c1)*modelVar_GCCin_TM);
7857 staticContributions[admsNodeID_c1] -= ((modelPar_TYPE*Vc4c1)*modelVar_GCCin_TM);
7859 staticContributions[admsNodeID_b1] += (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7860 staticContributions[admsNodeID_c4] -= (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7862 staticContributions[admsNodeID_c3] += ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7863 staticContributions[admsNodeID_c4] -= ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7865 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*(Qtex+Qex)));
7866 dynamicContributions[admsNodeID_c4] -= ((modelPar_TYPE*(Qtex+Qex)));
7873 staticContributions[admsNodeID_b1] += (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7874 staticContributions[admsNodeID_c1] -= (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7876 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*(Qtex+Qex)));
7877 dynamicContributions[admsNodeID_c1] -= ((modelPar_TYPE*(Qtex+Qex)));
7879 staticContributions[admsNodeID_c3] += ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7880 staticContributions[admsNodeID_c1] -= ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7887 if ((modelPar_RCBLI>0.0))
7890 staticContributions[admsNodeID_b] += (modelPar_TYPE*instanceVar_XIex);
7891 staticContributions[admsNodeID_c4] -= (modelPar_TYPE*instanceVar_XIex);
7893 staticContributions[admsNodeID_c] += ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7894 staticContributions[admsNodeID_c4] -= ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7896 staticContributions[admsNodeID_c4] += ((modelPar_TYPE*Vc4c1)*modelVar_GCCin_TM);
7897 staticContributions[admsNodeID_c1] -= ((modelPar_TYPE*Vc4c1)*modelVar_GCCin_TM);
7899 staticContributions[admsNodeID_b1] += (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7900 staticContributions[admsNodeID_c4] -= (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7902 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*(Qtex+Qex)));
7903 dynamicContributions[admsNodeID_c4] -= ((modelPar_TYPE*(Qtex+Qex)));
7905 dynamicContributions[admsNodeID_b] += ((modelPar_TYPE*(XQtex+XQex)));
7906 dynamicContributions[admsNodeID_c4] -= ((modelPar_TYPE*(XQtex+XQex)));
7911 staticContributions[admsNodeID_b] += (modelPar_TYPE*instanceVar_XIex);
7912 staticContributions[admsNodeID_c1] -= (modelPar_TYPE*instanceVar_XIex);
7914 staticContributions[admsNodeID_c] += ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7915 staticContributions[admsNodeID_c1] -= ((modelPar_TYPE*Vcc3)*modelVar_GCCxx_TM);
7919 staticContributions[admsNodeID_b1] += (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7920 staticContributions[admsNodeID_c1] -= (modelPar_TYPE*(instanceVar_Ib3+instanceVar_Iex));
7922 dynamicContributions[admsNodeID_b1] += ((modelPar_TYPE*(Qtex+Qex)));
7923 dynamicContributions[admsNodeID_c1] -= ((modelPar_TYPE*(Qtex+Qex)));
7925 dynamicContributions[admsNodeID_b] += ((modelPar_TYPE*(XQtex+XQex)));
7926 dynamicContributions[admsNodeID_c1] -= ((modelPar_TYPE*(XQtex+XQex)));
7928 staticContributions[admsNodeID_c3] += ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7929 staticContributions[admsNodeID_c1] -= ((modelPar_TYPE*Vc3c4)*modelVar_GCCex_TM);
7960 void InstanceSensitivity::operator()
7963 const std::string &name,
7964 std::vector<double> & dfdp,
7965 std::vector<double> & dqdp,
7966 std::vector<double> & dbdp,
7967 std::vector<int> & Findices,
7968 std::vector<int> & Qindices,
7969 std::vector<int> & Bindices
7978 Findices.resize(12+0);
7979 Qindices.resize(12+0);
7981 std::vector <double> probeVars(15);
7982 std::vector <AdmsSensFadType> staticContributions(12+0);
7983 std::vector <AdmsSensFadType> dynamicContributions(12+0);
7987 for (
int i=0; i < 12+0 ; ++i)
7989 staticContributions[i]=0;
7990 dynamicContributions[i]=0;
7996 bool modelPar_given_TREF=mod.
given(
"TREF");
7998 bool modelPar_given_DTA=mod.
given(
"DTA");
8000 bool modelPar_given_IS=mod.
given(
"IS");
8002 bool modelPar_given_IK=mod.
given(
"IK");
8004 bool modelPar_given_VER=mod.
given(
"VER");
8006 bool modelPar_given_VEF=mod.
given(
"VEF");
8008 bool modelPar_given_BF=mod.
given(
"BF");
8010 bool modelPar_given_IBF=mod.
given(
"IBF");
8012 bool modelPar_given_MLF=mod.
given(
"MLF");
8014 bool modelPar_given_XIBI=mod.
given(
"XIBI");
8016 bool modelPar_given_IZEB=mod.
given(
"IZEB");
8018 bool modelPar_given_NZEB=mod.
given(
"NZEB");
8020 bool modelPar_given_BRI=mod.
given(
"BRI");
8022 bool modelPar_given_IBR=mod.
given(
"IBR");
8024 bool modelPar_given_VLR=mod.
given(
"VLR");
8026 bool modelPar_given_XEXT=mod.
given(
"XEXT");
8028 bool modelPar_given_WAVL=mod.
given(
"WAVL");
8030 bool modelPar_given_VAVL=mod.
given(
"VAVL");
8032 bool modelPar_given_SFH=mod.
given(
"SFH");
8034 bool modelPar_given_RE=mod.
given(
"RE");
8036 bool modelPar_given_RBC=mod.
given(
"RBC");
8038 bool modelPar_given_RBV=mod.
given(
"RBV");
8040 bool modelPar_given_RCC=mod.
given(
"RCC");
8042 bool modelPar_given_RCV=mod.
given(
"RCV");
8044 bool modelPar_given_SCRCV=mod.
given(
"SCRCV");
8046 bool modelPar_given_IHC=mod.
given(
"IHC");
8048 bool modelPar_given_AXI=mod.
given(
"AXI");
8050 bool modelPar_given_CJE=mod.
given(
"CJE");
8052 bool modelPar_given_VDE=mod.
given(
"VDE");
8054 bool modelPar_given_PE=mod.
given(
"PE");
8056 bool modelPar_given_XCJE=mod.
given(
"XCJE");
8058 bool modelPar_given_CBEO=mod.
given(
"CBEO");
8060 bool modelPar_given_CJC=mod.
given(
"CJC");
8062 bool modelPar_given_VDC=mod.
given(
"VDC");
8064 bool modelPar_given_PC=mod.
given(
"PC");
8066 bool modelPar_given_XP=mod.
given(
"XP");
8068 bool modelPar_given_MC=mod.
given(
"MC");
8070 bool modelPar_given_XCJC=mod.
given(
"XCJC");
8072 bool modelPar_given_RCBLX=mod.
given(
"RCBLX");
8074 bool modelPar_given_RCBLI=mod.
given(
"RCBLI");
8076 bool modelPar_given_CBCO=mod.
given(
"CBCO");
8078 bool modelPar_given_MTAU=mod.
given(
"MTAU");
8080 bool modelPar_given_TAUE=mod.
given(
"TAUE");
8082 bool modelPar_given_TAUB=mod.
given(
"TAUB");
8084 bool modelPar_given_TEPI=mod.
given(
"TEPI");
8086 bool modelPar_given_TAUR=mod.
given(
"TAUR");
8088 bool modelPar_given_DEG=mod.
given(
"DEG");
8090 bool modelPar_given_XREC=mod.
given(
"XREC");
8092 bool modelPar_given_AQBO=mod.
given(
"AQBO");
8094 bool modelPar_given_AE=mod.
given(
"AE");
8096 bool modelPar_given_AB=mod.
given(
"AB");
8098 bool modelPar_given_AEPI=mod.
given(
"AEPI");
8100 bool modelPar_given_AEX=mod.
given(
"AEX");
8102 bool modelPar_given_AC=mod.
given(
"AC");
8104 bool modelPar_given_ACBL=mod.
given(
"ACBL");
8106 bool modelPar_given_DVGBF=mod.
given(
"DVGBF");
8108 bool modelPar_given_DVGBR=mod.
given(
"DVGBR");
8110 bool modelPar_given_VGB=mod.
given(
"VGB");
8112 bool modelPar_given_VGC=mod.
given(
"VGC");
8114 bool modelPar_given_VGJ=mod.
given(
"VGJ");
8116 bool modelPar_given_VGZEB=mod.
given(
"VGZEB");
8118 bool modelPar_given_AVGEB=mod.
given(
"AVGEB");
8120 bool modelPar_given_TVGEB=mod.
given(
"TVGEB");
8122 bool modelPar_given_DVGTE=mod.
given(
"DVGTE");
8124 bool modelPar_given_DAIS=mod.
given(
"DAIS");
8126 bool modelPar_given_AF=mod.
given(
"AF");
8128 bool modelPar_given_KF=mod.
given(
"KF");
8130 bool modelPar_given_KFN=mod.
given(
"KFN");
8132 bool modelPar_given_ISS=mod.
given(
"ISS");
8134 bool modelPar_given_ICSS=mod.
given(
"ICSS");
8136 bool modelPar_given_IKS=mod.
given(
"IKS");
8138 bool modelPar_given_CJS=mod.
given(
"CJS");
8140 bool modelPar_given_VDS=mod.
given(
"VDS");
8142 bool modelPar_given_PS=mod.
given(
"PS");
8144 bool modelPar_given_VGS=mod.
given(
"VGS");
8146 bool modelPar_given_AS=mod.
given(
"AS");
8148 bool modelPar_given_ASUB=mod.
given(
"ASUB");
8150 bool modelPar_given_MULT=mod.
given(
"MULT");
8152 bool modelPar_given_GMIN=mod.
given(
"GMIN");
8159 int modelPar_LEVEL=mod.
LEVEL;
8160 bool modelPar_given_LEVEL=mod.
given(
"LEVEL");
8161 int modelPar_EXMOD=mod.
EXMOD;
8162 bool modelPar_given_EXMOD=mod.
given(
"EXMOD");
8163 int modelPar_EXPHI=mod.
EXPHI;
8164 bool modelPar_given_EXPHI=mod.
given(
"EXPHI");
8165 int modelPar_EXAVL=mod.
EXAVL;
8166 bool modelPar_given_EXAVL=mod.
given(
"EXAVL");
8167 int modelPar_EXSUB=mod.
EXSUB;
8168 bool modelPar_given_EXSUB=mod.
given(
"EXSUB");
8169 int modelPar_KAVL=mod.
KAVL;
8170 bool modelPar_given_KAVL=mod.
given(
"KAVL");
8171 int modelPar_TYPE=mod.
TYPE;
8172 bool modelPar_given_TYPE=mod.
given(
"TYPE");
8180 unordered_map <std::string,AdmsSensFadType*,HashNoCase,EqualNoCase> inParamMap;
8184 bool instancePar_given_MULT=in.
given(
"MULT");
8185 inParamMap[
"MULT"] = &instancePar_MULT;
8199 inParamMap[name]->diff(0,1);
8317 modelPar_given_TREF,
8335 modelPar_given_XIBI,
8337 modelPar_given_IZEB,
8339 modelPar_given_NZEB,
8347 modelPar_given_XEXT,
8349 modelPar_given_WAVL,
8351 modelPar_given_VAVL,
8365 modelPar_given_SCRCV,
8377 modelPar_given_XCJE,
8379 modelPar_given_CBEO,
8391 modelPar_given_XCJC,
8393 modelPar_given_RCBLX,
8395 modelPar_given_RCBLI,
8397 modelPar_given_CBCO,
8399 modelPar_given_MTAU,
8401 modelPar_given_TAUE,
8403 modelPar_given_TAUB,
8405 modelPar_given_TEPI,
8407 modelPar_given_TAUR,
8411 modelPar_given_XREC,
8413 modelPar_given_AQBO,
8419 modelPar_given_AEPI,
8425 modelPar_given_ACBL,
8427 modelPar_given_DVGBF,
8429 modelPar_given_DVGBR,
8437 modelPar_given_VGZEB,
8439 modelPar_given_AVGEB,
8441 modelPar_given_TVGEB,
8443 modelPar_given_DVGTE,
8445 modelPar_given_DAIS,
8455 modelPar_given_ICSS,
8469 modelPar_given_ASUB,
8471 modelPar_given_MULT,
8473 modelPar_given_GMIN,
8476 modelPar_given_LEVEL,
8478 modelPar_given_EXMOD,
8480 modelPar_given_EXPHI,
8482 modelPar_given_EXAVL,
8484 modelPar_given_EXSUB,
8486 modelPar_given_KAVL,
8581 instancePar_given_MULT,
8602 modelPar_given_TREF,
8620 modelPar_given_XIBI,
8622 modelPar_given_IZEB,
8624 modelPar_given_NZEB,
8632 modelPar_given_XEXT,
8634 modelPar_given_WAVL,
8636 modelPar_given_VAVL,
8650 modelPar_given_SCRCV,
8662 modelPar_given_XCJE,
8664 modelPar_given_CBEO,
8676 modelPar_given_XCJC,
8678 modelPar_given_RCBLX,
8680 modelPar_given_RCBLI,
8682 modelPar_given_CBCO,
8684 modelPar_given_MTAU,
8686 modelPar_given_TAUE,
8688 modelPar_given_TAUB,
8690 modelPar_given_TEPI,
8692 modelPar_given_TAUR,
8696 modelPar_given_XREC,
8698 modelPar_given_AQBO,
8704 modelPar_given_AEPI,
8710 modelPar_given_ACBL,
8712 modelPar_given_DVGBF,
8714 modelPar_given_DVGBR,
8722 modelPar_given_VGZEB,
8724 modelPar_given_AVGEB,
8726 modelPar_given_TVGEB,
8728 modelPar_given_DVGTE,
8730 modelPar_given_DAIS,
8740 modelPar_given_ICSS,
8754 modelPar_given_ASUB,
8756 modelPar_given_MULT,
8758 modelPar_given_GMIN,
8761 modelPar_given_LEVEL,
8763 modelPar_given_EXMOD,
8765 modelPar_given_EXPHI,
8767 modelPar_given_EXAVL,
8769 modelPar_given_EXSUB,
8771 modelPar_given_KAVL,
8830 staticContributions,
8831 dynamicContributions,
8911 void ModelSensitivity::operator()
8914 const std::string &name,
8915 std::vector<double> & dfdp,
8916 std::vector<double> & dqdp,
8917 std::vector<double> & dbdp,
8918 std::vector<int> & Findices,
8919 std::vector<int> & Qindices,
8920 std::vector<int> & Bindices
8924 const Model & mod = *(
dynamic_cast<const Model *
> (e1));
8927 dfdp.resize((12+0)*sizeInstance);
8928 dqdp.resize((12+0)*sizeInstance);
8929 Findices.resize((12+0)*sizeInstance);
8930 Qindices.resize((12+0)*sizeInstance);
8932 std::vector <double> probeVars(15);
8933 std::vector <AdmsSensFadType> staticContributions(12+0);
8934 std::vector <AdmsSensFadType> dynamicContributions(12+0);
8941 unordered_map <std::string,AdmsSensFadType*,HashNoCase,EqualNoCase> modParamMap;
8945 bool modelPar_given_TREF=mod.
given(
"TREF");
8946 modParamMap[
"TREF"] = &modelPar_TREF;
8948 bool modelPar_given_DTA=mod.
given(
"DTA");
8949 modParamMap[
"DTA"] = &modelPar_DTA;
8951 bool modelPar_given_IS=mod.
given(
"IS");
8952 modParamMap[
"IS"] = &modelPar_IS;
8954 bool modelPar_given_IK=mod.
given(
"IK");
8955 modParamMap[
"IK"] = &modelPar_IK;
8957 bool modelPar_given_VER=mod.
given(
"VER");
8958 modParamMap[
"VER"] = &modelPar_VER;
8960 bool modelPar_given_VEF=mod.
given(
"VEF");
8961 modParamMap[
"VEF"] = &modelPar_VEF;
8963 bool modelPar_given_BF=mod.
given(
"BF");
8964 modParamMap[
"BF"] = &modelPar_BF;
8966 bool modelPar_given_IBF=mod.
given(
"IBF");
8967 modParamMap[
"IBF"] = &modelPar_IBF;
8969 bool modelPar_given_MLF=mod.
given(
"MLF");
8970 modParamMap[
"MLF"] = &modelPar_MLF;
8972 bool modelPar_given_XIBI=mod.
given(
"XIBI");
8973 modParamMap[
"XIBI"] = &modelPar_XIBI;
8975 bool modelPar_given_IZEB=mod.
given(
"IZEB");
8976 modParamMap[
"IZEB"] = &modelPar_IZEB;
8978 bool modelPar_given_NZEB=mod.
given(
"NZEB");
8979 modParamMap[
"NZEB"] = &modelPar_NZEB;
8981 bool modelPar_given_BRI=mod.
given(
"BRI");
8982 modParamMap[
"BRI"] = &modelPar_BRI;
8984 bool modelPar_given_IBR=mod.
given(
"IBR");
8985 modParamMap[
"IBR"] = &modelPar_IBR;
8987 bool modelPar_given_VLR=mod.
given(
"VLR");
8988 modParamMap[
"VLR"] = &modelPar_VLR;
8990 bool modelPar_given_XEXT=mod.
given(
"XEXT");
8991 modParamMap[
"XEXT"] = &modelPar_XEXT;
8993 bool modelPar_given_WAVL=mod.
given(
"WAVL");
8994 modParamMap[
"WAVL"] = &modelPar_WAVL;
8996 bool modelPar_given_VAVL=mod.
given(
"VAVL");
8997 modParamMap[
"VAVL"] = &modelPar_VAVL;
8999 bool modelPar_given_SFH=mod.
given(
"SFH");
9000 modParamMap[
"SFH"] = &modelPar_SFH;
9002 bool modelPar_given_RE=mod.
given(
"RE");
9003 modParamMap[
"RE"] = &modelPar_RE;
9005 bool modelPar_given_RBC=mod.
given(
"RBC");
9006 modParamMap[
"RBC"] = &modelPar_RBC;
9008 bool modelPar_given_RBV=mod.
given(
"RBV");
9009 modParamMap[
"RBV"] = &modelPar_RBV;
9011 bool modelPar_given_RCC=mod.
given(
"RCC");
9012 modParamMap[
"RCC"] = &modelPar_RCC;
9014 bool modelPar_given_RCV=mod.
given(
"RCV");
9015 modParamMap[
"RCV"] = &modelPar_RCV;
9017 bool modelPar_given_SCRCV=mod.
given(
"SCRCV");
9018 modParamMap[
"SCRCV"] = &modelPar_SCRCV;
9020 bool modelPar_given_IHC=mod.
given(
"IHC");
9021 modParamMap[
"IHC"] = &modelPar_IHC;
9023 bool modelPar_given_AXI=mod.
given(
"AXI");
9024 modParamMap[
"AXI"] = &modelPar_AXI;
9026 bool modelPar_given_CJE=mod.
given(
"CJE");
9027 modParamMap[
"CJE"] = &modelPar_CJE;
9029 bool modelPar_given_VDE=mod.
given(
"VDE");
9030 modParamMap[
"VDE"] = &modelPar_VDE;
9032 bool modelPar_given_PE=mod.
given(
"PE");
9033 modParamMap[
"PE"] = &modelPar_PE;
9035 bool modelPar_given_XCJE=mod.
given(
"XCJE");
9036 modParamMap[
"XCJE"] = &modelPar_XCJE;
9038 bool modelPar_given_CBEO=mod.
given(
"CBEO");
9039 modParamMap[
"CBEO"] = &modelPar_CBEO;
9041 bool modelPar_given_CJC=mod.
given(
"CJC");
9042 modParamMap[
"CJC"] = &modelPar_CJC;
9044 bool modelPar_given_VDC=mod.
given(
"VDC");
9045 modParamMap[
"VDC"] = &modelPar_VDC;
9047 bool modelPar_given_PC=mod.
given(
"PC");
9048 modParamMap[
"PC"] = &modelPar_PC;
9050 bool modelPar_given_XP=mod.
given(
"XP");
9051 modParamMap[
"XP"] = &modelPar_XP;
9053 bool modelPar_given_MC=mod.
given(
"MC");
9054 modParamMap[
"MC"] = &modelPar_MC;
9056 bool modelPar_given_XCJC=mod.
given(
"XCJC");
9057 modParamMap[
"XCJC"] = &modelPar_XCJC;
9059 bool modelPar_given_RCBLX=mod.
given(
"RCBLX");
9060 modParamMap[
"RCBLX"] = &modelPar_RCBLX;
9062 bool modelPar_given_RCBLI=mod.
given(
"RCBLI");
9063 modParamMap[
"RCBLI"] = &modelPar_RCBLI;
9065 bool modelPar_given_CBCO=mod.
given(
"CBCO");
9066 modParamMap[
"CBCO"] = &modelPar_CBCO;
9068 bool modelPar_given_MTAU=mod.
given(
"MTAU");
9069 modParamMap[
"MTAU"] = &modelPar_MTAU;
9071 bool modelPar_given_TAUE=mod.
given(
"TAUE");
9072 modParamMap[
"TAUE"] = &modelPar_TAUE;
9074 bool modelPar_given_TAUB=mod.
given(
"TAUB");
9075 modParamMap[
"TAUB"] = &modelPar_TAUB;
9077 bool modelPar_given_TEPI=mod.
given(
"TEPI");
9078 modParamMap[
"TEPI"] = &modelPar_TEPI;
9080 bool modelPar_given_TAUR=mod.
given(
"TAUR");
9081 modParamMap[
"TAUR"] = &modelPar_TAUR;
9083 bool modelPar_given_DEG=mod.
given(
"DEG");
9084 modParamMap[
"DEG"] = &modelPar_DEG;
9086 bool modelPar_given_XREC=mod.
given(
"XREC");
9087 modParamMap[
"XREC"] = &modelPar_XREC;
9089 bool modelPar_given_AQBO=mod.
given(
"AQBO");
9090 modParamMap[
"AQBO"] = &modelPar_AQBO;
9092 bool modelPar_given_AE=mod.
given(
"AE");
9093 modParamMap[
"AE"] = &modelPar_AE;
9095 bool modelPar_given_AB=mod.
given(
"AB");
9096 modParamMap[
"AB"] = &modelPar_AB;
9098 bool modelPar_given_AEPI=mod.
given(
"AEPI");
9099 modParamMap[
"AEPI"] = &modelPar_AEPI;
9101 bool modelPar_given_AEX=mod.
given(
"AEX");
9102 modParamMap[
"AEX"] = &modelPar_AEX;
9104 bool modelPar_given_AC=mod.
given(
"AC");
9105 modParamMap[
"AC"] = &modelPar_AC;
9107 bool modelPar_given_ACBL=mod.
given(
"ACBL");
9108 modParamMap[
"ACBL"] = &modelPar_ACBL;
9110 bool modelPar_given_DVGBF=mod.
given(
"DVGBF");
9111 modParamMap[
"DVGBF"] = &modelPar_DVGBF;
9113 bool modelPar_given_DVGBR=mod.
given(
"DVGBR");
9114 modParamMap[
"DVGBR"] = &modelPar_DVGBR;
9116 bool modelPar_given_VGB=mod.
given(
"VGB");
9117 modParamMap[
"VGB"] = &modelPar_VGB;
9119 bool modelPar_given_VGC=mod.
given(
"VGC");
9120 modParamMap[
"VGC"] = &modelPar_VGC;
9122 bool modelPar_given_VGJ=mod.
given(
"VGJ");
9123 modParamMap[
"VGJ"] = &modelPar_VGJ;
9125 bool modelPar_given_VGZEB=mod.
given(
"VGZEB");
9126 modParamMap[
"VGZEB"] = &modelPar_VGZEB;
9128 bool modelPar_given_AVGEB=mod.
given(
"AVGEB");
9129 modParamMap[
"AVGEB"] = &modelPar_AVGEB;
9131 bool modelPar_given_TVGEB=mod.
given(
"TVGEB");
9132 modParamMap[
"TVGEB"] = &modelPar_TVGEB;
9134 bool modelPar_given_DVGTE=mod.
given(
"DVGTE");
9135 modParamMap[
"DVGTE"] = &modelPar_DVGTE;
9137 bool modelPar_given_DAIS=mod.
given(
"DAIS");
9138 modParamMap[
"DAIS"] = &modelPar_DAIS;
9140 bool modelPar_given_AF=mod.
given(
"AF");
9141 modParamMap[
"AF"] = &modelPar_AF;
9143 bool modelPar_given_KF=mod.
given(
"KF");
9144 modParamMap[
"KF"] = &modelPar_KF;
9146 bool modelPar_given_KFN=mod.
given(
"KFN");
9147 modParamMap[
"KFN"] = &modelPar_KFN;
9149 bool modelPar_given_ISS=mod.
given(
"ISS");
9150 modParamMap[
"ISS"] = &modelPar_ISS;
9152 bool modelPar_given_ICSS=mod.
given(
"ICSS");
9153 modParamMap[
"ICSS"] = &modelPar_ICSS;
9155 bool modelPar_given_IKS=mod.
given(
"IKS");
9156 modParamMap[
"IKS"] = &modelPar_IKS;
9158 bool modelPar_given_CJS=mod.
given(
"CJS");
9159 modParamMap[
"CJS"] = &modelPar_CJS;
9161 bool modelPar_given_VDS=mod.
given(
"VDS");
9162 modParamMap[
"VDS"] = &modelPar_VDS;
9164 bool modelPar_given_PS=mod.
given(
"PS");
9165 modParamMap[
"PS"] = &modelPar_PS;
9167 bool modelPar_given_VGS=mod.
given(
"VGS");
9168 modParamMap[
"VGS"] = &modelPar_VGS;
9170 bool modelPar_given_AS=mod.
given(
"AS");
9171 modParamMap[
"AS"] = &modelPar_AS;
9173 bool modelPar_given_ASUB=mod.
given(
"ASUB");
9174 modParamMap[
"ASUB"] = &modelPar_ASUB;
9176 bool modelPar_given_MULT=mod.
given(
"MULT");
9177 modParamMap[
"MULT"] = &modelPar_MULT;
9179 bool modelPar_given_GMIN=mod.
given(
"GMIN");
9180 modParamMap[
"GMIN"] = &modelPar_GMIN;
9187 int modelPar_LEVEL=mod.
LEVEL;
9188 bool modelPar_given_LEVEL=mod.
given(
"LEVEL");
9189 int modelPar_EXMOD=mod.
EXMOD;
9190 bool modelPar_given_EXMOD=mod.
given(
"EXMOD");
9191 int modelPar_EXPHI=mod.
EXPHI;
9192 bool modelPar_given_EXPHI=mod.
given(
"EXPHI");
9193 int modelPar_EXAVL=mod.
EXAVL;
9194 bool modelPar_given_EXAVL=mod.
given(
"EXAVL");
9195 int modelPar_EXSUB=mod.
EXSUB;
9196 bool modelPar_given_EXSUB=mod.
given(
"EXSUB");
9197 int modelPar_KAVL=mod.
KAVL;
9198 bool modelPar_given_KAVL=mod.
given(
"KAVL");
9199 int modelPar_TYPE=mod.
TYPE;
9200 bool modelPar_given_TYPE=mod.
given(
"TYPE");
9207 modParamMap[name]->diff(0,1);
9274 modelPar_given_TREF,
9292 modelPar_given_XIBI,
9294 modelPar_given_IZEB,
9296 modelPar_given_NZEB,
9304 modelPar_given_XEXT,
9306 modelPar_given_WAVL,
9308 modelPar_given_VAVL,
9322 modelPar_given_SCRCV,
9334 modelPar_given_XCJE,
9336 modelPar_given_CBEO,
9348 modelPar_given_XCJC,
9350 modelPar_given_RCBLX,
9352 modelPar_given_RCBLI,
9354 modelPar_given_CBCO,
9356 modelPar_given_MTAU,
9358 modelPar_given_TAUE,
9360 modelPar_given_TAUB,
9362 modelPar_given_TEPI,
9364 modelPar_given_TAUR,
9368 modelPar_given_XREC,
9370 modelPar_given_AQBO,
9376 modelPar_given_AEPI,
9382 modelPar_given_ACBL,
9384 modelPar_given_DVGBF,
9386 modelPar_given_DVGBR,
9394 modelPar_given_VGZEB,
9396 modelPar_given_AVGEB,
9398 modelPar_given_TVGEB,
9400 modelPar_given_DVGTE,
9402 modelPar_given_DAIS,
9412 modelPar_given_ICSS,
9426 modelPar_given_ASUB,
9428 modelPar_given_MULT,
9430 modelPar_given_GMIN,
9433 modelPar_given_LEVEL,
9435 modelPar_given_EXMOD,
9437 modelPar_given_EXPHI,
9439 modelPar_given_EXAVL,
9441 modelPar_given_EXSUB,
9443 modelPar_given_KAVL,
9510 for (
int i=0; i < 12+0 ; ++i)
9512 staticContributions[i]=0;
9513 dynamicContributions[i]=0;
9521 bool instancePar_given_MULT=in.
given(
"MULT");
9537 if (!(in.
given(
"MULT")))
9539 instancePar_MULT = modelPar_MULT;
9630 instancePar_given_MULT,
9651 modelPar_given_TREF,
9669 modelPar_given_XIBI,
9671 modelPar_given_IZEB,
9673 modelPar_given_NZEB,
9681 modelPar_given_XEXT,
9683 modelPar_given_WAVL,
9685 modelPar_given_VAVL,
9699 modelPar_given_SCRCV,
9711 modelPar_given_XCJE,
9713 modelPar_given_CBEO,
9725 modelPar_given_XCJC,
9727 modelPar_given_RCBLX,
9729 modelPar_given_RCBLI,
9731 modelPar_given_CBCO,
9733 modelPar_given_MTAU,
9735 modelPar_given_TAUE,
9737 modelPar_given_TAUB,
9739 modelPar_given_TEPI,
9741 modelPar_given_TAUR,
9745 modelPar_given_XREC,
9747 modelPar_given_AQBO,
9753 modelPar_given_AEPI,
9759 modelPar_given_ACBL,
9761 modelPar_given_DVGBF,
9763 modelPar_given_DVGBR,
9771 modelPar_given_VGZEB,
9773 modelPar_given_AVGEB,
9775 modelPar_given_TVGEB,
9777 modelPar_given_DVGTE,
9779 modelPar_given_DAIS,
9789 modelPar_given_ICSS,
9803 modelPar_given_ASUB,
9805 modelPar_given_MULT,
9807 modelPar_given_GMIN,
9810 modelPar_given_LEVEL,
9812 modelPar_given_EXMOD,
9814 modelPar_given_EXPHI,
9816 modelPar_given_EXAVL,
9818 modelPar_given_EXSUB,
9820 modelPar_given_KAVL,
9879 staticContributions,
9880 dynamicContributions,
double * f_b1_Equ_s_Node_Ptr
const InstanceName & getName() const
double * q_b_Equ_s_Node_Ptr
double * f_b1_Equ_b1_Node_Ptr
double * f_c1_Equ_b2_Node_Ptr
double * q_b1_Equ_c1_Node_Ptr
std::vector< std::vector< int > > jacMap2
double * f_c3_Equ_b2_Node_Ptr
static const int admsProbeID_V_c1_c2
double * q_b2_Equ_c2_Node_Ptr
double * f_c4_Equ_c_Node_Ptr
double * q_b2_Equ_b2_Node_Ptr
double * f_c1_Equ_c_Node_Ptr
std::vector< AdmsFadType > staticContributions
double * q_s_Equ_b_Node_Ptr
bool updateDependentParameters()
double * f_e1_Equ_b_Node_Ptr
double * q_c2_Equ_e1_Node_Ptr
ScalarT trunc_ev(ScalarT Val, ScalarT Vprev, ScalarT Vmin, ScalarT Vmax)
static const int admsProbeID_V_b2_c1
double * f_c4_Equ_e1_Node_Ptr
double * q_b2_Equ_c_Node_Ptr
double * q_b1_Equ_c_Node_Ptr
const SolverState & solverState_
Descriptor & addPar(const char *parName, T default_value, T U::*varPtr)
Adds the parameter description to the parameter map.
double * f_b_Equ_e_Node_Ptr
double * q_e1_Equ_c_Node_Ptr
double * q_b2_Equ_c4_Node_Ptr
double * q_b_Equ_c3_Node_Ptr
std::vector< double > probeDiffs
double * q_c_Equ_c3_Node_Ptr
double * f_e_Equ_e_Node_Ptr
double * f_b_Equ_b1_Node_Ptr
double * f_b_Equ_c_Node_Ptr
double * f_c3_Equ_b1_Node_Ptr
double * q_e1_Equ_b1_Node_Ptr
double * f_b2_Equ_c4_Node_Ptr
double * q_c4_Equ_c4_Node_Ptr
double * q_s_Equ_c_Node_Ptr
double * dFdxdVpVectorRawPtr
double * q_s_Equ_c2_Node_Ptr
Linear::Vector * nextSolVectorPtr
double * f_c2_Equ_c2_Node_Ptr
virtual std::ostream & printOutInstances(std::ostream &os) const
static const int admsProbeID_V_b1_e1
double * f_b2_Equ_b1_Node_Ptr
double * q_b_Equ_c_Node_Ptr
double * f_b2_Equ_e1_Node_Ptr
bool given(const std::string ¶meter_name) const
double * f_e1_Equ_b1_Node_Ptr
Linear::Vector * daeQVectorPtr
double * q_noi_Equ_c2_Node_Ptr
double * q_c_Equ_b_Node_Ptr
double * q_b2_Equ_b_Node_Ptr
double * f_c3_Equ_c4_Node_Ptr
static const int admsNodeID_e1
Pure virtual class to augment a linear system.
double * q_c1_Equ_c3_Node_Ptr
double * q_c_Equ_b1_Node_Ptr
double * f_s_Equ_b2_Node_Ptr
double * q_c1_Equ_c4_Node_Ptr
double * f_e1_Equ_c3_Node_Ptr
void addInternalNode(Util::SymbolTable &symbol_table, int index, const InstanceName &instance_name, const std::string &lead_name)
double * q_c1_Equ_b1_Node_Ptr
static T adms_vt(const T temp)
double * f_e1_Equ_c4_Node_Ptr
static const int admsProbeID_V_b1_b2
double * q_s_Equ_e1_Node_Ptr
double * q_c2_Equ_b_Node_Ptr
virtual void forEachInstance(DeviceInstanceOp &op) const
Apply a device instance "op" to all instances associated with this model.
double * q_c3_Equ_s_Node_Ptr
double * f_c2_Equ_c_Node_Ptr
double * q_noi_Equ_b2_Node_Ptr
double * f_s_Equ_c_Node_Ptr
double * f_c2_Equ_c3_Node_Ptr
double * f_c_Equ_b1_Node_Ptr
double * f_noi_Equ_e1_Node_Ptr
const JacobianStamp & jacobianStamp() const
void registerStateLIDs(const LocalIdVector &staLIDVecRef)
double * q_c3_Equ_b_Node_Ptr
double * f_b1_Equ_c1_Node_Ptr
bool processParams()
processParams
double * f_b_Equ_c2_Node_Ptr
double * f_s_Equ_c3_Node_Ptr
double * f_b2_Equ_c_Node_Ptr
Sacado::Fad::SFad< double, 1 > AdmsSensFadType
Base class for all parameters.
double * f_b_Equ_c4_Node_Ptr
double * q_c2_Equ_c1_Node_Ptr
double * f_c_Equ_c3_Node_Ptr
double * f_c2_Equ_b2_Node_Ptr
RetScalarT Vt(Arg1ScalarT U, Arg2ScalarT Ud)
double * f_s_Equ_b1_Node_Ptr
double * f_b_Equ_e1_Node_Ptr
double * f_c4_Equ_s_Node_Ptr
static const int admsProbeID_V_b_c
double * q_c4_Equ_c_Node_Ptr
void jacStampMap_fixOrder(const JacobianStamp &stamp_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, JacobianStamp &map2)
double * f_c4_Equ_c2_Node_Ptr
virtual void registerJacLIDs(const JacobianStamp &jacLIDVec)
double * q_e1_Equ_c2_Node_Ptr
double * f_b2_Equ_noi_Node_Ptr
double * q_c1_Equ_s_Node_Ptr
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
double * f_b2_Equ_c3_Node_Ptr
static const int admsNodeID_b1
static const int admsProbeID_V_b_e
std::vector< double > Jdxp_dynamic
bool processInstanceParams()
processInstanceParams
double * q_c1_Equ_b2_Node_Ptr
double * q_e1_Equ_b_Node_Ptr
double * q_e_Equ_b_Node_Ptr
static const int admsNodeID_c
double * q_c_Equ_c2_Node_Ptr
double * f_e_Equ_b_Node_Ptr
double * q_c1_Equ_c_Node_Ptr
double * q_c2_Equ_c3_Node_Ptr
double * f_s_Equ_c1_Node_Ptr
double * q_c3_Equ_c4_Node_Ptr
std::vector< Param > params
Parameters from the line.
double * q_c2_Equ_c_Node_Ptr
static const int admsNodeID_e
double * f_e1_Equ_e_Node_Ptr
double * f_b_Equ_s_Node_Ptr
void setParams(const std::vector< Param > ¶ms)
double * q_c4_Equ_b_Node_Ptr
const std::string & getName() const
double * q_noi_Equ_e1_Node_Ptr
double * f_b1_Equ_c2_Node_Ptr
double * f_c1_Equ_e1_Node_Ptr
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
double * f_b1_Equ_c3_Node_Ptr
double * q_c4_Equ_c2_Node_Ptr
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
double * q_e_Equ_e_Node_Ptr
double * q_e1_Equ_noi_Node_Ptr
double * f_e1_Equ_c2_Node_Ptr
const DeviceOptions & getDeviceOptions() const
double * q_b_Equ_b1_Node_Ptr
double * q_c3_Equ_e1_Node_Ptr
double * q_s_Equ_c3_Node_Ptr
int li_state_admsProbeID_V_b2_c2
Parameter is not to be documented.
double * f_c2_Equ_noi_Node_Ptr
double * f_noi_Equ_noi_Node_Ptr
double * q_noi_Equ_c1_Node_Ptr
double * f_c_Equ_b_Node_Ptr
double * q_b1_Equ_b1_Node_Ptr
static ModelSensitivity modSens
double * q_b2_Equ_b1_Node_Ptr
double * f_c1_Equ_c4_Node_Ptr
double * q_c4_Equ_c3_Node_Ptr
double * f_c3_Equ_c_Node_Ptr
double * f_c2_Equ_e1_Node_Ptr
static const int admsProbeID_V_b_b1
double * f_s_Equ_c4_Node_Ptr
const DeviceOptions & deviceOptions_
void registerJacLIDs(const JacobianStamp &jacLIDVec)
double * q_e_Equ_e1_Node_Ptr
double * q_noi_Equ_noi_Node_Ptr
double * q_e1_Equ_e_Node_Ptr
static const int admsProbeID_V_noi_e1
std::vector< std::vector< int > > JacobianStamp
double * f_c1_Equ_b1_Node_Ptr
double * f_s_Equ_c2_Node_Ptr
double * f_c1_Equ_s_Node_Ptr
static const int admsNodeID_noi
double * q_c4_Equ_s_Node_Ptr
void evaluateInitialInstance(AdmsSensFadType &instancePar_MULT, bool instancePar_given_MULT, AdmsSensFadType &instanceVar_Izteb, AdmsSensFadType &instanceVar_qBI, AdmsSensFadType &instanceVar_Ir, AdmsSensFadType &instanceVar_If, AdmsSensFadType &instanceVar_Ib1, AdmsSensFadType &instanceVar_Ib1_s, AdmsSensFadType &instanceVar_Ib2, AdmsSensFadType &instanceVar_Ib3, AdmsSensFadType &instanceVar_Iex, AdmsSensFadType &instanceVar_XIex, AdmsSensFadType &instanceVar_Isub, AdmsSensFadType &instanceVar_XIsub, AdmsSensFadType &instanceVar_Rb2, AdmsSensFadType &instanceVar_Gem, AdmsSensFadType &instanceVar_eVb1b2, AdmsSensFadType &modelPar_TREF, bool modelPar_given_TREF, AdmsSensFadType &modelPar_DTA, bool modelPar_given_DTA, AdmsSensFadType &modelPar_IS, bool modelPar_given_IS, AdmsSensFadType &modelPar_IK, bool modelPar_given_IK, AdmsSensFadType &modelPar_VER, bool modelPar_given_VER, AdmsSensFadType &modelPar_VEF, bool modelPar_given_VEF, AdmsSensFadType &modelPar_BF, bool modelPar_given_BF, AdmsSensFadType &modelPar_IBF, bool modelPar_given_IBF, AdmsSensFadType &modelPar_MLF, bool modelPar_given_MLF, AdmsSensFadType &modelPar_XIBI, bool modelPar_given_XIBI, AdmsSensFadType &modelPar_IZEB, bool modelPar_given_IZEB, AdmsSensFadType &modelPar_NZEB, bool modelPar_given_NZEB, AdmsSensFadType &modelPar_BRI, bool modelPar_given_BRI, AdmsSensFadType &modelPar_IBR, bool modelPar_given_IBR, AdmsSensFadType &modelPar_VLR, bool modelPar_given_VLR, AdmsSensFadType &modelPar_XEXT, bool modelPar_given_XEXT, AdmsSensFadType &modelPar_WAVL, bool modelPar_given_WAVL, AdmsSensFadType &modelPar_VAVL, bool modelPar_given_VAVL, AdmsSensFadType &modelPar_SFH, bool modelPar_given_SFH, AdmsSensFadType &modelPar_RE, bool modelPar_given_RE, AdmsSensFadType &modelPar_RBC, bool modelPar_given_RBC, AdmsSensFadType &modelPar_RBV, bool modelPar_given_RBV, AdmsSensFadType &modelPar_RCC, bool modelPar_given_RCC, AdmsSensFadType &modelPar_RCV, bool modelPar_given_RCV, AdmsSensFadType &modelPar_SCRCV, bool modelPar_given_SCRCV, AdmsSensFadType &modelPar_IHC, bool modelPar_given_IHC, AdmsSensFadType &modelPar_AXI, bool modelPar_given_AXI, AdmsSensFadType &modelPar_CJE, bool modelPar_given_CJE, AdmsSensFadType &modelPar_VDE, bool modelPar_given_VDE, AdmsSensFadType &modelPar_PE, bool modelPar_given_PE, AdmsSensFadType &modelPar_XCJE, bool modelPar_given_XCJE, AdmsSensFadType &modelPar_CBEO, bool modelPar_given_CBEO, AdmsSensFadType &modelPar_CJC, bool modelPar_given_CJC, AdmsSensFadType &modelPar_VDC, bool modelPar_given_VDC, AdmsSensFadType &modelPar_PC, bool modelPar_given_PC, AdmsSensFadType &modelPar_XP, bool modelPar_given_XP, AdmsSensFadType &modelPar_MC, bool modelPar_given_MC, AdmsSensFadType &modelPar_XCJC, bool modelPar_given_XCJC, AdmsSensFadType &modelPar_RCBLX, bool modelPar_given_RCBLX, AdmsSensFadType &modelPar_RCBLI, bool modelPar_given_RCBLI, AdmsSensFadType &modelPar_CBCO, bool modelPar_given_CBCO, AdmsSensFadType &modelPar_MTAU, bool modelPar_given_MTAU, AdmsSensFadType &modelPar_TAUE, bool modelPar_given_TAUE, AdmsSensFadType &modelPar_TAUB, bool modelPar_given_TAUB, AdmsSensFadType &modelPar_TEPI, bool modelPar_given_TEPI, AdmsSensFadType &modelPar_TAUR, bool modelPar_given_TAUR, AdmsSensFadType &modelPar_DEG, bool modelPar_given_DEG, AdmsSensFadType &modelPar_XREC, bool modelPar_given_XREC, AdmsSensFadType &modelPar_AQBO, bool modelPar_given_AQBO, AdmsSensFadType &modelPar_AE, bool modelPar_given_AE, AdmsSensFadType &modelPar_AB, bool modelPar_given_AB, AdmsSensFadType &modelPar_AEPI, bool modelPar_given_AEPI, AdmsSensFadType &modelPar_AEX, bool modelPar_given_AEX, AdmsSensFadType &modelPar_AC, bool modelPar_given_AC, AdmsSensFadType &modelPar_ACBL, bool modelPar_given_ACBL, AdmsSensFadType &modelPar_DVGBF, bool modelPar_given_DVGBF, AdmsSensFadType &modelPar_DVGBR, bool modelPar_given_DVGBR, AdmsSensFadType &modelPar_VGB, bool modelPar_given_VGB, AdmsSensFadType &modelPar_VGC, bool modelPar_given_VGC, AdmsSensFadType &modelPar_VGJ, bool modelPar_given_VGJ, AdmsSensFadType &modelPar_VGZEB, bool modelPar_given_VGZEB, AdmsSensFadType &modelPar_AVGEB, bool modelPar_given_AVGEB, AdmsSensFadType &modelPar_TVGEB, bool modelPar_given_TVGEB, AdmsSensFadType &modelPar_DVGTE, bool modelPar_given_DVGTE, AdmsSensFadType &modelPar_DAIS, bool modelPar_given_DAIS, AdmsSensFadType &modelPar_AF, bool modelPar_given_AF, AdmsSensFadType &modelPar_KF, bool modelPar_given_KF, AdmsSensFadType &modelPar_KFN, bool modelPar_given_KFN, AdmsSensFadType &modelPar_ISS, bool modelPar_given_ISS, AdmsSensFadType &modelPar_ICSS, bool modelPar_given_ICSS, AdmsSensFadType &modelPar_IKS, bool modelPar_given_IKS, AdmsSensFadType &modelPar_CJS, bool modelPar_given_CJS, AdmsSensFadType &modelPar_VDS, bool modelPar_given_VDS, AdmsSensFadType &modelPar_PS, bool modelPar_given_PS, AdmsSensFadType &modelPar_VGS, bool modelPar_given_VGS, AdmsSensFadType &modelPar_AS, bool modelPar_given_AS, AdmsSensFadType &modelPar_ASUB, bool modelPar_given_ASUB, AdmsSensFadType &modelPar_MULT, bool modelPar_given_MULT, AdmsSensFadType &modelPar_GMIN, bool modelPar_given_GMIN, int modelPar_LEVEL, bool modelPar_given_LEVEL, int modelPar_EXMOD, bool modelPar_given_EXMOD, int modelPar_EXPHI, bool modelPar_given_EXPHI, int modelPar_EXAVL, bool modelPar_given_EXAVL, int modelPar_EXSUB, bool modelPar_given_EXSUB, int modelPar_KAVL, bool modelPar_given_KAVL, int modelPar_TYPE, bool modelPar_given_TYPE, AdmsSensFadType &modelVar_An, AdmsSensFadType &modelVar_Tk, AdmsSensFadType &modelVar_Vt, AdmsSensFadType &modelVar_VtINV, AdmsSensFadType &modelVar_VDE_T, AdmsSensFadType &modelVar_VDC_T, AdmsSensFadType &modelVar_XP_T, AdmsSensFadType &modelVar_BF_T, AdmsSensFadType &modelVar_BRI_T, AdmsSensFadType &modelVar_IS_T, AdmsSensFadType &modelVar_VEF_T, AdmsSensFadType &modelVar_VER_T, AdmsSensFadType &modelVar_nZEB_T, AdmsSensFadType &modelVar_pow2_2mPE, AdmsSensFadType &modelVar_pow2_PEm2, AdmsSensFadType &modelVar_inv_VDE_T, AdmsSensFadType &modelVar_VGZEB_T, AdmsSensFadType &modelVar_TAUE_T, AdmsSensFadType &modelVar_TAUB_T, AdmsSensFadType &modelVar_TEPI_T, AdmsSensFadType &modelVar_TAUR_T, AdmsSensFadType &modelVar_BnT, AdmsSensFadType &modelVar_DEG_T, AdmsSensFadType &modelVar_VDS_T, AdmsSensFadType &modelVar_IKS_T, AdmsSensFadType &modelVar_IS_TM, AdmsSensFadType &modelVar_IK_TM, AdmsSensFadType &modelVar_IBF_TM, AdmsSensFadType &modelVar_IBR_TM, AdmsSensFadType &modelVar_IHC_M, AdmsSensFadType &modelVar_IZEB_TM, AdmsSensFadType &modelVar_CJE_TM, AdmsSensFadType &modelVar_CJC_TM, AdmsSensFadType &modelVar_RE_TM, AdmsSensFadType &modelVar_RBC_TM, AdmsSensFadType &modelVar_RBV_TM, AdmsSensFadType &modelVar_RCV_TM, AdmsSensFadType &modelVar_SCRCV_M, AdmsSensFadType &modelVar_RCCxx_TM, AdmsSensFadType &modelVar_GCCxx_TM, AdmsSensFadType &modelVar_GCCex_TM, AdmsSensFadType &modelVar_GCCin_TM, AdmsSensFadType &modelVar_KF_M, AdmsSensFadType &modelVar_KFN_M, AdmsSensFadType &modelVar_ISS_TM, AdmsSensFadType &modelVar_ICSS_TM, AdmsSensFadType &modelVar_IKS_TM, AdmsSensFadType &modelVar_CJS_TM, AdmsSensFadType &modelVar_Xext1, AdmsSensFadType &modelVar_CBEO_M, AdmsSensFadType &modelVar_CBCO_M, double admsTemperature)
double * q_c3_Equ_c2_Node_Ptr
double * f_noi_Equ_c2_Node_Ptr
Linear::Vector * nextStaVectorPtr
double * f_e1_Equ_c1_Node_Ptr
double * q_b2_Equ_e1_Node_Ptr
static Config< T > & addConfiguration()
Adds the device to the Xyce device configuration.
double * f_s_Equ_e1_Node_Ptr
double * q_c4_Equ_e1_Node_Ptr
double * f_c_Equ_c1_Node_Ptr
Linear::Matrix * dFdxMatrixPtr
bool updateIntermediateVars()
double * f_c2_Equ_c4_Node_Ptr
double * q_s_Equ_b1_Node_Ptr
double * f_b1_Equ_e1_Node_Ptr
int li_state_admsProbeID_V_b2_c1
double * q_b1_Equ_b2_Node_Ptr
static const int admsProbeID_V_c3_c1
double * f_b1_Equ_c_Node_Ptr
The Device class is an interface for device implementations.
double * f_c4_Equ_b2_Node_Ptr
static const int admsProbeID_V_b2_c2
double * q_c_Equ_c4_Node_Ptr
double * q_c3_Equ_b1_Node_Ptr
static const int admsNodeID_c3
double * q_c1_Equ_c2_Node_Ptr
double * f_b1_Equ_c4_Node_Ptr
double * q_c1_Equ_b_Node_Ptr
double * q_b_Equ_b_Node_Ptr
double * f_b2_Equ_b_Node_Ptr
static const int admsProbeID_V_c3_c4
static InstanceSensitivity instSens
double * q_b1_Equ_e1_Node_Ptr
double * q_c4_Equ_c1_Node_Ptr
static const int admsNodeID_b2
double * q_c2_Equ_c2_Node_Ptr
double * f_c4_Equ_c1_Node_Ptr
double * f_e_Equ_e1_Node_Ptr
double * f_b_Equ_b2_Node_Ptr
Model(const Configuration &configuration, const ModelBlock &model_block, const FactoryBlock &factory_block)
double * f_c1_Equ_c1_Node_Ptr
double * q_c3_Equ_c3_Node_Ptr
double * f_s_Equ_s_Node_Ptr
double * f_c3_Equ_e1_Node_Ptr
int li_state_admsProbeID_V_b1_b2
double * dQdxdVpVectorRawPtr
Class Configuration contains device configuration data.
double * f_b1_Equ_b2_Node_Ptr
double * f_noi_Equ_b2_Node_Ptr
static const int admsNodeID_c2
static const int admsProbeID_V_s_c1
double * q_b_Equ_b2_Node_Ptr
double * f_c2_Equ_c1_Node_Ptr
double * f_c1_Equ_c2_Node_Ptr
double * q_e1_Equ_c1_Node_Ptr
double * q_b_Equ_c2_Node_Ptr
double * q_b1_Equ_c4_Node_Ptr
double * q_c3_Equ_b2_Node_Ptr
double * f_s_Equ_b_Node_Ptr
double * f_c3_Equ_c1_Node_Ptr
double * q_b1_Equ_b_Node_Ptr
void jacStampMap(const JacobianStamp &stamp_parent, IdVector &map_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, IdVector &map, JacobianStamp &map2, int from, int to, int original_size)
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
double * f_c1_Equ_c3_Node_Ptr
std::vector< AdmsFadType > dynamicContributions
double * f_c_Equ_b2_Node_Ptr
static const int admsProbeID_V_e_e1
double * q_c3_Equ_c_Node_Ptr
const SolverState & getSolverState() const
double * f_c3_Equ_s_Node_Ptr
double * q_e1_Equ_c4_Node_Ptr
Sacado::Fad::SFad< double, 15 > AdmsFadType
double * q_b_Equ_e1_Node_Ptr
static void loadModelParameters(ParametricData< Model > &model_parameters)
std::vector< AdmsFadType > probeVars
double * q_c2_Equ_b1_Node_Ptr
double * f_c2_Equ_b1_Node_Ptr
double * q_b1_Equ_s_Node_Ptr
double * q_c_Equ_c_Node_Ptr
double * f_c4_Equ_b_Node_Ptr
double * q_b_Equ_c4_Node_Ptr
std::vector< std::vector< int > > jacStamp
Linear::Vector * currStaVectorPtr
double * f_noi_Equ_c1_Node_Ptr
double * f_e1_Equ_b2_Node_Ptr
Instance(const Configuration &configuration, const InstanceBlock &instance_block, Model &model, const FactoryBlock &factory_block)
double * nextStaVectorRawPtr
Linear::Vector * daeFVectorPtr
void evaluateModelEquations(std::vector< double > &probeVars, const int admsProbeID_V_noi_e1, const int admsProbeID_V_c3_c1, const int admsProbeID_V_c3_c4, const int admsProbeID_V_c4_c1, const int admsProbeID_V_b_c, const int admsProbeID_V_b_e, const int admsProbeID_V_b_b1, const int admsProbeID_V_e_e1, const int admsProbeID_V_c1_c2, const int admsProbeID_V_s_c1, const int admsProbeID_V_b1_b2, const int admsProbeID_V_b1_e1, const int admsProbeID_V_b2_e1, const int admsProbeID_V_b2_c2, const int admsProbeID_V_b2_c1, const int admsNodeID_c, const int admsNodeID_b, const int admsNodeID_e, const int admsNodeID_s, const int admsNodeID_e1, const int admsNodeID_b1, const int admsNodeID_b2, const int admsNodeID_c3, const int admsNodeID_c4, const int admsNodeID_c2, const int admsNodeID_c1, const int admsNodeID_noi, AdmsSensFadType &instancePar_MULT, bool instancePar_given_MULT, AdmsSensFadType &instanceVar_Izteb, AdmsSensFadType &instanceVar_qBI, AdmsSensFadType &instanceVar_Ir, AdmsSensFadType &instanceVar_If, AdmsSensFadType &instanceVar_Ib1, AdmsSensFadType &instanceVar_Ib1_s, AdmsSensFadType &instanceVar_Ib2, AdmsSensFadType &instanceVar_Ib3, AdmsSensFadType &instanceVar_Iex, AdmsSensFadType &instanceVar_XIex, AdmsSensFadType &instanceVar_Isub, AdmsSensFadType &instanceVar_XIsub, AdmsSensFadType &instanceVar_Rb2, AdmsSensFadType &instanceVar_Gem, AdmsSensFadType &instanceVar_eVb1b2, AdmsSensFadType &modelPar_TREF, bool modelPar_given_TREF, AdmsSensFadType &modelPar_DTA, bool modelPar_given_DTA, AdmsSensFadType &modelPar_IS, bool modelPar_given_IS, AdmsSensFadType &modelPar_IK, bool modelPar_given_IK, AdmsSensFadType &modelPar_VER, bool modelPar_given_VER, AdmsSensFadType &modelPar_VEF, bool modelPar_given_VEF, AdmsSensFadType &modelPar_BF, bool modelPar_given_BF, AdmsSensFadType &modelPar_IBF, bool modelPar_given_IBF, AdmsSensFadType &modelPar_MLF, bool modelPar_given_MLF, AdmsSensFadType &modelPar_XIBI, bool modelPar_given_XIBI, AdmsSensFadType &modelPar_IZEB, bool modelPar_given_IZEB, AdmsSensFadType &modelPar_NZEB, bool modelPar_given_NZEB, AdmsSensFadType &modelPar_BRI, bool modelPar_given_BRI, AdmsSensFadType &modelPar_IBR, bool modelPar_given_IBR, AdmsSensFadType &modelPar_VLR, bool modelPar_given_VLR, AdmsSensFadType &modelPar_XEXT, bool modelPar_given_XEXT, AdmsSensFadType &modelPar_WAVL, bool modelPar_given_WAVL, AdmsSensFadType &modelPar_VAVL, bool modelPar_given_VAVL, AdmsSensFadType &modelPar_SFH, bool modelPar_given_SFH, AdmsSensFadType &modelPar_RE, bool modelPar_given_RE, AdmsSensFadType &modelPar_RBC, bool modelPar_given_RBC, AdmsSensFadType &modelPar_RBV, bool modelPar_given_RBV, AdmsSensFadType &modelPar_RCC, bool modelPar_given_RCC, AdmsSensFadType &modelPar_RCV, bool modelPar_given_RCV, AdmsSensFadType &modelPar_SCRCV, bool modelPar_given_SCRCV, AdmsSensFadType &modelPar_IHC, bool modelPar_given_IHC, AdmsSensFadType &modelPar_AXI, bool modelPar_given_AXI, AdmsSensFadType &modelPar_CJE, bool modelPar_given_CJE, AdmsSensFadType &modelPar_VDE, bool modelPar_given_VDE, AdmsSensFadType &modelPar_PE, bool modelPar_given_PE, AdmsSensFadType &modelPar_XCJE, bool modelPar_given_XCJE, AdmsSensFadType &modelPar_CBEO, bool modelPar_given_CBEO, AdmsSensFadType &modelPar_CJC, bool modelPar_given_CJC, AdmsSensFadType &modelPar_VDC, bool modelPar_given_VDC, AdmsSensFadType &modelPar_PC, bool modelPar_given_PC, AdmsSensFadType &modelPar_XP, bool modelPar_given_XP, AdmsSensFadType &modelPar_MC, bool modelPar_given_MC, AdmsSensFadType &modelPar_XCJC, bool modelPar_given_XCJC, AdmsSensFadType &modelPar_RCBLX, bool modelPar_given_RCBLX, AdmsSensFadType &modelPar_RCBLI, bool modelPar_given_RCBLI, AdmsSensFadType &modelPar_CBCO, bool modelPar_given_CBCO, AdmsSensFadType &modelPar_MTAU, bool modelPar_given_MTAU, AdmsSensFadType &modelPar_TAUE, bool modelPar_given_TAUE, AdmsSensFadType &modelPar_TAUB, bool modelPar_given_TAUB, AdmsSensFadType &modelPar_TEPI, bool modelPar_given_TEPI, AdmsSensFadType &modelPar_TAUR, bool modelPar_given_TAUR, AdmsSensFadType &modelPar_DEG, bool modelPar_given_DEG, AdmsSensFadType &modelPar_XREC, bool modelPar_given_XREC, AdmsSensFadType &modelPar_AQBO, bool modelPar_given_AQBO, AdmsSensFadType &modelPar_AE, bool modelPar_given_AE, AdmsSensFadType &modelPar_AB, bool modelPar_given_AB, AdmsSensFadType &modelPar_AEPI, bool modelPar_given_AEPI, AdmsSensFadType &modelPar_AEX, bool modelPar_given_AEX, AdmsSensFadType &modelPar_AC, bool modelPar_given_AC, AdmsSensFadType &modelPar_ACBL, bool modelPar_given_ACBL, AdmsSensFadType &modelPar_DVGBF, bool modelPar_given_DVGBF, AdmsSensFadType &modelPar_DVGBR, bool modelPar_given_DVGBR, AdmsSensFadType &modelPar_VGB, bool modelPar_given_VGB, AdmsSensFadType &modelPar_VGC, bool modelPar_given_VGC, AdmsSensFadType &modelPar_VGJ, bool modelPar_given_VGJ, AdmsSensFadType &modelPar_VGZEB, bool modelPar_given_VGZEB, AdmsSensFadType &modelPar_AVGEB, bool modelPar_given_AVGEB, AdmsSensFadType &modelPar_TVGEB, bool modelPar_given_TVGEB, AdmsSensFadType &modelPar_DVGTE, bool modelPar_given_DVGTE, AdmsSensFadType &modelPar_DAIS, bool modelPar_given_DAIS, AdmsSensFadType &modelPar_AF, bool modelPar_given_AF, AdmsSensFadType &modelPar_KF, bool modelPar_given_KF, AdmsSensFadType &modelPar_KFN, bool modelPar_given_KFN, AdmsSensFadType &modelPar_ISS, bool modelPar_given_ISS, AdmsSensFadType &modelPar_ICSS, bool modelPar_given_ICSS, AdmsSensFadType &modelPar_IKS, bool modelPar_given_IKS, AdmsSensFadType &modelPar_CJS, bool modelPar_given_CJS, AdmsSensFadType &modelPar_VDS, bool modelPar_given_VDS, AdmsSensFadType &modelPar_PS, bool modelPar_given_PS, AdmsSensFadType &modelPar_VGS, bool modelPar_given_VGS, AdmsSensFadType &modelPar_AS, bool modelPar_given_AS, AdmsSensFadType &modelPar_ASUB, bool modelPar_given_ASUB, AdmsSensFadType &modelPar_MULT, bool modelPar_given_MULT, AdmsSensFadType &modelPar_GMIN, bool modelPar_given_GMIN, int modelPar_LEVEL, bool modelPar_given_LEVEL, int modelPar_EXMOD, bool modelPar_given_EXMOD, int modelPar_EXPHI, bool modelPar_given_EXPHI, int modelPar_EXAVL, bool modelPar_given_EXAVL, int modelPar_EXSUB, bool modelPar_given_EXSUB, int modelPar_KAVL, bool modelPar_given_KAVL, int modelPar_TYPE, bool modelPar_given_TYPE, AdmsSensFadType &modelVar_An, AdmsSensFadType &modelVar_Tk, AdmsSensFadType &modelVar_Vt, AdmsSensFadType &modelVar_VtINV, AdmsSensFadType &modelVar_VDE_T, AdmsSensFadType &modelVar_VDC_T, AdmsSensFadType &modelVar_XP_T, AdmsSensFadType &modelVar_BF_T, AdmsSensFadType &modelVar_BRI_T, AdmsSensFadType &modelVar_IS_T, AdmsSensFadType &modelVar_VEF_T, AdmsSensFadType &modelVar_VER_T, AdmsSensFadType &modelVar_nZEB_T, AdmsSensFadType &modelVar_pow2_2mPE, AdmsSensFadType &modelVar_pow2_PEm2, AdmsSensFadType &modelVar_inv_VDE_T, AdmsSensFadType &modelVar_VGZEB_T, AdmsSensFadType &modelVar_TAUE_T, AdmsSensFadType &modelVar_TAUB_T, AdmsSensFadType &modelVar_TEPI_T, AdmsSensFadType &modelVar_TAUR_T, AdmsSensFadType &modelVar_BnT, AdmsSensFadType &modelVar_DEG_T, AdmsSensFadType &modelVar_VDS_T, AdmsSensFadType &modelVar_IKS_T, AdmsSensFadType &modelVar_IS_TM, AdmsSensFadType &modelVar_IK_TM, AdmsSensFadType &modelVar_IBF_TM, AdmsSensFadType &modelVar_IBR_TM, AdmsSensFadType &modelVar_IHC_M, AdmsSensFadType &modelVar_IZEB_TM, AdmsSensFadType &modelVar_CJE_TM, AdmsSensFadType &modelVar_CJC_TM, AdmsSensFadType &modelVar_RE_TM, AdmsSensFadType &modelVar_RBC_TM, AdmsSensFadType &modelVar_RBV_TM, AdmsSensFadType &modelVar_RCV_TM, AdmsSensFadType &modelVar_SCRCV_M, AdmsSensFadType &modelVar_RCCxx_TM, AdmsSensFadType &modelVar_GCCxx_TM, AdmsSensFadType &modelVar_GCCex_TM, AdmsSensFadType &modelVar_GCCin_TM, AdmsSensFadType &modelVar_KF_M, AdmsSensFadType &modelVar_KFN_M, AdmsSensFadType &modelVar_ISS_TM, AdmsSensFadType &modelVar_ICSS_TM, AdmsSensFadType &modelVar_IKS_TM, AdmsSensFadType &modelVar_CJS_TM, AdmsSensFadType &modelVar_Xext1, AdmsSensFadType &modelVar_CBEO_M, AdmsSensFadType &modelVar_CBCO_M, double admsTemperature, double adms_vt_nom, double gmin, std::vector< AdmsSensFadType > &staticContributions, std::vector< AdmsSensFadType > &dynamicContributions, const Instance &theInstance)
double * q_c2_Equ_b2_Node_Ptr
bool updatePrimaryState()
double * f_e1_Equ_noi_Node_Ptr
const std::string & getType() const
double * q_c3_Equ_c1_Node_Ptr
static const int admsNodeID_b
std::vector< double > Jdxp_static
double * f_b1_Equ_b_Node_Ptr
double * f_b2_Equ_c1_Node_Ptr
double * q_s_Equ_c1_Node_Ptr
double * q_c_Equ_c1_Node_Ptr
std::vector< int > jacMap
static const int admsNodeID_c1
double * q_s_Equ_s_Node_Ptr
double * f_e1_Equ_c_Node_Ptr
static const int admsNodeID_s
double * q_b2_Equ_c1_Node_Ptr
double * q_c_Equ_b2_Node_Ptr
static const int admsProbeID_V_b2_e1
static const int admsProbeID_V_c4_c1
double * q_s_Equ_b2_Node_Ptr
double * f_c3_Equ_c3_Node_Ptr
double * f_e1_Equ_e1_Node_Ptr
double * f_c4_Equ_c3_Node_Ptr
double * f_c_Equ_c4_Node_Ptr
double * q_c4_Equ_b1_Node_Ptr
double * f_c2_Equ_b_Node_Ptr
double * q_e1_Equ_c3_Node_Ptr
const ExternData & extData
double * q_b1_Equ_c2_Node_Ptr
bool updateSecondaryState()
void evaluateInitialModel(AdmsSensFadType &modelPar_TREF, bool modelPar_given_TREF, AdmsSensFadType &modelPar_DTA, bool modelPar_given_DTA, AdmsSensFadType &modelPar_IS, bool modelPar_given_IS, AdmsSensFadType &modelPar_IK, bool modelPar_given_IK, AdmsSensFadType &modelPar_VER, bool modelPar_given_VER, AdmsSensFadType &modelPar_VEF, bool modelPar_given_VEF, AdmsSensFadType &modelPar_BF, bool modelPar_given_BF, AdmsSensFadType &modelPar_IBF, bool modelPar_given_IBF, AdmsSensFadType &modelPar_MLF, bool modelPar_given_MLF, AdmsSensFadType &modelPar_XIBI, bool modelPar_given_XIBI, AdmsSensFadType &modelPar_IZEB, bool modelPar_given_IZEB, AdmsSensFadType &modelPar_NZEB, bool modelPar_given_NZEB, AdmsSensFadType &modelPar_BRI, bool modelPar_given_BRI, AdmsSensFadType &modelPar_IBR, bool modelPar_given_IBR, AdmsSensFadType &modelPar_VLR, bool modelPar_given_VLR, AdmsSensFadType &modelPar_XEXT, bool modelPar_given_XEXT, AdmsSensFadType &modelPar_WAVL, bool modelPar_given_WAVL, AdmsSensFadType &modelPar_VAVL, bool modelPar_given_VAVL, AdmsSensFadType &modelPar_SFH, bool modelPar_given_SFH, AdmsSensFadType &modelPar_RE, bool modelPar_given_RE, AdmsSensFadType &modelPar_RBC, bool modelPar_given_RBC, AdmsSensFadType &modelPar_RBV, bool modelPar_given_RBV, AdmsSensFadType &modelPar_RCC, bool modelPar_given_RCC, AdmsSensFadType &modelPar_RCV, bool modelPar_given_RCV, AdmsSensFadType &modelPar_SCRCV, bool modelPar_given_SCRCV, AdmsSensFadType &modelPar_IHC, bool modelPar_given_IHC, AdmsSensFadType &modelPar_AXI, bool modelPar_given_AXI, AdmsSensFadType &modelPar_CJE, bool modelPar_given_CJE, AdmsSensFadType &modelPar_VDE, bool modelPar_given_VDE, AdmsSensFadType &modelPar_PE, bool modelPar_given_PE, AdmsSensFadType &modelPar_XCJE, bool modelPar_given_XCJE, AdmsSensFadType &modelPar_CBEO, bool modelPar_given_CBEO, AdmsSensFadType &modelPar_CJC, bool modelPar_given_CJC, AdmsSensFadType &modelPar_VDC, bool modelPar_given_VDC, AdmsSensFadType &modelPar_PC, bool modelPar_given_PC, AdmsSensFadType &modelPar_XP, bool modelPar_given_XP, AdmsSensFadType &modelPar_MC, bool modelPar_given_MC, AdmsSensFadType &modelPar_XCJC, bool modelPar_given_XCJC, AdmsSensFadType &modelPar_RCBLX, bool modelPar_given_RCBLX, AdmsSensFadType &modelPar_RCBLI, bool modelPar_given_RCBLI, AdmsSensFadType &modelPar_CBCO, bool modelPar_given_CBCO, AdmsSensFadType &modelPar_MTAU, bool modelPar_given_MTAU, AdmsSensFadType &modelPar_TAUE, bool modelPar_given_TAUE, AdmsSensFadType &modelPar_TAUB, bool modelPar_given_TAUB, AdmsSensFadType &modelPar_TEPI, bool modelPar_given_TEPI, AdmsSensFadType &modelPar_TAUR, bool modelPar_given_TAUR, AdmsSensFadType &modelPar_DEG, bool modelPar_given_DEG, AdmsSensFadType &modelPar_XREC, bool modelPar_given_XREC, AdmsSensFadType &modelPar_AQBO, bool modelPar_given_AQBO, AdmsSensFadType &modelPar_AE, bool modelPar_given_AE, AdmsSensFadType &modelPar_AB, bool modelPar_given_AB, AdmsSensFadType &modelPar_AEPI, bool modelPar_given_AEPI, AdmsSensFadType &modelPar_AEX, bool modelPar_given_AEX, AdmsSensFadType &modelPar_AC, bool modelPar_given_AC, AdmsSensFadType &modelPar_ACBL, bool modelPar_given_ACBL, AdmsSensFadType &modelPar_DVGBF, bool modelPar_given_DVGBF, AdmsSensFadType &modelPar_DVGBR, bool modelPar_given_DVGBR, AdmsSensFadType &modelPar_VGB, bool modelPar_given_VGB, AdmsSensFadType &modelPar_VGC, bool modelPar_given_VGC, AdmsSensFadType &modelPar_VGJ, bool modelPar_given_VGJ, AdmsSensFadType &modelPar_VGZEB, bool modelPar_given_VGZEB, AdmsSensFadType &modelPar_AVGEB, bool modelPar_given_AVGEB, AdmsSensFadType &modelPar_TVGEB, bool modelPar_given_TVGEB, AdmsSensFadType &modelPar_DVGTE, bool modelPar_given_DVGTE, AdmsSensFadType &modelPar_DAIS, bool modelPar_given_DAIS, AdmsSensFadType &modelPar_AF, bool modelPar_given_AF, AdmsSensFadType &modelPar_KF, bool modelPar_given_KF, AdmsSensFadType &modelPar_KFN, bool modelPar_given_KFN, AdmsSensFadType &modelPar_ISS, bool modelPar_given_ISS, AdmsSensFadType &modelPar_ICSS, bool modelPar_given_ICSS, AdmsSensFadType &modelPar_IKS, bool modelPar_given_IKS, AdmsSensFadType &modelPar_CJS, bool modelPar_given_CJS, AdmsSensFadType &modelPar_VDS, bool modelPar_given_VDS, AdmsSensFadType &modelPar_PS, bool modelPar_given_PS, AdmsSensFadType &modelPar_VGS, bool modelPar_given_VGS, AdmsSensFadType &modelPar_AS, bool modelPar_given_AS, AdmsSensFadType &modelPar_ASUB, bool modelPar_given_ASUB, AdmsSensFadType &modelPar_MULT, bool modelPar_given_MULT, AdmsSensFadType &modelPar_GMIN, bool modelPar_given_GMIN, int modelPar_LEVEL, bool modelPar_given_LEVEL, int modelPar_EXMOD, bool modelPar_given_EXMOD, int modelPar_EXPHI, bool modelPar_given_EXPHI, int modelPar_EXAVL, bool modelPar_given_EXAVL, int modelPar_EXSUB, bool modelPar_given_EXSUB, int modelPar_KAVL, bool modelPar_given_KAVL, int modelPar_TYPE, bool modelPar_given_TYPE, AdmsSensFadType &modelVar_An, AdmsSensFadType &modelVar_Tk, AdmsSensFadType &modelVar_Vt, AdmsSensFadType &modelVar_VtINV, AdmsSensFadType &modelVar_VDE_T, AdmsSensFadType &modelVar_VDC_T, AdmsSensFadType &modelVar_XP_T, AdmsSensFadType &modelVar_BF_T, AdmsSensFadType &modelVar_BRI_T, AdmsSensFadType &modelVar_IS_T, AdmsSensFadType &modelVar_VEF_T, AdmsSensFadType &modelVar_VER_T, AdmsSensFadType &modelVar_nZEB_T, AdmsSensFadType &modelVar_pow2_2mPE, AdmsSensFadType &modelVar_pow2_PEm2, AdmsSensFadType &modelVar_inv_VDE_T, AdmsSensFadType &modelVar_VGZEB_T, AdmsSensFadType &modelVar_TAUE_T, AdmsSensFadType &modelVar_TAUB_T, AdmsSensFadType &modelVar_TEPI_T, AdmsSensFadType &modelVar_TAUR_T, AdmsSensFadType &modelVar_BnT, AdmsSensFadType &modelVar_DEG_T, AdmsSensFadType &modelVar_VDS_T, AdmsSensFadType &modelVar_IKS_T, AdmsSensFadType &modelVar_IS_TM, AdmsSensFadType &modelVar_IK_TM, AdmsSensFadType &modelVar_IBF_TM, AdmsSensFadType &modelVar_IBR_TM, AdmsSensFadType &modelVar_IHC_M, AdmsSensFadType &modelVar_IZEB_TM, AdmsSensFadType &modelVar_CJE_TM, AdmsSensFadType &modelVar_CJC_TM, AdmsSensFadType &modelVar_RE_TM, AdmsSensFadType &modelVar_RBC_TM, AdmsSensFadType &modelVar_RBV_TM, AdmsSensFadType &modelVar_RCV_TM, AdmsSensFadType &modelVar_SCRCV_M, AdmsSensFadType &modelVar_RCCxx_TM, AdmsSensFadType &modelVar_GCCxx_TM, AdmsSensFadType &modelVar_GCCex_TM, AdmsSensFadType &modelVar_GCCin_TM, AdmsSensFadType &modelVar_KF_M, AdmsSensFadType &modelVar_KFN_M, AdmsSensFadType &modelVar_ISS_TM, AdmsSensFadType &modelVar_ICSS_TM, AdmsSensFadType &modelVar_IKS_TM, AdmsSensFadType &modelVar_CJS_TM, AdmsSensFadType &modelVar_Xext1, AdmsSensFadType &modelVar_CBEO_M, AdmsSensFadType &modelVar_CBCO_M, double admsTemperature)
static const int admsNodeID_c4
ModelBlock represents a .MODEL line from the netlist.
double * f_c3_Equ_b_Node_Ptr
double * f_b2_Equ_c2_Node_Ptr
double * f_c4_Equ_c4_Node_Ptr
Manages parameter binding for class C.
double * q_b1_Equ_c3_Node_Ptr
double * q_s_Equ_c4_Node_Ptr
double * f_c3_Equ_c2_Node_Ptr
InstanceBlock represent a device instance line from the netlist.
double * q_b_Equ_e_Node_Ptr
std::vector< Param > params
std::vector< Instance * > instanceContainer
double * q_b2_Equ_c3_Node_Ptr
Linear::Matrix * dQdxMatrixPtr
double * q_c4_Equ_b2_Node_Ptr
double * q_c1_Equ_c1_Node_Ptr
double * f_b_Equ_b_Node_Ptr
double * f_c_Equ_c2_Node_Ptr
double * q_c1_Equ_e1_Node_Ptr
double * f_c_Equ_c_Node_Ptr
double * q_b_Equ_c1_Node_Ptr
double * f_b_Equ_c1_Node_Ptr
double * q_c2_Equ_noi_Node_Ptr
bool updateTemperature(const double &temp=-999.0)
double * q_e1_Equ_b2_Node_Ptr
double * q_c2_Equ_c4_Node_Ptr
int li_state_admsProbeID_V_b1_e1
double * f_b_Equ_c3_Node_Ptr
void setModParams(const std::vector< Param > ¶ms)
double * f_c1_Equ_b_Node_Ptr
void registerLIDs(const LocalIdVector &intLIDVecRef, const LocalIdVector &extLIDVecRef)
double * q_b2_Equ_noi_Node_Ptr
double * f_c4_Equ_b1_Node_Ptr
double * q_e1_Equ_e1_Node_Ptr
double * f_b2_Equ_b2_Node_Ptr