Pressure Control

Physical Model

The pressure control component enforces a specific pressure at the controlled_junction. This is achieved by adding a required pressure lift or pressure drop between the from_junction and to_junction, so that controlled_p_bar will be reached at the controlled junction. The controlled junction can be identical to the to_junction to control the pressure directly at the outlet.

Internally, the behaviour is achieved by fixing the pressure variable at controlled_junction in the system matrix and keeping the pressure drop of the pressure control unit variable, so that is calculated during the Newton-Raphson-calculation.

Note

The temperature at the inlet and outlet junction will not be adapted by the pressure control unit. Therefore, these components usually operate isothermal (inlet temperature = outlet temperature). It is assumed that temperature changes due to compression or expansion (Joule-Thomson-effect) are balanced internally by adding or removing heat.

Warning

A sufficient hydraulic connection between from_junction, to_junction and controlled_junction is crucial for proper operation of this component. Hydraulically impossible configurations (e.g., if the controlled junction is on a different stub) or contradicting other pressure control units will lead to non-convergence of the pipeflow.

Create Function

For creating a single pressure control unit:

For creating multiple pressure control units at once:

Component Table Data

net.press_control

Parameter

Datatype

Value Range

Explanation

net

pandapipesNet

The pandapipes net object in whose press_control table the new unit will be added

from_junction

integer

\(>\) 0

Index of junction at which the pressure control unit starts

to_junction

integer

\(>\) 0

Index of junction at which the pressure control unit ends

controlled_junction

integer

> 0

ID of the junction at which the pressure is controlled

controlled_p_bar

float

> 0

Pressure set point [barg]

control_active

boolean

If false, the unit behaves like an open valve

loss_coefficient

float

> ß

Pressure loss coefficient (only effective if control is not active)

name

string

Name of the pressure control unit

index

integer

> 0

Force specific index the press_control-DataFrame, if available

in_service

boolean

True / False

If false, the unit behaves like a closed valve.

type

string

Type variable to classify different kinds of pressure control units (not considered by pandapipes’ calculations)

Result Table Data

net.res_press_control

Parameter

Datatype

Explanation

p_from_bar

float

Pressure at “from”-junction [bar]

p_to_bar

float

Pressure at “to”-junction [bar]

t_from_k

float

Temperature at “from”-junction [K]

t_to_k

float

Temperature at “to”-junction [K]

mdot_to_kg_per_s

float

Mass flow out of pressure control unit [kg/s]

mdot_from_kg_per_s

float

Mass flow into pressure control unit [kg/s]

vdot_norm_m3_per_s

float

Norm volume flow [m^3/s]

deltap_bar

float

Pressure difference between to- and from junction created by the pressure controller [bar]