Esempio n. 1
0
    def test_AddDevice(self):
        st1 = "ST1"
        st2 = "ST2"
        kv115 = "115"
        kv365 = "365"
        ndid1 = "N1"
        ndid2 = "N2"
        ndid3 = "N3"
        ndid4 = "N4"
        company = "ABC"
        ldid = "LD1"
        shid = "SH1"
        uid = "U1"
        n = Network()
        #Station #1
        s1 = Station(st1)
        nd11 = Node(st1, kv115, ndid1, company)
        nd12 = Node(st1, kv115, ndid2, company)
        nd13 = Node(st1, kv365, ndid3, company)
        nd14 = Node(st1, kv365, ndid4, company)
        l1 = Load(st1, kv115, ndid1, ldid, company, 1,1,.97)
        sh1 = Shunt(st1, kv115, ndid2, shid, company, 1)
        u1 = Unit(st1, kv365, ndid3, uid, company, 10, 10,5,5,.8, False, 7)

        with self.assertRaises(Exception):
            n.AddDevice(l1)

        n.AddStation(s1)

        with self.assertRaises(Exception):
            n.AddDevice(l1)

        n.AddNode(nd12)
        n.AddNode(nd11)
        n.AddNode(nd13)
        n.AddNode(nd14)
        n.AddDevice(l1)
        n.AddDevice(sh1)
        n.AddDevice(u1)
        #duplicate device
        with self.assertRaises(Exception):
            n.AddDevice(l1)



        self.assertEqual(len(n.Devices), 3)
        self.assertEqual(len(n.Loads), 1)
        self.assertEqual(len(n.Units), 1)
        self.assertEqual(len(n.Shunts), 1)
        self.assertEqual(len(nd11.Devices), 1)
        self.assertEqual(len(nd12.Devices), 1)
        self.assertEqual(len(nd13.Devices), 1)
        return
Esempio n. 2
0
    def test_AddNode(self):

        stname = "station"
        kv = "115"
        ndid = "AB"
        ndid2 = "AB2"
        company = "ABC"

        n = Network()
        s = Station(stname)
        n.AddStation(s)     
        nd = Node(stname, kv, ndid, company)
        n.AddNode(nd)
        n.AddNodeByDef(stname, kv, ndid2, company, "div")

        with self.assertRaises(Exception):
            n.AddNodeByDef(stname,kv, ndid, company)

        self.assertEqual(n.Nodes[nd.ID].ID, (stname, ndid))
        self.assertEqual(n.Stations[stname].Nodes[nd.ID].ID, (stname, ndid))

        self.assertEqual(n.Nodes[(stname, ndid2)].ID, (stname, ndid2))
        self.assertEqual(n.Stations[stname].Nodes[(stname, ndid2)].ID, (stname, ndid2))

        return
Esempio n. 3
0
    def test_AddPNode(self):
        stname = "station"
        kv = "115"
        ndid = "AB"
        ndid2 = "AB2"
        company = "ABC"

        n = Network()
        s = Station(stname)
        n.AddStation(s)     
        nd = Node(stname, kv, ndid, company)
        n.AddNode(nd)
        n.AddNodeByDef(stname, kv, ndid2, company, "div")

        id =  122060565
        id2 = 122060564
        id3 = 122060562
        id4 = 122060563
        id5 = 34234234
        name = "nodename"
        name2 = "nodename2"
        name3 = "nodename3"
        name4 = "nodename4"
        name5 = "nodename5"
        ldun = "load1"
        sett = True
        sett2 = False
        rzid = 3

        cnd = CPNode(id, name, sett)
        cnd2=CPNode(id2,name2,sett2)
        pnd3 = PNode(id3, name3)
        end4=EPNode(id4, name4,234234,(stname,ndid), ldun, rzid)
        end5=EPNode(id5, name5,2634234,("",""), ldun, rzid)
    

        n.AddPNode(cnd)
        n.AddPNode(cnd2)
        n.AddPNode(pnd3)
        n.AddPNode(end4)
      
        with self.assertRaises(Exception):
            n.AddPNode(cnd)
        with self.assertRaises(Exception):
            n.AddPNode(end5)       

        self.assertEqual(n.PNodes[id].Name, name)
        self.assertEqual(n.CPNodes[id].Name, name)
        self.assertEqual(n.PNodes[id2].Name, name2)
        self.assertEqual(n.CPNodes[id2].Name, name2)
        self.assertEqual(n.PNodes[id3].Name, name3)
        self.assertEqual(n.PNodes[id4].Name, name4)
        self.assertEqual(n.EPNodes[id4].Name, name4)
        self.assertEqual(n.EPNodes[id4].Node.ID, nd.ID)

        self.assertEqual(n.CPNodes[id].FactorSum, 0)
        n.AddPNodeFactor(id, id4, .4)
        n.AddPNodeFactor(id, id3, .6)
        self.assertEqual(n.CPNodes[id].FactorSum, 1)
        self.assertEqual(n.CPNodes[id].PNodes[id4].Name, name4)
        self.assertEqual(n.CPNodes[id].PNodeFactors[id3], .6)

        with self.assertRaises(Exception):
            n.AddPNodeFactor(id, id4, .4)
        with self.assertRaises(Exception):
            n.AddPNodeFactor(34, id4, .4)
        with self.assertRaises(Exception):
            n.AddPNodeFactor(id, 45, .4)
        return
