modelMCV
Flow rate control valve
Extends from ThermofluidStream.Interfaces.SISOFlow (Base Model with basic flow eqautions for SISO).
Information
This component can be used to emulate a mass- or volume-flow regulated valve, depending on its mode.
The mass- or volume-flow-setpoint can be set or given by a real input signal, and the valve tries to enforce a PT1- dynamic on this setpoint, within its pressure limits. The valve will not create pressure, or let the outlet pressure drop below p_min. To avoid this, the internally integrated pressure-drop is clipped. If it is clipped and hence the setpoint cannot be reached, an optional output leaves its "zero" value and a visual warning is shown in the form of a red circle on the icon.
Documentation of the used equations:

Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| String | instanceName (from DropOfCommonsPlus) | getInstanceName() | Instance name |
| SI.Time | TC | 0.1 | Time constant of setpoint dynamic |
| Boolean | enableClippingOutput | false | = true, if clippingOutput is enabled |
| Boolean | displayM | mode == ThermofluidStream.FlowControl.Internal.Types.MassflowControlValveMode.mass_flow | |
| Boolean | displayV | mode == ThermofluidStream.FlowControl.Internal.Types.MassflowControlValveMode.volume_flow | |
| String | displayString | if displayM then "m_flow = %massFlow_set_par" elseif displayV then "V_flow = %volumeFlow_set_par" else "error" | |
| SI.Pressure | eps | 1 | Threshold for visual warning |
| Layout | |||
| Boolean | displayInstanceName (from DropOfCommonsPlus) | dropOfCommons.displayInstanceNames | = true, if instance name is displayed |
| Boolean | displayParameters (from DropOfCommonsPlus) | dropOfCommons.displayParameters | = true, if displaying parameters is enabled |
| Advanced | |||
| Boolean | considerInertance (from SISOFlow) | dropOfCommons.considerInertance | =true, if transient momentum (inertance) term is considered; disable only for advanced use |
| Utilities.Units.Inertance | L (from SISOFlow) | dropOfCommons.L | Inertance |
| StateSelect | m_flowStateSelect (from SISOFlow) | StateSelect.default | State selection for mass flow rate |
| Boolean | clip_p_out (from SISOFlow) | = false, if dr_corr=0 (correction of inertial pressure difference) | |
| Medium.AbsolutePressure | p_min (from SISOFlow) | dropOfCommons.p_min | Minimum steady-state output pressure |
| Real | k1 | 100 | Time constant factor |
| Real | k2 | 100 | Integrator windup factor |
| Medium.AbsolutePressure | p_min_par | dropOfCommons.p_min | Minimal steady-state output pressure |
| Initialization › Mass flow rate | |||
| InitializationMethods | initM_flow (from SISOFlow) | ThermofluidStream.Utilities.Types.InitializationMethods.none | Initialization method for mass flow rate |
| SI.MassFlowRate | m_flow_0 (from SISOFlow) | 0 | Initial value for mass flow rate |
| Utilities.Units.MassFlowAcceleration | m_acceleration_0 (from SISOFlow) | 0 | Initial value for derivative of mass flow rate |
| Flow rate setpoint | |||
| Mode | mode | Mode.mass_flow | Valve mode |
| Boolean | setpointFromInput | false | = true, if flow rate input connector is enabled |
| SI.MassFlowRate | massFlow_set_par | 0 | Mass flow rate set value |
| SI.VolumeFlowRate | volumeFlow_set_par | 0 | Volume flow rate set value |
| Layout › Display parameters | |||
| Boolean | displayFlowRate | true | = true, if mass flow rate massFlow_set_par or volume flow rate volumeFlow_set_par is displayed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Inlet | inlet (from SISOFlow) | ||
| Outlet | outlet (from SISOFlow) | ||
| Modelica.Blocks.Interfaces.RealInput | setpoint_var | Flow rate input connector | |
| Modelica.Blocks.Interfaces.RealOutput | clippingOutput | (dp - dp_int) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.MassFlowRate | m_flow (from SISOFlow) | inlet.m_flow | Mass flow rate |
| SI.Pressure | dr_corr (from SISOFlow) | Correction of inertial pressure difference | |
| SI.Pressure | dp (from SISOFlow) | Pressure difference | |
| Medium.AbsolutePressure | p_in (from SISOFlow) | Medium.pressure(inlet.state) | Inlet pressure |
| Medium.SpecificEnthalpy | h_in (from SISOFlow) | Medium.specificEnthalpy(inlet.state) | Inlet specific enthalpy |
| Medium.MassFraction[Medium.nXi] | Xi_in (from SISOFlow) | Medium.massFraction(inlet.state) | Inlet mass fractions |
| Medium.AbsolutePressure | p_out (from SISOFlow) | Outlet pressure | |
| Medium.SpecificEnthalpy | h_out (from SISOFlow) | Outlet specific enthalpy | |
| Medium.MassFraction[Medium.nXi] | Xi_out (from SISOFlow) | Outlet mass fractions | |
| Medium.Density | rho_in | Medium.density(inlet.state) | Inlet density |
| SI.VolumeFlowRate | V_flow | m_flow/rho_in | Inlet volume flow rate |
| SI.Pressure | dp_int | Initial pressure difference | |
| SI.Pressure | dp_corr | k2*(dp - dp_int) | Corrected pressure difference |