Y Matrix Python
Someone has a code to build the Y matrix with python considering what provides outputymatrix funtion from the PSSE API?
add a comment
First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!
Someone has a code to build the Y matrix with python considering what provides outputymatrix funtion from the PSSE API?
import numpy as np
import pandas as pd
import sqlite3
import re
import psse35
import psspy
import pssarrays
psspy.psseinit()
_i = psspy.getdefaultint()
_f = psspy.getdefaultreal()
_s = psspy.getdefaultchar()
psspy.case(r'CASE.sav')
psspy.output_y_matrix(_i,_i,_i,0,r'outYmatrix.txt')
f = open(r'outYmatrix.txt')
listaY = []
for lines in f:
if lines.startswith(' ZERO') or not lines.strip(): break
else:
listaY.append(re.split('[,\n]',lines))
conn = sqlite3.connect(':memory:')
cursor = conn.cursor()
cursor.execute('CREATE TABLE YMATRIX (IBUS INT, JBUS INT, Yreal real, Yimag real)')
conn.commit()
[cursor.execute(f'INSERT INTO YMATRIX VALUES ({item[0]},{item[1]},{item[2]},{item[3]})')for item in listaY]
df = pd.read_sql('SELECT * FROM YMATRIX ORDER BY IBUS, JBUS',conn).set_index('IBUS')
df['Y'] = df.Yreal + 1j*df.Yimag
df = df.astype({'Y':str})
df2 = df.reset_index().groupby([df.index, 'JBUS'])['Y'].aggregate('first').unstack().fillna('(0+0j)')
Ymatrix=df2.to_numpy(complex)
print(Ymatrix.shape)
print(Ymatrix)
Asked: 2022-07-15 06:02:34 -0500
Seen: 520 times
Last updated: Aug 05 '22