Three Winding Transformer

Create Function

pandapower.create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tp_pos=<Mock name='mock.nan' id='140428840819960'>, in_service=True, index=None, max_loading_percent=<Mock name='mock.nan' id='140428840819960'>)

Creates a three-winding transformer in table net[“trafo3w”]. The trafo parameters are defined through the standard type library.

INPUT:

net - The net within this transformer should be created

hv_bus (int) - The bus on the high-voltage side on which the transformer will be connected to

mv_bus (int) - The medium voltage bus on which the transformer will be connected to

lv_bus (int) - The bus on the low-voltage side on which the transformer will be connected to

std_type - The used standard type from the standard type library

OPTIONAL:

name (string) - A custom name for this transformer

tp_pos (int, nan) - current tap position of the transformer. Defaults to the medium position (tp_mid)

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

index (int) - Force a specified ID if it is available

max_loading_percent (float) - maximum current loading (only needed for OPF)

OUTPUT:
trafo_id - The unique trafo_id of the created transformer
EXAMPLE:
create_transformer3w(net, hv_bus = 0, mv_bus = 1, lv_bus = 2, name = “trafo1”, std_type = “63/25/38 MVA 110/20/10 kV”)
pandapower.create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, vn_mv_kv, vn_lv_kv, sn_hv_kva, sn_mv_kva, sn_lv_kva, vsc_hv_percent, vsc_mv_percent, vsc_lv_percent, vscr_hv_percent, vscr_mv_percent, vscr_lv_percent, pfe_kw, i0_percent, shift_mv_degree=0.0, shift_lv_degree=0.0, tp_side=None, tp_st_percent=<Mock name='mock.nan' id='140428840819960'>, tp_pos=<Mock name='mock.nan' id='140428840819960'>, tp_mid=<Mock name='mock.nan' id='140428840819960'>, tp_max=<Mock name='mock.nan' id='140428840819960'>, tp_min=<Mock name='mock.nan' id='140428840819960'>, name=None, in_service=True, index=None, max_loading_percent=<Mock name='mock.nan' id='140428840819960'>)

Adds a three-winding transformer in table net[“trafo3w”].

Input:

net (pandapowerNet) - The net within this transformer should be created

hv_bus (int) - The bus on the high-voltage side on which the transformer will be connected to

mv_bus (int) - The bus on the middle-voltage side on which the transformer will be connected to

lv_bus (int) - The bus on the low-voltage side on which the transformer will be connected to

vn_hv_kv (float) rated voltage on high voltage side

vn_mv_kv (float) rated voltage on medium voltage side

vn_lv_kv (float) rated voltage on low voltage side

sn_hv_kva (float) - rated apparent power on high voltage side

sn_mv_kva (float) - rated apparent power on medium voltage side

sn_lv_kva (float) - rated apparent power on low voltage side

vsc_hv_percent (float) - short circuit voltage from high to medium voltage

vsc_mv_percent (float) - short circuit voltage from medium to low voltage

vsc_lv_percent (float) - short circuit voltage from high to low voltage

vscr_hv_percent (float) - real part of short circuit voltage from high to medium voltage

vscr_mv_percent (float) - real part of short circuit voltage from medium to low voltage

vscr_lv_percent (float) - real part of short circuit voltage from high to low voltage

pfe_kw (float) - iron losses

i0_percent (float) - open loop losses

OPTIONAL:

shift_mv_degree (float, 0) - angle shift to medium voltage side*

shift_lv_degree (float, 0) - angle shift to low voltage side*

tp_st_percent (float) - Tap step in percent

tp_side (string, None) - “hv”, “mv”, “lv”

tp_mid (int, nan) - default tap position

tp_min (int, nan) - Minimum tap position

tp_max (int, nan) - Maximum tap position

tp_pos (int, nan) - current tap position of the transformer. Defaults to the medium position (tp_mid)

name (string, None) - Name of the 3-winding transformer

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

* only considered in loadflow if calculate_voltage_angles = True **The model currently only supports one tap-changer per 3W Transformer.

max_loading_percent (float) - maximum current loading (only needed for OPF)

OUTPUT:
trafo_id - The unique trafo_id of the created 3W transformer
Example:
create_transformer3w_from_parameters(net, hv_bus=0, mv_bus=1, lv_bus=2, name=”trafo1”, sn_hv_kva=40, sn_mv_kva=20, sn_lv_kva=20, vn_hv_kv=110, vn_mv_kv=20, vn_lv_kv=10, vsc_hv_percent=10, vsc_mv_percent=11, vsc_lv_percent=12, vscr_hv_percent=0.3, vscr_mv_percent=0.31, vscr_lv_percent=0.32, pfe_kw=30, i0_percent=0.1, shift_mv_degree=30, shift_lv_degree=30)

