Line_dc

Create Function

DC lines can be either created from the standard type library (create_line_dc) or with custom values (create_line_dc_from_parameters).

pandapower.create_line_dc(net, from_bus_dc, to_bus_dc, length_km, std_type, name=None, index=None, geodata=None, df=1.0, parallel=1, in_service=True, max_loading_percent=nan, alpha=nan, temperature_degree_celsius=nan, **kwargs)

Creates a line element in net[“line_dc”] The line_dc parameters are defined through the standard type library.

Parameters:
  • created (**net** - The net within this line should be)

  • **from_bus_dc** (int)

  • **to_bus_dc** (int)

  • **length_km** (float)

  • **std_type** (string) –

    • Pre-defined in standard_linetypes

    or

    • Customized std_type made using create_std_type()

  • **name** (string, None)

  • **index** (int, None)

  • **geodata**

  • (array (,2L))

  • None (default)

  • shape= (,2L))

  • coordinates (The line geodata of the line_dc. The first row should be the)

  • points (of bus a and the last should be the coordinates of bus b. The)

  • line (in the middle represent the bending points of the)

  • **in_service** (boolean, True)

  • **df** (float, 1) – maximum current of line_dc in relation to nominal current of line (from 0 to 1)

  • **parallel** (integer, 1)

  • **max_loading_percent (float)

  • **alpha (float) – R(T) = R(T_0) * (1 + alpha * (T - T_0))

  • **temperature_degree_celsius (float)

  • **tdpf (bool)

  • **wind_speed_m_per_s (float)** - wind speed at the line in m/s (TDPF)

  • **wind_angle_degree (float)** - angle of attack between the wind direction and the line (TDPF)

  • **conductor_outer_diameter_m (float)** - outer diameter of the line conductor in m (TDPF)

  • **air_temperature_degree_celsius (float)** - ambient temperature in °C (TDPF)

  • **reference_temperature_degree_celsius (float)** - reference temperature in °C for which r_ohm_per_km for the line_dc is specified (TDPF)

  • **solar_radiation_w_per_sq_m (float)** - solar radiation on horizontal plane in W/m² (TDPF)

  • **solar_absorptivity (float)** - Albedo factor for absorptivity of the lines (TDPF)

  • **emissivity (float)** - Albedo factor for emissivity of the lines (TDPF)

  • **r_theta_kelvin_per_mw (float)** - thermal resistance of the line (TDPF, only for simplified method)

  • **mc_joule_per_m_k (float)** - specific mass of the conductor multiplied by the specific thermal capacity of the material (TDPF, only for thermal inertia consideration with tdpf_delay_s parameter)

  • net (pandapowerNet)

  • from_bus_dc (int | integer)

  • to_bus_dc (int | integer)

  • length_km (float)

  • std_type (str)

  • name (str | None)

  • index (int | integer | None)

  • geodata (Iterable[tuple[float, float]] | None)

  • df (float)

  • parallel (int)

  • in_service (bool)

  • **max_loading_percent

  • **alpha

  • **temperature_degree_celsius

Returns:

index (int) - The unique ID of the created dc line

Return type:

int | integer

Example

create_line_dc(net, from_bus_dc=0, to_bus_dc=1, length_km=0.1, std_type=”NAYY 4x50 SE”, name=”line_dc1”)

pandapower.create_line_dc_from_parameters(net, from_bus_dc, to_bus_dc, length_km, r_ohm_per_km, max_i_ka, name=None, index=None, type=None, geodata=None, in_service=True, df=1.0, parallel=1, max_loading_percent=nan, alpha=nan, temperature_degree_celsius=nan, g_us_per_km=0.0, **kwargs)

Creates a dc line element in net[“line_dc”] from dc line parameters.

Parameters:
  • created (**net** - The net within this dc line should be)

  • **from_bus_dc** (int)

  • **to_bus_dc** (int)

  • **length_km** (float)

  • **r_ohm_per_km** (float)

  • **max_i_ka** (float)

  • **name** (string, None)

  • **index** (int, None)

  • **in_service** (boolean, True)

  • **type** (str, None) - type of dc line ("ol" for overhead dc line or "cs" for cable system)

  • **df** (float, 1) – maximum current of dc line in relation to nominal current of line (from 0 to 1)

  • **g_us_per_km** (float, 0)

  • **g0_us_per_km** (float, 0)

  • **parallel** (integer, 1)

  • **geodata**

  • (array (,2L))

  • None (default)

  • shape= (,2L))

  • coordinates (The linegeodata of the dc line. The first row should be the)

  • points (of dc bus a and the last should be the coordinates of dc bus b. The)

  • line (in the middle represent the bending points of the)

  • **max_loading_percent (float)

  • **alpha (float) – R(T) = R(T_0) * (1 + alpha * (T - T_0)))

  • **temperature_degree_celsius (float)

  • **tdpf (bool)

  • **wind_speed_m_per_s (float)** - wind speed at the line in m/s (TDPF)

  • **wind_angle_degree (float)** - angle of attack between the wind direction and the line (TDPF)

  • **conductor_outer_diameter_m (float)** - outer diameter of the line conductor in m (TDPF)

  • **air_temperature_degree_celsius (float)** - ambient temperature in °C (TDPF)

  • **reference_temperature_degree_celsius (float)** - reference temperature in °C for which r_ohm_per_km for the line is specified (TDPF)

  • **solar_radiation_w_per_sq_m (float)** - solar radiation on horizontal plane in W/m² (TDPF)

  • **solar_absorptivity (float)** - Albedo factor for absorptivity of the lines (TDPF)

  • **emissivity (float)** - Albedo factor for emissivity of the lines (TDPF)

  • **r_theta_kelvin_per_mw (float)** - thermal resistance of the line (TDPF, only for simplified method)

  • **mc_joule_per_m_k (float)** - specific mass of the conductor multiplied by the specific thermal capacity of the material (TDPF, only for thermal inertia consideration with tdpf_delay_s parameter)

  • net (pandapowerNet)

  • from_bus_dc (int | integer)

  • to_bus_dc (int | integer)

  • length_km (float)

  • r_ohm_per_km (float)

  • max_i_ka (float)

  • name (str | None)

  • index (int | integer | None)

  • type (Literal['ol', 'cs'] | None)

  • geodata (Iterable[tuple[float, float]] | None)

  • in_service (bool)

  • df (float)

  • parallel (int)

  • **max_loading_percent

  • **alpha

  • **temperature_degree_celsius

  • g_us_per_km (float)

