Elements

Use this catalog to see which palette elements work with pandapower and OpenDSS. Click a name to open its parameter reference. Build the diagram first, then run a study from Simulation.

How to read this table
  • Available — The element maps to a native object in that engine.
  • Indirect — No native object; similar behaviour is possible with other elements (see the note in parentheses).
  • Not available — That engine cannot represent this element. Electrisim warns if such elements are on the diagram when you pick that engine.
Element Pandapower OpenDSS
Bus ✅ Available ✅ Available
Line ✅ Available ✅ Available
Load ✅ Available ✅ Available
Generator ✅ Available ✅ Available
Static Generator ✅ Available 🟡 no direct element (can be implemented by setting the Generator parameters)
Wind Turbine ✅ Available (as Static Generator / sgen; P from power curve) ✅ Available (as Generator; P from power curve)
Wind Turbine Controller (steady-state) ✅ Available (Pref for load flow) ✅ Available (Pref for load flow; not an OpenDSS control object)
Wind Turbine Controller (dynamic) ✅ Stored for time-domain (not applied in snapshot LF) ✅ Stored for time-domain (not applied in snapshot LF)
Park Controller (steady-state) ✅ Available (station Q/V/PF/tanφ via BinarySearchControl) ❌ Not Available
RegControl ❌ Not Available ✅ Available
CapControl ❌ Not Available ✅ Available
StorageController ❌ Not Available ✅ Available
Asymmetric Static Generator ✅ Available 🟡 no direct element (can be implemented by setting the Generator parameters)
External Grid ✅ Available ✅ Available (Vsource)
Transformer ✅ Available ✅ Available
Capacitor (shunt capacitor bank) ✅ Available ✅ Available
Shunt Reactor ✅ Available ✅ Available (Reactor)
Impedance ✅ Available ✅ Available
Storage ✅ Available ✅ Available
Protection relay 🟡 annotation only (visual element, not simulated) 🟡 annotation only (visual element, not simulated)
Fuse 🟡 annotation only (visual element, not simulated) 🟡 annotation only (visual element, not simulated)
Thyristor-Controlled Series Capacitor (TCSC) ✅ Available ❌ Not Available
Switch ✅ Available ✅ Available
Three Winding Transformer ✅ Available ✅ Available (Transformer with 3 windings)
Asymmetric Load ✅ Available 🟡 no direct element (can be implemented by setting the parameters of Load)
Motor ✅ Available 🟡 no direct element (can be implemented by setting the parameters of Load)
Ward ✅ Available 🟡 no direct element (can be implemented by modelling PQ+shunt)
Extended Ward ✅ Available 🟡 no direct element (can be implemented by modelling PV+PQ+shunt)
DC line ✅ Available ❌ Not Available
Voltage Source Converter (VSC) ✅ Available ❌ Not Available
Static Var Compensator (SVC) ✅ Available 🟡 no direct element (can be implemented by modelling Capacitor + Reactor+CapControl)
Static Synchronous Compensator STATCOM (SSC) ✅ Available 🟡 no direct element (can be implemented by modelling Generator+InvControl)
DC Bus ✅ Available ❌ Not Available
Load DC ✅ Available ❌ Not Available
Source DC ✅ Available ❌ Not Available
Back-to-Back Voltage Source Converter (B2B VSC) ✅ Available ❌ Not Available
BESS AC Block (composite) 🟡 composite (Bus + Transformer + Storage — all native in pandapower) 🟡 composite (Bus + Transformer + Storage — all native in OpenDSS)
Load 1ph ❌ Not Available ✅ Available
Source 1ph ❌ Not Available ✅ Available
Generator 1ph ❌ Not Available ✅ Available
Line 1ph ❌ Not Available ✅ Available
Transformer 1ph ❌ Not Available ✅ Available
PVSystem 🟡 no direct element (can be approximated using a Static Generator) ✅ Available
Unified power flow controller (UPFC) 🟡 no direct element (can be implemented by modelling SSC + VSC or DC line) 🟡 no direct element (approximate with VSC, Generator+InvControl, or series elements)

Below you will find detailed information about each element, including all configurable parameters, their data types, value ranges, the corresponding OpenDSS property names, and which simulation types use each parameter.

Element Details

This is the parameter lexicon: names match the Electrisim element dialogs. For how to run a study, go back to Simulation. In the parameter tables, the Simulation Types column uses the following abbreviations:

Simulation type abbreviations:

  • PF — Power Flow (Load Flow)
  • SC — Short Circuit
  • OPF — Optimal Power Flow
  • MS — Motor Starting
  • Harmonics — Harmonic Analysis (OpenDSS)

Parameter importance:

  • 🔴 Required — must be specified for the simulation to run
  • 🟡 Recommended — important for accurate results
  • 🟢 Optional — enhances functionality but has sensible defaults

Bus

pandapower OpenDSS

A bus is a connection point (node / busbar). Every other element must attach to at least one bus. Load-flow results show voltage magnitude and angle here — so set rated voltage (vn_kv) correctly before you run anything. The same result box also shows net bus P and Q; see On-diagram busbar results for the sign convention and how several generators or BESS units on one busbar are aggregated.

Documentation References: 📘 pandapower Bus 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name User-defined name for the bus (optional). Used in result summaries and tables (e.g. OpenDSS harmonic analysis) so you can identify nodes by project labels, not only internal IDs. string - Bus name 🔴 PF, SC, OPF, Harmonics
vn_kv Rated voltage in kV float > 0 kVBase 🔴 PF, SC, OPF
type Bus type (b = busbar, n = node, m = muff) string b, n, m - 🟡 PF, SC, OPF
max_vm_pu Maximum voltage magnitude in per unit — enforced as net.bus.max_vm_pu in AC OPF (pandapower). Set on the Bus dialog OPF tab; new buses default to 1.1 p.u. float > 0 - 🔴 OPF
min_vm_pu Minimum voltage magnitude in per unit — enforced as net.bus.min_vm_pu in AC OPF (pandapower). Set on the Bus dialog OPF tab; new buses default to 0.9 p.u. float > 0 - 🔴 OPF
in_service Specifies if the bus is in service boolean True/False enabled 🟡 PF, SC, OPF

OPF note: Bus min_vm_pu / max_vm_pu are sent to the pandapower backend with each study. If limits are missing or inconsistent (e.g. max ≤ min) on a bus, Electrisim substitutes a wide 0.8–1.2 p.u. band for that bus only so AC OPF can converge on stressed networks.

Line

pandapower OpenDSS

Draw a Line as an edge between two buses (it is not a palette shape). Enter length and impedance, or keep the defaults for a first test. Use this for cables and overhead lines; use Impedance when you only have R and X between two buses.

UI defaults on drop: length_km 1, type cs (cable), endtemp_degree 250 °C, zero-sequence r0_ohm_per_km/x0_ohm_per_km 0.1 Ω/km, parallel 1, df 1.

Documentation References: 📘 pandapower Line 📗 OpenDSS Line

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the line string - name 🔴 PF, SC, OPF
from_bus Starting bus integer - Bus1 🔴 PF, SC, OPF
to_bus Ending bus integer - Bus2 🔴 PF, SC, OPF
length_km Line length in kilometers float > 0 Length 🔴 PF, SC, OPF
r_ohm_per_km Resistance per kilometer (Ω/km) float ≥ 0 R1 🔴 PF, SC, OPF
x_ohm_per_km Reactance per kilometer (Ω/km) float ≥ 0 X1 🔴 PF, SC, OPF
c_nf_per_km Capacitance per kilometer (nF/km) float ≥ 0 C1 🟡 PF, SC, OPF
g_us_per_km Dielectric conductance per kilometer (μS/km) float ≥ 0 - 🟡 PF, SC, OPF
max_i_ka Maximum thermal current (kA) float > 0 normamps 🔴 PF, OPF
r0_ohm_per_km Zero-sequence resistance per kilometer (Ω/km) float ≥ 0 R0 🟡 SC
x0_ohm_per_km Zero-sequence reactance per kilometer (Ω/km) float ≥ 0 X0 🟡 SC
c0_nf_per_km Zero-sequence capacitance per kilometer (nF/km) float ≥ 0 C0 🟡 SC
type Type of line ("ol" for overhead, "cs" for cable) string ol, cs - 🟡 PF, SC, OPF
parallel Number of parallel lines integer ≥ 1 - 🟢 PF, SC, OPF
df Derating factor (applies to max_i_ka) float 0-1 - 🟢 PF, SC, OPF
max_loading_percent Optional maximum thermal loading in percent of rating for AC OPF only (pandapower line.max_loading_percent). Use 0 or leave unset for no OPF thermal limit on this branch. Edit on the line dialog OPF tab or in the Component Data grid (Line tab). float ≥ 0 - 🔴 OPF
endtemp_degree End temperature of the line in °C (used for temperature-dependent resistance correction in short-circuit calculations) float > 0 - 🟢 SC
in_service Specifies if the line is in service boolean True/False enabled 🟡 PF, SC, OPF

