Electrisim Web Application

Electrisim is an open-source web-browser tool to perform electrical analyses.

The Electrisim application is based on the open-source projects: pandapower and OpenDSS. Pandapower is commonly used for power system analysis, while OpenDSS is often mostly used for distribution system modeling. By combining these two software in the Electrisim application we are giving you the possibility to use the advantages of these two continuously developed software.

Current Calculation Capabilities

Following calculation capabilities are currently available:

Analysis Algorithm
Power flow pandapower
Optimal Power Flow pandapower
Short-circuit according to IEC 60909 pandapower
Controller simulation pandapower
Time-series simulation pandapower
Unbalanced, multi-phase power flow OpenDSS
Short circuit (OpenDSS fault study) OpenDSS

About the underlying software:

pandapower v3.3.0 is a joint development of the research group Energy Management and Power System Operation, University of Kassel and the Department for Distribution System Operation at the Fraunhofer Institute for Energy Economics and Energy System Technology (IEE), Kassel.

OpenDSS (via opendssdirect.py) is a development of Electric Power Research Institute (EPRI), USA.

You don't need to install the pandapower or OpenDSS and use a script language to calculate the electrical network. With the Electrisim web application, you can easily perform these calculations by simply dragging and dropping elements.

Note: The Electrisim application is designed to work only in desktop web browsers and is not compatible with mobile phones.

First Steps in Electrisim

To get started with Electrisim, see our Tutorials page for instruction videos and step-by-step guides.

Datastructure and Elements

Following electrical elements are currently available in the Electrisim application:

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)
Asymmetric Static Generator ✅ Available 🟡 no direct element (can be implemented by setting the Generator parameters)
External Grid ✅ Available ✅ Available (Vsource)
Transformer ✅ Available ✅ Available
Shunt (capacitor or shunt reactor) ✅ Available ✅ Available
Impedance ✅ Available ✅ Available
Storage ✅ Available ✅ Available
Protection relay ✅ Available ✅ Available
Fuse ✅ Available ✅ Available
Thyristor-Controlled Series Capacitor (TCSC) ✅ Available ✅ Available
Switch ✅ Available ✅ Available
Three Winding Transformer ✅ Available 🟡 no direct element (can be implemented as a bank of two-winding transformers)
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
PVSystem 🟡 no direct element (can be scarsely implemented by static generator) ✅ Available
Unified power flow controller (UPFC) 🟡 no direct element (can be implemented by modelling SSC + VSC or DC line) ✅ Available

Below you'll find detailed information about each element, including key parameters and usage guidelines.

Simulation Type Parameter Requirements

Different simulation types require different sets of parameters. Understanding these requirements helps you configure your network elements correctly for the specific analysis you want to perform.

Key:

  • 🔴 Required: Essential parameters that must be specified
  • 🟡 Recommended: Important parameters for accurate results
  • 🟢 Optional: Parameters that enhance functionality but aren't required
  • ⚪ Not Used: Parameters not relevant for this simulation type

Element Details

Detailed parameter information for each electrical element:

Bus

A bus (also called node or busbar) is a fundamental element in the network where multiple components can be connected. Buses serve as connection points and voltage reference points in the electrical network.

Documentation References: 📘 pandapower Bus 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the bus string - Bus name 🔴 PF, SC, OPF
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
in_service Specifies if the bus is in service boolean True/False enabled 🟡 PF, SC, OPF

Line

Lines represent transmission or distribution lines that connect buses in the network. They are characterized by their resistance, reactance, and capacitance per unit length.

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
in_service Specifies if the line is in service boolean True/False enabled 🟡 PF, SC, OPF

Load

Loads represent power consumption at a bus. They can be defined as constant power, constant current, or constant impedance loads.

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 Type of load model string - model 🟡 PF, SC, OPF
in_service Specifies if the load is in service boolean True/False enabled 🟡 PF, SC, OPF

Motor

Motor elements represent electric motors in the network. Motors have dynamic characteristics that affect short-circuit calculations and stability studies.

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 calculation float > 0 LRC 🔴 SC
rx R/X ratio for short-circuit impedance float ≥ 0 R/X 🔴 SC
in_service Specifies if the motor is in service boolean True/False enabled 🟡 PF, SC, OPF

Asymmetric Load

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

Static generators represent generators with static behavior, such as wind turbines, photovoltaic systems, or small generation units that don't have significant dynamic characteristics.

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

Asymmetric Static Generator

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

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.

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 Maximum R0/X0 ratio for zero sequence short-circuit float ≥ 0 R0/X0 🟡 SC
x0x_max Maximum X0/X ratio (zero to positive sequence reactance) float ≥ 0 X0/X1 🟡 SC
in_service Specifies if the external grid is in service boolean True/False enabled 🟡 PF, SC, OPF

Transformer

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

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
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") 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 controllers" in Load Flow) 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
in_service Specifies if the transformer is in service boolean True/False enabled 🟡 PF, SC, OPF

Three Winding Transformer

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

Documentation References: 📘 pandapower Three Winding Transformer 📗 OpenDSS Transformer

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the three winding transformer string - name 🔴 PF, SC, OPF
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") 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
in_service Specifies if the transformer is in service boolean True/False enabled 🟡 PF, SC, OPF

Generator

Generators represent synchronous generators with dynamic behavior. They are typically used for large power plants and have voltage control capabilities.

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
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

Shunt

Shunt elements represent devices connected in parallel to the bus, such as capacitor banks, reactors, or filters used for reactive power compensation.

