The Julia interface for Easy SimAuto (ESA) and PowerWorld COM object (SimAuto Server).
EasySimauto.jl
is the Julia API for ESA, an easy-to-use power system analysis automation environment atop PowerWorld Simulator
Install EasySimauto.jl
with
using Pkg
Pkg.add("EasySimauto")
If you have installed ESA in an existing Python environment and do not want to reinstall it from conda, you can configure it in Pycall.
You can manually set the Python path with the following commands in Julia:
ENV["PYTHON"] = "... path of the python executable ..."
Pkg.build("PyCall")
Check out the documentation of PyCall.jl
for more details.
EasySimauto.jl
exposes all Python APIs under esa.py
. Use the package with
using EasySimauto
Two classes esa
and SAW
are exposed once loading the module. Then all the methods in esa.py
shall be available in Julia. For example, to load a case file and run power flow analysis, use
using EasySimauto
case_path = raw"C:\Users\myuser\git\ESA\tests\cases\ieee_14\IEEE 14 bus_pws_version_21.pwb"
saw = SAW(case_path)
saw.SolvePowerFlow()
bus_data = saw.get_power_flow_results("bus")
print(bus_data)
The example above is taken from Quick Start and translated to Julia.
Visit ESA Documentation for tutorial and API details
We welcome contributions! Please read contributing.md
.
EasySimauto.jl
is released under Apache License 2.0.
This work was supported by the U.S. Department of Energy (DOE) under award DE-OE0000895 and the Sandia National Laboratories’ directed R&D project #222444.
Special thanks to Dr. Hantao Cui for his advice and help!