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
Exemple #3
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())
Exemple #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)