Documentation References: 📘 pandapower Shunt 📗 OpenDSS Reactor

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the shunt string - name 🔴 PF, SC, OPF
bus Bus the shunt is connected to integer - Bus1 🔴 PF, SC, OPF
q_mvar Reactive power in Mvar (positive for capacitive, negative for inductive) float - kvar (Capacitor) 🔴 PF, SC, OPF
p_mw Active power in MW (usually zero) float - - 🟡 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 kV 🟡 PF, SC, OPF
step Step number for switched shunts integer ≥ 1 numsteps 🟡 PF, SC, OPF
in_service Specifies if the shunt is in service boolean True/False enabled 🟡 PF, SC, OPF

Impedance

Impedance elements represent arbitrary impedances connecting two buses. They are useful for modeling special connections or simplified network equivalents.

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

Ward equivalents represent a reduced network with a constant impedance and constant power component. They are used for network reduction.

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

Extended Ward equivalents are an extension of Ward equivalents with an additional internal bus and impedance, allowing for more accurate representation of reduced networks.

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

DC Line

DC lines represent high-voltage direct current (HVDC) connections between AC systems. They provide controlled power transfer and can connect asynchronous networks.

Documentation References: 📘 pandapower DC Line OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the DC line string - - 🔴 PF, OPF
from_bus Starting bus (rectifier side) integer - - 🔴 PF, OPF
to_bus Ending bus (inverter side) integer - - 🔴 PF, OPF
p_mw Active power transmitted from from_bus to to_bus in MW float - - 🔴 PF, OPF
loss_percent Relative transmission loss in percent float ≥ 0 - 🟡 PF, OPF
loss_mw Fixed transmission loss in MW float ≥ 0 - 🟡 PF, OPF
vm_from_pu Voltage setpoint at the from bus in per unit float > 0 - 🔴 PF, OPF
vm_to_pu Voltage setpoint at the to bus in per unit float > 0 - 🔴 PF, OPF
in_service Specifies if the DC line is in service boolean True/False - 🟡 PF, OPF

Storage

Storage elements represent battery energy storage systems (BESS) or other energy storage technologies that can both consume and generate power.

Documentation References: 📘 pandapower Storage 📗 OpenDSS Storage

Parameters:

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 = discharging, negative = charging) float - kW (Storage) 🔴 PF, OPF
q_mvar Reactive power in Mvar float - kvar (Storage) 🟡 PF, OPF
sn_mva Rated apparent power in MVA float > 0 kVA (Storage) 🟡 PF, OPF
max_e_mwh Maximum energy capacity in MWh float > 0 kWhrated 🔴 OPF
soc_percent State of charge in percent float 0-100 %stored 🟡 OPF
min_e_mwh Minimum energy capacity in MWh float ≥ 0 %reserve 🔴 OPF
scaling Scaling factor for power values float > 0 - 🟡 PF, OPF
type Type of storage (e.g., battery, flywheel) string - - 🟡 PF, OPF
in_service Specifies if the storage is in service boolean True/False enabled 🟡 PF, OPF

Static Var Compensator (SVC)

Static Var Compensators are FACTS devices used for dynamic voltage support and reactive power control. They can rapidly adjust reactive power output.

Documentation References: 📘 pandapower SVC 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the SVC string - - 🔴 PF, OPF
bus Bus the SVC is connected to integer - - 🔴 PF, OPF
x_l_ohm Inductive reactance in Ohm float > 0 XL (Reactor) 🔴 PF, OPF
x_cvar_ohm Variable capacitive reactance in Ohm float > 0 kvar (Capacitor) 🔴 PF, OPF
set_vm_pu Voltage setpoint in per unit float > 0 kvarlimit (CapControl) 🔴 PF, OPF
thyristor_firing_angle_degree Thyristor firing angle in degrees float 0-180 - 🟡 PF, OPF
min_angle_degree Minimum thyristor firing angle in degrees float 0-180 - 🟡 PF, OPF
max_angle_degree Maximum thyristor firing angle in degrees float 0-180 - 🟡 PF, OPF
controllable Whether the SVC is controllable boolean True/False - 🔴 OPF
in_service Specifies if the SVC is in service boolean True/False - 🟡 PF, OPF

Thyristor-Controlled Series Capacitor (TCSC)

TCSCs are FACTS devices that provide controllable series compensation to regulate power flow and improve transmission capacity.

Documentation References: 📘 pandapower TCSC 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the TCSC string - name 🔴 PF, OPF
from_bus Starting bus integer - Bus1 🔴 PF, OPF
to_bus Ending bus integer - Bus2 🔴 PF, OPF
x_l_ohm Inductive reactance in Ohm float > 0 XL (Reactor) 🔴 PF, OPF
x_cvar_ohm Variable capacitive reactance in Ohm float > 0 C (Capacitor) 🔴 PF, OPF
set_p_to_mw Power flow setpoint at receiving end in MW float - - 🔴 OPF
thyristor_firing_angle_degree Thyristor firing angle in degrees float 0-180 - 🟡 PF, OPF
min_angle_degree Minimum firing angle in degrees float 0-180 - 🟡 PF, OPF
max_angle_degree Maximum firing angle in degrees float 0-180 - 🟡 PF, OPF
controllable Whether the TCSC is controllable boolean True/False - 🔴 OPF
in_service Specifies if the TCSC is in service boolean True/False enabled 🟡 PF, OPF

Static Synchronous Compensator (SSC / STATCOM)

Static Synchronous Compensators (STATCOM) are advanced FACTS devices that use voltage source converters to provide dynamic reactive power support. They offer superior voltage control compared to traditional SVCs.

