def get_branch_flow(from_bus_num, to_bus_num): brn_flow = [] for i in range(0, 2): ierr, cmpval = psspy.brnflo(to_bus_num, from_bus_num, str(1)) brn_flow.append(cmpval) ierr, cmpval = psspy.brnflo(to_bus_num, from_bus_num, str(2)) brn_flow.append(cmpval) return brn_flow
def loadBusesPF(self, ibus, entries): ''' retrieve the information of power flow values associated to each branch. Information of branches, pair of buses (fromBus,toBus) is used. ibus bus number to start searching entries - int number to retrieve either 1) only forward branches or 2) forward and backward branches ''' sid = -1 flag = 2 string = ['NUMBER', 'TYPE'] # print 'buses', buses ierr, buslist = psspy.abusint(sid, flag, string) # print 'buslist: ', buslist branchlist = [] for frombus in buslist: psspy.inibrn(frombus[0], entries) while True: #branch loop ierr, tobus, ckt = psspy.nxtbrn(frombus[0]) if ierr != 0: break branchlist.append((frombus[0], tobus, ckt)) # print 'branchlist: ', branchlist for branch in branchlist: #get branch data frombus, tobus, ckt = branch ierr, pflow = psspy.brnflo(frombus, tobus, ckt) if ierr != 0: break # print 'pflow: ', pflow self.busPowerFlow[frombus] = pflow print 'busPowerFlow: ', self.busPowerFlow
def brnflo(ibus,jbus,ck): ierr, cmpval = psspy.brnflo(ibus,jbus,ck) if ierr == 3: return cmpval if ierr: print("-------------------------------------------------------------") print("Cannot get branch flow data.") print("Function: brnflo") print("Error Code: " + str(ierr)) print("-------------------------------------------------------------") pdb.set_trace() return cmpval
def brnflo(ibus, jbus, ck): ierr, cmpval = psspy.brnflo(ibus, jbus, ck) if ierr == 3: return cmpval if ierr: print("-------------------------------------------------------------") print("Cannot get branch flow data.") print("Function: brnflo") print("Error Code: " + str(ierr)) print("-------------------------------------------------------------") pdb.set_trace() return cmpval
def add_data(): x = PrettyTable(["Line name", "Flow in MW", "% Loading"]) x.align["Line name"] = "l" x.align["% Loading"] = "r" x.align["Flow in MW"] = "r" ierr, cmpval = psspy.brnflo(44204, 45205, '1') x.add_row([ "Kalyaneswari - MaithonPG line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44204, 45205, '2') x.add_row([ "Kalyaneswari - MaithonPG line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44206, 45205, '1') x.add_row([ "Dhanbad - MaithonPG line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44206, 45205, '2') x.add_row([ "Dhanbad - MaithonPG line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44202, 44206, '1') x.add_row([ "Chandrapura - Dhanbad line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44202, 44206, '2') x.add_row([ "Chandrapura - Dhanbad line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44202, 44204, '3') x.add_row([ "Chandrapura - Kalyaneswari line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44202, 44204, '4') x.add_row([ "Chandrapura - Kalyaneswari line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44207, 44208, '1') x.add_row([ "Mejia - Burnpur line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44204, 44208, '1') x.add_row([ "Kalyaneswari - Burnpur line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44204, 44207, '1') x.add_row([ "Kalyaneswari - Mejia line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44204, 44207, '2') x.add_row([ "Kalyaneswari - Mejia line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44204, 44207, '3') x.add_row([ "Kalyaneswari - Mejia line3", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44218, 45201, '1') x.add_row([ "ParuliaDVC - ParuliaPG line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44218, 45201, '2') x.add_row([ "ParuliaDVC - ParuliaPG line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44205, 44218, '1') x.add_row([ "Durgapur - Parulia line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44205, 44218, '2') x.add_row([ "Durgapur - Parulia line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44203, 44218, '1') x.add_row([ "DTPS - Parulia line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44203, 44218, '2') x.add_row([ "DTPS - Parulia line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44207, 44205, '1') x.add_row([ "Mejia - Durgapur line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44207, 44205, '2') x.add_row([ "Mejia - Durgapur line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44207, 44203, '1') x.add_row([ "Mejia - DTPS line1", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) ierr, cmpval = psspy.brnflo(44207, 44203, '2') x.add_row([ "Mejia - DTPS line2", round(cmpval.real, 3), round(cmpval.real * 100.0 / 186.0, 3) ]) mystr = x.get_string() return (mystr)
with open('output.txt', 'a') as fout: fout.write('\n\n') flowarr = [['KLYN-MTHNPG L1', 7.6], ['KLYN-MTHNPG L2', 7.6], ['DHN-MTHNPG L1', 45], ['DHN-MTHNPG L2', 45], ['CTPS-DHN L1', 45.6], ['CTPS-DHN L2', 45.6], ['CTPS-KLYN L1', 141.8], ['CTPS-KLYN L2', 141.8], ['MTPS-BRNPR L1', 58.23], ['KLYN-BRNPR L1', 22], ['KLYN-MTPS L1', 55], ['KLYN-MTPS L2', 79.2], ['KLYN-MTPS L3', 79.2], ['PARU-DGPPG L1', 1], ['PARU-DGPPG L2', 1], ['DGPDVC-PARU L1', 16.5], ['DGPDVC-PARU L2', 16.5], ['DTPS-PARU L1', 22], ['DTPS-PARU L2', 22], ['MTPS-DGPDVC L1', 31.45], ['MTPS-DGPDVC L2', 31.45], ['MTPS-DTPS L1', 42], ['MTPS-DTPS L2', 42]] ierr, rval = psspy.brnmsc(44204, 45205, '1', 'MVA') ierr, cmpval1 = psspy.brnflo(44204, 45205, '1') print 'Kalyaneswari - MaithonPG line1 loading in MW & MVar = ', cmpval1 print 'Kalyaneswari - MaithonPG line1 loading in % = ', cmpval1.real * 100.0 / 186.0 flowarr[0].append(cmpval1.real * 100.0 / 186.0) ierr, cmpval2 = psspy.brnflo(44204, 45205, '2') print 'Kalyaneswari - MaithonPG line2 loading in MW & MVar = ', cmpval2 print 'Kalyaneswari - MaithonPG line2 loading in % = ', cmpval2.real * 100.0 / 186.0 flowarr[1].append(cmpval2.real * 100.0 / 186.0) ierr, cmpval3 = psspy.brnflo(44206, 45205, '1') print 'Dhanbad - MaithonPG line1 loading in MW & MVar = ', cmpval3 print 'Dhanbad - MaithonPG line1 loading in % = ', cmpval3.real * 100.0 / 186.0 flowarr[2].append(cmpval3.real * 100.0 / 186.0) ierr, cmpval4 = psspy.brnflo(44206, 45205, '2') print 'Dhanbad - MaithonPG line2 loading in MW & MVar = ', cmpval4 print 'Dhanbad - MaithonPG line2 loading in % = ', cmpval4.real * 100.0 / 186.0 flowarr[3].append(cmpval4.real * 100.0 / 186.0)
def add_data(): x = PrettyTable(["Line name", "Flow in MW", "% Loading"]) x.align["Line name"] = "l" x.align["% Loading"] = "r" x.align["Flow in MW"] = "r" ierr, cmpval = psspy.brnflo(44204, 45205, '1') x.add_row(["Kalyaneswari - MaithonPG line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44204, 45205, '2') x.add_row(["Kalyaneswari - MaithonPG line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44206, 45205, '1') x.add_row(["Dhanbad - MaithonPG line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44206, 45205, '2') x.add_row(["Dhanbad - MaithonPG line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44202, 44206, '1') x.add_row(["Chandrapura - Dhanbad line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44202, 44206, '2') x.add_row(["Chandrapura - Dhanbad line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44202, 44204, '3') x.add_row(["Chandrapura - Kalyaneswari line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44202, 44204, '4') x.add_row(["Chandrapura - Kalyaneswari line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44207, 44208, '1') x.add_row(["Mejia - Burnpur line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44204, 44208, '1') x.add_row(["Kalyaneswari - Burnpur line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44204, 44207, '1') x.add_row(["Kalyaneswari - Mejia line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44204, 44207, '2') x.add_row(["Kalyaneswari - Mejia line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44204, 44207, '3') x.add_row(["Kalyaneswari - Mejia line3", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44218, 45201, '1') x.add_row(["ParuliaDVC - ParuliaPG line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44218, 45201, '2') x.add_row(["ParuliaDVC - ParuliaPG line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44205, 44218, '1') x.add_row(["Durgapur - Parulia line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44205, 44218, '2') x.add_row(["Durgapur - Parulia line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44203, 44218, '1') x.add_row(["DTPS - Parulia line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44203, 44218, '2') x.add_row(["DTPS - Parulia line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44207, 44205, '1') x.add_row(["Mejia - Durgapur line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44207, 44205, '2') x.add_row(["Mejia - Durgapur line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44207, 44203, '1') x.add_row(["Mejia - DTPS line1", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) ierr, cmpval = psspy.brnflo(44207, 44203, '2') x.add_row(["Mejia - DTPS line2", round(cmpval.real, 3), round(cmpval.real*100.0/186.0, 3)]) mystr = x.get_string() return(mystr)
psspy.ties(1,0) psspy.report_output(islct=2, options=[0]) with open('output.txt','a') as fout: fout.write('\n\n') flowarr=[['KLYN-MTHNPG L1',7.6],['KLYN-MTHNPG L2',7.6],['DHN-MTHNPG L1',45],['DHN-MTHNPG L2',45], ['CTPS-DHN L1',45.6],['CTPS-DHN L2',45.6],['CTPS-KLYN L1',141.8],['CTPS-KLYN L2',141.8], ['MTPS-BRNPR L1',58.23],['KLYN-BRNPR L1',22],['KLYN-MTPS L1',55],['KLYN-MTPS L2',79.2], ['KLYN-MTPS L3',79.2],['PARU-DGPPG L1',1],['PARU-DGPPG L2',1],['DGPDVC-PARU L1',16.5], ['DGPDVC-PARU L2',16.5],['DTPS-PARU L1',22],['DTPS-PARU L2',22],['MTPS-DGPDVC L1',31.45], ['MTPS-DGPDVC L2',31.45],['MTPS-DTPS L1',42],['MTPS-DTPS L2',42]] ierr, rval = psspy.brnmsc(44204, 45205, '1', 'MVA') ierr, cmpval1 = psspy.brnflo(44204, 45205, '1') print 'Kalyaneswari - MaithonPG line1 loading in MW & MVar = ', cmpval1 print 'Kalyaneswari - MaithonPG line1 loading in % = ', cmpval1.real*100.0/186.0 flowarr[0].append(cmpval1.real*100.0/186.0) ierr, cmpval2 = psspy.brnflo(44204, 45205, '2') print 'Kalyaneswari - MaithonPG line2 loading in MW & MVar = ', cmpval2 print 'Kalyaneswari - MaithonPG line2 loading in % = ', cmpval2.real*100.0/186.0 flowarr[1].append(cmpval2.real*100.0/186.0) ierr, cmpval3 = psspy.brnflo(44206, 45205, '1') print 'Dhanbad - MaithonPG line1 loading in MW & MVar = ', cmpval3 print 'Dhanbad - MaithonPG line1 loading in % = ', cmpval3.real*100.0/186.0 flowarr[2].append(cmpval3.real*100.0/186.0) ierr, cmpval4 = psspy.brnflo(44206, 45205, '2') print 'Dhanbad - MaithonPG line2 loading in MW & MVar = ', cmpval4 print 'Dhanbad - MaithonPG line2 loading in % = ', cmpval4.real*100.0/186.0 flowarr[3].append(cmpval4.real*100.0/186.0)