modelValveCompressible

Valve for compressible fluids, accounts for choked flow conditions

Extends from BaseClasses.PartialValve (Base model for valves).

Information

Valve model according to the IEC 534/ISA S.75 standards for valve sizing, compressible fluid, no phase change, also covering choked-flow conditions.

The parameters of this model are explained in detail in PartialValve (the base model for valves).

This model can be used with gases and vapours, with arbitrary pressure ratio between inlet and outlet.

The product Fk*xt is given by the parameter Fxt_full, and is assumed constant by default. The relative change (per unit) of the xt coefficient with the valve opening can be specified by replacing the xtCharacteristic function.

If checkValve is false, the valve supports reverse flow, with a symmetric flow characteristic curve. Otherwise, reverse flow is stopped (check valve behaviour).

The treatment of parameters Kv and Cv is explained in detail in the User's Guide.

Parameters

TypeNameDefaultDescription
SI.AreaKv2Av (from PartialValve)27.7e-6Conversion factor
SI.AreaCv2Av (from PartialValve)24.0e-6Conversion factor
RealFxt_full0.5Fk*xt critical ratio at full opening
SI.ReynoldsNumberRe_turbulent4000cf. straight pipe for fully open valve -- dp_turbulent increases for closing valve
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)system.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
BooleancheckValve (from PartialValve)falseReverse flow stopped
Advanced
Medium.AbsolutePressuredp_start (from PartialTwoPortTransport)0.01*system.p_startGuess value of dp = port_a.p - port_b.p
Medium.MassFlowRatem_flow_start (from PartialTwoPortTransport)system.m_flow_startGuess value of m_flow = port_a.m_flow
Medium.MassFlowRatem_flow_small (from PartialTwoPortTransport)if system.use_eps_Re then system.eps_m_flow*system.m_flow_nominal else system.m_flow_smallSmall mass flow rate for regularization of zero flow
Booleanuse_Resystem.use_eps_Re= true, if turbulent region is defined by Re, otherwise by m_flow_small
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortTransport)true= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flow (from PartialTwoPortTransport)true= true, if volume flow rate at inflowing port is computed
Flow coefficient
Modelica.Fluid.Types.CvTypesCvData (from PartialValve)Modelica.Fluid.Types.CvTypes.OpPointSelection of flow coefficient
SI.AreaAv (from PartialValve)Av (metric) flow coefficient
RealKv (from PartialValve)0Kv (metric) flow coefficient [m3/h]
RealCv (from PartialValve)0Cv (US) flow coefficient [USG/min]
Nominal operating point
SI.Pressuredp_nominal (from PartialValve)Nominal pressure drop
Medium.MassFlowRatem_flow_nominal (from PartialValve)Nominal mass flowrate
Medium.Densityrho_nominal (from PartialValve)Medium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default)Nominal inlet density
Realopening_nominal (from PartialValve)1Nominal opening
Medium.AbsolutePressurep_nominalNominal inlet pressure
Filtered opening
BooleanfilteredOpening (from PartialValve)false= true, if opening is filtered with a 2nd order CriticalDamping filter
SI.TimeriseTime (from PartialValve)1Rise time of the filter (time to reach 99.6 % of an opening step)
RealleakageOpening (from PartialValve)1e-3The opening signal is limited by leakageOpening (to improve the numerics)

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Blocks.Interfaces.RealInputopening (from PartialValve)Valve position in the range 0..1
Modelica.Blocks.Interfaces.RealOutputopening_filtered (from PartialValve)Filtered valve position in the range 0..1

Components

TypeNameDefaultDescription
Modelica.Fluid.Systemsystem (from PartialTwoPort)System wide properties
Medium.MassFlowRatem_flow (from PartialTwoPortTransport)Mass flow rate in design flow direction
SI.Pressuredp (from PartialTwoPortTransport)Pressure difference between port_a and port_b (= port_a.p - port_b.p)
SI.VolumeFlowRateV_flow (from PartialTwoPortTransport)m_flow/Modelica.Fluid.Utilities.regStep(m_flow, Medium.density(state_a), Medium.density(state_b), m_flow_small)Volume flow rate at inflowing port (positive when flow from port_a to port_b)
Medium.Temperatureport_a_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_a.m_flow, Medium.temperature(state_a), Medium.temperature(Medium.setState_phX(port_a.p, port_a.h_outflow, port_a.Xi_outflow)), m_flow_small)Temperature close to port_a, if show_T = true
Medium.Temperatureport_b_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_b.m_flow, Medium.temperature(state_b), Medium.temperature(Medium.setState_phX(port_b.p, port_b.h_outflow, port_b.Xi_outflow)), m_flow_small)Temperature close to port_b, if show_T = true
Modelica.Blocks.Continuous.Filterfilter (from PartialValve)
RealFxt
RealxPressure drop ratio
RealxsSaturated pressure drop ratio
RealYCompressibility factor
Medium.AbsolutePressurepInlet pressure
SI.AbsolutePressuredp_turbulentif not use_Re then dp_small else max(dp_small, (Medium.dynamicViscosity(state_a) + Medium.dynamicViscosity(state_b))^2*pi/8*Re_turbulent^2/(max(valveCharacteristic(opening_actual), 0.001)*Av*Y*(Medium.density(state_a) + Medium.density(state_b))))

Contents

NameDescription
xtCharacteristic

Revisions