Documentation References: 📘 pandapower SSC 📗 OpenDSS Documentation

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the SSC string - name 🔴 PF, OPF
bus Bus the SSC is connected to integer - Bus1 🔴 PF, OPF
r_ohm Internal resistance in Ohm float ≥ 0 R (Generator) 🔴 PF, OPF
x_ohm Internal reactance in Ohm float > 0 X (Generator) 🔴 PF, OPF
set_vm_pu Voltage setpoint at connection bus in per unit float > 0 Voltage (InvControl) 🔴 PF, OPF
vm_internal_pu Internal voltage magnitude in per unit float > 0 kV (Generator) 🟡 PF, OPF
va_internal_degree Internal voltage angle in degrees float -360 to 360 Angle (Generator) 🟡 PF, OPF
controllable Whether the SSC is controllable boolean True/False Enabled (InvControl) 🔴 OPF
in_service Specifies if the SSC is in service boolean True/False enabled 🟡 PF, OPF

DC Bus

DC buses represent connection points in DC networks, similar to AC buses but for direct current systems. They serve as nodes where DC components like DC loads, DC sources, and DC lines can be connected.

Documentation References: 📘 pandapower DC Bus OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the DC bus string - - 🔴 PF, SC, OPF
vn_kv Rated voltage in kV float > 0 - 🔴 PF, SC, OPF
in_service Specifies if the DC bus is in service boolean True/False - 🟡 PF, SC, OPF

Load DC

DC loads represent power consumption in DC networks. They consume active power from the DC system.

Documentation References: 📘 pandapower Load DC OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the DC load string - - 🔴 PF, SC, OPF
bus DC bus the load is connected to integer - - 🔴 PF, SC, OPF
p_mw Active power consumption in MW float ≥ 0 - 🔴 PF, SC, OPF
in_service Specifies if the DC load is in service boolean True/False - 🟡 PF, SC, OPF

Source DC

DC sources represent voltage sources in DC networks, similar to external grids in AC systems. They provide voltage reference and power injection into the DC network.

Documentation References: 📘 pandapower Source DC OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the DC source string - - 🔴 PF, SC, OPF
bus DC bus the source is connected to integer - - 🔴 PF, SC, OPF
vm_pu Voltage magnitude setpoint in per unit float > 0 - 🔴 PF, SC, OPF
in_service Specifies if the DC source is in service boolean True/False - 🟡 PF, SC, OPF

Switch

Switches represent circuit breakers, load break switches, or disconnectors that can connect or disconnect lines or transformers. They are essential for network topology control and protection.

Documentation References: 📘 pandapower Switch 📗 OpenDSS Switch

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the switch string - name 🔴 PF, SC, OPF
bus Bus the switch is connected to integer - Bus1 🔴 PF, SC, OPF
element Index of the element (line or transformer) the switch is connected to integer - Bus2 🔴 PF, SC, OPF
closed Specifies if the switch is closed (True/False) boolean True/False closed 🔴 PF, SC, OPF
type Type of switch: "CB" (Circuit Breaker), "LBS" (Load Break Switch), "DS" (Disconnector) string CB, LBS, DS type 🟡 PF, SC, OPF
z_ohm Impedance of the switch in Ohm (when closed) float ≥ 0 R (converted) 🟡 PF, SC, OPF
in_ka Rated current of the switch in kA float > 0 normamps 🟡 PF, SC, OPF
ikss_ka Short-circuit current in kA float ≥ 0 - 🔴 SC
in_service Specifies if the switch is in service boolean True/False enabled 🟡 PF, SC, OPF

Voltage Source Converter (VSC)

Voltage Source Converters are power electronic devices that connect AC and DC networks. They enable bidirectional power flow and provide voltage control capabilities, making them essential for HVDC systems and renewable energy integration.

Documentation References: 📘 pandapower VSC OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the VSC string - - 🔴 PF, SC, OPF
bus AC bus the VSC is connected to integer - Bus1 🔴 PF, SC, OPF
bus_dc DC bus the VSC is connected to integer - - 🔴 PF, SC, OPF
p_mw Active power setpoint at the AC bus in MW float - kW 🔴 PF, SC, OPF
vm_pu Voltage magnitude setpoint on the AC side in per unit float > 0 kV 🔴 PF, SC, OPF
sn_mva Nominal power of the VSC in MVA float > 0 kVA 🟡 PF, SC, OPF
rx R/X ratio of the VSC coupling transformer float ≥ 0 R/X 🟡 PF, SC, OPF
max_ik_ka Maximum short-circuit current in kA float > 0 - 🟡 SC
in_service Specifies if the VSC is in service boolean True/False enabled 🟡 PF, SC, OPF

Back-to-Back Voltage Source Converter (B2B VSC)

Back-to-Back Voltage Source Converters connect two AC networks through a common DC link. They enable asynchronous interconnection and provide independent control of active and reactive power flow between the two AC systems.

Documentation References: 📘 pandapower B2B VSC OpenDSS: Not Available

Parameters:

