Beispiel #1
0
void coaxline::calcNoiseAC (nr_double_t) {
  nr_double_t l = getPropertyDouble ("L");
  if (l < 0) return;
  // calculate noise using Bosma's theorem
  nr_double_t T = getPropertyDouble ("Temp");
  setMatrixN (4 * kelvin (T) / T0 * real (getMatrixY ()));
}
Beispiel #2
0
void bondwire::calcNoiseSP (nr_double_t) {
  // calculate noise correlation matrix
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t f = kelvin (T) * 4.0 * R * z0 / norm (4.0 * z0 + R) / T0;
  setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
  setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
}
Beispiel #3
0
void pac::calcNoiseAC (nr_double_t) {
  nr_double_t r = getPropertyDouble ("Z");
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t f = kelvin (T) / T0 * 4.0 / r;
  setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
  setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
}
Beispiel #4
0
int main(int argc, char *argv[])
{
    char *p;
    float k;
    int c, temperature;
    
    // Correct number of arguments
    if(argc != 2) {
        printf("Usage: ./temp_converter <integer>\n");
        exit(1);
    } 
    
    long conv = strtol(argv[1], &p, 10);
    
    if(errno != 0 || *p != '\0' || conv > INT_MAX) {
        printf("Error converting string -> integer. Exiting.\n");
        exit(1);
    } else {
        // Convert the integer
        temperature = conv;
        c = celsius(temperature);
        k = kelvin(temperature);
        printf("Fahrenheit: %d\n", temperature);
        printf("Celsius: %d\n", c);
        printf("Kelvin: %f\n", k);
        return 0;
    }
}
Beispiel #5
0
void pac::calcNoiseSP (nr_double_t) {
  nr_double_t r = getPropertyDouble ("Z");
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t f = kelvin (T) * 4.0 * r * z0 / sqr (2.0 * z0 + r) / T0;
  setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
  setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
}
Beispiel #6
0
void resistor::calcNoiseSP (nr_double_t) {
  // calculate noise correlation matrix
  nr_double_t r = getScaledProperty ("R");
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t f = kelvin (T) * 4.0 * r * z0 / sqr (2.0 * z0 + r) / T0;
  setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
  setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
}
void twistedpair::calcNoiseSP (nr_double_t) {
  if (len < 0) return;
  // calculate noise using Bosma's theorem
  nr_double_t T = getPropertyDouble ("Temp");
  matrix s = getMatrixS ();
  matrix e = eye (getSize ());
  setMatrixN (kelvin (T) / T0 * (e - s * transpose (conj (s))));
}
Beispiel #8
0
void bondwire::calcNoiseAC (nr_double_t) {
  // calculate noise current correlation matrix
  nr_double_t y = 1 / R;
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t f = kelvin (T) / T0 * 4.0 * y;
  setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
  setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
}
Beispiel #9
0
void resistor::calcNoiseAC (nr_double_t) {
  // calculate noise current correlation matrix
  nr_double_t r = getScaledProperty ("R");
  if (r > 0.0 || r < 0.0) {
    nr_double_t T = getPropertyDouble ("Temp");
    nr_double_t f = kelvin (T) / T0 * 4.0 / r;
    setN (NODE_1, NODE_1, +f); setN (NODE_2, NODE_2, +f);
    setN (NODE_1, NODE_2, -f); setN (NODE_2, NODE_1, -f);
  }
}
Beispiel #10
0
void isolator::calcNoiseAC (nr_double_t) {
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t z1 = getPropertyDouble ("Z1");
  nr_double_t z2 = getPropertyDouble ("Z2");
  nr_double_t f = 4 * kelvin (T) / T0;
  setN (NODE_1, NODE_1, +f / z1);
  setN (NODE_1, NODE_2, 0);
  setN (NODE_2, NODE_1, -f * 2 / sqrt (z1 * z2));
  setN (NODE_2, NODE_2, +f / z2);
}
Beispiel #11
0
void isolator::calcNoiseSP (nr_double_t) {
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t z1 = getPropertyDouble ("Z1");
  nr_double_t z2 = getPropertyDouble ("Z2");
  nr_double_t r = (z0 - z1) / (z0 + z2);
  nr_double_t f = 4 * z0 / sqr (z1 + z0) * kelvin (T) / T0;
  setN (NODE_1, NODE_1, f * z1);
  setN (NODE_1, NODE_2, f * sqrt (z1 * z2) * r);
  setN (NODE_2, NODE_1, f * sqrt (z1 * z2) * r);
  setN (NODE_2, NODE_2, f * z2 * r * r);
}
Beispiel #12
0
void tline::calcNoiseSP (nr_double_t) {
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t l = getPropertyDouble ("L");
  nr_double_t z = getPropertyDouble ("Z");
  nr_double_t a = getPropertyDouble ("Alpha");
  a = log (a) / 2;
  a = exp (a * l);
  nr_double_t r = (z - z0) / (z + z0);
  nr_double_t f = (a - 1) * (r * r - 1) / sqr (a - r * r) * kelvin (T) / T0;
  nr_double_t n11 = -f * (r * r + a);
  nr_double_t n21 = +f * 2 * r * sqrt (a);
  setN (NODE_1, NODE_1, n11); setN (NODE_2, NODE_2, n11);
  setN (NODE_1, NODE_2, n21); setN (NODE_2, NODE_1, n21);
}
Beispiel #13
0
void tline::calcNoiseAC (nr_double_t) {
  nr_double_t T = getPropertyDouble ("Temp");
  nr_double_t l = getPropertyDouble ("L");
  nr_double_t z = getPropertyDouble ("Z");
  nr_double_t a = getPropertyDouble ("Alpha");
  a = log (a) / 2;
  if (a * l != 0.0) {
    a = exp (a * l);
    nr_double_t f = 4.0 * kelvin (T) / T0 / z / (a - 1);
    nr_double_t n11 = +f * (a + 1);
    nr_double_t n21 = -f * 2 * sqrt (a);
    setN (NODE_1, NODE_1, n11); setN (NODE_2, NODE_2, n11);
    setN (NODE_1, NODE_2, n21); setN (NODE_2, NODE_1, n21);
  }
}
void twistedpair::calcNoiseAC (nr_double_t) {
  if (len < 0) return;
  // calculate noise using Bosma's theorem
  nr_double_t T = getPropertyDouble ("Temp");
  setMatrixN (4 * kelvin (T) / T0 * real (getMatrixY ()));
}