Static Generator

Create Function

pandapower.create_sgen(net, bus, p_kw, q_kvar=0, sn_kva=nan, name=None, index=None, scaling=1., type=None, in_service=True, max_p_kw=nan, min_p_kw=nan, max_q_kvar=nan, min_q_kvar=nan, controllable=nan, k=nan, rx=nan)

Adds one static generator in table net[“sgen”].

Static generators are modelled as negative PQ loads. This element is used to model generators with a constant active and reactive power feed-in. If you want to model a voltage controlled generator, use the generator element instead.

All elements in the grid are modelled in the consumer system, including generators! If you want to model the generation of power, you have to assign a negative active power to the generator. Please pay attention to the correct signing of the reactive power as well.

INPUT:

net - The net within this static generator should be created

bus (int) - The bus id to which the static generator is connected

p_kw (float) - The real power of the static generator (negative for generation!)

OPTIONAL:

q_kvar (float, default 0) - The reactive power of the sgen

sn_kva (float, default None) - Nominal power of the sgen

name (string, default None) - The name for this sgen

index (int, None) - Force a specified ID if it is available. If None, the index one higher than the highest already existing index is selected.

scaling (float, 1.) - An OPTIONAL scaling factor to be set customly

type (string, None) - type variable to classify the static generator

in_service (boolean) - True for in_service or False for out of service

max_p_kw (float, NaN) - Maximum active power injection - necessary for controllable sgens in OPF

min_p_kw (float, NaN) - Minimum active power injection - necessary for controllable sgens in OPF

max_q_kvar (float, NaN) - Maximum reactive power injection - necessary for controllable sgens in OPF

min_q_kvar (float, NaN) - Minimum reactive power injection - necessary for controllable sgens in OPF

controllable (bool, NaN) - Whether this generator is controllable by the optimal powerflow

k (float, NaN) - Ratio of nominal current to short circuit current

rx (float, NaN) - R/X ratio for short circuit impedance. Only relevant if type is specified as motor so that sgen is treated as asynchronous motor

OUTPUT:
index (int) - The unique ID of the created sgen
EXAMPLE:
create_sgen(net, 1, p_kw = -120)
pandapower.create_sgen_from_cosphi(net, bus, sn_kva, cos_phi, mode, **kwargs)

Creates an sgen element from rated power and power factor cos(phi).

INPUT:

net - The net within this static generator should be created

bus (int) - The bus id to which the static generator is connected

sn_kva (float) - rated power of the generator

cos_phi (float) - power factor cos_phi

mode (str) - “ind” for inductive or “cap” for capacitive behaviour

OUTPUT:
index (int) - The unique ID of the created sgen

All elements including generators are modeled from a consumer point of view. Active power will therefore always be negative, reactive power will be negative for inductive behaviour and positive for capacitive behaviour.

Input Parameters

net.sgen

Parameter Datatype Value Range Explanation
name string   name of the static generator
type string
naming conventions:
“PV” - photovoltaic system
“WP” - wind power system
“CHP” - combined heating and power system
type of generator
bus* integer   index of connected bus
p_kw* float \(\leq\) 0 active power of the static generator [kW]
q_kvar* float   reactive power of the static generator [kVar]
sn_kva float \(>\) 0 rated power ot the static generator [kVA]
scaling* float \(\geq\) 0 scaling factor for the active and reactive power
max_p_kw** float   Maximum active power
min_p_kw** float   Minimum active power
max_q_kvar** float   Maximum reactive power
min_q_kvar** float   Minimum reactive power
controllable** bool   States if sgen is controllable or not, sgen will not be used as a flexibilty if it is not controllable
k*** float \(\geq\) 0 Ratio of nominal current to short circuit current
rx*** float \(\geq\) 0 R/X ratio for short circuit impedance. Only relevant if type is specified as motor so that sgen is treated as asynchronous motor
in_service* boolean True / False specifies if the generator is in service.

*necessary for executing a power flow calculation
**optimal power flow parameter

Electric Model

Static Generators are modelled as PQ-buses in the power flow calculation:

alternate Text

The PQ-Values are calculated from the parameter table values as:

\begin{align*} P_{sgen} &= p\_kw \cdot scaling \\ Q_{sgen} &= q\_kvar \cdot scaling \\ \end{align*}

Note

Static generators should always have a negative p_kw value, since all power values are given in the consumer system. If you want to model constant power consumption, please use the load element instead of a static generator with positive active power value. If you want to model a voltage controlled generator, use the generator element.

Note

The apparent power value sn_kva is provided as additional information for usage in controller or other applications based on panadapower. It is not considered in the power flow!

Result Parameters

net.res_sgen

Parameter Datatype Explanation
p_kw float resulting active power demand after scaling [kW]
q_kvar float resulting reactive power demand after scaling [kVar]

The power values in the net.res_sgen table are equivalent to \(P_{sgen}\) and \(Q_{sgen}\).