Beispiel #1
0
    def testcreate(self):
        e1 = ee(EType.Y,1,(0,1),10,0,0,0)
        e2 = ee.createDcY(2,(0,2),2.456)
        e3 = ee.createDcEu(3,(0,3),55.5)
        e4 = ee.createDcEi(4,(0,5),304)
        e5 = ee.createAcY(5,(0,5),complex(10,10))

        '''print(e1)
Beispiel #2
0
 def setUp(self):
     self.pfc = PFC()
     pfc = self.pfc
     element = ee(EType.Y,1,(0,1),101,32.003,103.45,0)
     pfc.addElement(element)
     self.assertEqual(pfc.electricElements[-1], element)
     elements = [ee.createDcEi(2,(0,2),102),ee.createDcEu(3,(0,3),103),
                 ee.createDcY(4,(0,4),104)]
     pfc.addElement(elements)
Beispiel #3
0
 def testaddelements(self):
     '''测试PFC.AddElement函数,添加一个元件'''
     pfc = self.pfc
     start = len(pfc.electricElements)
     elements = [ee.createDcEi(2,(0,2),102),ee.createDcEu(3,(0,3),103),
                 ee.createDcY(4,(0,4),104)]
     pfc.addElement(elements)
     self.assertEqual(pfc.electricElements[-1], elements[-1])
     self.assertEqual(pfc.electricElements[start:], elements)
Beispiel #4
0
 def testprepeu(self):
      elements = [ee.createDcY(0,(0,-1),1),ee.createDcEu(1,(0,1),2),
         ee.createDcEu(2,(1,-1),-2),ee.createDcEu(3,(1,2),2),
         ee.createDcEu(4,(2,-1),2),ee.createDcY(5,(2,3),1),
         ee.createDcY(6,(3,-1),1),ee.createDcEu(7,(3,4),2),
         ee.createDcY(8,(4,-1),1),ee.createDcEu(9,(4,5),2),
         ee.createDcY(10,(5,-1),1),ee.createDcY(11,(5,6),1),
         ee.createDcY(12,(6,-1),1),ee.createDcEu(13,(6,7),1),
         ee.createDcEu(14,(-1,7),2)]
Beispiel #5
0
 def test_Z_Caculate(self):
     try:
         pfc = PFC()
         elements = [ee.createDcEi(1,(0,-1),5),ee.createDcY(2,(0,1),1),
             ee.createDcY(3,(-1,1),1/2.0),ee.createDcY(4,(1,2),1/2.0),
             ee.createDcY(5,(2,-1),1/1.0),ee.createDcEi(6,(-1,2),1)]
         pfc.addElement(elements)
         pfc.createYIMatrix()
         pfc.caculate()
         #print(np.mat(pfc.Y)*np.mat(pfc.U))
         self.assertTrue(np.all(np.abs(pfc.Y*pfc.U - pfc.I <\
         np.mat(np.ones(pfc.I.shape))*1e-10)))
         self.assertTrue(np.all(np.abs(pfc.U -np.mat(np.array([-10.6,-5.6,-1.2]).reshape(3,1)))<\
         np.mat(np.ones(pfc.U.shape))*1e-10))
         self.assertTrue(np.all(np.abs(pfc.I - np.mat(np.array([-5,0,1.0]).reshape(3,1))<\
         np.mat(np.ones(pfc.I.shape))*1e-10)))
         self.assertTrue(np.all(np.abs(pfc.Y - np.mat(np.array([1.0,-1.0,0,-1.0,2.0,-0.5,0.0,-0.5,1.5]).reshape(3,3))<\
         np.mat(np.ones(pfc.Y.shape))*1e-10)))
         '''print(pfc.U)
         print(pfc.Y)
         print(pfc.I)'''
     except Exception as e:
         print(e)
Beispiel #6
0
 def test_Eu_S_caculate(self):
     try:
         pfc = PFC(1000,0.1)
         elements = [ee.createDcEu(1,(0,-1),-5),ee.createDcY(2,(0,1),1),
             ee.createDcY(3,(-1,1),1/2.0),ee.createDcY(4,(1,2),1/2.0),
             ee.createDcY(5,(2,-1),1/1.0),ee.createDcEu(6,(-1,2),1),
             ee.createAcY(7,(2,3),100),ee.createDcS(8,(3,-1),20,1)]
         pfc.addElement(elements)
         pfc.createYIMatrix()
         pfc.caculate()
         #print(np.mat(pfc.Y)*np.mat(pfc.U))
         self.assertTrue(np.all(np.abs(pfc.Y*pfc.U - pfc.I <\
         np.mat(np.ones(pfc.I.shape))*1e-10)))
         self.assertTrue(np.all(np.abs(pfc.U -np.mat(np.array([5,2.75,1,0.75]).reshape(4,1)))<\
         np.mat(np.ones(pfc.U.shape))*1e-5))
         self.assertTrue(np.all(np.abs(pfc.I - np.mat(np.array([2.25,0,25.125,-25]).reshape(4,1))<\
         np.mat(np.ones(pfc.I.shape))*1e-5)))
         '''
         print("U:%s"%pfc.U)
         print("I:%s"%pfc.I)'''
         #print(pfc.Y)
     except Exception as e:
         print("test_Eu_S_caculate:%s"%e)
Beispiel #7
0
 def testTree(self):
     elements = [ee.createDcY(0,(0,-1),1),ee.createDcEu(1,(0,1),2),
         ee.createDcEu(2,(1,-1),-2),ee.createDcEu(3,(1,2),2),
         ee.createDcEu(4,(2,-1),2),ee.createDcY(5,(2,3),1),
         ee.createDcY(6,(3,-1),1),ee.createDcEu(7,(3,4),2),
         ee.createDcY(8,(4,-1),1),ee.createDcEu(9,(4,5),2),
         ee.createDcY(10,(5,-1),1),ee.createDcY(11,(5,6),1),
         ee.createDcY(12,(6,-1),1),ee.createDcEu(13,(6,7),1),
         ee.createDcEu(14,(-1,7),2)]
     s = {(min(e.ids),max(e.ids)) for e in elements}
     '''
     print(s)
     if len(s) == len(elements):
         print(True)
     else:
         print(False)
         return
     '''
     eus = filter(lambda e:e.eType == EType.Eu and min(e.ids) == -1,elements)
     eus1 = filter(lambda e:e.eType == EType.Eu and min(e.ids) != -1,elements)
     '''for e in eus:
         print(e)
     print("")
     for e in eus1:
         print(e)
     print("")
     '''
     def f(e):
         if e.ids[0] > e.ids[1]:
             if e.eType == EType.Eu:
                 e.u = -e.u
             elif e.eType == EType.Ei:
                 e.i = -e.i
             e.ids= e.ids[1],e.ids[0]
         return e
     elements =  map(f,elements)
     elements = sorted(elements, key = lambda e:(max(e.ids),min(e.ids)))
Beispiel #8
0
 def testaddelement(self):
     '''测试PFC.AddElement函数,添加一个元件'''
     pfc = self.pfc
     element1 =ee.createDcY(10,(2,3),10.44)
     pfc.addElement(element1)
     self.assertEqual(pfc.electricElements[-1], element1)