Note

All short circuit voltages are given relative to the maximum apparent power flow. For example vsc_hv_percent is the short circuit voltage from the high to the medium level, it is given relative to the minimum of the rated apparent power in high and medium level: min(sn_hv_kva, sn_mv_kva). This is consistent with most commercial network calculation software (e.g. PowerFactory). Some tools (like PSS Sincal) however define all short ciruit voltages relative to the overall rated apparent power of the transformer: max(sn_hv_kva, sn_mv_kva, sn_lv_kva). You might have to convert the values depending on how the short-circuit voltages are defined.

Input Parameters

net.trafo3w

Parameter Datatype Value Range Explanation
name string   name of the transformer
hv_bus* integer   high voltage bus index of the transformer
mv_bus integer   medium voltage bus index of the transformer
lv_bus* integer   low voltage bus index of the transformer
vn_hv_kv* float   rated voltage at high voltage bus [kV]
vn_mv_kv* float \(>\) 0 rated voltage at medium voltage bus [kV]
vn_lv_kv* float \(>\) 0 rated voltage at low voltage bus [kV]
sn_hv_kva* float \(>\) 0 rated apparent power on high voltage side [kVA]
sn_mv_kva* float \(>\) 0 rated apparent power on medium voltage side [kVA]
sn_lv_kva* float \(>\) 0 rated apparent power on low voltage side [kVA]
vsc_hv_percent* float \(>\) 0 short circuit voltage from high to medium voltage [%]
vsc_mv_percent* float \(>\) 0 short circuit voltage from medium to low voltage [%]
vsc_lv_percent* float \(>\) 0 short circuit voltage from high to low voltage [%]
vscr_hv_percent* float \(\geq\) 0 real part of short circuit voltage from high to medium voltage [%]
vscr_mv_percent* float \(\geq\) 0 real part of short circuit voltage from medium to low voltage [%]
vscr_lv_percent* float \(\geq\) 0 real part of short circuit voltage from high to low voltage [%]
pfe_kw* float \(\geq\) 0 iron losses [kW]
i0_percent* float \(\geq\) 0 open loop losses [%]
tp_side string “hv”, “mv”, “lv” defines if tap changer is positioned on high- medium- or low voltage side
tp_mid integer    
tp_min integer   minimum tap position
tp_max integer   maximum tap position
tp_st_percent float \(>\) 0 tap step size [%]
tp_pos integer   current position of tap changer
in_service* boolean True/False specifies if the transformer is in service.

*necessary for executing a power flow calculation.

Note

Three Winding Transformer loading can not yet be constrained with the optimal power flow.

Electric Model

Three Winding Transformers are modelled by three two-winding transformers:

alternate Text

The parameters of the three transformers are defined as follows:

  T1 T2 T3
hv_bus hv_bus auxiliary bus auxiliary bus
lv_bus auxiliary bus mv_bus lv_bus
sn_kva sn_hv_kva sn_mv_kva sn_lv_kva
vn_hv_kv vn_hv_kv vn_hv_kv vn_hv_kv
vn_lv_kv vn_hv_kv vn_mv_kv vn_lv_kv
vsc_percent \(v_{k, t1}\) \(v_{k, t2}\) \(v_{k, t3}\)
vscr_percent \(v_{r, t1}\) \(v_{r, t2}\) \(v_{r, t3}\)
pfe_kw pfe_kw 0 0
i0_percent i0_percent 0 0
shift_degree shift_degree 0 0

The definition of the two winding transformer parameter can be found here.

To calculate the short-circuit voltages \(v_{k, t1..t3}\) and \(v_{r, t1..t3}\), first all short-circuit voltages are converted to the high voltage level:

\begin{align*} v'_{k, h} &= vsc\_hv\_percent \\ v'_{k, m} &= vsc\_mv\_percent \cdot \frac{sn\_hv\_kva}{sn\_mv\_kva} \\ v'_{k, l} &= vsc\_lv\_percent \cdot \frac{sn\_hv\_kva}{sn\_lv\_kva} \end{align*}

The short-circuit voltages of the three transformers are then calculated as follows:

\begin{align*} v'_{k, t1} &= \frac{1}{2} (v'_{k, h} + v'_{k, l} - v'_{k, m}) \\ v'_{k, t2} &= \frac{1}{2} (v'_{k, m} + v'_{k, h} - v'_{k, l}) \\ v'_{k, t3} &= \frac{1}{2} (v'_{k, m} + v'_{k, l} - v'_{k, h}) \end{align*}

Since these voltages are given relative to the high voltage side, they have to be transformed back to the voltage level of each transformer:

\begin{align*} v_{k, t1} &= v'_{k, t1} \\ v_{k, t2} &= v'_{k, t2} \cdot \frac{sn\_mv\_kva}{sn\_hv\_kva} \\ v_{k, t3} &= v'_{k, t3} \cdot \frac{sn\_lv\_kva}{sn\_hv\_kva} \end{align*}

The real part of the short-circuit voltage is calculated in the same way.

Note

All short circuit voltages are given relative to the maximum apparent power flow. For example vsc_hv_percent is the short circuit voltage from the high to the medium level, it is given relative to the minimum of the rated apparent power in high and medium level: min(sn_hv_kva, sn_mv_kva). This is consistent with most commercial network calculation software (e.g. PowerFactory). Some tools (like PSS Sincal) however define all short circuit voltages relative to the overall rated apparent power of the transformer: max(sn_hv_kva, sn_mv_kva, sn_lv_kva). You might have to convert the values depending on how the short-circuit voltages are defined.

The tap changer adapts the nominal voltages of the transformer in the equivalent to the 2W-Model:

  tp_side=”hv” tp_side=”mv” tp_side=”lv”
\(V_{n, HV, transformer}\) \(vnh\_kv \cdot n_{tap}\) \(vnh\_kv\) \(vnh\_kv\)
\(V_{n, MV, transformer}\) \(vnm\_kv\) \(vnm\_kv \cdot n_{tap}\) \(vnm\_kv\)
\(V_{n, LV, transformer}\) \(vnl\_kv\) \(vnl\_kv\) \(vnl\_kv \cdot n_{tap}\)

with

\begin{align*} n_{tap} = 1 + (tp\_pos - tp\_mid) \cdot \frac{tp\_st\_percent}{100} \end{align*}

Result Parameters

net.res_trafo3w

Parameter Datatype Explanation
p_hv_kw float active power flow at the high voltage transformer bus [kW]
q_hv_kvar float reactive power flow at the high voltage transformer bus [kVar]
p_mv_kw float active power flow at the medium voltage transformer bus [kW]
q_mv_kvar float reactive power flow at the medium voltage transformer bus [kVar]
p_lv_kw float active power flow at the low voltage transformer bus [kW]
q_lv_kvar float reactive power flow at the low voltage transformer bus [kVar]
pl_kw float active power losses of the transformer [kW]
ql_kvar float reactive power consumption of the transformer [kvar]
i_hv_ka float current at the high voltage side of the transformer [kA]
i_mv_ka float current at the medium voltage side of the transformer [kA]
i_lv_ka float current at the low voltage side of the transformer [kA]
loading_percent float transformer utilization [%]
\begin{align*} p\_hv\_kw &= Re(\underline{v}_{hv} \cdot \underline{i}_{hv}) \\ q\_hv\_kvar &= Im(\underline{v}_{hv} \cdot \underline{i}_{hv}) \\ p\_mv\_kw &= Re(\underline{v}_{mv} \cdot \underline{i}_{mv}) \\ q\_mv\_kvar &= Im(\underline{v}_{mv} \cdot \underline{i}_{mv}) \\ p\_lv\_kw &= Re(\underline{v}_{lv} \cdot \underline{i}_{lv}) \\ q\_lv\_kvar &= Im(\underline{v}_{lv} \cdot \underline{i}_{lv}) \\ pl\_kw &= p\_hv\_kw + p\_lv\_kw \\ ql\_kvar &= q\_hv\_kvar + q\_lv\_kvar \\ i\_hv\_ka &= i_{hv} \\ i\_mv\_ka &= i_{mv} \\ i\_lv\_ka &= i_{lv} \end{align*}

The definition of the transformer loading depends on the trafo_loading parameter of the power flow.

For trafo_loading=”current”, the loading is calculated as:

\begin{align*} loading\_percent &= max(\frac{i_{hv} \cdot vn\_hv\_kv}{sn\_hv\_kva}, \frac{i_{mv} \cdot vn\_mv\_kv}{sn\_mv\_kva}, \frac{i_{lv} \cdot vn\_lv\_kv}{sn\_lv\_kva}) \cdot 100 \end{align*}

For trafo_loading=”power”, the loading is defined as:

\begin{align*} loading\_percent &= max( \frac{i_{hv} \cdot v_{hv}}{sn\_hv\_kva}, \frac{i_{mv} \cdot v_{mv}}{sn\_mv\_kva}, \frac{i_{lv} \cdot v_{lv}}{sn\_lv\_kva}) \cdot 100 \end{align*}