Parameter Description Type Value Range OpenDSS Equivalent Simulation Types
name Name of the B2B VSC string - - 🔴 PF, SC, OPF
bus1 First AC bus the B2B VSC is connected to integer - Bus1 🔴 PF, SC, OPF
bus2 Second AC bus the B2B VSC is connected to integer - Bus2 🔴 PF, SC, OPF
p_mw Active power setpoint at bus1 in MW float - kW 🔴 PF, SC, OPF
vm1_pu Voltage magnitude setpoint on the first AC side in per unit float > 0 kV (Bus1) 🔴 PF, SC, OPF
vm2_pu Voltage magnitude setpoint on the second AC side in per unit float > 0 kV (Bus2) 🔴 PF, SC, OPF
sn_mva Nominal power of the B2B VSC in MVA float > 0 kVA 🟡 PF, SC, OPF
rx R/X ratio of the B2B VSC coupling transformer float ≥ 0 R/X 🟡 PF, SC, OPF
max_ik_ka Maximum short-circuit current in kA float > 0 - 🟡 SC
in_service Specifies if the B2B VSC is in service boolean True/False enabled 🟡 PF, SC, OPF

Simulation

This section describes the simulation capabilities available in Electrisim for analyzing electrical networks and sizing system components. All simulations are powered by the pandapower library, which provides comprehensive power system analysis tools.

Load Flow (Power Flow)

The Load Flow (Power Flow) calculation is the most fundamental analysis operation in power system engineering. It determines the steady-state operating conditions of an electrical network, including voltages, currents, and power flows throughout the system.

Use Case: Load Flow analysis is essential for:

  • Verifying that network voltages are within acceptable limits
  • Checking power flows and loading of transmission lines and transformers
  • Evaluating system losses and power quality
  • Validating network design and operation before conducting other analyses
  • Assessing the impact of load changes or generator dispatch

How It Works

Electrisim supports load flow calculations using two simulation engines:

  1. Pandapower Engine: Full-featured power flow solver with multiple algorithms including Newton-Raphson, Iwamoto, Backward Forward Sweep, Gauss-Seidel, FDBX, and FDXB.
  2. OpenDSS Engine: Alternative power flow solver with support for snapshot, daily, and dutycycle simulation modes.

The calculation iteratively solves the power balance equations at each bus until convergence is achieved. The Newton-Raphson method is the default algorithm, providing fast and reliable convergence for most networks.

Input Parameters (Pandapower)

Parameter Description Type Options/Value Range Default
Frequency System frequency radio 50 Hz, 60 Hz 50 Hz
Algorithm Power flow solution algorithm radio Newton-Raphson (nr), Iwamoto (iwamoto_nr), Backward Forward Sweep (bfsw), Gauss-Seidel (gs), FDBX (fdbx), FDXB (fdxb) Newton-Raphson
Calculate Voltage Angles Whether to calculate voltage angles (required for accurate active power flow) radio Auto, True, False Auto
Initialization Initial voltage guess strategy radio Auto, Flat (1.0 pu), DC Auto
Max Iterations Maximum number of iterations before stopping number 1-1000 100
Tolerance Convergence tolerance (power mismatch) number > 0 1e-6
Enforce Q Limits Whether to enforce reactive power limits on generators checkbox Yes/No No
Export Pandapower Python Code Download generated Python code for the network checkbox Yes/No No
Export Pandapower Results Download results in text format checkbox Yes/No No
Include Controllers Run pandapower controllers during load flow (e.g., transformer Discrete Tap Control) checkbox Yes/No No

Input Parameters (OpenDSS)

Parameter Description Type Options Default
Base Frequency System frequency radio 50 Hz, 60 Hz 50 Hz
Solution Mode Type of simulation radio Snapshot (single solution), Daily (24-hour), Dutycycle (time-varying) Snapshot
Load Model Load representation radio Constant Power, Constant Current, Constant Impedance, Mixed Constant Power
Control Mode Control device behavior radio Static, Time, Event, MultiRate Static

Output Results

The load flow results include comprehensive information about network state:

Controller Results: When "Include Controllers" is enabled, a Tap Changer Control Results dialog displays controlled transformer tap positions, voltage targets, and any limit warnings.

Output Category Parameters Units
Buses Voltage magnitude (pu), Voltage angle (degrees) pu, degrees
External Grids Active power (P), Reactive power (Q), Power factor (PF), Q/P ratio MW, Mvar, -, -
Lines P_from, Q_from, I_from, P_to, Q_to, I_to, Loading percentage MW, Mvar, kA, MW, Mvar, kA, %
Transformers P_HV, Q_HV, P_LV, Q_LV, I_HV, I_LV, Loading percentage, Losses MW, Mvar, MW, Mvar, kA, kA, %, MW
Loads P, Q, S, I, Power factor MW, Mvar, MVA, kA, -
Generators P, Q, S, I, Power factor MW, Mvar, MVA, kA, -
Storage P, Q, S, I, SOC (if applicable) MW, Mvar, MVA, kA, %

Algorithm Details

Newton-Raphson Method (Default): This is the most widely used power flow algorithm, providing fast convergence for well-conditioned networks. It linearizes the power balance equations using the Jacobian matrix and iteratively solves for voltage corrections.

Other Algorithms:

  • Iwamoto: Enhanced Newton-Raphson with improved convergence for ill-conditioned systems
  • Backward Forward Sweep: Suitable for radial distribution networks
  • Gauss-Seidel: Simpler iterative method, slower convergence but more robust for some cases
  • FDBX/FDXB: Fast decoupled variants for transmission networks

Limitations and Considerations

Important Notes:

  • Load flow assumes balanced three-phase conditions (single-phase equivalent)
  • The network must have at least one external grid (slack bus) to provide power balance
  • Convergence may fail if the network is too heavily loaded or has numerical issues
  • Some algorithms may not be suitable for all network topologies (e.g., BFSW for radial networks only)
  • Results are steady-state and do not consider dynamic or transient behavior

Technical References

Based on: pandapower Power Flow Documentation and OpenDSS.

Algorithm Type: Iterative solution of power balance equations using various numerical methods.