Returns:

index (int) - The unique ID of the created line

Return type:

int | integer

Example

create_line_dc_from_parameters(net, from_bus_dc=0, to_bus_dc=1, length_km=0.1, r_ohm_per_km=.01, max_i_ka=0.4, name=”line_dc1”)

Input Parameters

net.line_dc

Parameter

Datatype

Value Range

Explanation

name

string

name of the dc line

std_type

string

standard type which can be used to easily define dc line parameters with the pandapower standard type library

from_bus_dc*

integer

Index of dc bus where the dc line starts

to_bus_dc*

integer

Index of dc bus where the dc line ends

length_km*

float

\(>\) 0

length of the line [km]

r_ohm_per_km*

float

\(\geq\) 0

resistance of the line [Ohm per km]

g_us_per_km*

float

\(\geq\) 0

dielectric conductance of the dc line [micro Siemens per km]

max_i_ka*

float

\(>\) 0

maximal thermal current [kilo Ampere]

parallel*

integer

\(\geq\) 1

number of parallel dc line systems

df*

float

0…1

derating factor (scaling) for max_i_ka

type;string;”| Naming conventions:

“”ol”” - overhead dc line
“”cs”” - underground cable system”;type of dc line

max_loading_percent

float

\(>\) 0

Maximum loading of the dc line

in_service*

boolean

True / False

specifies if the dc line is in service.

*necessary for executing a balanced power flow calculation

Note

Defining a dc line with length zero leads to a division by zero in the power flow and is therefore not allowed. DC lines with a very low impedance might lead to convergence problems in the power flow for the same reason. If you want to directly connect two dc buses, please use the switch_dc element instead of a dc line with a small impedance!

net.line_dc_geodata

Parameter

Datatype

Explanation,

coords

list

List of (x,y) tuples that mark the inflexion points of the dc line

Electric Model

DC lines are modelled with the \(\pi\)-equivalent circuit:

alternate Text

The elements in the equivalent circuit are calculated from the parameters in the net.line_dc dataframe as:

\begin{align*} R &= r\_ohm\_per\_km \cdot \frac{length\_km}{parallel} \\ G &= g\_us\_per\_km \cdot 10^-6 \cdot length\_km \cdot parallel \\ \end{align*}

The parameters are then transformed in the per unit system:

\begin{align*} R_N &= \frac{V_N^2}{S_N} \\ r &= \frac{R}{R_N} \\ g &= G \cdot R_N \\ \end{align*}

Where the reference voltage \(V_{N}\) is the nominal voltage at the from bus and the rated apparent power \(S_{N}\) is defined system wide in the net object (see Unit Systems and Conventions).

Note

pandapower assumes that nominal voltage of from bus and to bus are equal, which means pandapower does not support lines that connect different voltage levels. If you want to connect different voltage levels, either use a transformer or an impedance element.

Result Parameters

net.res_line_dc

Parameter

Datatype

Explanation

p_from_mw;float;”active power flow into the dc line at “”from”” dc bus [MW]”

p_to_mw;float;”active power flow into the dc line at “”to”” dc bus [MW]”

pl_mw

float

active power losses of the dc line [MW]

i_from_ka

float

Current at from dc bus [kA]

i_to_ka

float

Current at to dc bus [kA]

i_ka

float

Maximum of i_from_ka and i_to_ka [kA]

vm_from_pu

float

voltage magnitude at from dc bus

vm_to_pu

float

voltage magnitude at to dc bus

loading_percent

float

line loading [%]

The power flow results in the net.res_line_dc table are defined as:

\begin{align*} p\_from\_mw &= v_{from} \cdot i_{from} \\ p\_to\_mw &= v_{to} \cdot i_{to} \\ pl\_mw &= p\_from\_mw + p\_to\_mw \\ i\_from\_ka &= i_{from} \\ i\_to\_ka &= i_{to} \\ i\_ka &= max(i_{from}, i_{to}) \\ loading\_percent &= \frac{i\_ka}{imax\_ka \cdot df \cdot parallel} \cdot 100 \end{align*}