PowerSimulationsDynamics.jl is a
Julia package for doing Power Systems Dynamic Modeling with Low Inertia Energy Sources.
The synchronous machine components supported here are based on commercial models and the academic components are derived from Power System Modelling and Scripting.
Inverter models support the model in "A Virtual Synchronous Machine implementation for distributed control of power converters in SmartGrids"
The latest stable release of PowerSimulationsDynamics can be installed using the Julia package manager with
] add PowerSimulationsDynamics
For the current development version, "checkout" this package with
] add PowerSimulationsDynamics#master
The following figure shows the interactions between
DifferentialEquations.jl and the integrators. The architecture of
PowerSimulationsDynamics.jl is such that the power system models are all self-contained and return the model function evaluations. The Jacobian is calculated through
DifferentialEquations.jl's common-interface enabling the use of any solver available in Julia. Considering that the resulting models are differential-algebraic equations (DAE), the implementation focuses on the use of implicit solvers, in particular SUNDIALS since it has exceptional features applicable to large models — for instance, interfacing with distributed linear-solvers and GPU arrays. In addition, automatic differentiation is implemented using
ForwardDiff.jl to obtain jacobians to perform small signal analysis.
PowerSimulationsDynamics has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL)