# Storage¶

## Create Function¶

pandapower.create_storage(net, bus, p_kw, max_e_kwh, q_kvar=0, sn_kva=nan, soc_percent=nan, min_e_kwh=0.0, 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)

Adds a storage to the network.

In order to simulate a storage system it is possible to use sgens or loads to model the discharging or charging state. The power of a storage can be positive or negative, so the use of either a sgen or a load is (per definition of the elements) not correct. To overcome this issue, a storage element can be created.

As pandapower is not a time dependend simulation tool and there is no time domain parameter in default power flow calculations, the state of charge (SOC) is not updated during any power flow calculation. The implementation of energy content related parameters in the storage element allows to create customized, time dependend simulations by running several power flow calculations and updating variables manually.

INPUT:

net - The net within this storage should be created

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

p_kw (float) - The momentary real power of the storage (positive for charging, negative for discharging)

max_e_kwh (float) - The maximum energy content of the storage (maximum charge level)

OPTIONAL:

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

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

soc_percent (float, NaN) - The state of charge of the storage

min_e_kwh (float, 0) - The minimum energy content of the storage (minimum charge level)

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

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 storage

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

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

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

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

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

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

OUTPUT:
index (int) - The unique ID of the created storage
EXAMPLE:
create_storage(net, 1, p_kw = -30, max_e_kwh = 60, soc_percent = 1.0, min_e_kwh = 5)

## Input Parameters¶

net.storage

 Parameter Datatype Value Range Explanation name string name of the storage unit bus* integer index of connected bus p_kw* float $$\leq$$ 0 Momentary real power of the storage (positive for charging, negative for discharging) q_kvar* float Reactive power of the storage [kVar] sn_kva float $$>$$ 0 Nominal power ot the storage [kVA] scaling* float $$\geq$$ 0 scaling factor for the active and reactive power soc_percent float 0 $$\leq$$ soc_percent $$\leq$$ 100 The state of charge of the storage max_e_kwh float The maximum energy content of the storage (maximum charge level) min_e_kwh float The minimum energy content of the storage (minimum charge level) 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 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¶

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

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

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

Note

Since all power values are given in the consumer system, negative power models charging and positive activee power models discharging.

Note

The apparent power value sn_kva, state of charge soc and storage capacity max_e_kwh are 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_storage

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

The power values in the net.res_storage table are equivalent to $$P_{storage}$$ and $$Q_{storage}$$.