Documentation References: 📘 pandapower Power Flow 📘 pandapower runpp()

Contingency Analysis

Contingency Analysis evaluates the robustness of a power system by simulating the impact of equipment outages (N-1, N-2, or N-K contingencies). This analysis identifies potential system vulnerabilities and ensures that the network remains stable and within operating limits even when critical elements are removed.

Use Case: Contingency Analysis is critical for:

  • Ensuring N-1 security (system remains stable after single element outage)
  • Identifying overloaded lines or transformers after contingencies
  • Detecting voltage violations following equipment outages
  • Planning system reinforcements and upgrades
  • Compliance with grid codes and reliability standards

How It Works

The contingency analysis performs the following steps:

  1. Base Case (N-0): First runs a load flow for the intact network to establish baseline conditions
  2. Contingency Definition: Identifies elements to analyze (lines, transformers, generators) based on user selection
  3. N-1/N-2/N-K Analysis: For each contingency, the selected element(s) are switched off and a new load flow is performed
  4. Limit Checking: Checks for voltage violations and thermal overloads in each contingency case
  5. Results Aggregation: Summarizes minimum and maximum values across all contingencies

Input Parameters

Parameter Description Type Options/Value Range Default
Contingency Type Number of simultaneous outages to analyze radio N-1 (single), N-2 (double), N-K (multiple) N-1
Element Type to Analyze Type of elements to consider as contingencies radio Transmission Lines, Transformers, Generators, All Elements Transmission Lines
Elements to Analyze Which elements to include in analysis radio All Elements, Critical Elements Only, Selected Elements Only All Elements
Check Voltage Limits Whether to check for voltage violations radio Yes, No Yes
Check Thermal Limits Whether to check for thermal overloads radio Yes, No Yes
Minimum Voltage (p.u.) Lower voltage limit for violation detection number 0.5 - 1.0 0.95
Maximum Voltage (p.u.) Upper voltage limit for violation detection number 1.0 - 1.5 1.05
Maximum Loading (%) Thermal loading limit for lines and transformers number 50 - 200 100
Post-Contingency Actions Whether to apply corrective actions after contingencies radio No Actions, Generation Redispatch, Load Shedding, Both No Actions

Output Results

The contingency analysis provides comprehensive results for each contingency case and aggregated statistics:

Output Category Parameters Description
Bus Voltages min_vm_pu, max_vm_pu Minimum and maximum voltage magnitude across all contingencies
Line Loading max_loading_percent, min_loading_percent, causes_overloading, cause_element, cause_index Maximum and minimum loading, whether this line causes overloads, and which contingency causes maximum loading
Transformer Loading max_loading_percent, min_loading_percent, causes_overloading, cause_element, cause_index Maximum and minimum loading, whether this transformer causes overloads, and which contingency causes maximum loading
Violations Summary Voltage violations, Thermal overloads Count and details of all limit violations across all contingencies
Critical Contingencies Contingency list List of contingencies that cause violations or system instability

Algorithm Details

The contingency analysis uses the pandapower run_contingency() function, which:

  • Performs sequential power flow calculations for each defined contingency
  • Aggregates results to find minimum and maximum values for each monitored variable
  • Identifies which contingency causes each maximum/minimum condition
  • Checks compliance with user-defined voltage and thermal limits
  • Provides detailed diagnostics for limit violations

Limitations and Considerations

Important Notes:

  • Analysis assumes no protection system operation - elements are simply removed without fault clearing
  • Each contingency is analyzed independently (sequential, not simultaneous)
  • System may become islanded in some contingencies, requiring special handling
  • Large networks with many contingencies can take significant computation time
  • Results assume steady-state conditions - dynamic stability is not evaluated
  • Post-contingency corrective actions (if enabled) are simplified and may not reflect actual operator response

Technical References

Based on: pandapower Contingency Analysis Documentation.

Algorithm Type: Sequential power flow calculations with limit checking and result aggregation.

Documentation References: 📘 pandapower Contingency Analysis 📘 run_contingency()

Optimal Power Flow (OPF)

Optimal Power Flow (OPF) determines the optimal dispatch of generation resources to minimize operating costs while satisfying all network constraints, including voltage limits, thermal limits, and generator capabilities. Unlike standard load flow, OPF optimizes an objective function subject to equality and inequality constraints.

Use Case: Optimal Power Flow is essential for:

  • Minimizing generation costs while meeting demand
  • Determining optimal generator dispatch and scheduling
  • Evaluating system economics and operating strategies
  • Planning transmission expansions and upgrades
  • Market operations and economic dispatch

How It Works

Electrisim supports two types of OPF calculations:

  1. AC Optimal Power Flow (AC OPF): Full nonlinear optimization considering active and reactive power, voltage magnitudes and angles. More accurate but computationally intensive.
  2. DC Optimal Power Flow (DC OPF): Linearized approximation that considers only active power and voltage angles. Faster but less accurate, suitable for transmission planning.

The optimization problem is solved using mathematical programming techniques (typically Interior Point Method or Sequential Quadratic Programming) to find the optimal generator dispatch that minimizes costs while respecting all operational constraints.

Input Parameters

Parameter Description Type Options/Value Range Default
OPF Type Type of optimal power flow calculation radio AC Optimal Power Flow (runopp), DC Optimal Power Flow (rundcopp) AC OPF
Frequency System frequency radio 50 Hz, 60 Hz 50 Hz
AC Algorithm Solver for AC OPF radio PYPOWER PYPOWER
DC Algorithm Solver for DC OPF radio PYPOWER PYPOWER
Calculate Voltage Angles Whether to calculate voltage angles radio Auto, True, False Auto
Initialization Initial guess strategy radio Power Flow, Flat, Previous Results Power Flow
Delta (Convergence Tolerance) Optimization convergence tolerance number > 0 1e-8
Transformer Model Transformer representation in optimization radio Exact Model (t), Pi Model (pi) Exact Model

