37 msgap::msgap () : circuit (2) {
56 nr_double_t er = subst->getPropertyDouble (
"er");
57 nr_double_t
h = subst->getPropertyDouble (
"h");
58 nr_double_t
t = subst->getPropertyDouble (
"t");
60 nr_double_t Q1, Q2, Q3, Q4, Q5;
71 SModel, DModel,
"Kirschning");
73 SModel, DModel,
"Kirschning");
80 Q5 = 1.23 / (1.0 + 0.12 *
qucs::pow (W2 - 1.0, 0.9));
81 Q1 = 0.04598 * (0.03 +
qucs::pow (W1, Q5)) * (0.272 + 0.07 * er);
82 Q2 = 0.107 * (W1 + 9.0) *
qucs::pow (s, 3.23) +
83 2.09 *
qucs::pow (s, 1.05) * (1.5 + 0.3 * W1) / (1.0 + 0.6 * W1);
87 nr_double_t Cs = 5e-10 * h *
qucs::exp (-1.86 * s) * Q1 *
89 C1 *= (Q2 + Q3) / (Q2 + 1.0);
90 C2 *= (Q2 + Q4) / (Q2 + 1.0);
std::complex< nr_double_t > nr_complex_t
matrix ytos(matrix y, qucs::vector z0)
Admittance matrix to scattering parameters.
nr_double_t getPropertyDouble(const char *)
nr_complex_t pow(const nr_complex_t z, const nr_double_t d)
Compute power function with real exponent.
substrate * getSubstrate(void)
nr_complex_t sqrt(const nr_complex_t z)
Compute principal value of square root.
static nr_double_t calcCend(nr_double_t, nr_double_t, nr_double_t, nr_double_t, nr_double_t, char *, char *, const char *)
#define M_PI
Archimedes' constant ( )
void allocMatrixMNA(void)
nr_complex_t exp(const nr_complex_t z)
Compute complex exponential.
char * getPropertyString(const char *)
qucs::matrix calcMatrixY(nr_double_t)