modelValveVaporizing
Extends from BaseClasses.PartialValve (Base model for valves).
Information
Valve model according to the IEC 534/ISA S.75 standards for valve sizing, incompressible fluid at the inlet, and possibly two-phase fluid at the outlet, including choked flow conditions.
The parameters of this model are explained in detail in PartialValve (the base model for valves).
The model operating range includes choked flow operation, which takes place for low outlet pressures due to flashing in the vena contracta; otherwise, non-choking conditions are assumed.
This model requires a two-phase medium model, to describe the liquid and (possible) two-phase conditions.
The default liquid pressure recovery coefficient Fl is constant and given by the parameter Fl_nominal. The relative change (per unit) of the recovery coefficient can be specified as a given function of the valve opening by replacing the FlCharacteristic 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
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Area | Kv2Av (from PartialValve) | 27.7e-6 | Conversion factor |
| SI.Area | Cv2Av (from PartialValve) | 24.0e-6 | Conversion factor |
| Real | Fl_nominal | 0.9 | Liquid pressure recovery factor |
| SI.ReynoldsNumber | Re_turbulent | 4000 | cf. straight pipe for fully open valve -- dp_turbulent increases for closing valve |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Boolean | checkValve (from PartialValve) | false | Reverse flow stopped |
| Advanced | |||
| Medium.AbsolutePressure | dp_start (from PartialTwoPortTransport) | 0.01*system.p_start | Guess value of dp = port_a.p - port_b.p |
| Medium.MassFlowRate | m_flow_start (from PartialTwoPortTransport) | system.m_flow_start | Guess value of m_flow = port_a.m_flow |
| Medium.MassFlowRate | m_flow_small (from PartialTwoPortTransport) | if system.use_eps_Re then system.eps_m_flow*system.m_flow_nominal else system.m_flow_small | Small mass flow rate for regularization of zero flow |
| Boolean | use_Re | system.use_eps_Re | = true, if turbulent region is defined by Re, otherwise by m_flow_small |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortTransport) | true | = true, if temperatures at port_a and port_b are computed |
| Boolean | show_V_flow (from PartialTwoPortTransport) | true | = true, if volume flow rate at inflowing port is computed |
| Flow coefficient | |||
| Modelica.Fluid.Types.CvTypes | CvData (from PartialValve) | Modelica.Fluid.Types.CvTypes.OpPoint | Selection of flow coefficient |
| SI.Area | Av (from PartialValve) | Av (metric) flow coefficient | |
| Real | Kv (from PartialValve) | 0 | Kv (metric) flow coefficient [m3/h] |
| Real | Cv (from PartialValve) | 0 | Cv (US) flow coefficient [USG/min] |
| Nominal operating point | |||
| SI.Pressure | dp_nominal (from PartialValve) | Nominal pressure drop | |
| Medium.MassFlowRate | m_flow_nominal (from PartialValve) | Nominal mass flowrate | |
| Medium.Density | rho_nominal (from PartialValve) | Medium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default) | Nominal inlet density |
| Real | opening_nominal (from PartialValve) | 1 | Nominal opening |
| Filtered opening | |||
| Boolean | filteredOpening (from PartialValve) | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
| SI.Time | riseTime (from PartialValve) | 1 | Rise time of the filter (time to reach 99.6 % of an opening step) |
| Real | leakageOpening (from PartialValve) | 1e-3 | The opening signal is limited by leakageOpening (to improve the numerics) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | opening (from PartialValve) | Valve position in the range 0..1 | |
| Modelica.Blocks.Interfaces.RealOutput | opening_filtered (from PartialValve) | Filtered valve position in the range 0..1 |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.System | system (from PartialTwoPort) | System wide properties | |
| Medium.MassFlowRate | m_flow (from PartialTwoPortTransport) | Mass flow rate in design flow direction | |
| SI.Pressure | dp (from PartialTwoPortTransport) | Pressure difference between port_a and port_b (= port_a.p - port_b.p) | |
| SI.VolumeFlowRate | V_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.Temperature | port_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.Temperature | port_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.Filter | filter (from PartialValve) | ||
| Real | Ff | Ff coefficient (see IEC/ISA standard) | |
| Real | Fl | Pressure recovery coefficient Fl (see IEC/ISA standard) | |
| SI.Pressure | dpEff | Effective pressure drop | |
| Medium.Temperature | T_in | Inlet temperature | |
| Medium.AbsolutePressure | p_sat | Saturation pressure | |
| Medium.AbsolutePressure | p_in | Inlet pressure | |
| Medium.AbsolutePressure | p_out | Outlet pressure | |
| SI.AbsolutePressure | dp_turbulent | if not use_Re then dp_small else max(dp_small, (Medium.dynamicViscosity(state_a) + Medium.dynamicViscosity(state_b))^2*pi/8*Re_turbulent^2/(valveCharacteristic(opening_actual)*Av*(Medium.density(state_a) + Medium.density(state_b)))) |
Contents
| Name | Description |
|---|---|
Revisions
- 2 Nov 2005
by Francesco Casella:
Adapted from the ThermoPower library.