49 #ifndef Xyce_N_DEV_ADMSvbic_h
50 #define Xyce_N_DEV_ADMSvbic_h
73 class InstanceSensitivity;
75 #ifdef Xyce_ADMS_SENSITIVITIES
88 InstanceSensitivity() :
91 virtual ~InstanceSensitivity() {};
93 virtual void operator()(
94 const ParameterBase &entity,
95 const std::string ¶m,
96 std::vector<double> & dfdp,
97 std::vector<double> & dqdp,
98 std::vector<double> & dbdp,
99 std::vector<int> & Findices,
100 std::vector<int> & Qindices,
101 std::vector<int> & Bindices
105 static InstanceSensitivity instSens;
117 class ModelSensitivity :
public baseSensitivity
121 baseSensitivity() {};
123 virtual ~ModelSensitivity() {};
125 virtual void operator()(
126 const ParameterBase &entity,
127 const std::string ¶m,
128 std::vector<double> & dfdp,
129 std::vector<double> & dqdp,
130 std::vector<double> & dbdp,
131 std::vector<int> & Findices,
132 std::vector<int> & Qindices,
133 std::vector<int> & Bindices
137 static ModelSensitivity modSens;
138 #endif // Xyce_ADMS_SENSITIVITIES
148 template<
typename Tin>
157 template<
typename Tin>
166 template<
typename Tin>
178 #ifdef Xyce_ADMS_SENSITIVITIES
183 void evaluateModelEquations(
184 std::vector <double> & probeVars,
186 const int admsProbeID_V_ci_ei,
187 const int admsProbeID_V_b_c,
188 const int admsProbeID_V_bp_cx,
189 const int admsProbeID_V_e_ei,
190 const int admsProbeID_V_b_bx,
191 const int admsProbeID_V_bx_bi,
192 const int admsProbeID_V_cx_ci,
193 const int admsProbeID_V_c_cx,
194 const int admsProbeID_V_b_e,
195 const int admsProbeID_V_dt_GND,
196 const int admsProbeID_V_bx_bp,
197 const int admsProbeID_V_bi_cx,
198 const int admsProbeID_V_bx_ei,
199 const int admsProbeID_V_bi_ci,
200 const int admsProbeID_V_bi_ei,
202 const int admsNodeID_c,
203 const int admsNodeID_b,
204 const int admsNodeID_e,
205 const int admsNodeID_dt,
206 const int admsNodeID_cx,
207 const int admsNodeID_ci,
208 const int admsNodeID_bx,
209 const int admsNodeID_bi,
210 const int admsNodeID_ei,
211 const int admsNodeID_bp,
214 AdmsSensFadType & instancePar_DTEMP,
215 bool instancePar_given_DTEMP,
218 bool instancePar_given_M,
221 AdmsSensFadType & modelPar_TNOM,
222 bool modelPar_given_TNOM,
223 AdmsSensFadType & modelPar_RCX,
224 bool modelPar_given_RCX,
225 AdmsSensFadType & modelPar_RCI,
226 bool modelPar_given_RCI,
227 AdmsSensFadType & modelPar_VO,
228 bool modelPar_given_VO,
229 AdmsSensFadType & modelPar_GAMM,
230 bool modelPar_given_GAMM,
231 AdmsSensFadType & modelPar_HRCF,
232 bool modelPar_given_HRCF,
233 AdmsSensFadType & modelPar_RBX,
234 bool modelPar_given_RBX,
235 AdmsSensFadType & modelPar_RBI,
236 bool modelPar_given_RBI,
237 AdmsSensFadType & modelPar_RE,
238 bool modelPar_given_RE,
239 AdmsSensFadType & modelPar_RS,
240 bool modelPar_given_RS,
241 AdmsSensFadType & modelPar_RBP,
242 bool modelPar_given_RBP,
243 AdmsSensFadType & modelPar_IS,
244 bool modelPar_given_IS,
245 AdmsSensFadType & modelPar_NF,
246 bool modelPar_given_NF,
247 AdmsSensFadType & modelPar_NR,
248 bool modelPar_given_NR,
249 AdmsSensFadType & modelPar_FC,
250 bool modelPar_given_FC,
251 AdmsSensFadType & modelPar_CBEO,
252 bool modelPar_given_CBEO,
253 AdmsSensFadType & modelPar_CJE,
254 bool modelPar_given_CJE,
255 AdmsSensFadType & modelPar_PE,
256 bool modelPar_given_PE,
257 AdmsSensFadType & modelPar_ME,
258 bool modelPar_given_ME,
259 AdmsSensFadType & modelPar_AJE,
260 bool modelPar_given_AJE,
261 AdmsSensFadType & modelPar_CBCO,
262 bool modelPar_given_CBCO,
263 AdmsSensFadType & modelPar_CJC,
264 bool modelPar_given_CJC,
265 AdmsSensFadType & modelPar_QCO,
266 bool modelPar_given_QCO,
267 AdmsSensFadType & modelPar_CJEP,
268 bool modelPar_given_CJEP,
269 AdmsSensFadType & modelPar_PC,
270 bool modelPar_given_PC,
271 AdmsSensFadType & modelPar_MC,
272 bool modelPar_given_MC,
273 AdmsSensFadType & modelPar_AJC,
274 bool modelPar_given_AJC,
275 AdmsSensFadType & modelPar_CJCP,
276 bool modelPar_given_CJCP,
277 AdmsSensFadType & modelPar_PS,
278 bool modelPar_given_PS,
279 AdmsSensFadType & modelPar_MS,
280 bool modelPar_given_MS,
281 AdmsSensFadType & modelPar_AJS,
282 bool modelPar_given_AJS,
283 AdmsSensFadType & modelPar_IBEI,
284 bool modelPar_given_IBEI,
285 AdmsSensFadType & modelPar_WBE,
286 bool modelPar_given_WBE,
287 AdmsSensFadType & modelPar_NEI,
288 bool modelPar_given_NEI,
289 AdmsSensFadType & modelPar_IBEN,
290 bool modelPar_given_IBEN,
291 AdmsSensFadType & modelPar_NEN,
292 bool modelPar_given_NEN,
293 AdmsSensFadType & modelPar_IBCI,
294 bool modelPar_given_IBCI,
295 AdmsSensFadType & modelPar_NCI,
296 bool modelPar_given_NCI,
297 AdmsSensFadType & modelPar_IBCN,
298 bool modelPar_given_IBCN,
299 AdmsSensFadType & modelPar_NCN,
300 bool modelPar_given_NCN,
301 AdmsSensFadType & modelPar_AVC1,
302 bool modelPar_given_AVC1,
303 AdmsSensFadType & modelPar_AVC2,
304 bool modelPar_given_AVC2,
305 AdmsSensFadType & modelPar_ISP,
306 bool modelPar_given_ISP,
307 AdmsSensFadType & modelPar_WSP,
308 bool modelPar_given_WSP,
309 AdmsSensFadType & modelPar_NFP,
310 bool modelPar_given_NFP,
311 AdmsSensFadType & modelPar_IBEIP,
312 bool modelPar_given_IBEIP,
313 AdmsSensFadType & modelPar_IBENP,
314 bool modelPar_given_IBENP,
315 AdmsSensFadType & modelPar_IBCIP,
316 bool modelPar_given_IBCIP,
317 AdmsSensFadType & modelPar_NCIP,
318 bool modelPar_given_NCIP,
319 AdmsSensFadType & modelPar_IBCNP,
320 bool modelPar_given_IBCNP,
321 AdmsSensFadType & modelPar_NCNP,
322 bool modelPar_given_NCNP,
323 AdmsSensFadType & modelPar_VEF,
324 bool modelPar_given_VEF,
325 AdmsSensFadType & modelPar_VER,
326 bool modelPar_given_VER,
327 AdmsSensFadType & modelPar_IKF,
328 bool modelPar_given_IKF,
329 AdmsSensFadType & modelPar_IKR,
330 bool modelPar_given_IKR,
331 AdmsSensFadType & modelPar_IKP,
332 bool modelPar_given_IKP,
333 AdmsSensFadType & modelPar_TF,
334 bool modelPar_given_TF,
335 AdmsSensFadType & modelPar_QTF,
336 bool modelPar_given_QTF,
337 AdmsSensFadType & modelPar_XTF,
338 bool modelPar_given_XTF,
339 AdmsSensFadType & modelPar_VTF,
340 bool modelPar_given_VTF,
341 AdmsSensFadType & modelPar_ITF,
342 bool modelPar_given_ITF,
343 AdmsSensFadType & modelPar_TR,
344 bool modelPar_given_TR,
345 AdmsSensFadType & modelPar_TD,
346 bool modelPar_given_TD,
347 AdmsSensFadType & modelPar_KFN,
348 bool modelPar_given_KFN,
349 AdmsSensFadType & modelPar_AFN,
350 bool modelPar_given_AFN,
351 AdmsSensFadType & modelPar_BFN,
352 bool modelPar_given_BFN,
353 AdmsSensFadType & modelPar_XRE,
354 bool modelPar_given_XRE,
355 AdmsSensFadType & modelPar_XRBI,
356 bool modelPar_given_XRBI,
357 AdmsSensFadType & modelPar_XRCI,
358 bool modelPar_given_XRCI,
359 AdmsSensFadType & modelPar_XRS,
360 bool modelPar_given_XRS,
361 AdmsSensFadType & modelPar_XVO,
362 bool modelPar_given_XVO,
363 AdmsSensFadType & modelPar_EA,
364 bool modelPar_given_EA,
365 AdmsSensFadType & modelPar_EAIE,
366 bool modelPar_given_EAIE,
367 AdmsSensFadType & modelPar_EAIC,
368 bool modelPar_given_EAIC,
369 AdmsSensFadType & modelPar_EAIS,
370 bool modelPar_given_EAIS,
371 AdmsSensFadType & modelPar_EANE,
372 bool modelPar_given_EANE,
373 AdmsSensFadType & modelPar_EANC,
374 bool modelPar_given_EANC,
375 AdmsSensFadType & modelPar_EANS,
376 bool modelPar_given_EANS,
377 AdmsSensFadType & modelPar_XIS,
378 bool modelPar_given_XIS,
379 AdmsSensFadType & modelPar_XII,
380 bool modelPar_given_XII,
381 AdmsSensFadType & modelPar_XIN,
382 bool modelPar_given_XIN,
383 AdmsSensFadType & modelPar_TNF,
384 bool modelPar_given_TNF,
385 AdmsSensFadType & modelPar_TAVC,
386 bool modelPar_given_TAVC,
387 AdmsSensFadType & modelPar_RTH,
388 bool modelPar_given_RTH,
389 AdmsSensFadType & modelPar_CTH,
390 bool modelPar_given_CTH,
391 AdmsSensFadType & modelPar_VRT,
392 bool modelPar_given_VRT,
393 AdmsSensFadType & modelPar_ART,
394 bool modelPar_given_ART,
395 AdmsSensFadType & modelPar_CCSO,
396 bool modelPar_given_CCSO,
397 AdmsSensFadType & modelPar_QBM,
398 bool modelPar_given_QBM,
399 AdmsSensFadType & modelPar_NKF,
400 bool modelPar_given_NKF,
401 AdmsSensFadType & modelPar_XIKF,
402 bool modelPar_given_XIKF,
403 AdmsSensFadType & modelPar_XRCX,
404 bool modelPar_given_XRCX,
405 AdmsSensFadType & modelPar_XRBX,
406 bool modelPar_given_XRBX,
407 AdmsSensFadType & modelPar_XRBP,
408 bool modelPar_given_XRBP,
409 AdmsSensFadType & modelPar_ISRR,
410 bool modelPar_given_ISRR,
411 AdmsSensFadType & modelPar_XISR,
412 bool modelPar_given_XISR,
413 AdmsSensFadType & modelPar_DEAR,
414 bool modelPar_given_DEAR,
415 AdmsSensFadType & modelPar_EAP,
416 bool modelPar_given_EAP,
417 AdmsSensFadType & modelPar_VBBE,
418 bool modelPar_given_VBBE,
419 AdmsSensFadType & modelPar_NBBE,
420 bool modelPar_given_NBBE,
421 AdmsSensFadType & modelPar_IBBE,
422 bool modelPar_given_IBBE,
423 AdmsSensFadType & modelPar_TVBBE1,
424 bool modelPar_given_TVBBE1,
425 AdmsSensFadType & modelPar_TVBBE2,
426 bool modelPar_given_TVBBE2,
427 AdmsSensFadType & modelPar_TNBBE,
428 bool modelPar_given_TNBBE,
429 AdmsSensFadType & modelPar_EBBE,
430 bool modelPar_given_EBBE,
431 AdmsSensFadType & modelPar_DTEMP,
432 bool modelPar_given_DTEMP,
433 AdmsSensFadType & modelPar_VERS,
434 bool modelPar_given_VERS,
435 AdmsSensFadType & modelPar_VREV,
436 bool modelPar_given_VREV,
440 double admsTemperature,
double adms_vt_nom,
double gmin, std::vector <AdmsSensFadType> & staticContributions, std::vector <AdmsSensFadType> & dynamicContributions,
const Instance & theInstance);
442 void evaluateInitialInstance(
445 AdmsSensFadType & instancePar_DTEMP,
446 bool instancePar_given_DTEMP,
449 bool instancePar_given_M,
452 AdmsSensFadType & modelPar_TNOM,
453 bool modelPar_given_TNOM,
454 AdmsSensFadType & modelPar_RCX,
455 bool modelPar_given_RCX,
456 AdmsSensFadType & modelPar_RCI,
457 bool modelPar_given_RCI,
458 AdmsSensFadType & modelPar_VO,
459 bool modelPar_given_VO,
460 AdmsSensFadType & modelPar_GAMM,
461 bool modelPar_given_GAMM,
462 AdmsSensFadType & modelPar_HRCF,
463 bool modelPar_given_HRCF,
464 AdmsSensFadType & modelPar_RBX,
465 bool modelPar_given_RBX,
466 AdmsSensFadType & modelPar_RBI,
467 bool modelPar_given_RBI,
468 AdmsSensFadType & modelPar_RE,
469 bool modelPar_given_RE,
470 AdmsSensFadType & modelPar_RS,
471 bool modelPar_given_RS,
472 AdmsSensFadType & modelPar_RBP,
473 bool modelPar_given_RBP,
474 AdmsSensFadType & modelPar_IS,
475 bool modelPar_given_IS,
476 AdmsSensFadType & modelPar_NF,
477 bool modelPar_given_NF,
478 AdmsSensFadType & modelPar_NR,
479 bool modelPar_given_NR,
480 AdmsSensFadType & modelPar_FC,
481 bool modelPar_given_FC,
482 AdmsSensFadType & modelPar_CBEO,
483 bool modelPar_given_CBEO,
484 AdmsSensFadType & modelPar_CJE,
485 bool modelPar_given_CJE,
486 AdmsSensFadType & modelPar_PE,
487 bool modelPar_given_PE,
488 AdmsSensFadType & modelPar_ME,
489 bool modelPar_given_ME,
490 AdmsSensFadType & modelPar_AJE,
491 bool modelPar_given_AJE,
492 AdmsSensFadType & modelPar_CBCO,
493 bool modelPar_given_CBCO,
494 AdmsSensFadType & modelPar_CJC,
495 bool modelPar_given_CJC,
496 AdmsSensFadType & modelPar_QCO,
497 bool modelPar_given_QCO,
498 AdmsSensFadType & modelPar_CJEP,
499 bool modelPar_given_CJEP,
500 AdmsSensFadType & modelPar_PC,
501 bool modelPar_given_PC,
502 AdmsSensFadType & modelPar_MC,
503 bool modelPar_given_MC,
504 AdmsSensFadType & modelPar_AJC,
505 bool modelPar_given_AJC,
506 AdmsSensFadType & modelPar_CJCP,
507 bool modelPar_given_CJCP,
508 AdmsSensFadType & modelPar_PS,
509 bool modelPar_given_PS,
510 AdmsSensFadType & modelPar_MS,
511 bool modelPar_given_MS,
512 AdmsSensFadType & modelPar_AJS,
513 bool modelPar_given_AJS,
514 AdmsSensFadType & modelPar_IBEI,
515 bool modelPar_given_IBEI,
516 AdmsSensFadType & modelPar_WBE,
517 bool modelPar_given_WBE,
518 AdmsSensFadType & modelPar_NEI,
519 bool modelPar_given_NEI,
520 AdmsSensFadType & modelPar_IBEN,
521 bool modelPar_given_IBEN,
522 AdmsSensFadType & modelPar_NEN,
523 bool modelPar_given_NEN,
524 AdmsSensFadType & modelPar_IBCI,
525 bool modelPar_given_IBCI,
526 AdmsSensFadType & modelPar_NCI,
527 bool modelPar_given_NCI,
528 AdmsSensFadType & modelPar_IBCN,
529 bool modelPar_given_IBCN,
530 AdmsSensFadType & modelPar_NCN,
531 bool modelPar_given_NCN,
532 AdmsSensFadType & modelPar_AVC1,
533 bool modelPar_given_AVC1,
534 AdmsSensFadType & modelPar_AVC2,
535 bool modelPar_given_AVC2,
536 AdmsSensFadType & modelPar_ISP,
537 bool modelPar_given_ISP,
538 AdmsSensFadType & modelPar_WSP,
539 bool modelPar_given_WSP,
540 AdmsSensFadType & modelPar_NFP,
541 bool modelPar_given_NFP,
542 AdmsSensFadType & modelPar_IBEIP,
543 bool modelPar_given_IBEIP,
544 AdmsSensFadType & modelPar_IBENP,
545 bool modelPar_given_IBENP,
546 AdmsSensFadType & modelPar_IBCIP,
547 bool modelPar_given_IBCIP,
548 AdmsSensFadType & modelPar_NCIP,
549 bool modelPar_given_NCIP,
550 AdmsSensFadType & modelPar_IBCNP,
551 bool modelPar_given_IBCNP,
552 AdmsSensFadType & modelPar_NCNP,
553 bool modelPar_given_NCNP,
554 AdmsSensFadType & modelPar_VEF,
555 bool modelPar_given_VEF,
556 AdmsSensFadType & modelPar_VER,
557 bool modelPar_given_VER,
558 AdmsSensFadType & modelPar_IKF,
559 bool modelPar_given_IKF,
560 AdmsSensFadType & modelPar_IKR,
561 bool modelPar_given_IKR,
562 AdmsSensFadType & modelPar_IKP,
563 bool modelPar_given_IKP,
564 AdmsSensFadType & modelPar_TF,
565 bool modelPar_given_TF,
566 AdmsSensFadType & modelPar_QTF,
567 bool modelPar_given_QTF,
568 AdmsSensFadType & modelPar_XTF,
569 bool modelPar_given_XTF,
570 AdmsSensFadType & modelPar_VTF,
571 bool modelPar_given_VTF,
572 AdmsSensFadType & modelPar_ITF,
573 bool modelPar_given_ITF,
574 AdmsSensFadType & modelPar_TR,
575 bool modelPar_given_TR,
576 AdmsSensFadType & modelPar_TD,
577 bool modelPar_given_TD,
578 AdmsSensFadType & modelPar_KFN,
579 bool modelPar_given_KFN,
580 AdmsSensFadType & modelPar_AFN,
581 bool modelPar_given_AFN,
582 AdmsSensFadType & modelPar_BFN,
583 bool modelPar_given_BFN,
584 AdmsSensFadType & modelPar_XRE,
585 bool modelPar_given_XRE,
586 AdmsSensFadType & modelPar_XRBI,
587 bool modelPar_given_XRBI,
588 AdmsSensFadType & modelPar_XRCI,
589 bool modelPar_given_XRCI,
590 AdmsSensFadType & modelPar_XRS,
591 bool modelPar_given_XRS,
592 AdmsSensFadType & modelPar_XVO,
593 bool modelPar_given_XVO,
594 AdmsSensFadType & modelPar_EA,
595 bool modelPar_given_EA,
596 AdmsSensFadType & modelPar_EAIE,
597 bool modelPar_given_EAIE,
598 AdmsSensFadType & modelPar_EAIC,
599 bool modelPar_given_EAIC,
600 AdmsSensFadType & modelPar_EAIS,
601 bool modelPar_given_EAIS,
602 AdmsSensFadType & modelPar_EANE,
603 bool modelPar_given_EANE,
604 AdmsSensFadType & modelPar_EANC,
605 bool modelPar_given_EANC,
606 AdmsSensFadType & modelPar_EANS,
607 bool modelPar_given_EANS,
608 AdmsSensFadType & modelPar_XIS,
609 bool modelPar_given_XIS,
610 AdmsSensFadType & modelPar_XII,
611 bool modelPar_given_XII,
612 AdmsSensFadType & modelPar_XIN,
613 bool modelPar_given_XIN,
614 AdmsSensFadType & modelPar_TNF,
615 bool modelPar_given_TNF,
616 AdmsSensFadType & modelPar_TAVC,
617 bool modelPar_given_TAVC,
618 AdmsSensFadType & modelPar_RTH,
619 bool modelPar_given_RTH,
620 AdmsSensFadType & modelPar_CTH,
621 bool modelPar_given_CTH,
622 AdmsSensFadType & modelPar_VRT,
623 bool modelPar_given_VRT,
624 AdmsSensFadType & modelPar_ART,
625 bool modelPar_given_ART,
626 AdmsSensFadType & modelPar_CCSO,
627 bool modelPar_given_CCSO,
628 AdmsSensFadType & modelPar_QBM,
629 bool modelPar_given_QBM,
630 AdmsSensFadType & modelPar_NKF,
631 bool modelPar_given_NKF,
632 AdmsSensFadType & modelPar_XIKF,
633 bool modelPar_given_XIKF,
634 AdmsSensFadType & modelPar_XRCX,
635 bool modelPar_given_XRCX,
636 AdmsSensFadType & modelPar_XRBX,
637 bool modelPar_given_XRBX,
638 AdmsSensFadType & modelPar_XRBP,
639 bool modelPar_given_XRBP,
640 AdmsSensFadType & modelPar_ISRR,
641 bool modelPar_given_ISRR,
642 AdmsSensFadType & modelPar_XISR,
643 bool modelPar_given_XISR,
644 AdmsSensFadType & modelPar_DEAR,
645 bool modelPar_given_DEAR,
646 AdmsSensFadType & modelPar_EAP,
647 bool modelPar_given_EAP,
648 AdmsSensFadType & modelPar_VBBE,
649 bool modelPar_given_VBBE,
650 AdmsSensFadType & modelPar_NBBE,
651 bool modelPar_given_NBBE,
652 AdmsSensFadType & modelPar_IBBE,
653 bool modelPar_given_IBBE,
654 AdmsSensFadType & modelPar_TVBBE1,
655 bool modelPar_given_TVBBE1,
656 AdmsSensFadType & modelPar_TVBBE2,
657 bool modelPar_given_TVBBE2,
658 AdmsSensFadType & modelPar_TNBBE,
659 bool modelPar_given_TNBBE,
660 AdmsSensFadType & modelPar_EBBE,
661 bool modelPar_given_EBBE,
662 AdmsSensFadType & modelPar_DTEMP,
663 bool modelPar_given_DTEMP,
664 AdmsSensFadType & modelPar_VERS,
665 bool modelPar_given_VERS,
666 AdmsSensFadType & modelPar_VREV,
667 bool modelPar_given_VREV,
670 double admsTemperature);
672 void evaluateInitialModel(
675 AdmsSensFadType & modelPar_TNOM,
676 bool modelPar_given_TNOM,
677 AdmsSensFadType & modelPar_RCX,
678 bool modelPar_given_RCX,
679 AdmsSensFadType & modelPar_RCI,
680 bool modelPar_given_RCI,
681 AdmsSensFadType & modelPar_VO,
682 bool modelPar_given_VO,
683 AdmsSensFadType & modelPar_GAMM,
684 bool modelPar_given_GAMM,
685 AdmsSensFadType & modelPar_HRCF,
686 bool modelPar_given_HRCF,
687 AdmsSensFadType & modelPar_RBX,
688 bool modelPar_given_RBX,
689 AdmsSensFadType & modelPar_RBI,
690 bool modelPar_given_RBI,
691 AdmsSensFadType & modelPar_RE,
692 bool modelPar_given_RE,
693 AdmsSensFadType & modelPar_RS,
694 bool modelPar_given_RS,
695 AdmsSensFadType & modelPar_RBP,
696 bool modelPar_given_RBP,
697 AdmsSensFadType & modelPar_IS,
698 bool modelPar_given_IS,
699 AdmsSensFadType & modelPar_NF,
700 bool modelPar_given_NF,
701 AdmsSensFadType & modelPar_NR,
702 bool modelPar_given_NR,
703 AdmsSensFadType & modelPar_FC,
704 bool modelPar_given_FC,
705 AdmsSensFadType & modelPar_CBEO,
706 bool modelPar_given_CBEO,
707 AdmsSensFadType & modelPar_CJE,
708 bool modelPar_given_CJE,
709 AdmsSensFadType & modelPar_PE,
710 bool modelPar_given_PE,
711 AdmsSensFadType & modelPar_ME,
712 bool modelPar_given_ME,
713 AdmsSensFadType & modelPar_AJE,
714 bool modelPar_given_AJE,
715 AdmsSensFadType & modelPar_CBCO,
716 bool modelPar_given_CBCO,
717 AdmsSensFadType & modelPar_CJC,
718 bool modelPar_given_CJC,
719 AdmsSensFadType & modelPar_QCO,
720 bool modelPar_given_QCO,
721 AdmsSensFadType & modelPar_CJEP,
722 bool modelPar_given_CJEP,
723 AdmsSensFadType & modelPar_PC,
724 bool modelPar_given_PC,
725 AdmsSensFadType & modelPar_MC,
726 bool modelPar_given_MC,
727 AdmsSensFadType & modelPar_AJC,
728 bool modelPar_given_AJC,
729 AdmsSensFadType & modelPar_CJCP,
730 bool modelPar_given_CJCP,
731 AdmsSensFadType & modelPar_PS,
732 bool modelPar_given_PS,
733 AdmsSensFadType & modelPar_MS,
734 bool modelPar_given_MS,
735 AdmsSensFadType & modelPar_AJS,
736 bool modelPar_given_AJS,
737 AdmsSensFadType & modelPar_IBEI,
738 bool modelPar_given_IBEI,
739 AdmsSensFadType & modelPar_WBE,
740 bool modelPar_given_WBE,
741 AdmsSensFadType & modelPar_NEI,
742 bool modelPar_given_NEI,
743 AdmsSensFadType & modelPar_IBEN,
744 bool modelPar_given_IBEN,
745 AdmsSensFadType & modelPar_NEN,
746 bool modelPar_given_NEN,
747 AdmsSensFadType & modelPar_IBCI,
748 bool modelPar_given_IBCI,
749 AdmsSensFadType & modelPar_NCI,
750 bool modelPar_given_NCI,
751 AdmsSensFadType & modelPar_IBCN,
752 bool modelPar_given_IBCN,
753 AdmsSensFadType & modelPar_NCN,
754 bool modelPar_given_NCN,
755 AdmsSensFadType & modelPar_AVC1,
756 bool modelPar_given_AVC1,
757 AdmsSensFadType & modelPar_AVC2,
758 bool modelPar_given_AVC2,
759 AdmsSensFadType & modelPar_ISP,
760 bool modelPar_given_ISP,
761 AdmsSensFadType & modelPar_WSP,
762 bool modelPar_given_WSP,
763 AdmsSensFadType & modelPar_NFP,
764 bool modelPar_given_NFP,
765 AdmsSensFadType & modelPar_IBEIP,
766 bool modelPar_given_IBEIP,
767 AdmsSensFadType & modelPar_IBENP,
768 bool modelPar_given_IBENP,
769 AdmsSensFadType & modelPar_IBCIP,
770 bool modelPar_given_IBCIP,
771 AdmsSensFadType & modelPar_NCIP,
772 bool modelPar_given_NCIP,
773 AdmsSensFadType & modelPar_IBCNP,
774 bool modelPar_given_IBCNP,
775 AdmsSensFadType & modelPar_NCNP,
776 bool modelPar_given_NCNP,
777 AdmsSensFadType & modelPar_VEF,
778 bool modelPar_given_VEF,
779 AdmsSensFadType & modelPar_VER,
780 bool modelPar_given_VER,
781 AdmsSensFadType & modelPar_IKF,
782 bool modelPar_given_IKF,
783 AdmsSensFadType & modelPar_IKR,
784 bool modelPar_given_IKR,
785 AdmsSensFadType & modelPar_IKP,
786 bool modelPar_given_IKP,
787 AdmsSensFadType & modelPar_TF,
788 bool modelPar_given_TF,
789 AdmsSensFadType & modelPar_QTF,
790 bool modelPar_given_QTF,
791 AdmsSensFadType & modelPar_XTF,
792 bool modelPar_given_XTF,
793 AdmsSensFadType & modelPar_VTF,
794 bool modelPar_given_VTF,
795 AdmsSensFadType & modelPar_ITF,
796 bool modelPar_given_ITF,
797 AdmsSensFadType & modelPar_TR,
798 bool modelPar_given_TR,
799 AdmsSensFadType & modelPar_TD,
800 bool modelPar_given_TD,
801 AdmsSensFadType & modelPar_KFN,
802 bool modelPar_given_KFN,
803 AdmsSensFadType & modelPar_AFN,
804 bool modelPar_given_AFN,
805 AdmsSensFadType & modelPar_BFN,
806 bool modelPar_given_BFN,
807 AdmsSensFadType & modelPar_XRE,
808 bool modelPar_given_XRE,
809 AdmsSensFadType & modelPar_XRBI,
810 bool modelPar_given_XRBI,
811 AdmsSensFadType & modelPar_XRCI,
812 bool modelPar_given_XRCI,
813 AdmsSensFadType & modelPar_XRS,
814 bool modelPar_given_XRS,
815 AdmsSensFadType & modelPar_XVO,
816 bool modelPar_given_XVO,
817 AdmsSensFadType & modelPar_EA,
818 bool modelPar_given_EA,
819 AdmsSensFadType & modelPar_EAIE,
820 bool modelPar_given_EAIE,
821 AdmsSensFadType & modelPar_EAIC,
822 bool modelPar_given_EAIC,
823 AdmsSensFadType & modelPar_EAIS,
824 bool modelPar_given_EAIS,
825 AdmsSensFadType & modelPar_EANE,
826 bool modelPar_given_EANE,
827 AdmsSensFadType & modelPar_EANC,
828 bool modelPar_given_EANC,
829 AdmsSensFadType & modelPar_EANS,
830 bool modelPar_given_EANS,
831 AdmsSensFadType & modelPar_XIS,
832 bool modelPar_given_XIS,
833 AdmsSensFadType & modelPar_XII,
834 bool modelPar_given_XII,
835 AdmsSensFadType & modelPar_XIN,
836 bool modelPar_given_XIN,
837 AdmsSensFadType & modelPar_TNF,
838 bool modelPar_given_TNF,
839 AdmsSensFadType & modelPar_TAVC,
840 bool modelPar_given_TAVC,
841 AdmsSensFadType & modelPar_RTH,
842 bool modelPar_given_RTH,
843 AdmsSensFadType & modelPar_CTH,
844 bool modelPar_given_CTH,
845 AdmsSensFadType & modelPar_VRT,
846 bool modelPar_given_VRT,
847 AdmsSensFadType & modelPar_ART,
848 bool modelPar_given_ART,
849 AdmsSensFadType & modelPar_CCSO,
850 bool modelPar_given_CCSO,
851 AdmsSensFadType & modelPar_QBM,
852 bool modelPar_given_QBM,
853 AdmsSensFadType & modelPar_NKF,
854 bool modelPar_given_NKF,
855 AdmsSensFadType & modelPar_XIKF,
856 bool modelPar_given_XIKF,
857 AdmsSensFadType & modelPar_XRCX,
858 bool modelPar_given_XRCX,
859 AdmsSensFadType & modelPar_XRBX,
860 bool modelPar_given_XRBX,
861 AdmsSensFadType & modelPar_XRBP,
862 bool modelPar_given_XRBP,
863 AdmsSensFadType & modelPar_ISRR,
864 bool modelPar_given_ISRR,
865 AdmsSensFadType & modelPar_XISR,
866 bool modelPar_given_XISR,
867 AdmsSensFadType & modelPar_DEAR,
868 bool modelPar_given_DEAR,
869 AdmsSensFadType & modelPar_EAP,
870 bool modelPar_given_EAP,
871 AdmsSensFadType & modelPar_VBBE,
872 bool modelPar_given_VBBE,
873 AdmsSensFadType & modelPar_NBBE,
874 bool modelPar_given_NBBE,
875 AdmsSensFadType & modelPar_IBBE,
876 bool modelPar_given_IBBE,
877 AdmsSensFadType & modelPar_TVBBE1,
878 bool modelPar_given_TVBBE1,
879 AdmsSensFadType & modelPar_TVBBE2,
880 bool modelPar_given_TVBBE2,
881 AdmsSensFadType & modelPar_TNBBE,
882 bool modelPar_given_TNBBE,
883 AdmsSensFadType & modelPar_EBBE,
884 bool modelPar_given_EBBE,
885 AdmsSensFadType & modelPar_DTEMP,
886 bool modelPar_given_DTEMP,
887 AdmsSensFadType & modelPar_VERS,
888 bool modelPar_given_VERS,
889 AdmsSensFadType & modelPar_VREV,
890 bool modelPar_given_VREV,
893 double admsTemperature);
895 #endif // Xyce_ADMS_SENSITIVITIES
901 template <
typename T>
907 return (exp(80.0)*(x-79.0));
915 template <
typename T>
918 return (floor(x.val()));
921 template <
typename T>
924 return (ceil(x.val()));
930 static const char *
name() {
return "VBIC 3T et cf v1.2";}
960 #ifdef Xyce_ADMS_SENSITIVITIES
961 friend class InstanceSensitivity;
962 friend class ModelSensitivity;
963 #endif // Xyce_ADMS_SENSITIVITIES
1244 namespace AnalogFunctions
1248 template<
typename ScalarT> ScalarT
limRTH(ScalarT orig, ScalarT old)
1293 #ifdef Xyce_ADMS_SENSITIVITIES
1294 friend class InstanceSensitivity;
1295 friend class ModelSensitivity;
1296 #endif // Xyce_ADMS_SENSITIVITIES
1454 #endif //Xyce_N_DEV_ADMSvbic_h
double * f_ei_Equ_bi_Node_Ptr
double * q_b_Equ_c_Node_Ptr
double * f_b_Equ_b_Node_Ptr
double * f_ei_Equ_ci_Node_Ptr
double * f_bp_Equ_cx_Node_Ptr
double * q_ei_Equ_dt_Node_Ptr
double * q_bi_Equ_cx_Node_Ptr
double * q_bp_Equ_bx_Node_Ptr
static T adms_vt(const T temp)
std::vector< double > Jdxp_dynamic
int li_state_admsProbeID_V_b_e
void registerLIDs(const LocalIdVector &intLIDVecRef, const LocalIdVector &extLIDVecRef)
double * f_cx_Equ_bp_Node_Ptr
double * q_cx_Equ_bi_Node_Ptr
double * f_bp_Equ_bi_Node_Ptr
double * q_dt_Equ_b_Node_Ptr
double * f_dt_Equ_bi_Node_Ptr
static const int admsNodeID_b
double * q_b_Equ_bx_Node_Ptr
double * q_bi_Equ_ci_Node_Ptr
double * q_ei_Equ_ei_Node_Ptr
std::vector< Instance * > InstanceVector
static int numOptionalNodes()
bool updatePrimaryState()
double * q_cx_Equ_bp_Node_Ptr
bool processParams()
processParams
static const int admsProbeID_V_ci_ei
double * f_c_Equ_dt_Node_Ptr
double * q_ci_Equ_dt_Node_Ptr
Pure virtual class to augment a linear system.
double * q_bp_Equ_dt_Node_Ptr
double * q_bi_Equ_dt_Node_Ptr
double * f_bp_Equ_dt_Node_Ptr
double * q_bx_Equ_bp_Node_Ptr
double * f_b_Equ_c_Node_Ptr
static const int admsNodeID_cx
static const int admsProbeID_V_bp_cx
double * q_b_Equ_b_Node_Ptr
double * f_bp_Equ_bx_Node_Ptr
double * f_ci_Equ_bi_Node_Ptr
static const int admsProbeID_V_c_cx
double * f_dt_Equ_bp_Node_Ptr
double * q_dt_Equ_ci_Node_Ptr
double * f_cx_Equ_bi_Node_Ptr
bool updateSecondaryState()
double * f_ci_Equ_cx_Node_Ptr
double * f_e_Equ_ei_Node_Ptr
double * f_bi_Equ_ci_Node_Ptr
Instance & operator=(const Instance &)
static const int admsProbeID_V_bi_ei
double * q_c_Equ_b_Node_Ptr
double * q_dt_Equ_bi_Node_Ptr
double * f_bi_Equ_ei_Node_Ptr
double * q_e_Equ_dt_Node_Ptr
double * f_dt_Equ_e_Node_Ptr
double * f_e_Equ_b_Node_Ptr
bool updateIntermediateVars()
double * q_bp_Equ_cx_Node_Ptr
Model & operator=(const Model &)
std::vector< AdmsFadType > staticContributions
static void loadModelParameters(ParametricData< Model > &model_parameters)
double * f_ei_Equ_e_Node_Ptr
static const char * name()
double * f_dt_Equ_cx_Node_Ptr
virtual void forEachInstance(DeviceInstanceOp &op) const
Apply a device instance "op" to all instances associated with this model.
double * f_b_Equ_e_Node_Ptr
Instance(const Configuration &configuration, const InstanceBlock &instance_block, Model &model, const FactoryBlock &factory_block)
double * q_bx_Equ_bi_Node_Ptr
void addInstance(Instance *instance)
double * f_ei_Equ_bx_Node_Ptr
double * q_dt_Equ_dt_Node_Ptr
double * f_cx_Equ_dt_Node_Ptr
double * f_cx_Equ_ci_Node_Ptr
int li_state_admsProbeID_V_bx_ei
static const int admsNodeID_dt
double * q_bi_Equ_ei_Node_Ptr
double * q_bx_Equ_bx_Node_Ptr
double * f_ci_Equ_ei_Node_Ptr
static const int admsProbeID_V_dt_GND
double * q_ei_Equ_e_Node_Ptr
std::vector< std::vector< int > > jacMap2
double ADMSfloor(const T &x)
double * f_dt_Equ_b_Node_Ptr
double ADMSceil(const T &x)
static bool isLinearDevice()
double * q_cx_Equ_cx_Node_Ptr
double * f_dt_Equ_c_Node_Ptr
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
double * f_bp_Equ_bp_Node_Ptr
int li_state_admsProbeID_V_bx_bp
double * f_dt_Equ_ei_Node_Ptr
double * f_dt_Equ_dt_Node_Ptr
Sacado::Fad::SFad< double, 1 > AdmsSensFadType
void registerJacLIDs(const JacobianStamp &jacLIDVec)
double * q_c_Equ_dt_Node_Ptr
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
double * f_bx_Equ_bx_Node_Ptr
static const int admsProbeID_V_b_bx
double * q_e_Equ_ei_Node_Ptr
std::vector< std::vector< int > > JacobianStamp
double * f_bi_Equ_cx_Node_Ptr
double * q_b_Equ_e_Node_Ptr
double * q_bp_Equ_bi_Node_Ptr
static const int admsProbeID_V_bx_bp
static const int admsProbeID_V_b_c
Model(const Configuration &configuration, const ModelBlock &model_block, const FactoryBlock &factory_block)
double * f_bp_Equ_ci_Node_Ptr
double * q_dt_Equ_c_Node_Ptr
double * q_bx_Equ_ei_Node_Ptr
double * q_dt_Equ_ei_Node_Ptr
ScalarT limRTH(ScalarT orig, ScalarT old)
double * q_ci_Equ_bi_Node_Ptr
The Device class is an interface for device implementations.
double * q_bp_Equ_bp_Node_Ptr
double * f_cx_Equ_bx_Node_Ptr
double * q_bp_Equ_ci_Node_Ptr
double * q_ei_Equ_bx_Node_Ptr
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
int li_state_admsProbeID_V_bi_cx
double * q_dt_Equ_bp_Node_Ptr
std::vector< double > probeDiffs
static const int admsNodeID_bi
Sacado::Fad::SFad< double, 15 > AdmsFadType
static const int admsProbeID_V_bi_cx
static const int admsNodeID_e
int li_state_admsProbeID_V_dt_GND
double * q_ei_Equ_ci_Node_Ptr
static const int admsNodeID_bx
std::vector< AdmsFadType > probeVars
Class Configuration contains device configuration data.
double * f_ci_Equ_dt_Node_Ptr
double * f_b_Equ_dt_Node_Ptr
bool processInstanceParams()
processInstanceParams
int li_state_admsProbeID_V_bi_ei
const JacobianStamp & jacobianStamp() const
double * f_ei_Equ_dt_Node_Ptr
std::vector< double > Jdxp_static
double * f_cx_Equ_c_Node_Ptr
double * q_cx_Equ_ci_Node_Ptr
static const int admsNodeID_c
double * f_ci_Equ_ci_Node_Ptr
static bool modelRequired()
double * q_ci_Equ_ci_Node_Ptr
double * q_dt_Equ_e_Node_Ptr
double * f_bx_Equ_bp_Node_Ptr
double * f_bi_Equ_dt_Node_Ptr
std::vector< Instance * > instanceContainer
void registerStateLIDs(const LocalIdVector &staLIDVecRef)
static const int admsProbeID_V_cx_ci
virtual std::ostream & printOutInstances(std::ostream &os) const
double * q_b_Equ_dt_Node_Ptr
double * q_bx_Equ_b_Node_Ptr
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
static const int admsProbeID_V_e_ei
double * q_bi_Equ_bi_Node_Ptr
double * f_e_Equ_e_Node_Ptr
double * f_dt_Equ_ci_Node_Ptr
double * q_ci_Equ_ei_Node_Ptr
double * f_bx_Equ_dt_Node_Ptr
double * q_bx_Equ_ci_Node_Ptr
double * q_cx_Equ_bx_Node_Ptr
double * f_c_Equ_cx_Node_Ptr
std::vector< AdmsFadType > dynamicContributions
double * q_cx_Equ_dt_Node_Ptr
double * q_bx_Equ_dt_Node_Ptr
static const int admsNodeID_ci
double * f_ei_Equ_ei_Node_Ptr
double * q_e_Equ_e_Node_Ptr
double * q_ei_Equ_bi_Node_Ptr
double * f_bi_Equ_bx_Node_Ptr
double * q_c_Equ_cx_Node_Ptr
static const int admsProbeID_V_bi_ci
Base sensitivity functor.
double * f_c_Equ_c_Node_Ptr
ModelBlock represents a .MODEL line from the netlist.
The DeviceTraits template describes the configuration of a device.
double * q_c_Equ_c_Node_Ptr
double * f_e_Equ_dt_Node_Ptr
double * q_dt_Equ_bx_Node_Ptr
Manages parameter binding for class C.
double * f_bx_Equ_b_Node_Ptr
InstanceBlock represent a device instance line from the netlist.
double * q_e_Equ_b_Node_Ptr
static const char * deviceTypeName()
static const int admsProbeID_V_bx_ei
double * f_bi_Equ_bi_Node_Ptr
static const int admsNodeID_bp
bool updateTemperature(const double &temp=-999.0)
double * f_b_Equ_bx_Node_Ptr
double * f_c_Equ_b_Node_Ptr
double * f_cx_Equ_cx_Node_Ptr
double * f_dt_Equ_bx_Node_Ptr
double * f_bx_Equ_ci_Node_Ptr
double * f_bx_Equ_ei_Node_Ptr
double * q_bi_Equ_bx_Node_Ptr
int li_state_admsProbeID_V_bi_ci
double * q_ci_Equ_cx_Node_Ptr
double * q_cx_Equ_c_Node_Ptr
static const int admsNodeID_ei
static const int admsProbeID_V_b_e
std::vector< int > jacMap
std::vector< std::vector< int > > jacStamp
static Tin adms_ternary_op(const bool cond, const Tin &ifTrue, const Tin &ifFalse)
double * q_dt_Equ_cx_Node_Ptr
double * f_bx_Equ_bi_Node_Ptr
static const int admsProbeID_V_bx_bi