JuliaGrid

JuliaGrid is an open-source, easy-to-use simulation tool/solver for researchers and educators provided as a Julia package, with source code released under MIT License. JuliaGrid is inspired by the Matpower, an open-source steady-state power system solver, and allows a variety of display and manipulation options.

The software package, among other things, includes:


Main Features

Features supported by JuliaGrid can be categorised into four main groups:

  • Power Flow - executive function runpf() - performs the AC and DC power flow analysis,

  • Optimal Power Flow - executive function runopf() - performs the DC and AC optimal power flow analysis,

  • State Estimation - executive function runse() - performs non-linear, DC and PMU state estimation,

  • Standalone Measurement Generator - executive function runmg() - generates a set of measurements.


Installation

JuliaGrid requires Julia 1.3 and higher. To install JuliaGrid package, run the following command:

pkg> add https://github.com/mcosovic/JuliaGrid.jl

To load the package, use the command:

julia> using JuliaGrid

Quick Start Power Flow

results, system, info = runpf("dc", "case14.h5", "main", "flow", "generation")
results, = runpf("nr", "case14.xlsx", "main"; max = 20, stop = 1.0e-8)

Quick Start Optimal Power Flow

results, system, info = runopf("case118.h5", "dc", "main", "flow", "generation")

Quick Start State Estimation

results, = runse("case14se.xlsx", "nonlinear", "main", "estimate"; start = "warm")
results, = runse("case30se.h5", "dc", "estimate"; bad = ["pass" 2 "threshold" 3.5])
results, = runse("case14se.xlsx", "pmu", "main", "estimate")

Quick Start Measurement Generator

measurements, system, info = runmg("case14.h5"; pmuset = "optimal", pmuvariance = ["complete" 1e-5])
measurements, = runmg("case14.h5"; legacyset = ["redundancy" 3.1], legacyvariance = ["complete" 1e-4])