Load

pandapower OpenDSS

A load is demand at a bus (P and Q). Use constant power unless you have a reason for constant current or impedance. This is the usual way to model customers, motors-as-PQ, and plant auxiliaries.

Documentation References: 📘 pandapower Load 📗 OpenDSS Load

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the load string - name 🔴 PF, SC, OPF
bus Bus the load is connected to integer - Bus1 🔴 PF, SC, OPF
p_mw Active power consumption in MW float - kW 🔴 PF, SC, OPF
q_mvar Reactive power consumption in Mvar float - kvar 🟡 PF, SC, OPF
const_z_percent Percentage of constant impedance load float 0-100 %Z 🟢 PF, SC, OPF
const_i_percent Percentage of constant current load float 0-100 %I 🟢 PF, SC, OPF
sn_mva Rated apparent power in MVA float > 0 kVA 🟡 PF, SC, OPF
scaling Scaling factor for power values float > 0 - 🟡 PF, SC, OPF
type Connection type: "wye" (wye/star) or "delta" string wye, delta conn 🟡 PF, SC, OPF
in_service Specifies if the load is in service boolean True/False enabled 🟡 PF, SC, OPF

Harmonic Parameters (OpenDSS):

These parameters are used when running harmonic analysis with the OpenDSS engine. They define how the load injects harmonic currents and how the harmonic-frequency impedance of the load is represented. See also the Harmonic Analysis section for spectrum modes and workflow.

Parameter Description Type Value Range OpenDSS Property Simulation Types
spectrum Harmonic current spectrum selection from the Harmonic tab: Default uses OpenDSS built-in defaultload; Linear uses a defined decaying spectrum (approximately 100/h % magnitude on odd orders 3,5,7,11,13); Custom uses spectrum_csv; None disables harmonic injection from this load. string defaultload, Linear, custom, none spectrum 🟡 Harmonics
spectrum_csv One row per harmonic: order, magnitude_percent, angle_deg (comma-separated). Used when spectrum mode is Custom. Magnitudes are in percent of fundamental current. string (CSV) - New Spectrum.* + spectrum 🟢 Harmonics
pctSeriesRL Percent of load modeled as series R–L branch for harmonics (OpenDSS %SeriesRL). 100% is typical for many studies; lower values emphasize the parallel branch. See EPRI Harmonics Load Modeling. float 0–100 %SeriesRL 🟡 Harmonics
conn Wye or delta connection for the harmonic load model (can differ from the load flow connection type type when you need a specific harmonic representation). string wye, delta conn 🟡 Harmonics
puXharm Per-unit reactance of the load at harmonic frequency when the series R–L model is used; leave 0 to let OpenDSS derive behavior from %SeriesRL and XRharm. float ≥ 0 puXharm 🟢 Harmonics
XRharm X/R ratio for the harmonic branch (often taken in the 3–7 range for equipment studies). float > 0 XRharm 🟢 Harmonics

Motor

pandapower OpenDSS

An asynchronous motor. Use it when you need locked-rotor inrush for Motor Starting or a motor contribution in short-circuit. In OpenDSS it is mapped through a Load equivalent, not a native motor object.

Documentation References: 📘 pandapower Motor 📗 OpenDSS Motor

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the motor string - name 🔴 PF, SC, OPF
bus Bus the motor is connected to integer - Bus1 🔴 PF, SC, OPF
pn_mech_mw Rated mechanical power in MW float > 0 HP (converted) 🔴 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 kV 🔴 PF, SC, OPF
cos_phi Power factor (lagging) float 0-1 pf 🟡 PF, SC, OPF
efficiency_percent Efficiency in percent at current loading float 0-100 %Eff 🟡 PF, SC, OPF
efficiency_n_percent Rated efficiency in percent at nominal conditions float 0-100 %EffRated 🟢 PF, SC, OPF
loading_percent Current loading in percent of rated power float 0-100 %LoadMW 🟡 PF, SC, OPF
scaling Scaling factor for power float > 0 - 🟡 PF, SC, OPF
lrc_pu Locked rotor current in per unit for short-circuit and motor starting float > 0 LRC 🔴 SC, MS
rx R/X ratio for short-circuit / locked-rotor impedance float ≥ 0 R/X 🔴 SC, MS
Hm Inertia constant (s) for dynamic motor starting (ANDES Motor3) float > 0 - 🟢 MS (dynamic)
tm_c1 / tm_c2 / tm_c3 Mechanical load torque coefficients for dynamic starting float - - 🟢 MS (dynamic)
in_service Specifies if the motor is in service boolean True/False enabled 🟡 PF, SC, OPF, MS

Asymmetric Load

pandapower OpenDSS

Asymmetric loads allow modeling of unbalanced three-phase loads where each phase can have different power consumption. This is particularly useful for distribution network analysis.

Documentation References: 📘 pandapower Asymmetric Load 📗 OpenDSS Load

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the asymmetric load string - name 🔴 PF, SC, OPF
bus Bus the load is connected to integer - Bus1 🔴 PF, SC, OPF
p_a_mw, p_b_mw, p_c_mw Active power per phase in MW (phases A, B, C) float - kW (per phase) 🔴 PF, SC, OPF
q_a_mvar, q_b_mvar, q_c_mvar Reactive power per phase in Mvar (phases A, B, C) float - kvar (per phase) 🟡 PF, SC, OPF
sn_mva Rated apparent power in MVA float > 0 kVA 🟡 PF, SC, OPF
scaling Scaling factor for power values float > 0 - 🟡 PF, SC, OPF
type Connection type (wye or delta) string wye, delta conn 🟡 PF, SC, OPF
in_service Specifies if the load is in service boolean True/False enabled 🟡 PF, SC, OPF

Static Generator

pandapower OpenDSS

Static generators represent generators with static (PQ) behavior — for example photovoltaic systems or small generation units. For wind turbines with an editable P–v power curve, prefer the dedicated Wind Turbine element. In OpenDSS, a static generator is a Generator with Model=1 (constant kW and kvar), not a voltage-controlled Model=3 bus. Both static generators and wind turbines can be selected in Grid Code Compliance (P-Q).

Documentation References: 📘 pandapower Static Generator 📗 OpenDSS Generator

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the static generator string - name 🔴 PF, SC, OPF
bus Bus the generator is connected to integer - Bus1 🔴 PF, SC, OPF
p_mw Active power generation in MW float - kW 🔴 PF, SC, OPF
q_mvar Reactive power generation in Mvar float - kvar 🟡 PF, SC, OPF
sn_mva Rated apparent power in MVA float > 0 kVA 🟡 PF, SC, OPF
type Type of generator (e.g., PV, wind, CHP) string - - 🟡 PF, SC, OPF
controllable Whether the generator is controllable boolean True/False - 🔴 OPF
scaling Scaling factor for power float > 0 - 🟡 PF, SC, OPF
k Factor for short-circuit calculation (typically 1.1) float > 0 - 🟡 SC
rx R/X ratio for short-circuit impedance float ≥ 0 R/X 🔴 SC
generator_type Generator type for short-circuit (current_source, async, doubly_fed) string - - 🟡 SC
lrc_pu Locked rotor current in per unit for short-circuit float > 0 LRC 🟡 SC
max_ik_ka Maximum short-circuit current in kA float > 0 - 🟡 SC
current_source Whether generator acts as current source for short-circuit boolean True/False - 🟡 SC
kappa Factor for peak short-circuit current (typically 1.5) float > 0 - 🟡 SC
in_service Specifies if the generator is in service boolean True/False enabled 🟡 PF, SC, OPF

