StaticInjection Subtypes Comparison
This document summarizes the similarities and differences between StaticInjection subtypes in PowerSystems.jl, with emphasis on generators, loads, storage, and sources. Some control-related subtypes–like FACTS devices–are omitted from the below charts, simply because they have very little in common with the other subtypes. For all subtypes of StaticInjection, see Type Tree.
Power Limits Fields Comparison
Generators
| Type | active_power_limits | max_active_power | reactive_power_limits | max_reactive_power |
|---|---|---|---|---|
ThermalStandard | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
ThermalMultiStart | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
RenewableDispatch | ❌ | ❌ ¹ | ✅ MinMax (optional) | ❌ |
RenewableNonDispatch | ❌ | ❌ | ❌ | ❌ |
HydroDispatch | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
HydroTurbine | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
HydroPumpTurbine | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
Loads
| Type | active_power_limits | max_active_power | reactive_power_limits | max_reactive_power |
|---|---|---|---|---|
PowerLoad | ❌ | ✅ Float64 | ❌ | ✅ Float64 |
StandardLoad | ❌ | ⊕ | ❌ | ⊕ |
ExponentialLoad | ❌ | ✅ Float64 | ❌ | ✅ Float64 |
MotorLoad | ❌ | ✅ Float64 | ✅ MinMax (optional) | ❌ |
InterruptiblePowerLoad | ❌ | ✅ Float64 | ❌ | ✅ Float64 |
InterruptibleStandardLoad | ❌ | ⊕ | ❌ | ⊕ |
ShiftablePowerLoad | ✅ MinMax | ✅ Float64 | ❌ | ✅ Float64 |
Storage & Source
| Type | active_power_limits | max_active_power | reactive_power_limits | max_reactive_power |
|---|---|---|---|---|
EnergyReservoirStorage | ❌ ² | ❌ | ✅ MinMax (optional) | ❌ |
Source | ✅ MinMax | ❌ | ✅ MinMax (optional) | ❌ |
¹ Uses rating * power_factor dynamically; no stored field
² EnergyReservoirStorage uses input_active_power_limits and output_active_power_limits instead
Here, "MinMax (optional)" means Union{MinMax, Nothing}, with nothing repesenting "no limits" and being the default.
⊕ = Split across 3 ZIP fields: *_constant_*, *_impedance_*, *_current_*
Generator-Specific Fields
| Field | Thermal* | RenewableDispatch | RenewableNonDispatch | HydroDispatch | HydroTurbine | HydroPumpTurbine |
|---|---|---|---|---|---|---|
rating | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
prime_mover_type | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
fuel | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
status | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ |
must_run | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
ramp_limits | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
time_limits | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
power_factor | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
efficiency | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
operation_cost | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
* Thermal = ThermalStandard, ThermalMultiStart
Load-Specific Fields
| Field | PowerLoad | StandardLoad | ExponentialLoad | MotorLoad | Interruptible* | Shiftable |
|---|---|---|---|---|---|---|
active_power | ✅ | ⊕ | ✅ | ✅ | ✅ | ✅ |
reactive_power | ✅ | ⊕ | ✅ | ✅ | ✅ | ✅ |
conformity | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
operation_cost | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
rating | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
α, β (voltage exp.) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
* Interruptible = InterruptiblePowerLoad, InterruptibleStandardLoad; Shiftable = ShiftablePowerLoad
Universal Fields (All StaticInjection)
| Field | Present in ALL |
|---|---|
name | ✅ |
available | ✅ |
bus | ✅ |
base_power | ✅ |
services | ✅ |
dynamic_injector | ✅ |
ext | ✅ |
internal | ✅ |