Objective Function

The default objective function minimizes total generation cost, which is typically defined as:

Minimize: Σ (Costi × Pgen,i) for all generators i

Where Costi is the cost coefficient for generator i and Pgen,i is the active power output. Cost functions can be linear, quadratic, or piecewise linear.

Constraints

The OPF solution must satisfy:

  • Power Balance: Total generation equals total load plus losses
  • Generator Limits: Pmin ≤ Pgen ≤ Pmax, Qmin ≤ Qgen ≤ Qmax
  • Voltage Limits: Vmin ≤ V ≤ Vmax at all buses
  • Thermal Limits: Loading ≤ 100% for lines and transformers
  • Reactive Power Limits: Generator reactive power capability constraints

Output Results

The OPF results include optimized dispatch and system state:

Output Category Parameters Description
Optimization Status Status, Success flag Whether optimization converged successfully
Total Cost Objective function value Minimum total generation cost achieved (monetary units)
Generator Dispatch P_opt, Q_opt Optimal active and reactive power output for each generator
Bus Voltages vm_pu, va_degree Optimal voltage magnitudes and angles at all buses
Power Flows P_from, Q_from, P_to, Q_to, Loading Optimal power flows and loading of lines and transformers
Marginal Costs Lambda_P, Lambda_Q Shadow prices (marginal costs) for active and reactive power at each bus
Constraint Violations Violation details Information about any constraint violations if optimization failed

Algorithm Details

AC OPF: Solves the full nonlinear optimization problem using Interior Point Method (IPM) or Sequential Quadratic Programming (SQP). Provides accurate results but requires significant computation time for large networks.

DC OPF: Uses a linearized power flow model (ignoring losses and reactive power). Much faster than AC OPF but less accurate. Suitable for transmission planning where reactive power is less critical.

Solver: PYPOWER, which is based on MATPOWER and uses MATLAB optimization solvers (converted to Python).

Limitations and Considerations

Important Notes:

  • OPF assumes perfect information and deterministic conditions - does not account for uncertainty
  • Cost functions must be defined for generators (linear or quadratic coefficients)
  • AC OPF may fail to converge for heavily loaded or ill-conditioned systems
  • DC OPF ignores reactive power, losses, and voltage constraints
  • Results represent steady-state optimal dispatch - dynamic constraints are not considered
  • Large networks may require significant computation time, especially for AC OPF
  • Market rules and regulatory constraints may not be fully represented

Technical References

Based on: pandapower Optimal Power Flow Documentation and PYPOWER.

Algorithm Type: Nonlinear/Linear optimization with Interior Point Method or Sequential Quadratic Programming.

Documentation References: 📘 pandapower Optimal Power Flow 📘 PYPOWER OPF

Short Circuit

Short Circuit analysis calculates fault currents that occur when an electrical fault (short circuit) is applied to the network. This analysis is essential for sizing protective devices, determining interrupting ratings, and ensuring equipment can withstand fault conditions. The calculations follow international standards (DIN/IEC EN 60909).

Use Case: Short Circuit analysis is critical for:

  • Sizing circuit breakers and fuses with adequate interrupting capacity
  • Determining relay settings and protection coordination
  • Ensuring equipment can withstand thermal and mechanical stresses during faults
  • Compliance with grid codes and safety standards (DIN/IEC EN 60909)
  • Designing grounding systems and fault current limiting devices

How It Works

The short circuit calculation uses the superposition principle and symmetrical components to determine fault currents:

  1. Network Modeling: The network is represented using positive, negative, and zero sequence impedances
  2. Fault Application: A fault impedance is applied at the specified fault location
  3. Equivalent Circuit: The Thévenin equivalent circuit is calculated from the fault location
  4. Fault Current Calculation: Fault currents are calculated based on fault type (3-phase, 2-phase, 1-phase)
  5. Current Distribution: Currents are distributed throughout the network to determine branch contributions

Fault Types

Electrisim supports three types of short circuit faults:

  • Three-Phase Fault (3ph): Symmetrical fault affecting all three phases. Typically produces the highest fault current. Used for symmetrical interrupting capacity rating.
  • Two-Phase Fault (2ph): Fault between two phases. Produces lower fault current than three-phase. Used for phase-to-phase protection.
  • Single-Phase Fault (1ph): Fault between one phase and neutral/ground. Includes zero sequence impedance. Critical for ground fault protection and neutral sizing.

Input Parameters

Parameter Description Type Options/Value Range Default
Fault Type of short circuit fault radio Three Phase (3ph), Two Phase (2ph), Single Phase (1ph) Three Phase
Case Fault current calculation case radio Maximum (max), Minimum (min) Maximum
Voltage Tolerance in LV Grids Voltage tolerance factor for low voltage networks radio 6%, 10% 6%
Topology Network topology classification radio Auto, Radial, Meshed Auto
Failure Clearing Time (s) Fault duration for thermal rating (ith calculation) number > 0 1.0
Fault Resistance (Ohm) Resistance at fault location (for arc fault modeling) number ≥ 0 0
Fault Reactance (Ohm) Reactance at fault location number ≥ 0 0
Inverse Should Be Used Instead of LU Factorization Solution method preference radio True, False True

Calculation Cases