Wind Turbine

pandapower OpenDSS

A dedicated wind generation element based on the Static Generator model. Active power for load flow is always derived from a wind power curve P(v) and the configured wind speed — you do not set p_mw independently. Changing wind speed (in the element dialog or in Component Data) updates P [MW] immediately from the curve.

How load flow uses it: Electrisim interpolates the curve at the current wind speed (linear segments or constant/stepwise between knots) and sends the resulting p_mw to the engine. In pandapower this is a Static Generator (sgen). In OpenDSS it is a Generator with Model=1 (constant kW and kvar — a PQ injection, matching pandapower sgen), not Model=3 (constant kW / constant kV). Vminpu is kept wide so collector undervoltage does not convert the unit to constant-Z and collapse P. Reactive power and other Static Generator parameters (ratings, ANDES dynamics kind, and the shared short-circuit fields k, R/X, and generator type) work the same way as on a Static Generator. Wind turbines also have fault-specific Ik" currents and a negative-sequence impedance; see Short circuit (IEC 60909) below. Wind turbines can be selected together with static generators in Grid Code Compliance (P-Q).

Do you need a Wind Turbine Controller? For a normal snapshot load flow, no — the turbine already computes P from its own curve and speed. Use a Wind Turbine Controller (steady-state) only if you want a separate Pref override (controller wind speed or controller curve). Use a Wind Turbine Controller (dynamic) for averaging / gradient limiting in time-domain studies.

Palette: Sources (or Electrical abstract sources) → Wind Turbine. A worked example is File → New → offshore wind farm 1 GW (rev 6; 100 km export).

Documentation References: 📘 pandapower Static Generator 📗 OpenDSS Generator

Wind-specific parameters

In addition to the usual Static Generator fields, the Wind Turbine dialog provides:

Parameter Description Type Value Range Simulation Types
wind_speed_ms Hub-height wind speed used with the power curve to set active power. Editing this value recalculates p_mw from the curve in the Power tab and in Component Data. float ≥ 0 m/s 🔴 PF
wind_power_curve_json Editable P(v) table (wind speed [m/s] vs active power [MW]), edited via table + live plot in the Power tab. Built-in templates: 2.5 MW onshore, 3.3 MW onshore, 15 MW offshore (replace with OEM data for project work). JSON array points {v_ms, p_mw} 🔴 PF
wind_curve_approx Interpolation between table knots string linear or constant 🔴 PF
p_mw Active power from the curve at wind_speed_ms (read-only; updated automatically when speed, curve, or interpolation changes; also overwritten before each load flow) float — 🔴 PF, SC, OPF
q_setpoint_mode Load-flow Q: manual uses q_mvar; capacitive_max uses Qmax from the capability curve (overexcited / injects Q); inductive_max uses Qmin (underexcited / absorbs Q). Requires Use Q capability curve. string manual, capacitive_max, inductive_max 🔴 PF

Default dynamics plant kind is WIND for ANDES studies when renewable/IBR models are used.

Short circuit (IEC 60909)

On the Short Circuit tab a full-size converter (generator_type = current_source) is a current source. pandapower injects

Ik = k · Sn / (√3 · U)

When the Ik" field for the fault being solved is greater than 0, and rated power and reference voltage are greater than 0, Electrisim sets

k = Ik" · √3 · Uref / Sn

Uref is Ik" reference voltage. Leave that box empty to use the voltage of the bus the turbine is connected to. The same k is correct on either side of the unit transformer, because the per-unit current does not change with the voltage ratio. R/X is used only for async and async_doubly_fed. A current_source ignores it.

If Ik" for that fault is 0, a Current Ratio k greater than 0 is used. If that is also 0, k stays 1.1, so older diagrams keep the previous contribution. A minimum short-circuit case contributes no converter current. Compare Ik" with the result ikss: the converter current does not decay between the initial and steady-state values. Peak current still uses the existing kappa path.

r2 and x2 are the negative-sequence impedance in per unit of Sn. They are applied only for two-phase and single-phase faults, as a shunt on the negative-sequence network. Three-phase faults are unchanged. Bus ikss, and the peak and thermal currents on that bus, include this shunt. Branch currents stay on pandapower’s assumption that negative-sequence impedance equals positive-sequence impedance, plus the fault-specific converter current. With x2 = 1 pu the machine branch is large beside a normal grid impedance, so the correction shows up mainly for a fault at a weak turbine bus. ANSI/IEEE C37 does not use these Ik" fields.

Parameter Description Type Default Simulation Types
ikss_3ph_ka Initial symmetrical short-circuit current contribution for a three-phase fault, in kA at sc_ref_vn_kv. float 0.0866 kA 🟡 SC
ikss_2ph_ka Contribution for a two-phase fault, in kA at the same reference voltage. Default is half of the three-phase value. float 0.0433 kA 🟡 SC
ikss_1ph_ka Contribution for a single-phase fault, in kA at the same reference voltage. float 0.0433 kA 🟡 SC
sc_ref_vn_kv Voltage the Ik" currents are referred to. Usually the high-voltage side of the unit transformer. Empty uses the connected bus voltage. float 30 kV 🟡 SC
r2_pu Negative-sequence resistance in per unit of Sn. float 0 🟡 SC
x2_pu Negative-sequence reactance in per unit of Sn. Set to 0 to keep negative sequence equal to positive sequence. float 1 🟡 SC

A new turbine, and a turbine whose Short Circuit Ik" fields were never filled, opens with these defaults. At 4.5 MVA and 30 kV the three-phase default is about k = 1.0 and the unbalanced defaults are about k = 0.5. Change Ik", reference voltage, or Sn on the Rating tab when the machine is different. Blank Ik" fields on an older diagram still fall back to k = 1.1.

Q capability (voltage-dependent, P and U)

The Wind Turbine Q capability tab defines reactive limits Qmin/Qmax as a function of both active power P and terminal voltage U (voltage-dependent Q limits). Enable Use Q capability curve so load flow applies the limits (pandapower enforce_q_lims and optional capacitive/inductive Q setpoint).

Configuration: choose limits in p.u. of Sn or MW/Mvar, optionally Consider voltage dependent limits, and scale min/max with the Operational Limits factors (%). Use a built-in template (below) or paste OEM matrices.

Axes: rows are voltage levels [p.u.]; columns are P-setpoints (p.u. or MW). Two matrices hold Qmax (overexcited / capacitive — the plant injects Q) and Qmin (underexcited / inductive — the plant absorbs Q) at every (U, P) knot. The P–Q plot shows one envelope per voltage.

Load flow: the engine bilinearly interpolates Q(P, U). Before bus voltages exist, U = 1.0 p.u. is used. After a voltage solution (and in the Park Controller), the terminal vm_pu is used. A flattened U=1.0 slice is also stored as the 1D P–Q table for pandapower’s native characteristic.

Built-in Q capability templates (stored in p.u. of Sn; confirm against OEM data):

  • FRC WTG P–U (voltage-dependent) — PowerFactory type Fully Rated Converter WTG 2.5MW 50Hz: Q vs P and U. Default for new turbines (Q = 0 at P = 0; about ±0.44 p.u. Q at U = 1.0 and moderate P; Qmax shrinks at high voltage while Qmin stays near −0.44 p.u.).
  • ±0.95 PF vs P (1D, U = 1.0 p.u.) — |Q| ≈ P·tan(arccos(0.95)) at each P; single voltage row. Same shape as the Static Generator 15 MW template, scaled to this turbine Sn.
  • 15 MW offshore 1·Un chart (1D) — digitized manufacturer-style P–Q envelope at 1.0 p.u. voltage (asymmetric import/export).

Asymmetric Static Generator

pandapower OpenDSS

Asymmetric static generators allow modeling of unbalanced generation where each phase can produce different power levels.

