modelPartialThreeWayValve

Partial three way valve

Extends from IBPSA.Fluid.BaseClasses.PartialThreeWayResistance (Flow splitter with partial resistance model at each port), IBPSA.Fluid.Actuators.BaseClasses.ActuatorSignal (Partial model that implements the filtered opening for valves and dampers), IBPSA.Fluid.Actuators.BaseClasses.ValveParameters (Model with parameters for valves).

Information

Partial model of a three way valve. This is the base model for valves with different opening characteristics, such as linear, equal percentage or quick opening. The three way valve model consists of a mixer where valves are placed in two of the flow legs. The third flow leg has no friction. The flow coefficient Kv for flow from port_1 → port_2 is a parameter. The flow coefficient for the bypass flow from port_3 → port_2 is computed as

         Kv(port_3 → port_2)
  fraK = ----------------------
         Kv(port_1 → port_2)

where 0 < fraK ≤ 1 is a parameter with a default value of fraK=0.7.

Since this model uses two way valves to construct a three way valve, see IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve for details regarding the valve implementation.

Parameters

TypeNameDefaultDescription
RealfraK0.7Fraction Kv(port_3&rarr;port_2)/Kv(port_1&rarr;port_2)
Reall{0.0001, 0.0001}Valve leakage, l=Kv(y=0)/Kv(y=1)
Dynamics › Equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Modelica.SIunits.MassFlowRatemDyn_flow_nominal (from PartialThreeWayResistance)Nominal mass flow rate for dynamic momentum and energy balance
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Dynamics › Nominal condition
Modelica.SIunits.Timetau (from PartialThreeWayResistance)10Time constant at nominal flow for dynamic energy and momentum balance
Advanced
Booleanfrom_dp (from PartialThreeWayResistance)true= true, use m_flow = f(dp) else dp = f(m_flow)
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_1 (from PartialThreeWayResistance)Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_1
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_2 (from PartialThreeWayResistance)Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_2
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_3 (from PartialThreeWayResistance)Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_3
BooleanverifyFlowReversal (from PartialThreeWayResistance)false=true, to assert that the flow does not reverse when portFlowDirection_* does not equal Bidirectional
Modelica.SIunits.MassFlowRatem_flow_small (from PartialThreeWayResistance)Small mass flow rate for checking flow reversal
Booleanlinearized{false, false}= true, use linear relation between m_flow and dp for any flow rate
BooleanhomotopyInitializationtrue= true, use homotopy method
Dynamics › Filtered opening
Booleanuse_inputFilter (from ActuatorSignal)true= true, if opening is filtered with a 2nd order CriticalDamping filter
Modelica.SIunits.TimeriseTime (from ActuatorSignal)120Rise time of the filter (time to reach 99.6 % of an opening step)
Integerorder (from ActuatorSignal)2Order of filter
Modelica.Blocks.Types.Initinit (from ActuatorSignal)Modelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
Realy_start (from ActuatorSignal)1Initial value of output
Flow Coefficient
IBPSA.Fluid.Types.CvTypesCvData (from ValveParameters)IBPSA.Fluid.Types.CvTypes.OpPointSelection of flow coefficient
RealKv (from ValveParameters)Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv (from ValveParameters)Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
Modelica.SIunits.AreaAv (from ValveParameters)Av (metric) flow coefficient
Pressure-flow linearization
RealdeltaM (from ValveParameters)0.02Fraction of nominal flow rate where linearization starts, if y=1
Nominal condition
Modelica.SIunits.MassFlowRatem_flow_nominal (from ValveParameters)Nominal mass flow rate
Modelica.SIunits.PressureDifferencedpValve_nominal (from ValveParameters)Nominal pressure drop of fully open valve, used if CvData=IBPSA.Fluid.Types.CvTypes.OpPoint
Modelica.SIunits.PressureDifference[2]dpFixed_nominal{0, 0}Nominal pressure drop of pipes and other equipment in flow legs at port_1 and port_3
Advanced › Nominal condition
Modelica.SIunits.DensityrhoStd (from ValveParameters)Inlet density for which valve coefficients are defined

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_1 (from PartialThreeWayResistance)First port, typically inlet
Modelica.Fluid.Interfaces.FluidPort_bport_2 (from PartialThreeWayResistance)Second port, typically outlet
Modelica.Fluid.Interfaces.FluidPort_aport_3 (from PartialThreeWayResistance)Third port, can be either inlet or outlet
Modelica.Blocks.Interfaces.RealInputy (from ActuatorSignal)Actuator position (0: closed, 1: open)
Modelica.Blocks.Interfaces.RealOutputy_actual (from ActuatorSignal)Actual valve position

Components

TypeNameDefaultDescription
IBPSA.Fluid.Interfaces.PartialTwoPortInterfaceres1 (from PartialThreeWayResistance)
IBPSA.Fluid.Interfaces.PartialTwoPortInterfaceres2 (from PartialThreeWayResistance)
IBPSA.Fluid.Interfaces.PartialTwoPortInterfaceres3 (from PartialThreeWayResistance)
IBPSA.Fluid.Delays.DelayFirstOrdervol (from PartialThreeWayResistance)Fluid volume to break algebraic loop

Revisions

  • March 24, 2017, by Michael Wetter:
    Renamed filteredInput to use_inputFilter.
    This is for #665.
  • January 22, 2016, by Michael Wetter:
    Corrected type declaration of pressure difference. This is for #404.
  • December 17, 2015, by Michael Wetter:
    Removed assignment redeclare final package Medium=Medium as this is now done in the base class. This is for https://github.com/lbl-srg/modelica-buildings/issues/475.
  • November 23, 2015 by Filip Jorissen:
    Corrected valve leakage value to avoid warnings.
  • February 28, 2013, by Michael Wetter:
    Reformulated assignment of parameters. Removed default value for dpValve_nominal, as this parameter has the attribute fixed=false for some values of CvData. In this case, assigning a value is not allowed. Corrected wrong documentation of parameter fraK(min=0, max=1) = 0.7. The documenation was Fraction Kv(port_1→port_2)/Kv(port_3→port_2) instead of Fraction Kv(port_3→port_2)/Kv(port_1→port_2). Because the parameter set correctly its attributes min=0 and max=1, instances of this model used the correct value.
  • April 12, 2012 by Michael Wetter:
    Removed duplicate declaration of m_flow_nominal.
  • February 20, 2012 by Michael Wetter:
    Renamed parameter dp_nominal to dpValve_nominal, and added new parameter dpFixed_nominal=0. See IBPSA.Fluid.Actuators.UsersGuide.
  • March 25, 2011, by Michael Wetter:
    Added homotopy method.
  • June 3, 2008 by Michael Wetter:
    First implementation.