According to DIN/IEC EN 60909, different calculation cases are used:

  • Maximum Case (Ik"): Highest fault current (typically for breaker sizing). Assumes maximum generation, minimum impedances, voltage = 1.1 pu (cmax).
  • Minimum Case (Ik'): Lowest fault current (typically for protection coordination). Assumes minimum generation, maximum impedances, voltage = 0.9 pu (cmin).

Output Results

The short circuit analysis provides detailed fault current information:

Output Category Parameters Description Units
Fault Location Bus name, Fault type Location and type of applied fault -
Initial Symmetrical Current Ik" (initial symmetrical short-circuit current) Fault current at t=0 (symmetrical component) kA
Peak Current ip (peak short-circuit current) Maximum instantaneous fault current including DC offset kA
Breaking Current Ib (breaking current) Fault current at breaker opening time (symmetrical) kA
Steady-State Current Ik (steady-state short-circuit current) Fault current after transients decay kA
Thermal Current Ith (thermal equivalent current) Equivalent RMS current for thermal rating based on fault duration kA
Branch Contributions I_from, I_to for each branch Fault current contribution from each line/transformer kA
Generator Contributions I_gen for each generator Fault current contribution from each generator kA
Voltage Profile V_fault at all buses Voltage magnitude at all buses during fault kV or pu

Algorithm Details

The short circuit calculation follows DIN/IEC EN 60909 standard:

  • Voltage Factor (c): cmax = 1.1 for maximum case, cmin = 0.9 for minimum case (low voltage)
  • Impedance Correction: Generator and transformer impedances are corrected according to the standard
  • Far-from-Generator Approximation: Used when fault is far from generators (symmetrical current decays quickly)
  • Near-to-Generator: Special handling when fault is close to generators (asynchronous contribution)
  • Solution Method: Matrix inversion or LU factorization of network admittance matrix

Limitations and Considerations

Important Notes:

  • Calculations assume balanced pre-fault conditions and symmetrical source impedances
  • Fault resistance/reactance can be specified but arc fault modeling may require additional considerations
  • Results are based on steady-state fault analysis - dynamic transients are approximated
  • Motor contributions to fault current may require special modeling
  • Grounding system impedance significantly affects single-phase fault currents
  • Results are valid for the specified fault location - multiple fault locations require separate calculations
  • Protection device characteristics (opening time, arcing) are not modeled in the base calculation

Short Circuit based on OpenDSS

In addition to the Pandapower (IEC 60909) short circuit analysis, Electrisim offers short circuit calculation based on OpenDSS. In the Short Circuit dialog, select the OpenDSS tab to run a conventional fault study using the Open-Source Distribution System Simulator.

OpenDSS fault study (Solve Mode=FaultStudy) computes for every bus:

  • Initial symmetrical short-circuit current (I''k, ikss) in kA
  • Peak short-circuit current (ip, ip) in kA
  • Thermal short-circuit current (Ith, ith) in kA
  • Positive-sequence short-circuit resistance (Rk, rk_ohm) and reactance (Xk, xk_ohm) in ohms

Fault type (e.g. 3-phase) and frequency can be set in the OpenDSS tab. Results are shown on the diagram at each busbar. This option uses the same network model as OpenDSS load flow (buses, lines, loads, generators, external grid).

OpenDSS references: Fault Studies, Fault Study Mode, Bus.Isc().

Technical References

Based on: pandapower Short Circuit Documentation and DIN/IEC EN 60909 standard (Pandapower); OpenDSS fault study (OpenDSS).

Algorithm Type: Pandapower: symmetrical components method with impedance-based fault calculation following international standards. OpenDSS: conventional fault study with Thévenin equivalent and open-circuit voltage per bus.

Documentation References: 📘 pandapower Short Circuit 📘 Short Circuit Calculation 📗 OpenDSS Fault Studies

Standards: IEC 60909: Short-circuit currents in three-phase a.c. systems (Pandapower).

Battery Sizing for Busbar Requirements

The Battery Sizing for Busbar Requirements functionality allows you to calculate the required Battery Energy Storage System (BESS) power output to achieve specific active power (P) and reactive power (Q) targets at a Point of Coupling (POC) busbar.

Use Case: This tool is particularly useful for:

  • Determining BESS capacity needed to meet grid connection requirements
  • Evaluating multiple operational scenarios (load supply, power export, reactive support, etc.)
  • Optimizing BESS sizing for different target P/Q conditions at the POC

How It Works

The sizing algorithm uses an iterative control loop approach based on pandapower's control framework:

  1. Initial Guess: The algorithm starts with an initial estimate of BESS power based on the target P and Q values, accounting for expected losses (typically 5% overhead).
  2. Iterative Control Loop: A proportional controller adjusts BESS active and reactive power iteratively until the target P/Q at the POC is achieved within the specified tolerance.
  3. Power Flow Analysis: Each iteration runs a Newton-Raphson power flow to evaluate the current network state and calculate the error between target and achieved P/Q values.
  4. Convergence Check: The algorithm converges when both P and Q errors are below the specified tolerance, or reaches the maximum number of iterations.

Input Parameters

Parameter Description Type Value Range Default
Storage Selection Select the Battery/Storage element in the network to be sized dropdown Available storage elements -
POC Busbar Point of Coupling busbar where target P/Q should be achieved (typically connected to external grid) dropdown Available busbars -
Calculation Mode Select between "Single Target at POC" or "Multiple Scenarios" radio single, multiple single
Target P (MW) Target active power at POC in MW
Positive = consumption from grid, Negative = generation to grid
number Any real number 10.0
Target Q (Mvar) Target reactive power at POC in Mvar
Positive = inductive (lagging), Negative = capacitive (leading)
number Any real number 5.0
Convergence Tolerance Convergence criterion in MW/Mvar - algorithm stops when both P and Q errors are below this value number > 0 0.001
Max Iterations Maximum number of control loop iterations before stopping integer 1-200 50
Proportional Gain (P) Proportional gain for active power control loop number > 0 0.5
Proportional Gain (Q) Proportional gain for reactive power control loop number > 0 0.5
Frequency System frequency (50 Hz or 60 Hz) radio 50, 60 50 Hz
Algorithm Power flow algorithm to use radio nr, iwamoto_nr, bfsw Newton-Raphson (nr)

Multiple Scenarios Mode

When selecting "Multiple Scenarios" mode, you can evaluate five different operational scenarios simultaneously. Each scenario has editable target P and Q values:

Scenario Default P (MW) Default Q (Mvar) Typical Use Case
Load Supply 15.0 8.0 BESS supplying load demand with inductive reactive power
Power Export -20.0 -5.0 BESS exporting power to grid with capacitive reactive power
Reactive Support 0.0 10.0 BESS providing only reactive power support (voltage regulation)
Capacitive Support 5.0 -8.0 BESS providing active power and capacitive reactive power
Balanced 10.0 5.0 Balanced active and reactive power scenario

All scenario values are editable before running the calculation. The results show the required BESS power for each scenario separately, allowing you to determine the maximum BESS capacity needed across all scenarios.

Output Results

For each scenario (or single target), the results include:

Output Parameter Description Unit
Required BESS Power (P) Active power output required from BESS
Negative = discharging (generation), Positive = charging (consumption)
MW
Required BESS Power (Q) Reactive power output required from BESS
Positive = inductive, Negative = capacitive
Mvar
Apparent Power (S) Total apparent power required: S = √(P² + Q²) MVA
Achieved P at POC Actual active power achieved at Point of Coupling after BESS control MW
Achieved Q at POC Actual reactive power achieved at Point of Coupling after BESS control Mvar
Error P Difference between target and achieved active power at POC MW
Error Q Difference between target and achieved reactive power at POC Mvar
Converged Whether the algorithm converged within tolerance Yes/No
Iterations Number of control loop iterations performed integer

Visualization (Multiple Scenarios Only)

When running multiple scenarios, the results include two visualization plots:

  1. POC P–Q (Target vs Achieved) Plot: Shows a scatter plot comparing target and achieved P/Q values at the Point of Coupling. Blue circles represent target values, green circles represent achieved values. Dashed lines connect target-achieved pairs for each scenario.
  2. Required BESS P–Q Plot: Shows a scatter plot of the required BESS active and reactive power for each scenario. Green circles represent the calculated BESS requirements.

Both plots include grid lines, axis labels, and scenario name annotations for easy identification.

Algorithm Details

The sizing algorithm implements a proportional controller with the following characteristics:

  • Initial Guess: initial_p = -target_p_mw × 1.05 and initial_q = -target_q_mvar × 1.05. The negative sign accounts for the fact that BESS must discharge (negative P from BESS perspective) to supply positive power at POC, and the 1.05 factor accounts for losses.
  • Control Loop: Uses proportional control with damping factor of 0.5 to prevent oscillations:
    • delta_p = -kp_p × error_p × damping
    • delta_q = -kp_q × error_q × damping
  • Sign Convention:
    • At POC: Positive P = consumption from grid, Negative P = generation to grid
    • For BESS: Negative P = discharging (generation), Positive P = charging (consumption)
  • Convergence: Algorithm converges when |error_p| < tolerance AND |error_q| < tolerance

Limitations and Considerations

Important Notes:

  • The algorithm may not converge if the target P/Q values are outside the BESS capability limits
  • Network losses are automatically accounted for in the calculation
  • For time-series analysis (state-of-charge tracking), additional energy capacity parameters are required
  • This sizing calculation is for steady-state power flow and does not consider dynamic behavior
  • If convergence fails, try increasing max iterations, adjusting proportional gains, or checking if targets are feasible

Technical References

Based on: pandapower control framework with custom BESS control controller implementation.

Algorithm Type: Iterative proportional control with Newton-Raphson power flow solver.

Documentation References: 📘 pandapower Control Documentation 📘 pandapower Storage Element

Development Process

Electrisim is continuously being developed to provide enhanced features and capabilities for power system analysis.

Contributing

Electrisim is built on open-source foundations, and we welcome contributions from the community. Whether you're reporting bugs, suggesting features, or contributing code, your input helps make Electrisim better.

Roadmap

Future developments planned for Electrisim include:

  • Enhanced visualization capabilities
  • Additional analysis methods
  • Improved user interface and workflow
  • Extended element libraries
  • Advanced controller implementations
  • Integration with more open-source tools

Feedback and Support

If you encounter any issues or have suggestions for improvement, please contact us through the contact form on the main website or visit our GitHub repository.

Version History

Electrisim is regularly updated with bug fixes, performance improvements, and new features. Check the application for the latest version information.

Acknowledgments

Electrisim would not be possible without the excellent work of the following development teams and projects:

  • pandapower - A powerful Python library for power system analysis and optimization.
  • OpenDSS - An open-source distribution system simulator developed by EPRI.
  • draw.io - The diagramming framework that powers Electrisim's visual interface, enabling intuitive drag-and-drop network design.

We are grateful for their continued development and maintenance of these powerful open-source tools.

Last updated: October 2025