Documentation References: 📘 pandapower Asymmetric Static Generator 📗 OpenDSS Generator

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the asymmetric generator string - name 🔴 PF, SC, OPF
bus Bus the generator is connected to integer - Bus1 🔴 PF, SC, OPF
p_a_mw, p_b_mw, p_c_mw Active power per phase in MW (phases A, B, C) float - kW (per phase) 🔴 PF, SC, OPF
q_a_mvar, q_b_mvar, q_c_mvar Reactive power per phase in Mvar (phases A, B, C) float - kvar (per phase) 🟡 PF, SC, OPF
type Connection type (wye or delta) string wye, delta conn 🟡 PF, SC, OPF
in_service Specifies if the generator is in service boolean True/False enabled 🟡 PF, SC, OPF

External Grid

pandapower OpenDSS

The external grid represents the connection to a higher voltage level or an infinite bus. It serves as the slack bus in power flow calculations and provides the voltage reference.

Short Circuit tab

Double-click the External Grid and open the Short Circuit tab. Positive-sequence strength is s_sc_max_mva / s_sc_min_mva with R/X ratios rx_max / rx_min. Zero-sequence ratios are required for IEC 60909 single-phase faults:

  • Maximum case: Max R0/X0 Ratio (r0x0_max) and Max X0/X Ratio (x0x_max).
  • Minimum case: Min R0/X0 Ratio (r0x0_min) and Min X0/X Ratio (x0x_min). Three-phase and two-phase minimum studies do not use these columns; single-phase minimum does.

If min zero-sequence ratios are omitted on an older diagram, Electrisim reuses the corresponding max ratios. Typical pandapower example values when no utility data is available: R0/X0 = 0.1, X0/X = 1.0. Related study: Short Circuit.

Documentation References: 📘 pandapower External Grid 📗 OpenDSS Vsource

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the external grid string - name 🔴 PF, SC, OPF
bus Bus the external grid is connected to integer - Bus1 🔴 PF, SC, OPF
vm_pu Voltage magnitude setpoint in per unit float > 0 pu (Vsource) 🔴 PF, SC, OPF
va_degree Voltage angle in degrees float -360 to 360 angle 🟡 PF, SC, OPF
s_sc_max_mva Maximum short-circuit apparent power in MVA float > 0 MVAsc3 🔴 SC
s_sc_min_mva Minimum short-circuit apparent power in MVA float > 0 MVAsc1 🟡 SC
rx_max Maximum R/X ratio for positive sequence short-circuit float ≥ 0 R1/X1 🔴 SC
rx_min Minimum R/X ratio for positive sequence short-circuit float ≥ 0 R1/X1 🟡 SC
r0x0_max Max R0/X0 Ratio on the Short Circuit tab. Zero-sequence R0/X0 for IEC 60909 single-phase maximum short-circuit. float ≥ 0 R0/X0 🟡 SC
x0x_max Max X0/X Ratio on the Short Circuit tab. Zero- to positive-sequence reactance ratio (X0/X1) for IEC 60909 single-phase maximum short-circuit. Typical value 1.0. float ≥ 0 X0/X1 🟡 SC
r0x0_min Min R0/X0 Ratio on the Short Circuit tab. Zero-sequence R0/X0 for IEC 60909 single-phase minimum short-circuit. Required by pandapower for that case; if omitted, Electrisim copies r0x0_max. float ≥ 0 R0/X0 🟡 SC
x0x_min Min X0/X Ratio on the Short Circuit tab. Zero- to positive-sequence reactance ratio (X0/X1) for IEC 60909 single-phase minimum short-circuit. Required by pandapower for that case; if omitted, Electrisim copies x0x_max. Typical value 1.0. float ≥ 0 X0/X1 🟡 SC
spectrum Harmonic voltage spectrum for OpenDSS harmonic analysis (e.g., "defaultvsource") string defaultvsource, none, custom spectrum (Vsource) 🟡 Harmonics
cost_per_unit_by_currency Cost per unit for economic analysis (in selected currency) float ≥ 0 - 🟢 Economic
in_service Specifies if the external grid is in service boolean True/False enabled 🟡 PF, SC, OPF

Transformer

pandapower OpenDSS

Transformers connect different voltage levels in the network. They can be equipped with tap changers for voltage regulation.

Schematic Labels: Each transformer terminal can display a custom label on the canvas symbol (e.g. "HV", "LV"). These labels are purely cosmetic — they help identify which winding connects to which bus on the schematic, but do not affect simulation parameters or solver data. Edit them in the Schematic tab of the transformer dialog. Changes appear immediately on the canvas.

Documentation References: 📘 pandapower Transformer 📗 OpenDSS Transformer

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the transformer string - name 🔴 PF, SC, OPF
term_label_0 Schematic label for port 0 (HV bus / first connection). Display only — shown on the canvas symbol near the HV terminal pin. Does not affect simulation. string any text - -
term_label_1 Schematic label for port 1 (LV bus / second connection). Display only — shown on the canvas symbol near the LV terminal pin. Does not affect simulation. string any text - -
hv_bus High voltage bus integer - Bus (winding 1) 🔴 PF, SC, OPF
lv_bus Low voltage bus integer - Bus (winding 2) 🔴 PF, SC, OPF
sn_mva Rated apparent power in MVA float > 0 kVA 🔴 PF, SC, OPF
vn_hv_kv Rated high voltage in kV float > 0 kV (winding 1) 🔴 PF, SC, OPF
vn_lv_kv Rated low voltage in kV float > 0 kV (winding 2) 🔴 PF, SC, OPF
vk_percent Short-circuit voltage in percent float > 0 %Z 🔴 PF, SC, OPF
vkr_percent Real part of short-circuit voltage in percent float ≥ 0 %R 🔴 PF, SC, OPF
pfe_kw Iron losses in kW float ≥ 0 %noload 🟡 PF, SC, OPF
i0_percent No-load current in percent float ≥ 0 %imag 🟡 PF, SC, OPF
parallel Number of parallel transformers integer ≥ 1 - 🟢 PF, SC, OPF
shift_degree Phase shift angle in degrees float -360 to 360 Wdg (angle) 🟢 PF, SC, OPF
vector_group Vector group designation (e.g., "Dyn11", "Yyn0"). App default: Dyn string - Wdg (conn) 🟢 PF, SC, OPF
tap_side Side with tap changer ("hv" or "lv") string hv, lv Wdg (tap side) 🔴 OPF
tap_pos Current tap position integer - tap 🟡 OPF
tap_neutral Neutral tap position integer - - 🟢 OPF
tap_min Minimum tap position integer - MinTap 🔴 OPF
tap_max Maximum tap position integer - MaxTap 🔴 OPF
tap_step_percent Voltage change per tap step in percent float - %RperTap 🔴 OPF
tap_step_degree Phase angle change per tap step in degrees float - - 🟢 OPF
tap_changer_type Type of tap changer: "Ratio" (default) adjusts voltage magnitude only, "Symmetrical" distributes tap change to both windings (new in pandapower 3.0+) string Ratio, Symmetrical - 🟢 PF, SC, OPF
discrete_tap_control Enable Discrete Tap Control for this transformer (requires Include controller on the Pandapower Load Flow dialog) boolean True/False - 🟢 PF
control_side Which bus voltage is monitored by the controller ("lv" or "hv") string lv, hv lv 🟢 PF
vm_lower_pu Lower voltage limit for Discrete Tap Control float 0.9 - 1.1 (typical) 0.99 🟢 PF
vm_upper_pu Upper voltage limit for Discrete Tap Control float 0.9 - 1.1 (typical) 1.01 🟢 PF
vk0_percent Zero-sequence short-circuit voltage in percent float > 0 %Z0 🟡 SC
vkr0_percent Real part of zero-sequence short-circuit voltage in percent float ≥ 0 %R0 🟡 SC
mag0_percent Zero-sequence magnetizing current in percent float ≥ 0 - 🟢 SC
mag0_rx Zero-sequence magnetizing R/X ratio float ≥ 0 - 🟢 SC
si0_hv_partial Zero-sequence short-circuit impedance distribution (HV side) float 0-1 - 🟡 SC
max_loading_percent Optional maximum loading (% of rating) for AC OPF (pandapower trafo.max_loading_percent). 0 = no limit. OPF tab. float ≥ 0 - 🔴 OPF
in_service Specifies if the transformer is in service boolean True/False enabled 🟡 PF, SC, OPF