Esempio n. 4
0
    def test_AddNodeConnector(self):
        st1 = "ST1"
        st2 = "ST2"
        kv115 = "115"
        kv365 = "365"
        ndid1 = "N1"
        ndid2 = "N2"
        ndid3 = "N3"
        ndid4 = "N4"
        cbid1 = "12"
        trname = "23"
        psname = "ps12"
        lnname = "lnname"
        cbid2 = "34"        
        company = "ABC"

        n = Network()
        #Station #1
        s1 = Station(st1)
        nd11 = Node(st1, kv115, ndid1, company)
        nd12 = Node(st1, kv115, ndid2, company)
        nd13 = Node(st1, kv365, ndid3, company)
        nd14 = Node(st1, kv365, ndid4, company)
        cb11 = CircuitBreaker(st1, kv115, ndid1, ndid2, cbid1, company, CBState.Closed, "CB")
        tr11 = Transformer(st1, kv115, ndid2, kv365, ndid3, trname, company, True)
        cb12 = CircuitBreaker(st1, kv365, ndid3, ndid4, cbid2, company, CBState.Closed, "CB")

        n.AddStation(s1)
        #both nodes mising     
        with self.assertRaises(Exception):
            n.AddNodeConnector(cb11)

        n.AddNode(nd12)
        #from node missing
        with self.assertRaises(Exception):
            n.AddNodeConnector(cb11)

        n.AddNode(nd11)
        n.AddNodeConnector(cb11)
        #to node missing
        with self.assertRaises(Exception):
            n.AddNodeConnector(tr11)
        #duplicate connector
        with self.assertRaises(Exception):
            n.AddNodeConnector(cb11)


        n.AddNode(nd13)
        n.AddNode(nd14)
        n.AddNodeConnector(tr11)
        n.AddNodeConnector(cb12)
        
        #Station #2
        s2 = Station(st2)
        n.AddStation(s2) 
        nd21 = Node(st2, kv115, ndid1, company)
        n.AddNode(nd21)
        nd22 = Node(st2, kv115, ndid2, company)
        n.AddNode(nd22)
        ps = PhaseShifter(st2, kv115,  ndid1, kv115, ndid2, psname, company, False)
        n.AddNodeConnector(ps)

        ln = Branch(st1, kv115, ndid1, st2, kv115, ndid1, lnname, company, True)
        n.AddNodeConnector(ln)

        self.assertEqual(len(n.NodeConnectors), 5)
        self.assertEqual(len(n.CircuitBreakers), 2)
        self.assertEqual(len(n.Transformers), 1)
        self.assertEqual(len(n.PhaseShifters), 1)
        self.assertEqual(len(n.Lines), 1)
        self.assertEqual(len(nd11.NodeConnectors), 2)
        self.assertEqual(len(nd12.NodeConnectors), 2)
        self.assertEqual(len(nd13.NodeConnectors), 2)
        self.assertEqual(len(nd14.NodeConnectors), 1)
        self.assertEqual(len(nd21.NodeConnectors), 2)
        self.assertEqual(len(nd22.NodeConnectors), 1)