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
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
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