modelValveIncompressible
Extends from BaseClasses.PartialValve (Base model for valves).
Information
Valve model according to the IEC 534/ISA S.75 standards for valve sizing, incompressible fluids.
The parameters of this model are explained in detail in PartialValve (the base model for valves).
This model assumes that the fluid has a low compressibility, which is always the case for liquids. It can also be used with gases, provided that the pressure drop is lower than 0.2 times the absolute pressure at the inlet, so that the fluid density does not change much inside the valve.
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 |
| 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) | ||
| 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/(max(relativeFlowCoefficient, 0.001)*Av*(Medium.density(state_a) + Medium.density(state_b)))) |
Revisions
- 2 Nov 2005
by Francesco Casella:
Adapted from the ThermoPower library.