def ImportTransformers(self, network: Network): filename = TransformerCSVStream.DefaultFileName if FileType.Transformer in self.CSVFileNames: filename = self.CSVFileNames[FileType.Transformer] propertymap = TransformerCSVStream.DefaultPropertyToFileMap if FileType.Transformer in self.CSVPropertyMaps: propertymap = self.CSVPropertyMaps[FileType.Transformer] with TransformerCSVStream(filename, propertymap, self.Encoding) as csv: i = 0 d = 0 for XF in csv: network.AddNodeConnector(csv.getTransformer()) i += 1 while i > ((d + 1) * .10 * len(csv)): print("", end='.') d += 1 return
def ImportLines(self, network: Network): filename = LineCSVStream.DefaultFileName if FileType.Line in self.CSVFileNames: filename = self.CSVFileNames[FileType.Line] propertymap = LineCSVStream.DefaultPropertyToFileMap if FileType.Line in self.CSVPropertyMaps: propertymap = self.CSVPropertyMaps[FileType.Line] with LineCSVStream(filename, propertymap, self.Encoding) as csv: i = 0 d = 0 for LN in csv: network.AddNodeConnector(csv.getBranch()) i += 1 while i > ((d + 1) * .10 * len(csv)): print("", end='.') d += 1 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 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)