Three Winding Transformer

pandapower OpenDSS

Three winding transformers have three separate windings, typically connecting three different voltage levels at one location.

Schematic Labels: Each of the three terminals can display a custom label on the canvas symbol (e.g. "HV", "MV", "LV"). These labels are purely cosmetic — they help identify which winding connects to which bus on the schematic, but do not affect simulation parameters or solver data. Edit them in the Schematic tab of the transformer dialog. Changes appear immediately on the canvas.

For the solver, Electrisim maps the three connected buses to HV / MV / LV by bus voltage (vn_kv): highest, middle, then lowest. If two buses share the same voltage, the original connection order is used as a tie-break so the mapping stays stable between runs.

Documentation References: 📘 pandapower Three Winding Transformer 📗 OpenDSS Transformer

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types Dialog tab
name Name of the three winding transformer string - name 🔴 PF, SC, OPF Load Flow
term_label_0 Schematic label for port 0 (HV bus / first connection). Display only — shown on the canvas symbol near the HV terminal pin. Does not affect simulation. string any text - - Schematic
term_label_1 Schematic label for port 1 (MV bus / second connection). Display only — shown on the canvas symbol near the MV terminal pin. Does not affect simulation. string any text - - Schematic
term_label_2 Schematic label for port 2 (LV bus / third connection). Display only — shown on the canvas symbol near the LV terminal pin. Does not affect simulation. string any text - - Schematic
hv_bus High voltage bus integer - - 🔴 PF, SC, OPF
mv_bus Medium voltage bus integer - - 🔴 PF, SC, OPF
lv_bus Low voltage bus integer - - 🔴 PF, SC, OPF
sn_hv_mva, sn_mv_mva, sn_lv_mva Rated power per winding in MVA float > 0 - 🔴 PF, SC, OPF
vn_hv_kv, vn_mv_kv, vn_lv_kv Rated voltage per winding in kV float > 0 - 🔴 PF, SC, OPF
vk_hv_percent, vk_mv_percent, vk_lv_percent Short-circuit voltages in percent float > 0 %Z (Wdg 1-2, 2-3, 3-1) 🔴 PF, SC, OPF
vkr_hv_percent, vkr_mv_percent, vkr_lv_percent Real part of short-circuit voltages in percent float ≥ 0 %R (Wdg 1-2, 2-3, 3-1) 🔴 PF, SC, OPF
pfe_kw Iron losses in kW float ≥ 0 %noload 🟡 PF, SC, OPF
i0_percent No-load current in percent float ≥ 0 %imag 🟡 PF, SC, OPF
shift_mv_degree Phase shift angle for MV winding in degrees float -360 to 360 Wdg 2 angle 🟢 PF, SC, OPF
shift_lv_degree Phase shift angle for LV winding in degrees float -360 to 360 Wdg 3 angle 🟢 PF, SC, OPF
vector_group Vector group designation (e.g., "YNyn0d5"). App default: Dyn (2W); configure per winding for 3W string - Wdg (conn) 🟢 PF, SC, OPF
tap_side Winding with tap changer ("hv", "mv", or "lv") string hv, mv, lv Wdg (tap side) 🔴 OPF
tap_pos Current tap position integer - tap 🟡 OPF
tap_neutral Neutral tap position integer - - 🟢 OPF
tap_min Minimum tap position integer - MinTap 🔴 OPF
tap_max Maximum tap position integer - MaxTap 🔴 OPF
tap_step_percent Voltage change per tap step in percent float - %RperTap 🔴 OPF
tap_changer_type Type of tap changer: "Ratio" (default) adjusts voltage magnitude only, "Symmetrical" distributes tap change to both windings (new in pandapower 3.0+) string Ratio, Symmetrical - 🟢 PF, SC, OPF
vk0_hv_percent, vk0_mv_percent, vk0_lv_percent Zero-sequence short-circuit voltages in percent float > 0 %Z0 (Wdg pairs) 🟡 SC
vkr0_hv_percent, vkr0_mv_percent, vkr0_lv_percent Real part of zero-sequence short-circuit voltages in percent float ≥ 0 %R0 (Wdg pairs) 🟡 SC
max_loading_percent Optional maximum loading (% of rating) for AC OPF (pandapower trafo3w.max_loading_percent). 0 = no limit. OPF tab. float ≥ 0 - 🔴 OPF
in_service Specifies if the transformer is in service boolean True/False enabled 🟡 PF, SC, OPF

Generator

pandapower OpenDSS

Generators represent synchronous generators with dynamic behavior. They are typically used for large power plants and have voltage control capabilities. For North American short-circuit studies, set ANSI machine type on the generator (used by ANSI/IEEE C37, beta).

Documentation References: 📘 pandapower Generator 📗 OpenDSS Generator

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the generator string - name 🔴 PF, SC, OPF
bus Bus the generator is connected to integer - Bus1 🔴 PF, SC, OPF
p_mw Active power setpoint in MW float - kW 🔴 OPF
vm_pu Voltage magnitude setpoint in per unit float > 0 kV (model=3) 🔴 PF, SC, OPF
sn_mva Rated apparent power in MVA float > 0 kVA 🟡 PF, SC, OPF
min_q_mvar Minimum reactive power in Mvar float - kvarmin 🔴 OPF
max_q_mvar Maximum reactive power in Mvar float - kvarmax 🔴 OPF
scaling Scaling factor for power float > 0 - 🟢 PF, SC, OPF
slack Whether this is the slack generator boolean True/False - 🟡 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 kV 🔴 SC
xdss_pu Subtransient reactance in per unit for short-circuit float > 0 Xd'' 🔴 SC
rdss_ohm Subtransient resistance in Ohm for short-circuit float ≥ 0 - 🟡 SC
ansi_machine_type Rotating-machine class for ANSI/IEEE C37 reactance multipliers (turbo, hydro with amortisseur, hydro, synchronous motor). Used only when Short Circuit is run with the ANSI/IEEE C37 (beta) tick. See ANSI/IEEE C37. string turbo, hydro_amortisseur, hydro, sync_motor - 🟡 SC (ANSI)
cos_phi Rated power factor (cosine phi) float 0-1 pf 🟡 SC
pg_percent Generator participation factor in percent for power dispatch float 0-100 - 🟡 OPF
in_service Specifies if the generator is in service boolean True/False enabled 🟡 PF, SC, OPF

Harmonic Parameters (OpenDSS):

Parameter Description Type OpenDSS Property Simulation Types
spectrum Harmonic current injection spectrum name (e.g., "defaultgen") string spectrum 🟡 Harmonics
Xdpp Sub-transient reactance for harmonic model (per unit) float Xd'' 🟢 Harmonics
XRdp X/R ratio at sub-transient frequency for harmonic model float XRdp 🟢 Harmonics
dyn_machine_model ANDES machine model for TDS/EIG (GENROU or GENCLS). Empty numeric dynamics fields use textbook defaults. string — 🔴 TDS, EIG
dyn_M / dyn_H Inertia M (=2H) or H in seconds (Dynamics tab) float — 🟡 TDS, EIG
dyn_xd, dyn_xq, dyn_xd1, … Machine reactances and time constants (Dynamics tab). Leave empty for GENROU defaults. float — 🟡 TDS, EIG
dyn_exciter_model Exciter: EXDC2, SEXS, or NONE string — 🟡 TDS, EIG
dyn_governor_model Governor: TGOV1, IEEEG1, IEESGO, GAST, HYGOV, or NONE string — 🟡 TDS, EIG
dyn_exciter_model Exciter: EXDC2, SEXS, IEEEX1, ESDC2A, EXST1, ESST1A, AC8B, or NONE string — 🟡 TDS, EIG
dyn_pss_model PSS: IEEEST or NONE string — 🟡 TDS, EIG

