First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!
1 | initial version |
I am trying to plot solar PV reactive power capability curve. However, I am not get expected. Anyone can share python codes or any useful material for it? Thank you in advance.
2 | No.2 Revision |
I am trying to plot solar PV reactive power capability curve. However, I am not get expected. Anyone can share python codes or any useful material for it? Thank you in advance.
import pssepath pssepath.add_pssepath(35.5) import psspy import dyntools import numpy as np import matplotlib.pyplot as plt psspy.psseinit() import csv
casefile=r"C:\Users\SMIB.sav" psspy.case(casefile)
stepsize = 0.3 # MW increment for active power pmin = 0.0 # Minimum active power (MW) pmax = 3.0 # Maximum active power (MW) voltagetarget = 1.0 # Voltage magnitude at the point of connection (p.u.) inverterbus = 200 # Bus where the solar inverters are connected poibus = 100
outputfile = "pqcapabilitycurve.csv" with open(outputfile, mode='w', newline='') as file: writer = csv.writer(file) writer.writerow(["P (MW)", "Qmin (MVAR)", "Qmax (MVAR)"])
for p in np.arange(pmin, pmax + stepsize, stepsize): # Set active power output psspy.machinechng2(inverter_bus, "1", realar1=p, realar2=1.8)
# Set voltage at the point of connection
psspy.bus_chng_3(poi_bus, realar1=voltage_target)
# Solve power flow with Q maximized
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_max = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_max = None
# Solve power flow with Q minimized
psspy.machine_chng_2(inverter_bus, "1", realar1=p, realar2=-1.8)
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_min = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_min = None
# Write results to file
with open(output_file, mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([p, q_min, q_max])
print(f"P-Q capability curve data saved to {output_file}")
3 | No.3 Revision |
I am trying to plot solar PV reactive power capability curve. However, I am not get expected. Anyone can share python codes or any useful material for it? Thank you in advance.
import pssepath
pssepath.add_pssepath(35.5)
import psspy
import dyntools
import numpy as np
import matplotlib.pyplot as plt
psspy.psseinit()
import csv
casefile=r"C:\Users\SMIB.sav" psspy.case(casefile)
stepsize = 0.3 # MW increment for active power pmin = 0.0 # Minimum active power (MW) pmax = 3.0 # Maximum active power (MW) voltagetarget = 1.0 # Voltage magnitude at the point of connection (p.u.) inverterbus = 200 # Bus where the solar inverters are connected poibus = 100
outputfile = "pqcapabilitycurve.csv" with open(outputfile, mode='w', newline='') as file: writer = csv.writer(file) writer.writerow(["P (MW)", "Qmin (MVAR)", "Qmax (MVAR)"])
for p in np.arange(pmin, pmax + stepsize, stepsize): # Set active power output psspy.machinechng2(inverter_bus, "1", realar1=p, realar2=1.8)
# Set voltage at the point of connection
psspy.bus_chng_3(poi_bus, realar1=voltage_target)
# Solve power flow with Q maximized
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_max = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_max = None
# Solve power flow with Q minimized
psspy.machine_chng_2(inverter_bus, "1", realar1=p, realar2=-1.8)
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_min = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_min = None
# Write results to file
with open(output_file, mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([p, q_min, q_max])
print(f"P-Q capability curve data saved to {output_file}")
4 | No.4 Revision |
I am trying to plot solar PV reactive power capability curve. However, I am not get expected. Anyone can share python codes or any useful material for it? I use following codes for it. Thank you in advance.
casefile=r"C:\Users\SMIB.sav" psspy.case(casefile)
stepsize = 0.3 # MW increment for active power pmin = 0.0 # Minimum active power (MW) pmax = 3.0 # Maximum active power (MW) voltagetarget = 1.0 # Voltage magnitude at the point of connection (p.u.) inverterbus = 200 # Bus where the solar inverters are connected poibus = 100
outputfile = "pqcapabilitycurve.csv" with open(outputfile, mode='w', newline='') as file: writer = csv.writer(file) writer.writerow(["P (MW)", "Qmin (MVAR)", "Qmax (MVAR)"])
for p in np.arange(pmin, pmax + stepsize, stepsize): # Set active power output psspy.machinechng2(inverter_bus, "1", realar1=p, realar2=1.8)
# Set voltage at the point of connection
psspy.bus_chng_3(poi_bus, realar1=voltage_target)
# Solve power flow with Q maximized
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_max = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_max = None
# Solve power flow with Q minimized
psspy.machine_chng_2(inverter_bus, "1", realar1=p, realar2=-1.8)
ierr = psspy.fnsl([0, 0, 0, 1, 1, 0, 99, 0])
if ierr == 0:
q_min = psspy.busdat(inverter_bus, 'QGEN')[1]
else:
q_min = None
# Write results to file
with open(output_file, mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([p, q_min, q_max])
print(f"P-Q capability curve data saved to {output_file}")
5 | No.5 Revision |
I am trying to plot solar PV reactive power capability curve. However, I am not get expected. Anyone can share python codes or any useful material for it? I use following codes for it. Thank you in advance.
casefile=r"C:\Users\SMIB.sav" psspy.case(casefile)
case_file=r"C:\Users\SMIB.sav"
psspy.case(case_file)
#
Set stepsize
outputfile = "pqcapabilitycurve.csv"