Esempio n. 1
0
 def test_capacitor(self):
     ns.circ(['va a 0 ac 1 dc 0', 'c a 0 1'])
     ns.ac('lin', 1, 1, 1)
     self.assertVectors({'frequency': [1],
                         'a': [1],
                         'va#branch': [-2j * pi],
                         })
Esempio n. 2
0
 def test_inductor(self):
     # operating point does not converge if I use a voltage source here
     ns.circ(['ia a 0 ac 1 dc 0', 'l1 a 0 1'])
     ns.ac('lin', 1, 1, 1)
     self.assertVectors({'frequency': [1],
                         'a': [-2j * pi],
                         'l1#branch': [-1],
                         })
Esempio n. 3
0
    def test_model_parameters(self):
        ns.circ(['r n 0 rmodel', '.model rmodel R res = 3'])
        self.assertEqual(ns.model_parameters(model='rmodel')['r'], 3)
        self.assertEqual(ns.model_parameters(device='r')['r'], 3)

        # Must specify device or model, and not both
        self.assertRaises(ValueError, ns.model_parameters)
        self.assertRaises(ValueError, ns.model_parameters, model='rmodel',
                          device='r')
Esempio n. 4
0
    def test_ac(self):
        ns.circ(['va a 0 ac 1 dc 0', 'c a 0 1'])
        results = ns.ac('lin', 1, 1, 1)
        self.assertEqual(results.keys(), {'a', 'va#branch', 'frequency'})

        # Invalid mode
        self.assertRaises(ValueError, ns.ac, 'foo', 1, 2, 3)

        # fstart > fstop
        self.assertRaises(ValueError, ns.ac, 'lin', 2, 3, 2)
Esempio n. 5
0
 def test_plots(self):
     ns.circ('va a 0 dc 1')
     for ii in range(3):
         ns.operating_point()
     self.assertEqual(ns.plots(),
                      ['op3', 'op2', 'op1', 'const'])
Esempio n. 6
0
 def test_resistor(self):
     ns.circ(['va a 0 dc 1', 'r a 0 2'])
     ns.operating_point()
     self.assertEqual(ns.vectors(),
                      {'a': [1],
                       'va#branch': [-0.5]})
Esempio n. 7
0
 def test_vsource(self):
     ns.circ('va a 0 dc 1')
     ns.operating_point()
     self.assertEqual(ns.vectors(),
                      {'a': [1],
                       'va#branch': [0]})
Esempio n. 8
0
 def setUp(self):
     ns.circ('va a 0 dc 0')
Esempio n. 9
0
 def test_altermod(self):
     ns.circ(['r n 0 rmodel', '.model rmodel R res = 3'])
     ns.alter_model('r', res=4)
     ns.operating_point()
     self.assertEqual(ns.vector('@r[resistance]'), 4)
Esempio n. 10
0
 def test_alter(self):
     ns.circ('r n 0 1')
     ns.alter('r', resistance=2, temp=3)
     ns.operating_point()  # Necessary for resistance to be calculated
     self.assertEqual(ns.vector('@r[resistance]'), 2)
     self.assertEqual(ns.vector('@r[temp]'), 3)