Dynamics tab: Open the Generator dialog → Dynamics to set machine, exciter, governor, and optional PSS parameters for Transient Stability and Eigenvalue Analysis. If fields are left empty, Electrisim applies GENROU + EXDC2 + TGOV1 defaults and lists them in the results as defaults_applied. Static Generators support renewable plant kinds (IBR / Wind / PVD1 / ESD1) with REGCA1–REPCA1 and related ANDES models.

Slack concept by framework

The slack parameter in Electrisim applies to Pandapower load flow only. OpenDSS handles the slack bus differently:

Framework Slack concept
Pandapower slack=True on a generator marks it as the slack bus
OpenDSS Vsource is the slack; Generator has no slack flag

For OpenDSS load flow, the slack role is handled by Vsource elements (External Grid), not by the Generator object.

Capacitor & Shunt Reactor

pandapower OpenDSS

Electrisim provides two separate shunt elements for reactive power compensation: a Capacitor (capacitor bank for leading reactive power) and a Shunt Reactor (inductive shunt for lagging reactive power). Both appear as separate components in the element palette and have dedicated dialog forms. Internally, both map to the pandapower shunt element, while in OpenDSS they map to the Capacitor and Reactor elements respectively.

Documentation References: 📘 pandapower Shunt 📗 OpenDSS Capacitor 📗 OpenDSS Reactor

Capacitor Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the capacitor string - name 🔴 PF, SC, OPF
bus Bus the capacitor is connected to integer - Bus1 🔴 PF, SC, OPF
q_mvar Reactive power output in Mvar (positive = capacitive) float > 0 kvar 🔴 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 kV 🟡 PF, SC, OPF
loss_factor Loss factor (tan delta) of the capacitor float ≥ 0 - 🟢 PF, SC, OPF
step Current active step (for switched capacitor banks) integer ≥ 1 numsteps 🟡 PF, SC, OPF
max_step Maximum number of steps in the capacitor bank integer ≥ 1 numsteps 🟢 PF, SC, OPF
in_service Specifies if the capacitor is in service boolean True/False enabled 🟡 PF, SC, OPF

Shunt Reactor Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the shunt reactor string - name 🔴 PF, SC, OPF
bus Bus the reactor is connected to integer - Bus1 🔴 PF, SC, OPF
q_mvar Reactive power in Mvar (negative = inductive/absorbing) float < 0 kvar (Reactor) 🔴 PF, SC, OPF
p_mw Active power losses in MW (usually small) float ≥ 0 - 🟡 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 kV 🟡 PF, SC, OPF
in_service Specifies if the reactor is in service boolean True/False enabled 🟡 PF, SC, OPF
step Current shunt step position (integer steps). Used with max_step and, when the characteristic table is off, scales the base P/Q from the Power tab. float / int 0 … max_step — 🟡 PF, SC, OPF
max_step Maximum shunt step. Defines the upper range of valid steps; use with the characteristic table and with Fill steps 0…max step in the shunt dialog. float / int ≥ 0 — 🟡 PF, SC, OPF
step_dependency_table If enabled, P and Q at v = 1.0 p.u. for each step come from the shunt characteristic table (not from a single P/Q times step). Sent to pandapower as step_dependency_table with a shunt_characteristic_table block. OpenDSS applies the same table when creating the Reactor. boolean True/False kvar at the selected step (Reactor) 🟢 PF (pandapower and OpenDSS)
shunt_characteristic_table_json JSON array of rows { "step", "p_mw", "q_mvar" }: reactive (and loss) shunt power at 1.0 p.u. for that step. Should include every step you use, typically 0 through max_step. Both engines use the same JSON. string (JSON) — — 🟢 PF (pandapower and OpenDSS)
discrete_shunt_control Move the shunt step so the bus voltage at the shunt tracks vm_set_pu. Pandapower uses DiscreteShuntController. OpenDSS iterates the same step table after each snapshot solve. Mutually exclusive with Line P → shunt step: turning this on shadows that control in the shunt dialog. For pandapower load flow, enable Shunt reactor tap changer under Include controller. For Grid Code Compliance (P-Q), enable Shunt reactor control. boolean True/False — 🟢 PF (pandapower controlled run; OpenDSS snapshot)
vm_set_pu Voltage setpoint (p.u.) for discrete shunt control. float typ. 0.9–1.1 — 🟢 PF (pandapower and OpenDSS)
shunt_control_increment How many step positions the controller may change per iteration. integer ≥ 1 — 🟢 PF (pandapower and OpenDSS)
shunt_control_tol Voltage band (p.u.) around vm_set_pu where no action is taken. float ≥ 0 — 🟢 PF (pandapower and OpenDSS)
shunt_reset_at_init If set, the controller may reset the shunt step at init (pandapower reset_at_init). boolean True/False — 🟢 PF (pandapower)
line_flow_step_control Set shunt step from active-power bands on a reference line (variable shunt reactor / VSR). Mutually exclusive with discrete shunt control: turning this on shadows that control in the shunt dialog. Enable Shunt reactor tap changer under Include controller so pandapower load flow applies the lookup; enable Shunt reactor control in Grid Code Compliance (P-Q). OpenDSS snapshot load flow applies the same bands after the solve. boolean True/False — 🟢 PF (pandapower controlled run; OpenDSS snapshot)
line_flow_reference_line_id Diagram cell of the line whose P is compared with the band table. string (cell id) — — 🟢 PF (pandapower and OpenDSS)
line_flow_step_table_json JSON array of bands { "p_mw_min", "p_mw_max", "step" }. The last band includes the upper bound. Combined with line_flow_p_use_abs and line_flow_p_reference (p_from_mw or p_to_mw). string (JSON) — — 🟢 PF (pandapower and OpenDSS)

How shunt reactor parameters work together

The dialog is organised in three tabs. The relationship between “static” shunt data and “control” is:

  1. Power tab — base P and Q. Here you set p_mw and q_mvar as the reference shunt power at 1.0 p.u. If you do not use a step characteristic table, the network model uses this pair together with step and max_step (equivalent shunt scaling with the step number).
  2. Electrical tab — vn_kv. Shunt equipment rating; it must be consistent with the bus you connect to. It does not, by itself, turn control on or off.
  3. Control tab — steps and the optional table.
    • step and max_step define the discrete positions of the shunt. max_step is the top step index you model (e.g. if steps are 0, 1, …, N, set max_step = N).
    • If Shunt characteristic table (step-dependent P/Q) is off, P and Q at the operating point follow the base values on the Power tab, combined with step.
    • If that option is on, you must fill the table so each step has its own p_mw and q_mvar at 1.0 p.u. Pandapower stores this as shunt_characteristic_table; OpenDSS applies the same rows to the Reactor. The dialog’s Fill steps 0…max step uses max_step to create empty rows you can complete.
  4. Control tab — discrete shunt (voltage) control. This is a different option from the characteristic table (you can enable the table together with this controller, or use either alone). The table defines what P and Q are at each step; Discrete shunt control changes step so the shunt bus voltage moves toward vm_set_pu. When the table and this controller are both on, the controller only updates step; the injections at that step still follow the table. It cannot be combined with Line P → shunt step: turning this on shadows that block, and turning that one on shadows this block. For pandapower load flow, tick Shunt reactor tap changer under Include controller. For Grid Code Compliance (P-Q), tick Shunt reactor control in that study dialog. OpenDSS snapshot load flow runs the same loop when the option is enabled on the shunt.
  5. Control tab — Line P → shunt step. A separate lookup: the solver reads P on a reference line and sets step from the band table (typical VSR behaviour). Only one step controller is active. While this option is on, discrete voltage control is shadowed, and while discrete voltage control is on, this block is shadowed. If an older element still has both flags stored, opening the dialog keeps voltage control and unticks the line-power lookup; that choice is written to the element when you apply. This mode is also gated by Shunt reactor tap changer on pandapower load flow, and by Shunt reactor control in Grid Code Compliance (P-Q); OpenDSS snapshot applies it after the solve.

