void vcvs::initTR (void) { nr_double_t t = getPropertyDouble ("T"); initDC (); deleteHistory (); if (t > 0.0) { setHistory (true); initHistory (t); setC (VSRC_1, NODE_1, 0.0); setC (VSRC_1, NODE_4, 0.0); } }
void vccs::initTR (void) { nr_double_t t = getPropertyDouble ("T"); initDC (); deleteHistory (); if (t > 0.0) { setISource (true); setHistory (true); initHistory (t); clearY (); } }
// Initialize transient analysis. void digital::initTR (void) { nr_double_t t = getPropertyDouble ("t"); initDC (); deleteHistory (); if (t > 0.0) { delay = true; setHistory (true); initHistory (t); setC (VSRC_1, NODE_OUT, 1); } }
void cccs::initTR (void) { nr_double_t t = getPropertyDouble ("T"); initDC (); deleteHistory (); if (t > 0.0) { setISource (true); setHistory (true); initHistory (t); setB (NODE_1, VSRC_1, +1.0); setB (NODE_2, VSRC_1, +0.0); setB (NODE_3, VSRC_1, -0.0); setB (NODE_4, VSRC_1, -1.0); } }
void inductor::initAC (void) { nr_double_t l = getPropertyDouble ("L"); // for non-zero inductance usual MNA entries if (l != 0.0) { setVoltageSources (0); allocMatrixMNA (); } // for zero inductance create a zero voltage source else { initDC (); calcDC (); } }
void phaseshifter::initAC (void) { nr_double_t p = rad (getPropertyDouble ("phi")); if (p == 0.0) { // no phase shift, thus a short initDC (); } else { // compute Y-parameters directly setVoltageSources (0); allocMatrixMNA (); nr_double_t z = getPropertyDouble ("Zref"); nr_double_t y11 = 1 / z / tan (p); nr_double_t y21 = -1 / z / sin (p); setY (NODE_1, NODE_1, rect (0, y11)); setY (NODE_2, NODE_2, rect (0, y11)); setY (NODE_1, NODE_2, rect (0, y21)); setY (NODE_2, NODE_1, rect (0, y21)); } }
/*! Transient model initialization. Idem than DC model. */ void amplifier::initTR (void) { initDC (); }
/*! AC model initialization. Idem than DC model. */ void amplifier::initAC (void) { initDC (); }
void hybrid::initTR (void) { initDC (); }
void vdc::initTR (void) { initDC (); }
void vcvs::initAC (void) { initDC (); }
void iprobe::initTR (void) { initDC (); }
void mutual::initTR (void) { initDC (); setStates (8); }
void capacitor::initTR (void) { setStates (2); initDC (); }
void opamp::initTR (void) { initDC (); }
void opamp::initAC (void) { initDC (); setC (VSRC_1, NODE_INP, +gv); setC (VSRC_1, NODE_INM, -gv); }
void isolator::initTR (void) { initDC (); }
void isolator::initAC (void) { initDC (); }
void vdc::initAC (void) { initDC (); setE (VSRC_1, 0.0); }
void irect::initTR (void) { initDC (); }
void iprobe::initAC (void) { initDC (); }
void vac::initAC (void) { initDC (); nr_double_t a = getPropertyDouble ("U"); nr_double_t p = getPropertyDouble ("Phase"); setE (VSRC_1, polar (a, rad (p))); }
void twistedpair::initTR (void) { initDC (); }
void resistor::initAC (void) { initDC (); }
void vexp::initTR (void) { initDC (); }
void mutual2::initTR (void) { initDC (); setStates (18); }
void vac::initTR (void) { initDC (); }
void dcblock::initTR (void) { setStates (2); initDC (); setISource (true); }
void resistor::initTR (void) { initDC (); }
// Initialize constant MNA entries for AC analysis. void digital::initAC (void) { initDC (); }