Exemple #1
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
Exemple #2
0
    def testNetworkToDEMSimple(self):

        st1 = "Home"
        st2 = "Grid"
        kv = "115"
        nd1 = "HomeNode"
        nd2 = "GridNode"
        sgen = "SolarGen"
        ggen = "GridGen"
        ld1 = "HomeLoad"

        n = Network()

        #HOME
        n.AddStationByDef(st1)
        n.AddNodeByDef(st1, kv, nd1)
        sg = Unit(st1, kv, nd1, sgen, "", 10, 0, 0, 0, 1, False, 0)
        ld = Load(st1, kv, nd1, ld1, "", 13, 0, 1)
        n.AddDevice(sg)
        n.AddDevice(ld)

        #GRID
        n.AddStationByDef(st2)
        n.AddNodeByDef(st2, kv, nd2)
        gg = Unit(st2, kv, nd2, ggen, "", 1e6, 0, 0, 0, 1, False, 0)
        n.AddDevice(gg)

        #LINE
        br = Branch(st1, kv, nd1, st2, kv, nd2, "Line", "", True, 0, 0, "1",
                    RatingSet(25, 25, 25), RatingSet(25, 25, 25))
        n.AddNodeConnector(br)

        gp = NetworkToDEMSimple(n)
        gp.init_problem()
        gp.problem.solve()
        print(gp.results.summary())
    def ImportNodes(self, network: Network):

        filename = NodeCSVStream.DefaultFileName
        if FileType.Node in self.CSVFileNames:
            filename = self.CSVFileNames[FileType.Node]

        propertymap = NodeCSVStream.DefaultPropertyToFileMap
        if FileType.Node in self.CSVPropertyMaps:
            propertymap = self.CSVPropertyMaps[FileType.Node]

        with NodeCSVStream(filename, propertymap, self.Encoding) as csv:
            i = 0
            d = 0
            for Node in csv:
                network.AddNodeByDef(csv.getStationName(), csv.getVoltage(),
                                     csv.getNodeName(), csv.getCompanyName())
                i += 1
                while i > ((d + 1) * .10 * len(csv)):
                    print("", end='.')
                    d += 1

        return
Exemple #4
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