Summary. Use the Power tab for a simple fixed or step-scaled shunt; add the characteristic table when each step has different P/Q at 1 p.u.; use discrete shunt control for a voltage target, or Line P → shunt step for flow-based VSR tap. Those two controllers are alternatives: the shunt dialog shadows the one that is not selected. If a table and a controller are both enabled, the table provides the per-step model and the controller selects the step. All of these are properties of the shunt on the single-line diagram; the pandapower load-flow dialog or Grid Code Compliance (P-Q) turns controller execution on or off for the run.

Impedance

pandapower OpenDSS

A branch between two buses defined only by R and X (not a physical line type). Use it for a coupling, a simplified equivalent, or a connection that is not a cable or overhead line.

Documentation References: 📘 pandapower Impedance 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the impedance string - name 🔴 PF, SC, OPF
from_bus Starting bus integer - Bus1 🔴 PF, SC, OPF
to_bus Ending bus integer - Bus2 🔴 PF, SC, OPF
rft_pu Resistance in per unit float ≥ 0 R (converted to ohms) 🔴 PF, SC, OPF
xft_pu Reactance in per unit float - X (converted to ohms) 🔴 PF, SC, OPF
sn_mva Rated apparent power for per unit calculation in MVA float > 0 - 🟡 PF, SC, OPF
in_service Specifies if the impedance is in service boolean True/False enabled 🟡 PF, SC, OPF

Ward

pandapower OpenDSS

A Ward equivalent stands in for a neighbouring network you do not want to draw in full: a constant-power plus constant-impedance injection at one bus. Prefer this over inventing dummy lines when you only have a reduced-network equivalent.

Documentation References: 📘 pandapower Ward 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the ward equivalent string - - 🔴 PF, SC, OPF
bus Bus the ward is connected to integer - - 🔴 PF, SC, OPF
ps_mw Active power of the constant power component in MW float - PQ Load (kW) 🔴 PF, SC, OPF
qs_mvar Reactive power of the constant power component in Mvar float - PQ Load (kvar) 🔴 PF, SC, OPF
pz_mw Active power of the constant impedance component in MW float - Shunt (equiv.) 🔴 PF, SC, OPF
qz_mvar Reactive power of the constant impedance component in Mvar float - Shunt (equiv.) 🔴 PF, SC, OPF
in_service Specifies if the ward is in service boolean True/False - 🟡 PF, SC, OPF

Extended Ward

pandapower OpenDSS

Like a Ward equivalent, plus an internal bus and impedance so the voltage response of the reduced network is more accurate. Use it when a plain Ward model is too crude at the boundary bus.

Documentation References: 📘 pandapower Extended Ward 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the extended ward string - - 🔴 PF, SC, OPF
bus External bus integer - - 🔴 PF, SC, OPF
ps_mw Active power of constant power component in MW float - PQ Load (kW) 🔴 PF, SC, OPF
qs_mvar Reactive power of constant power component in Mvar float - PQ Load (kvar) 🔴 PF, SC, OPF
pz_mw Active power of impedance component in MW float - Shunt (equiv.) 🔴 PF, SC, OPF
qz_mvar Reactive power of impedance component in Mvar float - Shunt (equiv.) 🔴 PF, SC, OPF
r_ohm Internal resistance in Ohm float ≥ 0 - 🔴 PF, SC, OPF
x_ohm Internal reactance in Ohm float - - 🔴 PF, SC, OPF
vm_pu Internal bus voltage magnitude in per unit float > 0 PV Gen (equiv.) 🔴 PF, SC, OPF
in_service Specifies if the extended ward is in service boolean True/False - 🟡 PF, SC, OPF

Storage

pandapower OpenDSS

Storage elements represent battery energy storage systems (BESS) or other energy storage technologies that can both consume and generate power. Electrisim uses a unified Storage element that maps to both pandapower and OpenDSS. Dialog tabs: Power, Energy, Configuration, Optimization (OPF), Q capability (PCS P–Q envelope), OpenDSS Parameters, Inverter Control, and Economic.

Documentation References: 📘 pandapower Storage 📗 OpenDSS Storage 📗 OpenDSS Storage Properties

Parameters (Power & Energy)

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the storage string - name 🔴 PF, OPF
bus Bus the storage is connected to integer - Bus1 🔴 PF, OPF
p_mw Active power in MW (positive = charging/consuming, negative = discharging/generating). OpenDSS sign is converted automatically. After load flow, the storage result box shows this P; the connected busbar shows the sum of all devices on that bus (see busbar result boxes). float - kW, kWRated (Storage) 🔴 PF, OPF
q_mvar Reactive power in Mvar when Q setpoint mode is manual (positive = absorbing, negative = supplying). For curve-based Q, use Q setpoint mode or the dispatch-reversal inject/absorb options. float - kvar (Storage) 🟡 PF, OPF
q_setpoint_mode Load-flow Q when Use Q capability curve is on: manual uses q_mvar; capacitive_max uses Qmax (absorb); inductive_max uses Qmin (inject). Dispatch reversal can also command inject/absorb max from the same envelope. string manual, capacitive_max, inductive_max — 🟡 PF
max_e_mwh Maximum energy capacity in MWh (rated storage capacity) float > 0 kWhrated 🔴 OPF
min_e_mwh Minimum energy to keep in reserve (MWh). Maps to OpenDSS %reserve = (min_e_mwh / max_e_mwh) × 100. When min_e_mwh ≥ max_e_mwh, %reserve is not applied. float ≥ 0 %reserve 🔴 OPF
soc_percent State of charge in percent (0–100) float 0-100 %stored 🟡 OPF

Parameters (Configuration)

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
sn_mva Nominal / inverter rating in MVA. Maps to OpenDSS kVA. Used as kWRated when p_mw = 0. Together with P this is the kVA circle √(P²+Q²) ≤ Sn. A vendor D-shape, leftover Q at rated P, STATCOM Q at idle, voltage derate, and P vs Q priority need the Q capability tab and watt priority — kW and kVA alone are not a full PCS model. float > 0 kVA (Storage) 🟡 PF, OPF
conn Winding connection type (wye or delta) string wye, delta conn 🟡 PF (OpenDSS)
phases Number of electrical phases (1–3) integer 1–3 phases 🟡 PF (OpenDSS)
scaling Scaling factor for p_mw and q_mvar (pandapower only) float > 0 - 🟡 PF, OPF
type Optional string to classify the storage (e.g., Li-Ion, Flow). Informational only. string - - 🟡 PF, OPF
in_service Specifies if the storage is in service boolean True/False enabled 🟡 PF, OPF

Parameters (Optimization – pandapower OPF)

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
controllable Whether the storage is controllable by the Optimal Power Flow. Must be true to use OPF limits. boolean True/False - 🟡 OPF
max_p_mw Maximum active power injection for OPF (MW) float - - 🟡 OPF
min_p_mw Minimum active power injection for OPF (MW) float - - 🟡 OPF
max_q_mvar Maximum reactive power injection for OPF (MVar) float - - 🟡 OPF
min_q_mvar Minimum reactive power injection for OPF (MVar) float - - 🟡 OPF

Parameters (OpenDSS-specific)

These parameters apply when using OpenDSS for load flow, harmonics, or time-series simulations. They control the built-in inverter model, dispatch logic, and losses.

