OpenDSS snapshot compatibility#

GPF reads a strict, expanding subset of OpenDSS for snapshot and ordered operating-point power flow. Supported electrical behavior is validated against OpenDSS within published tolerances. Unsupported active semantics fail before the solve starts.

This compatibility does not reproduce the OpenDSS API, interactive environment, or complete simulation product. The accepted command language provides a portable source format for phase-domain power-flow models.

Input behavior#

GPF accepts one electrical snapshot per root .dss file. The parser accepts case-insensitive names, exact properties, unambiguous property abbreviations, quoted values, grouped arrays, symmetric lower-triangle matrices, and inline reverse-Polish numeric expressions. Include paths use case-insensitive matching. New object=class.name and class.name.property=value use the same object-state path as their conventional forms.

Commands#

Command

Support

Clear, New, Edit, More, ~

Full snapshot state support.

Redirect, Compile

Canonical include paths and cycle rejection.

Set, CalcVoltageBases, CalcV

Snapshot settings support.

Solve

Zero or one command after the last electrical edit.

Show, Export, BusCoords

Recorded and ignored as reports.

Other commands fail when they can affect electrical state. GPF does not run shell commands, user DLLs, time-series scripts, or interleaved edit-and-solve sequences.

Electrical objects#

Class

Supported behavior

Circuit, VSource

Three-phase and single-phase Thevenin sources with sequence or explicit impedance.

ISource

Fundamental-frequency positive-, negative-, or zero-sequence current sources with grounded or explicit second terminals.

Equivalent

Multi-terminal, multi-phase Thevenin equivalents with coupled positive- and zero-sequence impedance matrices.

LineCode, Line

Sequence data, full matrices, capacitance, units, and fixed switches.

LineSpacing, LineGeometry

Detailed or equivalent conductor positions with optional neutral reduction.

WireData, CNData, TSData

Overhead, concentric-neutral, and tape-shield physical conductor data.

XYCurve

Inline, CSV, single-precision, or double-precision points with scaling and linear end extrapolation.

Transformer

Two or more windings, wye or delta connections, winding edits, fixed taps, and XSCArray leakage data.

AutoTrans

Two- or three-winding linear autotransformers with series and common windings, fixed taps, and leakage data.

IndMach012

Three-phase fixed- or variable-slip steady-state machines with positive- and negative-sequence coupling.

Load

Models 1 through 8, wye, delta, and open-delta connections, voltage fallback limits, and retained snapshot daily references.

Generator

Snapshot models 1 through 5 and 7 with bounded Newton voltage regulation, balanced currents, and current limits. Model 6 requires a user DLL and is rejected.

PVSystem

Snapshot models 1 and 2 with temperature, efficiency, current, balance, and inverter-rating policies.

Storage

Snapshot models 1 and 2 with fixed state, idling efficiency, current, balance, and inverter-rating policies.

Reactor

Fixed wye or delta impedance from ratings, scalar impedance, or full matrices.

Capacitor

Fixed and stepped wye or delta banks.

RegControl

Static regulator records.

CapControl

Static voltage, current, kvar, and power-factor records.

SwtControl

Final per-phase manual state.

The compiler rejects unsupported active classes, missing references, invalid matrix dimensions, source-free islands, and ambiguous conductor maps before the solve starts.

Units and results#

The phase data plane uses volts, amperes, ohms, siemens, watts, vars, and volt-amperes. Ground node zero does not receive a solved voltage. The phase-domain conventions define connection, current, power, and result ordering.

Validation basis#

GPF feeder validation includes the IEEE 34-node, 37-node, and 123-node test feeders, explicit neutrals, and meshed phase networks. The complete load-model test set covers all eight models, both principal connections, missing phases, positive and negative power, zero power, and all voltage regions.

The reference cases use tightened OpenDSS convergence tolerances so that solver tolerance does not mask equation differences. GPF tests compare complex voltage, terminal current, terminal power, element loss, taps, capacitor states, and control order.