49 #ifndef Xyce_N_DEV_ADMSHBT_X_h
50 #define Xyce_N_DEV_ADMSHBT_X_h
94 const std::string ¶m,
95 std::vector<double> & dfdp,
96 std::vector<double> & dqdp,
97 std::vector<double> & dbdp,
98 std::vector<int> & Findices,
99 std::vector<int> & Qindices,
100 std::vector<int> & Bindices
126 const std::string ¶m,
127 std::vector<double> & dfdp,
128 std::vector<double> & dqdp,
129 std::vector<double> & dbdp,
130 std::vector<int> & Findices,
131 std::vector<int> & Qindices,
132 std::vector<int> & Bindices
146 template<
typename Tin>
155 template<
typename Tin>
164 template<
typename Tin>
182 std::vector <double> & probeVars,
184 const int admsProbeID_V_t_ti,
185 const int admsProbeID_V_b_c,
186 const int admsProbeID_V_c_GND,
187 const int admsProbeID_V_b_GND,
188 const int admsProbeID_V_cx_bii,
189 const int admsProbeID_V_exx_bii,
190 const int admsProbeID_V_ex_bii,
191 const int admsProbeID_V_bii_bi,
192 const int admsProbeID_I_c_ci,
193 const int admsProbeID_I_e_ei,
194 const int admsProbeID_I_b_bi,
195 const int admsProbeID_V_ti_GND,
196 const int admsProbeID_V_ci_ei,
197 const int admsProbeID_V_exx_ei,
198 const int admsProbeID_V_cx_ci,
199 const int admsProbeID_V_ex_ei,
200 const int admsProbeID_V_bii_ei,
201 const int admsProbeID_V_bii_ci,
202 const int admsProbeID_V_bi_ci,
204 const int admsNodeID_c,
205 const int admsNodeID_b,
206 const int admsNodeID_e,
207 const int admsNodeID_t,
208 const int admsNodeID_ei,
209 const int admsNodeID_bi,
210 const int admsNodeID_bii,
211 const int admsNodeID_ci,
212 const int admsNodeID_ti,
213 const int admsNodeID_ex,
214 const int admsNodeID_exx,
215 const int admsNodeID_cx,
216 const int admsBRA_ID_b_bi,
217 const int admsBRA_ID_e_ei,
218 const int admsBRA_ID_c_ci,
221 AdmsSensFadType & instancePar_Temp,
222 bool instancePar_given_Temp,
223 AdmsSensFadType & instancePar_L,
224 bool instancePar_given_L,
225 AdmsSensFadType & instancePar_W,
226 bool instancePar_given_W,
229 bool instancePar_given_N,
232 AdmsSensFadType & modelPar_Temp,
233 bool modelPar_given_Temp,
234 AdmsSensFadType & modelPar_Rth,
235 bool modelPar_given_Rth,
236 AdmsSensFadType & modelPar_Cth,
237 bool modelPar_given_Cth,
238 AdmsSensFadType & modelPar_L,
239 bool modelPar_given_L,
240 AdmsSensFadType & modelPar_W,
241 bool modelPar_given_W,
242 AdmsSensFadType & modelPar_Jsf,
243 bool modelPar_given_Jsf,
244 AdmsSensFadType & modelPar_nf,
245 bool modelPar_given_nf,
246 AdmsSensFadType & modelPar_Vg,
247 bool modelPar_given_Vg,
248 AdmsSensFadType & modelPar_Jse,
249 bool modelPar_given_Jse,
250 AdmsSensFadType & modelPar_ne,
251 bool modelPar_given_ne,
252 AdmsSensFadType & modelPar_Rbxx,
253 bool modelPar_given_Rbxx,
254 AdmsSensFadType & modelPar_Vgb,
255 bool modelPar_given_Vgb,
256 AdmsSensFadType & modelPar_Jsee,
257 bool modelPar_given_Jsee,
258 AdmsSensFadType & modelPar_nee,
259 bool modelPar_given_nee,
260 AdmsSensFadType & modelPar_Rbbxx,
261 bool modelPar_given_Rbbxx,
262 AdmsSensFadType & modelPar_Vgbb,
263 bool modelPar_given_Vgbb,
264 AdmsSensFadType & modelPar_Jsr,
265 bool modelPar_given_Jsr,
266 AdmsSensFadType & modelPar_nr,
267 bool modelPar_given_nr,
268 AdmsSensFadType & modelPar_Vgr,
269 bool modelPar_given_Vgr,
270 AdmsSensFadType & modelPar_XCjc,
271 bool modelPar_given_XCjc,
272 AdmsSensFadType & modelPar_Jsc,
273 bool modelPar_given_Jsc,
274 AdmsSensFadType & modelPar_nc,
275 bool modelPar_given_nc,
276 AdmsSensFadType & modelPar_Rcxx,
277 bool modelPar_given_Rcxx,
278 AdmsSensFadType & modelPar_Vgc,
279 bool modelPar_given_Vgc,
280 AdmsSensFadType & modelPar_Bf,
281 bool modelPar_given_Bf,
282 AdmsSensFadType & modelPar_kBeta,
283 bool modelPar_given_kBeta,
284 AdmsSensFadType & modelPar_Br,
285 bool modelPar_given_Br,
286 AdmsSensFadType & modelPar_VAF,
287 bool modelPar_given_VAF,
288 AdmsSensFadType & modelPar_VAR,
289 bool modelPar_given_VAR,
290 AdmsSensFadType & modelPar_IKF,
291 bool modelPar_given_IKF,
292 AdmsSensFadType & modelPar_IKR,
293 bool modelPar_given_IKR,
294 AdmsSensFadType & modelPar_Mc,
295 bool modelPar_given_Mc,
296 AdmsSensFadType & modelPar_BVceo,
297 bool modelPar_given_BVceo,
298 AdmsSensFadType & modelPar_kc,
299 bool modelPar_given_kc,
300 AdmsSensFadType & modelPar_BVebo,
301 bool modelPar_given_BVebo,
302 AdmsSensFadType & modelPar_Tr,
303 bool modelPar_given_Tr,
304 AdmsSensFadType & modelPar_Trx,
305 bool modelPar_given_Trx,
306 AdmsSensFadType & modelPar_Tf,
307 bool modelPar_given_Tf,
308 AdmsSensFadType & modelPar_Tft,
309 bool modelPar_given_Tft,
310 AdmsSensFadType & modelPar_Thcs,
311 bool modelPar_given_Thcs,
312 AdmsSensFadType & modelPar_Ahc,
313 bool modelPar_given_Ahc,
314 AdmsSensFadType & modelPar_Cje,
315 bool modelPar_given_Cje,
316 AdmsSensFadType & modelPar_mje,
317 bool modelPar_given_mje,
318 AdmsSensFadType & modelPar_Vje,
319 bool modelPar_given_Vje,
320 AdmsSensFadType & modelPar_Cjc,
321 bool modelPar_given_Cjc,
322 AdmsSensFadType & modelPar_mjc,
323 bool modelPar_given_mjc,
324 AdmsSensFadType & modelPar_Vjc,
325 bool modelPar_given_Vjc,
326 AdmsSensFadType & modelPar_kjc,
327 bool modelPar_given_kjc,
328 AdmsSensFadType & modelPar_Cmin,
329 bool modelPar_given_Cmin,
330 AdmsSensFadType & modelPar_J0,
331 bool modelPar_given_J0,
332 AdmsSensFadType & modelPar_XJ0,
333 bool modelPar_given_XJ0,
334 AdmsSensFadType & modelPar_Rci0,
335 bool modelPar_given_Rci0,
336 AdmsSensFadType & modelPar_Jk,
337 bool modelPar_given_Jk,
338 AdmsSensFadType & modelPar_RJk,
339 bool modelPar_given_RJk,
340 AdmsSensFadType & modelPar_Vces,
341 bool modelPar_given_Vces,
342 AdmsSensFadType & modelPar_Rc,
343 bool modelPar_given_Rc,
344 AdmsSensFadType & modelPar_Re,
345 bool modelPar_given_Re,
346 AdmsSensFadType & modelPar_Rb,
347 bool modelPar_given_Rb,
348 AdmsSensFadType & modelPar_Rb2,
349 bool modelPar_given_Rb2,
350 AdmsSensFadType & modelPar_Lc,
351 bool modelPar_given_Lc,
352 AdmsSensFadType & modelPar_Le,
353 bool modelPar_given_Le,
354 AdmsSensFadType & modelPar_Lb,
355 bool modelPar_given_Lb,
356 AdmsSensFadType & modelPar_Cq,
357 bool modelPar_given_Cq,
358 AdmsSensFadType & modelPar_Cpb,
359 bool modelPar_given_Cpb,
360 AdmsSensFadType & modelPar_Cpc,
361 bool modelPar_given_Cpc,
362 AdmsSensFadType & modelPar_Tnom,
363 bool modelPar_given_Tnom,
366 bool modelPar_given_Mode,
368 bool modelPar_given_Noise,
370 bool modelPar_given_Debug,
371 int modelPar_DebugPlus,
372 bool modelPar_given_DebugPlus,
374 bool modelPar_given_N,
377 double admsTemperature,
double adms_vt_nom,
double gmin, std::vector <AdmsSensFadType> & staticContributions, std::vector <AdmsSensFadType> & dynamicContributions,
const Instance & theInstance);
382 AdmsSensFadType & instancePar_Temp,
383 bool instancePar_given_Temp,
384 AdmsSensFadType & instancePar_L,
385 bool instancePar_given_L,
386 AdmsSensFadType & instancePar_W,
387 bool instancePar_given_W,
390 bool instancePar_given_N,
393 AdmsSensFadType & modelPar_Temp,
394 bool modelPar_given_Temp,
395 AdmsSensFadType & modelPar_Rth,
396 bool modelPar_given_Rth,
397 AdmsSensFadType & modelPar_Cth,
398 bool modelPar_given_Cth,
399 AdmsSensFadType & modelPar_L,
400 bool modelPar_given_L,
401 AdmsSensFadType & modelPar_W,
402 bool modelPar_given_W,
403 AdmsSensFadType & modelPar_Jsf,
404 bool modelPar_given_Jsf,
405 AdmsSensFadType & modelPar_nf,
406 bool modelPar_given_nf,
407 AdmsSensFadType & modelPar_Vg,
408 bool modelPar_given_Vg,
409 AdmsSensFadType & modelPar_Jse,
410 bool modelPar_given_Jse,
411 AdmsSensFadType & modelPar_ne,
412 bool modelPar_given_ne,
413 AdmsSensFadType & modelPar_Rbxx,
414 bool modelPar_given_Rbxx,
415 AdmsSensFadType & modelPar_Vgb,
416 bool modelPar_given_Vgb,
417 AdmsSensFadType & modelPar_Jsee,
418 bool modelPar_given_Jsee,
419 AdmsSensFadType & modelPar_nee,
420 bool modelPar_given_nee,
421 AdmsSensFadType & modelPar_Rbbxx,
422 bool modelPar_given_Rbbxx,
423 AdmsSensFadType & modelPar_Vgbb,
424 bool modelPar_given_Vgbb,
425 AdmsSensFadType & modelPar_Jsr,
426 bool modelPar_given_Jsr,
427 AdmsSensFadType & modelPar_nr,
428 bool modelPar_given_nr,
429 AdmsSensFadType & modelPar_Vgr,
430 bool modelPar_given_Vgr,
431 AdmsSensFadType & modelPar_XCjc,
432 bool modelPar_given_XCjc,
433 AdmsSensFadType & modelPar_Jsc,
434 bool modelPar_given_Jsc,
435 AdmsSensFadType & modelPar_nc,
436 bool modelPar_given_nc,
437 AdmsSensFadType & modelPar_Rcxx,
438 bool modelPar_given_Rcxx,
439 AdmsSensFadType & modelPar_Vgc,
440 bool modelPar_given_Vgc,
441 AdmsSensFadType & modelPar_Bf,
442 bool modelPar_given_Bf,
443 AdmsSensFadType & modelPar_kBeta,
444 bool modelPar_given_kBeta,
445 AdmsSensFadType & modelPar_Br,
446 bool modelPar_given_Br,
447 AdmsSensFadType & modelPar_VAF,
448 bool modelPar_given_VAF,
449 AdmsSensFadType & modelPar_VAR,
450 bool modelPar_given_VAR,
451 AdmsSensFadType & modelPar_IKF,
452 bool modelPar_given_IKF,
453 AdmsSensFadType & modelPar_IKR,
454 bool modelPar_given_IKR,
455 AdmsSensFadType & modelPar_Mc,
456 bool modelPar_given_Mc,
457 AdmsSensFadType & modelPar_BVceo,
458 bool modelPar_given_BVceo,
459 AdmsSensFadType & modelPar_kc,
460 bool modelPar_given_kc,
461 AdmsSensFadType & modelPar_BVebo,
462 bool modelPar_given_BVebo,
463 AdmsSensFadType & modelPar_Tr,
464 bool modelPar_given_Tr,
465 AdmsSensFadType & modelPar_Trx,
466 bool modelPar_given_Trx,
467 AdmsSensFadType & modelPar_Tf,
468 bool modelPar_given_Tf,
469 AdmsSensFadType & modelPar_Tft,
470 bool modelPar_given_Tft,
471 AdmsSensFadType & modelPar_Thcs,
472 bool modelPar_given_Thcs,
473 AdmsSensFadType & modelPar_Ahc,
474 bool modelPar_given_Ahc,
475 AdmsSensFadType & modelPar_Cje,
476 bool modelPar_given_Cje,
477 AdmsSensFadType & modelPar_mje,
478 bool modelPar_given_mje,
479 AdmsSensFadType & modelPar_Vje,
480 bool modelPar_given_Vje,
481 AdmsSensFadType & modelPar_Cjc,
482 bool modelPar_given_Cjc,
483 AdmsSensFadType & modelPar_mjc,
484 bool modelPar_given_mjc,
485 AdmsSensFadType & modelPar_Vjc,
486 bool modelPar_given_Vjc,
487 AdmsSensFadType & modelPar_kjc,
488 bool modelPar_given_kjc,
489 AdmsSensFadType & modelPar_Cmin,
490 bool modelPar_given_Cmin,
491 AdmsSensFadType & modelPar_J0,
492 bool modelPar_given_J0,
493 AdmsSensFadType & modelPar_XJ0,
494 bool modelPar_given_XJ0,
495 AdmsSensFadType & modelPar_Rci0,
496 bool modelPar_given_Rci0,
497 AdmsSensFadType & modelPar_Jk,
498 bool modelPar_given_Jk,
499 AdmsSensFadType & modelPar_RJk,
500 bool modelPar_given_RJk,
501 AdmsSensFadType & modelPar_Vces,
502 bool modelPar_given_Vces,
503 AdmsSensFadType & modelPar_Rc,
504 bool modelPar_given_Rc,
505 AdmsSensFadType & modelPar_Re,
506 bool modelPar_given_Re,
507 AdmsSensFadType & modelPar_Rb,
508 bool modelPar_given_Rb,
509 AdmsSensFadType & modelPar_Rb2,
510 bool modelPar_given_Rb2,
511 AdmsSensFadType & modelPar_Lc,
512 bool modelPar_given_Lc,
513 AdmsSensFadType & modelPar_Le,
514 bool modelPar_given_Le,
515 AdmsSensFadType & modelPar_Lb,
516 bool modelPar_given_Lb,
517 AdmsSensFadType & modelPar_Cq,
518 bool modelPar_given_Cq,
519 AdmsSensFadType & modelPar_Cpb,
520 bool modelPar_given_Cpb,
521 AdmsSensFadType & modelPar_Cpc,
522 bool modelPar_given_Cpc,
523 AdmsSensFadType & modelPar_Tnom,
524 bool modelPar_given_Tnom,
527 bool modelPar_given_Mode,
529 bool modelPar_given_Noise,
531 bool modelPar_given_Debug,
532 int modelPar_DebugPlus,
533 bool modelPar_given_DebugPlus,
535 bool modelPar_given_N,
537 double admsTemperature);
542 AdmsSensFadType & modelPar_Temp,
543 bool modelPar_given_Temp,
544 AdmsSensFadType & modelPar_Rth,
545 bool modelPar_given_Rth,
546 AdmsSensFadType & modelPar_Cth,
547 bool modelPar_given_Cth,
548 AdmsSensFadType & modelPar_L,
549 bool modelPar_given_L,
550 AdmsSensFadType & modelPar_W,
551 bool modelPar_given_W,
552 AdmsSensFadType & modelPar_Jsf,
553 bool modelPar_given_Jsf,
554 AdmsSensFadType & modelPar_nf,
555 bool modelPar_given_nf,
556 AdmsSensFadType & modelPar_Vg,
557 bool modelPar_given_Vg,
558 AdmsSensFadType & modelPar_Jse,
559 bool modelPar_given_Jse,
560 AdmsSensFadType & modelPar_ne,
561 bool modelPar_given_ne,
562 AdmsSensFadType & modelPar_Rbxx,
563 bool modelPar_given_Rbxx,
564 AdmsSensFadType & modelPar_Vgb,
565 bool modelPar_given_Vgb,
566 AdmsSensFadType & modelPar_Jsee,
567 bool modelPar_given_Jsee,
568 AdmsSensFadType & modelPar_nee,
569 bool modelPar_given_nee,
570 AdmsSensFadType & modelPar_Rbbxx,
571 bool modelPar_given_Rbbxx,
572 AdmsSensFadType & modelPar_Vgbb,
573 bool modelPar_given_Vgbb,
574 AdmsSensFadType & modelPar_Jsr,
575 bool modelPar_given_Jsr,
576 AdmsSensFadType & modelPar_nr,
577 bool modelPar_given_nr,
578 AdmsSensFadType & modelPar_Vgr,
579 bool modelPar_given_Vgr,
580 AdmsSensFadType & modelPar_XCjc,
581 bool modelPar_given_XCjc,
582 AdmsSensFadType & modelPar_Jsc,
583 bool modelPar_given_Jsc,
584 AdmsSensFadType & modelPar_nc,
585 bool modelPar_given_nc,
586 AdmsSensFadType & modelPar_Rcxx,
587 bool modelPar_given_Rcxx,
588 AdmsSensFadType & modelPar_Vgc,
589 bool modelPar_given_Vgc,
590 AdmsSensFadType & modelPar_Bf,
591 bool modelPar_given_Bf,
592 AdmsSensFadType & modelPar_kBeta,
593 bool modelPar_given_kBeta,
594 AdmsSensFadType & modelPar_Br,
595 bool modelPar_given_Br,
596 AdmsSensFadType & modelPar_VAF,
597 bool modelPar_given_VAF,
598 AdmsSensFadType & modelPar_VAR,
599 bool modelPar_given_VAR,
600 AdmsSensFadType & modelPar_IKF,
601 bool modelPar_given_IKF,
602 AdmsSensFadType & modelPar_IKR,
603 bool modelPar_given_IKR,
604 AdmsSensFadType & modelPar_Mc,
605 bool modelPar_given_Mc,
606 AdmsSensFadType & modelPar_BVceo,
607 bool modelPar_given_BVceo,
608 AdmsSensFadType & modelPar_kc,
609 bool modelPar_given_kc,
610 AdmsSensFadType & modelPar_BVebo,
611 bool modelPar_given_BVebo,
612 AdmsSensFadType & modelPar_Tr,
613 bool modelPar_given_Tr,
614 AdmsSensFadType & modelPar_Trx,
615 bool modelPar_given_Trx,
616 AdmsSensFadType & modelPar_Tf,
617 bool modelPar_given_Tf,
618 AdmsSensFadType & modelPar_Tft,
619 bool modelPar_given_Tft,
620 AdmsSensFadType & modelPar_Thcs,
621 bool modelPar_given_Thcs,
622 AdmsSensFadType & modelPar_Ahc,
623 bool modelPar_given_Ahc,
624 AdmsSensFadType & modelPar_Cje,
625 bool modelPar_given_Cje,
626 AdmsSensFadType & modelPar_mje,
627 bool modelPar_given_mje,
628 AdmsSensFadType & modelPar_Vje,
629 bool modelPar_given_Vje,
630 AdmsSensFadType & modelPar_Cjc,
631 bool modelPar_given_Cjc,
632 AdmsSensFadType & modelPar_mjc,
633 bool modelPar_given_mjc,
634 AdmsSensFadType & modelPar_Vjc,
635 bool modelPar_given_Vjc,
636 AdmsSensFadType & modelPar_kjc,
637 bool modelPar_given_kjc,
638 AdmsSensFadType & modelPar_Cmin,
639 bool modelPar_given_Cmin,
640 AdmsSensFadType & modelPar_J0,
641 bool modelPar_given_J0,
642 AdmsSensFadType & modelPar_XJ0,
643 bool modelPar_given_XJ0,
644 AdmsSensFadType & modelPar_Rci0,
645 bool modelPar_given_Rci0,
646 AdmsSensFadType & modelPar_Jk,
647 bool modelPar_given_Jk,
648 AdmsSensFadType & modelPar_RJk,
649 bool modelPar_given_RJk,
650 AdmsSensFadType & modelPar_Vces,
651 bool modelPar_given_Vces,
652 AdmsSensFadType & modelPar_Rc,
653 bool modelPar_given_Rc,
654 AdmsSensFadType & modelPar_Re,
655 bool modelPar_given_Re,
656 AdmsSensFadType & modelPar_Rb,
657 bool modelPar_given_Rb,
658 AdmsSensFadType & modelPar_Rb2,
659 bool modelPar_given_Rb2,
660 AdmsSensFadType & modelPar_Lc,
661 bool modelPar_given_Lc,
662 AdmsSensFadType & modelPar_Le,
663 bool modelPar_given_Le,
664 AdmsSensFadType & modelPar_Lb,
665 bool modelPar_given_Lb,
666 AdmsSensFadType & modelPar_Cq,
667 bool modelPar_given_Cq,
668 AdmsSensFadType & modelPar_Cpb,
669 bool modelPar_given_Cpb,
670 AdmsSensFadType & modelPar_Cpc,
671 bool modelPar_given_Cpc,
672 AdmsSensFadType & modelPar_Tnom,
673 bool modelPar_given_Tnom,
676 bool modelPar_given_Mode,
678 bool modelPar_given_Noise,
680 bool modelPar_given_Debug,
681 int modelPar_DebugPlus,
682 bool modelPar_given_DebugPlus,
684 bool modelPar_given_N,
686 double admsTemperature);
693 template <
typename T>
699 return (exp(80.0)*(x-79.0));
707 template <
typename T>
710 return (floor(x.val()));
713 template <
typename T>
716 return (ceil(x.val()));
722 static const char *
name() {
return "FBH HBT_X v2.1";}
1042 namespace AnalogFunctions
1055 maxarg = log(maxexp);
1062 exp_soft = (((x+1.0)-maxarg)*maxexp);
1070 template<
typename RetScalarT,
typename Arg1ScalarT,
typename Arg2ScalarT> RetScalarT
Vt(Arg1ScalarT U, Arg2ScalarT Ud)
1083 exparg=((U-VF)/Vch);
1084 Vt = (U-(Vch*log((1.0+exp(exparg)))));
1088 exparg=((VF-U)/Vch);
1089 Vt = (VF-(Vch*log((1.0+exp(exparg)))));
1098 template<
typename RetScalarT,
typename Arg1ScalarT,
typename Arg2ScalarT,
typename Arg3ScalarT,
typename Arg4ScalarT,
typename Arg5ScalarT,
typename Arg6ScalarT,
typename Arg7ScalarT>
1099 RetScalarT
diode(Arg1ScalarT U, Arg2ScalarT Is, Arg3ScalarT Ug, Arg4ScalarT N, Arg5ScalarT AREA, Arg6ScalarT TJ, Arg7ScalarT TNOM)
1112 Arg6ScalarT TJM_arg1;
1116 VTH0 = adms_vt<RetScalarT>((20.0+273.15));
1117 VTHNOM = adms_vt<Arg7ScalarT>((TNOM+273.15));
1118 KDURCHQ = 0.861708692e-4;
1119 lnIs = log((Is*AREA));
1120 maxi = log(static_cast<double>(1e6));
1121 if (((maxi<(Ug/VTHNOM))&&(U<0.0)))
1123 Tmax = (((Ug*VTHNOM)/((Ug-(maxi*VTHNOM))*KDURCHQ))-273.15);
1124 TJM = Vt<Arg6ScalarT>(TJ,Tmax);
1130 TJM_arg1=(TJM+273.15);
1134 exparg1=((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs);
1135 exparg2=(((Ug/VTHNOM)-(Ug/VTHJ))+lnIs);
1140 exparg1=((U/(N*VTH0))+lnIs);
1141 diode = (
exp_soft(exparg1)-(Is*AREA));
1149 template<
typename ScalarT> ScalarT
MM(ScalarT VBCI, ScalarT VCBO, ScalarT
MC, ScalarT VCBLIN, ScalarT BF, ScalarT KC)
1157 if ((((KC>0.0)&&(MC>0.0))&&(VCBO>0.0)))
1160 FBD = (VCBLIN/VCBO);
1167 if ((VBCI>(-VCBLIN)))
1171 MM = (1.0/(1.0-(vcbi/(-VCBO))));
1175 MM = (1.0/(1.0-pow((vcbi/(-VCBO)),MC)));
1180 if ((VBCI<=(-VCBLIN)))
1184 MM = ((1.0/(1.0-FBD))-((((1.0/VCBO)*1.0)/pow((1.0-FBD),2.0))*(vcbi+(FBD*VCBO))));
1188 MM = ((1.0/(1.0-pow(FBD,MC)))-((((MC/VCBO)*pow(FBD,(MC-1.0)))/pow((1.0-pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO))));
1204 template<
typename RetScalarT,
typename Arg2ScalarT,
typename Arg3ScalarT,
typename Arg4ScalarT,
typename Arg5ScalarT> RetScalarT
charge(RetScalarT U, Arg2ScalarT C0, Arg3ScalarT Ud, Arg4ScalarT m, Arg5ScalarT Area)
1213 Vj = Vt<RetScalarT>(U,Ud);
1214 Vjo = Vt<RetScalarT>(0.0,Ud);
1218 charge = ((Area*C0)*((Ud*(log((1.0-(Vjo/Ud)))-log((1.0-(Vj/Ud)))))+((1.0/(1.0-(VF/Ud)))*((U-Vj)+Vjo))));
1222 charge = ((Area*C0)*((((Ud/(1.0-m))*(pow((1.0-(Vjo/Ud)),(1.0-m))-pow((1.0-(Vj/Ud)),(1.0-m))))+(pow((1.0-(VF/Ud)),(-m))*((U-Vj)+Vjo)))-(Ud*(1.0/(1.0-m)))));
1230 template<
typename ScalarT> ScalarT
Vceff(ScalarT U, ScalarT VCES)
1240 Vceff = (Vth0+(Vth0*log((1.0+exp((((U-VCES)/Vth0)-1.0))))));
1244 Vceff = ((U-VCES)+(Vth0*log((1.0+exp((1.0-((U-VCES)/Vth0)))))));
1252 template<
typename ScalarT> ScalarT
ICK(ScalarT U, ScalarT RCI0, ScalarT VLIM, ScalarT InvVPT, ScalarT VCES)
1261 x = ((VC-VLIM)*InvVPT);
1262 ICK = (((VC/RCI0)*(1.0/sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(1.0+((x+sqrt(((x*x)+0.001)))/2.0)));
1406 #endif //Xyce_N_DEV_ADMSHBT_X_h
double * q_ci_Equ_bi_Node_Ptr
std::vector< AdmsFadType > probeVars
double * q_ex_Equ_bii_Node_Ptr
double * f_cx_Equ_bii_Node_Ptr
double * q_ti_Equ_ei_Node_Ptr
static const int admsNodeID_bii
virtual void operator()(const ParameterBase &entity, const std::string ¶m, std::vector< double > &dfdp, std::vector< double > &dqdp, std::vector< double > &dbdp, std::vector< int > &Findices, std::vector< int > &Qindices, std::vector< int > &Bindices) const
Compute sensitivity of a device instance's outputs to a specified instance parameter.
double * q_bi_Equ_bii_Node_Ptr
double * q_t_Equ_ti_Node_Ptr
void registerLIDs(const LocalIdVector &intLIDVecRef, const LocalIdVector &extLIDVecRef)
static const int admsNodeID_ei
bool updatePrimaryState()
static const int admsNodeID_ex
double * f_bi_Equ_bi_Node_Ptr
double * f_c_Equ_b_Node_Ptr
double * q_BRA_e_ei_Equ_BRA_e_ei_Var_Ptr
bool updateSecondaryState()
std::vector< double > Jdxp_static
double * q_cx_Equ_bii_Node_Ptr
double * f_ci_Equ_BRA_c_ci_Var_Ptr
static bool isLinearDevice()
double * q_cx_Equ_ti_Node_Ptr
double * q_exx_Equ_ei_Node_Ptr
static bool modelRequired()
double * f_BRA_b_bi_Equ_b_Node_Ptr
double * f_bi_Equ_BRA_b_bi_Var_Ptr
double * f_cx_Equ_ci_Node_Ptr
static const int admsNodeID_ci
static const int admsProbeID_I_c_ci
double * q_bii_Equ_bii_Node_Ptr
Pure virtual class to augment a linear system.
double * q_c_Equ_c_Node_Ptr
double * q_cx_Equ_cx_Node_Ptr
std::vector< AdmsFadType > dynamicContributions
double * f_cx_Equ_ti_Node_Ptr
double * f_t_Equ_ti_Node_Ptr
static const int admsProbeID_V_bii_bi
virtual ~InstanceSensitivity()
double * q_BRA_b_bi_Equ_BRA_b_bi_Var_Ptr
double * f_ei_Equ_exx_Node_Ptr
virtual void forEachInstance(DeviceInstanceOp &op) const
Apply a device instance "op" to all instances associated with this model.
Model & operator=(const Model &)
double * f_bii_Equ_exx_Node_Ptr
static const int admsProbeID_V_ci_ei
double * f_c_Equ_c_Node_Ptr
double * q_ti_Equ_ti_Node_Ptr
static const int admsProbeID_V_bii_ei
Base class for all parameters.
double * f_b_Equ_BRA_b_bi_Var_Ptr
double * f_ti_Equ_bi_Node_Ptr
void addInstance(Instance *instance)
RetScalarT Vt(Arg1ScalarT U, Arg2ScalarT Ud)
double * f_b_Equ_b_Node_Ptr
static std::vector< std::vector< int > > jacStamp
double ADMSceil(const T &x)
static const int admsProbeID_V_b_GND
double * q_exx_Equ_bii_Node_Ptr
std::vector< AdmsFadType > staticContributions
static const int admsProbeID_V_ex_ei
double * f_e_Equ_BRA_e_ei_Var_Ptr
double * q_ei_Equ_ei_Node_Ptr
double * f_b_Equ_c_Node_Ptr
bool updateIntermediateVars()
RetScalarT charge(RetScalarT U, Arg2ScalarT C0, Arg3ScalarT Ud, Arg4ScalarT m, Arg5ScalarT Area)
double * f_ei_Equ_ei_Node_Ptr
RetScalarT diode(Arg1ScalarT U, Arg2ScalarT Is, Arg3ScalarT Ug, Arg4ScalarT N, Arg5ScalarT AREA, Arg6ScalarT TJ, Arg7ScalarT TNOM)
static const int admsProbeID_V_t_ti
double * q_ci_Equ_bii_Node_Ptr
bool updateTemperature(const double &temp=-999.0)
static InstanceSensitivity instSens
double * q_ci_Equ_ti_Node_Ptr
double * f_BRA_e_ei_Equ_e_Node_Ptr
double * f_exx_Equ_bii_Node_Ptr
double * f_ex_Equ_ei_Node_Ptr
double * q_bi_Equ_ti_Node_Ptr
double * f_exx_Equ_ei_Node_Ptr
double * f_bii_Equ_ti_Node_Ptr
double * q_cx_Equ_ci_Node_Ptr
double * q_ei_Equ_ci_Node_Ptr
void registerJacLIDs(const JacobianStamp &jacLIDVec)
static const int admsProbeID_V_bii_ci
static const int admsNodeID_bi
double * q_ci_Equ_cx_Node_Ptr
ScalarT exp_soft(ScalarT x)
Sacado::Fad::SFad< double, 1 > AdmsSensFadType
double * q_bii_Equ_cx_Node_Ptr
void evaluateModelEquations(std::vector< double > &probeVars, const int admsProbeID_V_t_ti, const int admsProbeID_V_b_c, const int admsProbeID_V_c_GND, const int admsProbeID_V_b_GND, const int admsProbeID_V_cx_bii, const int admsProbeID_V_exx_bii, const int admsProbeID_V_ex_bii, const int admsProbeID_V_bii_bi, const int admsProbeID_I_c_ci, const int admsProbeID_I_e_ei, const int admsProbeID_I_b_bi, const int admsProbeID_V_ti_GND, const int admsProbeID_V_ci_ei, const int admsProbeID_V_exx_ei, const int admsProbeID_V_cx_ci, const int admsProbeID_V_ex_ei, const int admsProbeID_V_bii_ei, const int admsProbeID_V_bii_ci, const int admsProbeID_V_bi_ci, const int admsNodeID_c, const int admsNodeID_b, const int admsNodeID_e, const int admsNodeID_t, const int admsNodeID_ei, const int admsNodeID_bi, const int admsNodeID_bii, const int admsNodeID_ci, const int admsNodeID_ti, const int admsNodeID_ex, const int admsNodeID_exx, const int admsNodeID_cx, const int admsBRA_ID_b_bi, const int admsBRA_ID_e_ei, const int admsBRA_ID_c_ci, AdmsSensFadType &instancePar_Temp, bool instancePar_given_Temp, AdmsSensFadType &instancePar_L, bool instancePar_given_L, AdmsSensFadType &instancePar_W, bool instancePar_given_W, int instancePar_N, bool instancePar_given_N, AdmsSensFadType &modelPar_Temp, bool modelPar_given_Temp, AdmsSensFadType &modelPar_Rth, bool modelPar_given_Rth, AdmsSensFadType &modelPar_Cth, bool modelPar_given_Cth, AdmsSensFadType &modelPar_L, bool modelPar_given_L, AdmsSensFadType &modelPar_W, bool modelPar_given_W, AdmsSensFadType &modelPar_Jsf, bool modelPar_given_Jsf, AdmsSensFadType &modelPar_nf, bool modelPar_given_nf, AdmsSensFadType &modelPar_Vg, bool modelPar_given_Vg, AdmsSensFadType &modelPar_Jse, bool modelPar_given_Jse, AdmsSensFadType &modelPar_ne, bool modelPar_given_ne, AdmsSensFadType &modelPar_Rbxx, bool modelPar_given_Rbxx, AdmsSensFadType &modelPar_Vgb, bool modelPar_given_Vgb, AdmsSensFadType &modelPar_Jsee, bool modelPar_given_Jsee, AdmsSensFadType &modelPar_nee, bool modelPar_given_nee, AdmsSensFadType &modelPar_Rbbxx, bool modelPar_given_Rbbxx, AdmsSensFadType &modelPar_Vgbb, bool modelPar_given_Vgbb, AdmsSensFadType &modelPar_Jsr, bool modelPar_given_Jsr, AdmsSensFadType &modelPar_nr, bool modelPar_given_nr, AdmsSensFadType &modelPar_Vgr, bool modelPar_given_Vgr, AdmsSensFadType &modelPar_XCjc, bool modelPar_given_XCjc, AdmsSensFadType &modelPar_Jsc, bool modelPar_given_Jsc, AdmsSensFadType &modelPar_nc, bool modelPar_given_nc, AdmsSensFadType &modelPar_Rcxx, bool modelPar_given_Rcxx, AdmsSensFadType &modelPar_Vgc, bool modelPar_given_Vgc, AdmsSensFadType &modelPar_Bf, bool modelPar_given_Bf, AdmsSensFadType &modelPar_kBeta, bool modelPar_given_kBeta, AdmsSensFadType &modelPar_Br, bool modelPar_given_Br, AdmsSensFadType &modelPar_VAF, bool modelPar_given_VAF, AdmsSensFadType &modelPar_VAR, bool modelPar_given_VAR, AdmsSensFadType &modelPar_IKF, bool modelPar_given_IKF, AdmsSensFadType &modelPar_IKR, bool modelPar_given_IKR, AdmsSensFadType &modelPar_Mc, bool modelPar_given_Mc, AdmsSensFadType &modelPar_BVceo, bool modelPar_given_BVceo, AdmsSensFadType &modelPar_kc, bool modelPar_given_kc, AdmsSensFadType &modelPar_BVebo, bool modelPar_given_BVebo, AdmsSensFadType &modelPar_Tr, bool modelPar_given_Tr, AdmsSensFadType &modelPar_Trx, bool modelPar_given_Trx, AdmsSensFadType &modelPar_Tf, bool modelPar_given_Tf, AdmsSensFadType &modelPar_Tft, bool modelPar_given_Tft, AdmsSensFadType &modelPar_Thcs, bool modelPar_given_Thcs, AdmsSensFadType &modelPar_Ahc, bool modelPar_given_Ahc, AdmsSensFadType &modelPar_Cje, bool modelPar_given_Cje, AdmsSensFadType &modelPar_mje, bool modelPar_given_mje, AdmsSensFadType &modelPar_Vje, bool modelPar_given_Vje, AdmsSensFadType &modelPar_Cjc, bool modelPar_given_Cjc, AdmsSensFadType &modelPar_mjc, bool modelPar_given_mjc, AdmsSensFadType &modelPar_Vjc, bool modelPar_given_Vjc, AdmsSensFadType &modelPar_kjc, bool modelPar_given_kjc, AdmsSensFadType &modelPar_Cmin, bool modelPar_given_Cmin, AdmsSensFadType &modelPar_J0, bool modelPar_given_J0, AdmsSensFadType &modelPar_XJ0, bool modelPar_given_XJ0, AdmsSensFadType &modelPar_Rci0, bool modelPar_given_Rci0, AdmsSensFadType &modelPar_Jk, bool modelPar_given_Jk, AdmsSensFadType &modelPar_RJk, bool modelPar_given_RJk, AdmsSensFadType &modelPar_Vces, bool modelPar_given_Vces, AdmsSensFadType &modelPar_Rc, bool modelPar_given_Rc, AdmsSensFadType &modelPar_Re, bool modelPar_given_Re, AdmsSensFadType &modelPar_Rb, bool modelPar_given_Rb, AdmsSensFadType &modelPar_Rb2, bool modelPar_given_Rb2, AdmsSensFadType &modelPar_Lc, bool modelPar_given_Lc, AdmsSensFadType &modelPar_Le, bool modelPar_given_Le, AdmsSensFadType &modelPar_Lb, bool modelPar_given_Lb, AdmsSensFadType &modelPar_Cq, bool modelPar_given_Cq, AdmsSensFadType &modelPar_Cpb, bool modelPar_given_Cpb, AdmsSensFadType &modelPar_Cpc, bool modelPar_given_Cpc, AdmsSensFadType &modelPar_Tnom, bool modelPar_given_Tnom, int modelPar_Mode, bool modelPar_given_Mode, int modelPar_Noise, bool modelPar_given_Noise, int modelPar_Debug, bool modelPar_given_Debug, int modelPar_DebugPlus, bool modelPar_given_DebugPlus, int modelPar_N, bool modelPar_given_N, int modelPar_dtype, double admsTemperature, double adms_vt_nom, double gmin, std::vector< AdmsSensFadType > &staticContributions, std::vector< AdmsSensFadType > &dynamicContributions, const Instance &theInstance)
double * f_ti_Equ_t_Node_Ptr
virtual void operator()(const ParameterBase &entity, const std::string ¶m, std::vector< double > &dfdp, std::vector< double > &dqdp, std::vector< double > &dbdp, std::vector< int > &Findices, std::vector< int > &Qindices, std::vector< int > &Bindices) const
Compute sensitivity to a specified model parameter of all device instances of that model's outputs...
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
static const char * name()
double * q_ex_Equ_ei_Node_Ptr
static const int admsProbeID_V_cx_ci
static const int admsProbeID_I_e_ei
static const int admsProbeID_V_exx_ei
static const int admsProbeID_V_cx_bii
double * q_e_Equ_BRA_e_ei_Var_Ptr
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
double * q_bii_Equ_exx_Node_Ptr
double * q_bi_Equ_BRA_b_bi_Var_Ptr
double * f_ci_Equ_ci_Node_Ptr
double * f_bii_Equ_ex_Node_Ptr
double * q_c_Equ_b_Node_Ptr
double * q_ti_Equ_t_Node_Ptr
double * f_ei_Equ_ex_Node_Ptr
double * f_BRA_b_bi_Equ_BRA_b_bi_Var_Ptr
double * q_bi_Equ_ci_Node_Ptr
double * q_ci_Equ_ei_Node_Ptr
double * f_ci_Equ_ei_Node_Ptr
double * f_ex_Equ_ex_Node_Ptr
double * f_bi_Equ_ti_Node_Ptr
std::vector< std::vector< int > > JacobianStamp
double * f_ci_Equ_ti_Node_Ptr
double * q_BRA_e_ei_Equ_ei_Node_Ptr
static std::vector< std::vector< int > > jacMap2
static const int admsNodeID_e
static const int admsProbeID_V_c_GND
std::vector< Instance * > instanceContainer
static ModelSensitivity modSens
bool processParams()
processParams
double * q_bi_Equ_bi_Node_Ptr
bool processInstanceParams()
processInstanceParams
static const int admsBRA_ID_c_ci
static const int admsNodeID_c
double * q_ei_Equ_ex_Node_Ptr
virtual std::ostream & printOutInstances(std::ostream &os) const
static const int admsNodeID_t
ScalarT Vceff(ScalarT U, ScalarT VCES)
Sacado::Fad::SFad< double, 19 > AdmsFadType
static const char * deviceTypeName()
double * q_BRA_e_ei_Equ_e_Node_Ptr
double * f_ti_Equ_ci_Node_Ptr
static const int admsNodeID_b
double * q_ti_Equ_ci_Node_Ptr
double * q_exx_Equ_ti_Node_Ptr
The Device class is an interface for device implementations.
double * f_BRA_c_ci_Equ_c_Node_Ptr
double * q_exx_Equ_exx_Node_Ptr
double * f_BRA_e_ei_Equ_ei_Node_Ptr
ScalarT MM(ScalarT VBCI, ScalarT VCBO, ScalarT MC, ScalarT VCBLIN, ScalarT BF, ScalarT KC)
ScalarT ICK(ScalarT U, ScalarT RCI0, ScalarT VLIM, ScalarT InvVPT, ScalarT VCES)
int li_state_admsProbeID_V_bii_ei
void evaluateInitialModel(AdmsSensFadType &modelPar_Temp, bool modelPar_given_Temp, AdmsSensFadType &modelPar_Rth, bool modelPar_given_Rth, AdmsSensFadType &modelPar_Cth, bool modelPar_given_Cth, AdmsSensFadType &modelPar_L, bool modelPar_given_L, AdmsSensFadType &modelPar_W, bool modelPar_given_W, AdmsSensFadType &modelPar_Jsf, bool modelPar_given_Jsf, AdmsSensFadType &modelPar_nf, bool modelPar_given_nf, AdmsSensFadType &modelPar_Vg, bool modelPar_given_Vg, AdmsSensFadType &modelPar_Jse, bool modelPar_given_Jse, AdmsSensFadType &modelPar_ne, bool modelPar_given_ne, AdmsSensFadType &modelPar_Rbxx, bool modelPar_given_Rbxx, AdmsSensFadType &modelPar_Vgb, bool modelPar_given_Vgb, AdmsSensFadType &modelPar_Jsee, bool modelPar_given_Jsee, AdmsSensFadType &modelPar_nee, bool modelPar_given_nee, AdmsSensFadType &modelPar_Rbbxx, bool modelPar_given_Rbbxx, AdmsSensFadType &modelPar_Vgbb, bool modelPar_given_Vgbb, AdmsSensFadType &modelPar_Jsr, bool modelPar_given_Jsr, AdmsSensFadType &modelPar_nr, bool modelPar_given_nr, AdmsSensFadType &modelPar_Vgr, bool modelPar_given_Vgr, AdmsSensFadType &modelPar_XCjc, bool modelPar_given_XCjc, AdmsSensFadType &modelPar_Jsc, bool modelPar_given_Jsc, AdmsSensFadType &modelPar_nc, bool modelPar_given_nc, AdmsSensFadType &modelPar_Rcxx, bool modelPar_given_Rcxx, AdmsSensFadType &modelPar_Vgc, bool modelPar_given_Vgc, AdmsSensFadType &modelPar_Bf, bool modelPar_given_Bf, AdmsSensFadType &modelPar_kBeta, bool modelPar_given_kBeta, AdmsSensFadType &modelPar_Br, bool modelPar_given_Br, AdmsSensFadType &modelPar_VAF, bool modelPar_given_VAF, AdmsSensFadType &modelPar_VAR, bool modelPar_given_VAR, AdmsSensFadType &modelPar_IKF, bool modelPar_given_IKF, AdmsSensFadType &modelPar_IKR, bool modelPar_given_IKR, AdmsSensFadType &modelPar_Mc, bool modelPar_given_Mc, AdmsSensFadType &modelPar_BVceo, bool modelPar_given_BVceo, AdmsSensFadType &modelPar_kc, bool modelPar_given_kc, AdmsSensFadType &modelPar_BVebo, bool modelPar_given_BVebo, AdmsSensFadType &modelPar_Tr, bool modelPar_given_Tr, AdmsSensFadType &modelPar_Trx, bool modelPar_given_Trx, AdmsSensFadType &modelPar_Tf, bool modelPar_given_Tf, AdmsSensFadType &modelPar_Tft, bool modelPar_given_Tft, AdmsSensFadType &modelPar_Thcs, bool modelPar_given_Thcs, AdmsSensFadType &modelPar_Ahc, bool modelPar_given_Ahc, AdmsSensFadType &modelPar_Cje, bool modelPar_given_Cje, AdmsSensFadType &modelPar_mje, bool modelPar_given_mje, AdmsSensFadType &modelPar_Vje, bool modelPar_given_Vje, AdmsSensFadType &modelPar_Cjc, bool modelPar_given_Cjc, AdmsSensFadType &modelPar_mjc, bool modelPar_given_mjc, AdmsSensFadType &modelPar_Vjc, bool modelPar_given_Vjc, AdmsSensFadType &modelPar_kjc, bool modelPar_given_kjc, AdmsSensFadType &modelPar_Cmin, bool modelPar_given_Cmin, AdmsSensFadType &modelPar_J0, bool modelPar_given_J0, AdmsSensFadType &modelPar_XJ0, bool modelPar_given_XJ0, AdmsSensFadType &modelPar_Rci0, bool modelPar_given_Rci0, AdmsSensFadType &modelPar_Jk, bool modelPar_given_Jk, AdmsSensFadType &modelPar_RJk, bool modelPar_given_RJk, AdmsSensFadType &modelPar_Vces, bool modelPar_given_Vces, AdmsSensFadType &modelPar_Rc, bool modelPar_given_Rc, AdmsSensFadType &modelPar_Re, bool modelPar_given_Re, AdmsSensFadType &modelPar_Rb, bool modelPar_given_Rb, AdmsSensFadType &modelPar_Rb2, bool modelPar_given_Rb2, AdmsSensFadType &modelPar_Lc, bool modelPar_given_Lc, AdmsSensFadType &modelPar_Le, bool modelPar_given_Le, AdmsSensFadType &modelPar_Lb, bool modelPar_given_Lb, AdmsSensFadType &modelPar_Cq, bool modelPar_given_Cq, AdmsSensFadType &modelPar_Cpb, bool modelPar_given_Cpb, AdmsSensFadType &modelPar_Cpc, bool modelPar_given_Cpc, AdmsSensFadType &modelPar_Tnom, bool modelPar_given_Tnom, int modelPar_Mode, bool modelPar_given_Mode, int modelPar_Noise, bool modelPar_given_Noise, int modelPar_Debug, bool modelPar_given_Debug, int modelPar_DebugPlus, bool modelPar_given_DebugPlus, int modelPar_N, bool modelPar_given_N, int modelPar_dtype, double admsTemperature)
double * f_ex_Equ_bii_Node_Ptr
double * f_ti_Equ_bii_Node_Ptr
static const int admsProbeID_I_b_bi
double * f_BRA_c_ci_Equ_ci_Node_Ptr
static const int admsProbeID_V_b_c
double * q_ex_Equ_ti_Node_Ptr
double * f_t_Equ_t_Node_Ptr
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
static const int admsBRA_ID_b_bi
Class Configuration contains device configuration data.
static const int admsNodeID_cx
double * q_bii_Equ_bi_Node_Ptr
double * q_bii_Equ_ti_Node_Ptr
double * f_bii_Equ_bii_Node_Ptr
int li_state_admsProbeID_V_bii_ci
double * f_ei_Equ_BRA_e_ei_Var_Ptr
double * q_bii_Equ_ci_Node_Ptr
static Tin adms_ternary_op(const bool cond, const Tin &ifTrue, const Tin &ifFalse)
double * f_ci_Equ_bi_Node_Ptr
double * f_c_Equ_BRA_c_ci_Var_Ptr
double * q_b_Equ_c_Node_Ptr
double * f_bii_Equ_cx_Node_Ptr
static const int admsNodeID_exx
const JacobianStamp & jacobianStamp() const
double * f_exx_Equ_ti_Node_Ptr
double * q_b_Equ_b_Node_Ptr
double * q_b_Equ_BRA_b_bi_Var_Ptr
double * q_ti_Equ_bi_Node_Ptr
static const int admsProbeID_V_bi_ci
double * q_BRA_c_ci_Equ_BRA_c_ci_Var_Ptr
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
Model(const Configuration &configuration, const ModelBlock &model_block, const FactoryBlock &factory_block)
static const int admsProbeID_V_ex_bii
double * f_cx_Equ_cx_Node_Ptr
double * f_ei_Equ_bii_Node_Ptr
double * q_ei_Equ_ti_Node_Ptr
double * f_ti_Equ_ti_Node_Ptr
double * q_BRA_b_bi_Equ_bi_Node_Ptr
static const int admsNodeID_ti
double * f_ex_Equ_ti_Node_Ptr
static const int admsProbeID_V_exx_bii
double * f_BRA_b_bi_Equ_bi_Node_Ptr
double * f_bii_Equ_bi_Node_Ptr
double * q_BRA_b_bi_Equ_b_Node_Ptr
std::vector< double > Jdxp_dynamic
static void loadModelParameters(ParametricData< Model > &model_parameters)
double * q_t_Equ_t_Node_Ptr
double * q_ei_Equ_exx_Node_Ptr
static const int admsBRA_ID_e_ei
double * q_BRA_c_ci_Equ_c_Node_Ptr
double ADMSfloor(const T &x)
std::vector< double > probeDiffs
double * f_ei_Equ_ci_Node_Ptr
double * q_ei_Equ_BRA_e_ei_Var_Ptr
static T adms_vt(const T temp)
double * q_bii_Equ_ex_Node_Ptr
double * f_ti_Equ_ei_Node_Ptr
Instance & operator=(const Instance &)
Base sensitivity functor.
double * f_bi_Equ_bii_Node_Ptr
std::vector< Instance * > InstanceVector
double * f_exx_Equ_exx_Node_Ptr
ModelBlock represents a .MODEL line from the netlist.
double * f_ci_Equ_cx_Node_Ptr
The DeviceTraits template describes the configuration of a device.
static std::vector< int > jacMap
Manages parameter binding for class C.
double * q_ci_Equ_BRA_c_ci_Var_Ptr
double * q_BRA_c_ci_Equ_ci_Node_Ptr
double * f_ci_Equ_bii_Node_Ptr
static const int admsProbeID_V_ti_GND
InstanceBlock represent a device instance line from the netlist.
Instance(const Configuration &configuration, const InstanceBlock &instance_block, Model &model, const FactoryBlock &factory_block)
int li_state_admsProbeID_V_bi_ci
double * f_bii_Equ_ei_Node_Ptr
double * f_BRA_e_ei_Equ_BRA_e_ei_Var_Ptr
double * f_BRA_c_ci_Equ_BRA_c_ci_Var_Ptr
double * q_c_Equ_BRA_c_ci_Var_Ptr
double * q_ei_Equ_bii_Node_Ptr
double * f_bi_Equ_ci_Node_Ptr
void registerStateLIDs(const LocalIdVector &staLIDVecRef)
double * q_bii_Equ_ei_Node_Ptr
double * q_ci_Equ_ci_Node_Ptr
virtual ~ModelSensitivity()
double * q_ex_Equ_ex_Node_Ptr
double * f_bii_Equ_ci_Node_Ptr
void evaluateInitialInstance(AdmsSensFadType &instancePar_Temp, bool instancePar_given_Temp, AdmsSensFadType &instancePar_L, bool instancePar_given_L, AdmsSensFadType &instancePar_W, bool instancePar_given_W, int instancePar_N, bool instancePar_given_N, AdmsSensFadType &modelPar_Temp, bool modelPar_given_Temp, AdmsSensFadType &modelPar_Rth, bool modelPar_given_Rth, AdmsSensFadType &modelPar_Cth, bool modelPar_given_Cth, AdmsSensFadType &modelPar_L, bool modelPar_given_L, AdmsSensFadType &modelPar_W, bool modelPar_given_W, AdmsSensFadType &modelPar_Jsf, bool modelPar_given_Jsf, AdmsSensFadType &modelPar_nf, bool modelPar_given_nf, AdmsSensFadType &modelPar_Vg, bool modelPar_given_Vg, AdmsSensFadType &modelPar_Jse, bool modelPar_given_Jse, AdmsSensFadType &modelPar_ne, bool modelPar_given_ne, AdmsSensFadType &modelPar_Rbxx, bool modelPar_given_Rbxx, AdmsSensFadType &modelPar_Vgb, bool modelPar_given_Vgb, AdmsSensFadType &modelPar_Jsee, bool modelPar_given_Jsee, AdmsSensFadType &modelPar_nee, bool modelPar_given_nee, AdmsSensFadType &modelPar_Rbbxx, bool modelPar_given_Rbbxx, AdmsSensFadType &modelPar_Vgbb, bool modelPar_given_Vgbb, AdmsSensFadType &modelPar_Jsr, bool modelPar_given_Jsr, AdmsSensFadType &modelPar_nr, bool modelPar_given_nr, AdmsSensFadType &modelPar_Vgr, bool modelPar_given_Vgr, AdmsSensFadType &modelPar_XCjc, bool modelPar_given_XCjc, AdmsSensFadType &modelPar_Jsc, bool modelPar_given_Jsc, AdmsSensFadType &modelPar_nc, bool modelPar_given_nc, AdmsSensFadType &modelPar_Rcxx, bool modelPar_given_Rcxx, AdmsSensFadType &modelPar_Vgc, bool modelPar_given_Vgc, AdmsSensFadType &modelPar_Bf, bool modelPar_given_Bf, AdmsSensFadType &modelPar_kBeta, bool modelPar_given_kBeta, AdmsSensFadType &modelPar_Br, bool modelPar_given_Br, AdmsSensFadType &modelPar_VAF, bool modelPar_given_VAF, AdmsSensFadType &modelPar_VAR, bool modelPar_given_VAR, AdmsSensFadType &modelPar_IKF, bool modelPar_given_IKF, AdmsSensFadType &modelPar_IKR, bool modelPar_given_IKR, AdmsSensFadType &modelPar_Mc, bool modelPar_given_Mc, AdmsSensFadType &modelPar_BVceo, bool modelPar_given_BVceo, AdmsSensFadType &modelPar_kc, bool modelPar_given_kc, AdmsSensFadType &modelPar_BVebo, bool modelPar_given_BVebo, AdmsSensFadType &modelPar_Tr, bool modelPar_given_Tr, AdmsSensFadType &modelPar_Trx, bool modelPar_given_Trx, AdmsSensFadType &modelPar_Tf, bool modelPar_given_Tf, AdmsSensFadType &modelPar_Tft, bool modelPar_given_Tft, AdmsSensFadType &modelPar_Thcs, bool modelPar_given_Thcs, AdmsSensFadType &modelPar_Ahc, bool modelPar_given_Ahc, AdmsSensFadType &modelPar_Cje, bool modelPar_given_Cje, AdmsSensFadType &modelPar_mje, bool modelPar_given_mje, AdmsSensFadType &modelPar_Vje, bool modelPar_given_Vje, AdmsSensFadType &modelPar_Cjc, bool modelPar_given_Cjc, AdmsSensFadType &modelPar_mjc, bool modelPar_given_mjc, AdmsSensFadType &modelPar_Vjc, bool modelPar_given_Vjc, AdmsSensFadType &modelPar_kjc, bool modelPar_given_kjc, AdmsSensFadType &modelPar_Cmin, bool modelPar_given_Cmin, AdmsSensFadType &modelPar_J0, bool modelPar_given_J0, AdmsSensFadType &modelPar_XJ0, bool modelPar_given_XJ0, AdmsSensFadType &modelPar_Rci0, bool modelPar_given_Rci0, AdmsSensFadType &modelPar_Jk, bool modelPar_given_Jk, AdmsSensFadType &modelPar_RJk, bool modelPar_given_RJk, AdmsSensFadType &modelPar_Vces, bool modelPar_given_Vces, AdmsSensFadType &modelPar_Rc, bool modelPar_given_Rc, AdmsSensFadType &modelPar_Re, bool modelPar_given_Re, AdmsSensFadType &modelPar_Rb, bool modelPar_given_Rb, AdmsSensFadType &modelPar_Rb2, bool modelPar_given_Rb2, AdmsSensFadType &modelPar_Lc, bool modelPar_given_Lc, AdmsSensFadType &modelPar_Le, bool modelPar_given_Le, AdmsSensFadType &modelPar_Lb, bool modelPar_given_Lb, AdmsSensFadType &modelPar_Cq, bool modelPar_given_Cq, AdmsSensFadType &modelPar_Cpb, bool modelPar_given_Cpb, AdmsSensFadType &modelPar_Cpc, bool modelPar_given_Cpc, AdmsSensFadType &modelPar_Tnom, bool modelPar_given_Tnom, int modelPar_Mode, bool modelPar_given_Mode, int modelPar_Noise, bool modelPar_given_Noise, int modelPar_Debug, bool modelPar_given_Debug, int modelPar_DebugPlus, bool modelPar_given_DebugPlus, int modelPar_N, bool modelPar_given_N, int modelPar_dtype, double admsTemperature)
double * q_ti_Equ_bii_Node_Ptr
double * f_ei_Equ_ti_Node_Ptr