Parameter Description Type Value Range OpenDSS Property Simulation Types
state Initial operational state. Set automatically from p_mw sign when p_mw ≠ 0; use IDLING when p_mw = 0. string IDLING, CHARGING, DISCHARGING State 🟡 PF (OpenDSS)
disp_mode Dispatch mode: DEFAULT (loadshape triggers), FOLLOW (output follows loadshape), EXTERNAL (StorageController), LOADLEVEL, PRICE. string DEFAULT, FOLLOW, EXTERNAL, LOADLEVEL, PRICE DispMode 🟡 PF (OpenDSS)
pct_charge Charging rate as percent of rated kW. Default = 100. float 0–200 %Charge 🟡 PF (OpenDSS)
pct_discharge Discharge rate as percent of rated kW. Default = 100. float 0–200 %Discharge 🟡 PF (OpenDSS)
pct_eff_charge Charging efficiency (%). Default = 90. float 0–100 %EffCharge 🟡 PF (OpenDSS)
pct_eff_discharge Discharging efficiency (%). Default = 90. Round-trip ≈ pct_eff_charge × pct_eff_discharge. float 0–100 %EffDischarge 🟡 PF (OpenDSS)
pct_idling_kw Percent of rated kW consumed as active power while idling (auxiliary loads, cooling). Default = 1. float 0–100 %IdlingkW 🟡 PF (OpenDSS)
pct_idling_kvar Percent of rated kW consumed as reactive power while idling. Default = 0. float 0–100 %Idlingkvar 🟡 PF (OpenDSS)
discharge_trigger Loadshape level that triggers DISCHARGING. 0 = disabled. float 0–2 DischargeTrigger 🟡 PF (OpenDSS)
charge_trigger Loadshape level below which CHARGING is triggered. 0 = disabled. float 0–2 ChargeTrigger 🟡 PF (OpenDSS)
time_charge_trig Time of day (fractional hours, e.g. 2.0 = 2 AM) when storage automatically starts charging. -1 disables. Default = 2.0. float -1–24 TimeChargeTrig 🟡 PF (OpenDSS)
spectrum Harmonic current injection spectrum for OpenDSS harmonic analysis. "default" is the built-in inverter spectrum. string default, defaultgen, defaultload, pwm6, none spectrum 🟡 Harmonics (OpenDSS)

Q capability (PCS P–Q envelope)

The Q capability tab is the four-quadrant PCS envelope (not the wind-turbine ±0.95 PF triangle). Enable Use Q capability curve so load flow, OpenDSS kvarMax/kvarMaxAbs, OpenDER NP_Q_MAX_*, and BESS Dispatch Reversal apply Qmin/Qmax at the operating P.

kW + kVA is only the inverter circle √(P²+Q²) ≤ Sn. That is enough for a first check at unity PF (for example 45 MW on 50 MVA leaves about 22 MVAr of unused Q). It is not a full PCS model when you need a vendor D-shape, leftover Q at rated P, STATCOM Q at idle, voltage dependence of the envelope, or a rule for what is clipped at Sn (P vs Q).

Chart: P from −Pmax (discharge) to +Pmax (charge). Built-in PCS circle is Q = ±√(Sn²−P²) with a vertical cut at Pmax (full Q at P = 0). PCS D-shape holds Q at 0.9·Sn until the current circle binds. Custom is a vendor JSON table. Ratings come from Configuration sn_mva and OPF charge/discharge Pmax when set.

Parameter Description Type Value Range Simulation Types
reactive_capability_curve Use Q capability curve. Enforce Qmin/Qmax vs P. Off = kVA circle from sn_mva only (plus watt priority if on). boolean True/False (default False) 🟡 PF, dispatch reversal
q_cap_voltage_dependent Voltage-dependent Q envelope. Scale Qmin/Qmax with terminal voltage (capability vs U). Full Q at 1.00 pu; reduced toward 0.88 / 1.10 pu (already scaled at 0.98 / 1.02). This is not Volt-VAR droop (that is Inverter Control). boolean True/False (default False) 🟡 PF, dispatch reversal
q_capability_preset PCS envelope: pcs_circle (typical BESS), pcs_d_shape (flat Q then circle), or custom (edit JSON). string pcs_circle, pcs_d_shape, custom 🟡 PF, dispatch reversal
curve_style Interpolation of custom JSON knots. string straightLineYValues, constantYValue 🟡 PF
q_capability_curve_json Points {p_mw, q_min_mvar, q_max_mvar}. Four-quadrant when P spans negative (discharge) to positive (charge). JSON array — 🟡 PF, dispatch reversal

Inverter Control

OpenDSS InvControl (and OpenDER on dispatch reversal) pick the Q setpoint inside the envelope. Watt priority chooses which axis is sacrificed when √(P²+Q²) would exceed Sn.

Parameter Description Type Value Range OpenDSS Property Simulation Types
inv_control_mode NONE, Fixed Q, Fixed PF, Volt-VAR, Volt-Watt, Watt-PF, Watt-VAR. Dispatch reversal with OpenDER disables native InvControl and maps these modes into OpenDER. string NONE, FIXEDQ, FIXED_PF, VOLTVAR, … InvControl Mode 🟡 PF (OpenDSS), dispatch reversal
pf / pf_q_mode Discharge PF (P < 0). Lagging = absorb Q; leading = inject Q. Enter 0.85–1.0, not a negative PF. float / string 0.85–1.0; lagging, leading pf 🟡 PF (OpenDSS), dispatch reversal
pf_charge / pf_charge_q_mode Charge PF (P > 0). Same Q-direction convention as discharge PF. float / string 0.85–1.0; lagging, leading pf (charge) 🟡 PF (OpenDSS), dispatch reversal
watt_priority When hypot(P, Q) would exceed sn_mva: on = keep P and clip Q (typical FCR / energy dispatch); off = keep Q and clip P. boolean True/False (default False) WattPriority 🟡 PF, dispatch reversal
vv_xarray / vv_yarray Volt-VAR droop (control), IEEE 1547 preset available. Distinct from the voltage-dependent capability envelope. string pu V / pu Q points InvControl vvc_* 🟡 PF (OpenDSS), dispatch reversal

OpenDSS Implementation Notes

The following implementation details ensure consistent results between Pandapower and OpenDSS for storage elements:

  • Power dispatch: Both kWRated (inverter capacity) and kW (requested dispatch power) are set explicitly. The state (DISCHARGING/CHARGING/IDLING) is derived from the sign of p_mw.
  • Reactive power convention: Pandapower uses load convention (positive = absorbing). OpenDSS Storage uses generator convention (positive = supplying). The conversion is applied automatically.
  • Reserve handling: When min_e_mwh ≥ max_e_mwh, the OpenDSS %reserve parameter is not set. This prevents blocking discharge in snapshot power flow when the reserve would otherwise lock 100% of stored energy.
  • Connection and phases: The conn (wye/delta) and phases (1–3) parameters are passed to OpenDSS for correct modeling of single-phase or delta-connected storage.
  • Inverter model: OpenDSS Storage includes a built-in inverter model with efficiency, idling losses, and dispatch modes. Pandapower uses a simpler PQ-bus model; time-domain SOC updates require custom scripting.
  • P–Q envelope: When Use Q capability curve is on, Electrisim interpolates Qmin/Qmax at the operating P (PCS circle or custom JSON) and maps them to OpenDSS kvarMax / kvarMaxAbs. Optional voltage derate scales that band. Watt priority keeps P and clips Q at Sn (or the reverse if off).

BESS AC Block

pandapower OpenDSS

The BESS AC Block is a composite element available in the Storage palette (next to the Storage element). When you drag and drop it onto the canvas, it automatically creates and connects a complete Battery Energy Storage System (BESS) AC interconnection setup in a single step.

The block includes:

  • BESS BUSBAR 1 — MV busbar rated at 33 kV (high-voltage side)
  • Step-up Transformer — HV: 33 kV, LV: 690 V, connecting the MV and LV busbars
  • BESS BUSBAR 2 — LV busbar rated at 0.69 kV (low-voltage side)
  • Storage — Battery storage element (includes built-in inverter model) connected to the LV busbar

All four elements are pre-wired with correct connection points. Result placeholders for load flow and short-circuit analysis appear automatically for each busbar, the transformer, and the storage unit. You can connect the BESS AC block to your existing network by linking BESS BUSBAR 1 to your MV grid (e.g., 33 kV).

If you attach more than one Storage unit to the same LV busbar (BESS BUSBAR 2), load-flow P on that busbar is the net of those units — for example two units discharging at 1.75 MW each give −3.5 MW on the 0.69 kV bus, not −7 MW. The transformer LV/HV flows follow the same net. Details: On-diagram busbar results.

Documentation References: 📗 Storage 📗 OpenDSS Transformer 📗 Storage Properties

Note: The BESS AC Block is a composite palette template (MV bus, step-up transformer, LV bus, and Storage). It is not a separate backend element type — both pandapower and OpenDSS receive the four connected standard elements. Default drop values: MV bus 33 kV, LV bus 0.69 kV, transformer 33/0.69 kV, 1 MVA. You can modify all parameters to match your project.

Last updated: October 2026

Electrisim on YouTube · Frontend on GitHub