First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!

Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

asked Feb 11 '5

YKC gravatar image

Grid Forming Modeling

Hi everyone,

I do want to implement the function of grid forming model in PSS/E. However, my PSS/E version is v34.4 which does not include default grid forming model.

For instead, I use the REGCC model that EPRI developed to implement the GFM, via REGCC Implementation in PSS/E (REGCC (PSS®E)) v1.3.

I would like to ask about "how to do the simulation to verify the correct function of GFM", since I might misunderstand the description on the document, and I could not make a same results as the document. [Reproduce based on Testcase 1 with Scenario matrix Case No. 1 and Set 1] I did not try others, since the first case had not be done.

About the system file, dynamic file, and output file, which I create and do simulation are in my google drive, please check the following link. https://drive.google.com/drive/folders/1y8prHUmaDlr5EOwNSFBhnJ8d8279oKYF?usp=sharing

As for the simulation process, as shown below, which run by PSS/E v34.4 with py 2.7.13 :

import os, sys
#--------------------------------------------------------------------------------------------
os.system('cls')
#--------------------------------------------------------------------------------------------
#import psse system
PSSE_LOCATION = r"C:\\Program Files (x86)\\PTI\\PSSE34\\PSSPY27"
sys.path.append(PSSE_LOCATION)
os.environ['PATH'] = os.environ['PATH'] + ';' +  PSSE_LOCATION 
import psse34
import psspihist, psspy, dyntools, redirect
_i = psspy.getdefaultint()
_f = psspy.getdefaultreal()
_s = psspy.getdefaultchar()
redirect.psse2py()
psspy.psseinit(100000000)
#--------------------------------------------------------------------------------------------
os.chdir('C:/Users/Z57333B/Desktop/pssetesting/20250211/')
case_seed = r"""v34-GFM-testing"""
psspy.case(case_seed + '.sav')
psspy.fnsl([1,0,0,0,1,1,-1,0])
psspy.fnsl([0,0,0,0,0,0,0,0])
psspy.fnsl([0,0,0,0,0,0,0,0])
psspy.cong(0)
psspy.conl(0,1,1,[0,0],[ 0.0,0.0,0.0, 100.0]) 
psspy.conl(0,1,2,[0,0],[ 0.0,0.0,0.0, 100.0])
psspy.conl(0,1,3,[0,0],[ 0.0,0.0,0.0, 100.0])
psspy.ordr(0) 
psspy.fact() 
psspy.tysl(0)
psspy.dyre_new([1,1,1,1],r"""v34-GFM-testing.dyr""","","","")
psspy.addmodellibrary(r"""REGCCU_v34.dll""")
psspy.dynamics_solution_param_2([75,_i,_i,_i,_i,_i,_i,_i],[0.5,_f, 0.0002,_f,_f,_f,_f,_f])
psspy.set_netfrq(1)
psspy.set_relang(1,0,"")
psspy.voltage_channel([1,-1,-1,1],"")
psspy.bus_frequency_channel([2,1],"")
psspy.machine_array_channel([3,2,1], r"""1""","")
psspy.machine_array_channel([4,3,1], r"""1""","")
psspy.machine_array_channel([5,4,1], r"""1""","")
psspy.machine_array_channel([6,7,1], r"""1""","")
filename = r"""20250211-testing"""
psspy.strt(0,filename  + '.out')
psspy.run(0, 1,   100,100,0)
psspy.dist_bus_fault(5,3,230.0,[0.0, 1E-06])
psspy.run(0, 1.1, 100,100,0)
psspy.dist_clear_fault(1)
psspy.run(0, 2,   100,100,0)
#--------------------------------------------------------------------------------------------
output_obj = dyntools.CHNF(filename + '.out')
output_obj.csvout(channels=[1,2,3,4,5,6])