Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Process for successfully stopping, saving, loading, and restarting a Dynamic Simulation via Python API?

Hello Everyone,

I am wondering if there is anyone that would be willing to explain the process of starting a Dynamic simulation, running for a discrete time period, saving the state (all of the necessary variables) of the simulation, doing some offline calculations (possibly even exiting and closing pss/e), and then reloading the last state and continuing the simulation without causing dynamic variables to start over at 0.

I thought that this simple process below would suffice, however it seems that upon restarting the simulation, the generators essentially black-start (speed, angle, etc. ramp up from zero) as opposed to simply picking up where they left off:

Assuming that I start with my two desired black-start binary files:

# Load initial condition binaries and run
psspy.case("initial condition binary file")  # Saved with all gens/loads converted, factorized admittance matrices, etc....    
psspy.rstr("desired dynamic simulation variables preferences")
psspy.strt(0, dynamic Outfile)
psspy.run(tpause = 2) # run 0-2 seconds

# attempt to save all state information (possibly missing step here?)
psspy.save("binary of the case state")
psspy.snap("dynamic sim preferences and monitored variables etc.")

# Do some random offline calculations, or close pss/e, etc.

# Attempt to reload the saved binary case files and continue dynamic simulation exactly where I left off.
psspy.case("binary of the case state")
psspy.rstr("dynamic sim preferences and monitored variables etc.")
psspy.run(tpause = 4) # run 2-4 seconds

Thanks for any thoughts on how to successfully achieve this workflow. Also, perhaps if anyone knows of where to find the process for this workflow in the pss/e manuals that would also be helpful -- I can't seem to find it.