Compressor

Physical Model

For a compressor between from_junction i and to_junction j, the pressure lift is calculated based on the absolute pressure (i.e., relative pressure as shown in pandapipes + ambient pressure) and the pressure_ratio \(\Pi\).

\[\begin{split}p_j = \begin{cases} (p_i + p_{amb}) \cdot \Pi - p_{amb}, & \text{if } \dot{m}_{ij} > 0 \text{ kg/s} \\ p_i, & \text{otherwise} \end{cases}\end{split}\]

The required compression power for compressors with \(\dot{m}_{ij} > 0\) in Megawatt is estimated by the ideal adiabatic change in enthalpy by applying this equation [SSW15]:

\[\begin{equation} \label{eq:compr_power} P_{\text{compr},ij} = \dot{m}_{ij}\frac{\kappa}{\kappa - 1} R_\text{s} z(p_i) T_i \cdot \left(\Pi ^{\frac{\kappa -1}{\kappa}}-1\right)\cdot 10^{-6} \end{equation}\]

Where \(\kappa\) is the isentropic exponent (assumed as 1.4), \(R_\text{s}\) is the specific gas constant, \(z(p)\) the compressibility and \(T_i\) the temperature.

Create Function

create_compressor(net, from_junction, to_junction, pressure_ratio, name=None, index=None, in_service=True, **kwargs)

Adds a compressor with relative pressure lift to net[“compressor”].

The outlet (absolute) pressure is calculated by (p_in + p_ambient) * pressure_ratio. For reverse flow, bypassing is assumed (no pressure lift).

Parameters:
  • net (pandapipesNet) – The net within this compressor should be created

  • from_junction (int) – ID of the junction on one side which the compressor will be connected with

  • to_junction (int) – ID of the junction on the other side which the compressor will be connected with

  • pressure_ratio (float) – enforced ratio of outlet to inlet absolute pressures

  • name (str, default None) – A name tag for this compressor

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

  • in_service (bool, default True) – True for in_service or False for out of service

  • kwargs (dict) – Additional keyword arguments will be added as further columns to the net[“compressor”] table

Returns:

index - The unique ID of the created element

Return type:

int

EXAMPLE:
>>> create_compressor(net, 0, 1, pressure_ratio=1.3)

Component Table Data

net.compressor

Parameter

Datatype

Value Range

Explanation

net

pandapipesNet

pandapipes net to which the compressor will be added

from_junction

integer

\(>\) 0

index of junction at the inlet

to_junction

integer

\(>\) 0

index of junction at the outlet

pressure_ratio

float

\(>\) 0

relative pressure ratio

name

string

name of the compressor

index

int

> 0

Force a specified ID if it is available

in_service

boolean

True/ False

True for in service or False for out of service

Result Table Data

net.res_compressor

Parameter

Datatype

Explanation

deltap_bar

float

The pressure lift caused by the compressor [bar]

compr_power_mw

float

The estimated adiabatic compression power [MW]