54 rectline::rectline () :
circuit (2) {
55 alpha = beta = fc_low = fc_high = 0.0;
60 void rectline::calcResistivity (
char * Mat, nr_double_t
T) {
61 if (!strcmp (Mat,
"Copper")) {
66 rho = 6.66667e-17 *
pow (T, 5) - 3.88549e-15 *
pow (T, 4) +
67 9.82267e-14 *
pow (T, 3) - 1.29684e-12 *
pow (T, 2) +
68 8.68341e-12 * T - 2.72120e-12;
71 rho = 6.60731e-15 *
pow (T, 3) - 1.14812e-13 *
pow (T, 2) -
72 1.11681e-12 * T + 4.23709e-11;
75 rho = -6.53059e-15 *
pow (T, 3) + 1.73783e-12 *
pow (T, 2) -
76 8.73888e-11 * T + 1.37016e-9;
79 rho = 1.00018e-17 *
pow (T, 3) - 8.72408e-15 *
pow (T, 2) +
80 7.06020e-11 * T - 3.51125e-9;
88 else if (!strcmp (Mat,
"StainlessSteel")) {
89 rho = 7.4121e-17 *
pow (T, 4) - 5.3504e-14 *
pow (T, 3) +
90 1.2902e-11 *
pow (T, 2) - 2.9186e-10 * T +4.9320e-7;
92 else if (!strcmp (Mat,
"Gold")) {
97 rho = 2
e-12 *
pow (T, 2) - 8
e-11 * T + 1
e-9;
100 rho = 5
e-13 *
pow (T, 3) - 1
e-10 *
pow (T, 2) + 9
e-9 * T - 2
e-7;
103 rho = 8
e-11 * T - 1
e-10;
150 void rectline::calcPropagation (nr_double_t frequency) {
161 nr_double_t ad, ac, rs;
164 if (frequency >= fc_high) {
166 "band (%g <= TE10 <= %g) or outside non propagative mode "
167 "<= %g\n", frequency, fc_low, fc_high, fc_low);
170 k0 = (2.0 *
M_PI * frequency *
sqrt (er * mur)) /
C0;
174 if (frequency >= fc_low) {
179 ad = (
sqr(k0) * tand) / (2.0 * beta);
183 (
cubic (a) * b * beta * k0 *
Z0);
187 zl = (k0 *
Z0) / beta;
194 zl = (k0 *
Z0) /
rect (0, -alpha) ;
212 void rectline::initCheck (
void) {
221 nr_double_t
c =
sqrt (epsr * mur);
222 fc_low =
C0 / (2.0 * a *
c);
224 fc_high =
MIN (
C0 / (a * c),
C0 / (2.0 * b * c));
247 calcPropagation (frequency);
281 calcPropagation (frequency);
313 PROP_RNG_STR4 (
"unspecified",
"Copper",
"StainlessSteel",
"Gold") },