modelThreeWayValve

Container class for three-way valves

Extends from Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes), Buildings.Fluid.Actuators.BaseClasses.ValveParameters (Model with parameters for valves).

Information

This is a container class for three-way valve models from Buildings.Fluid.Actuators.Valves.

The parameter typCha allows configuring the model by selecting the valve characteristic to be used based on the enumeration Buildings.Fluid.HydronicConfigurations.Types.ValveCharacteristic.

The default setting for the ratio of the Kvs coefficient between the bypass branch and the direct branch is fraK=1.0, see Buildings.Fluid.HydronicConfigurations.UsersGuide.ControlValves for the justification.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.Actuators.Valves.Data.GenericflowCharacteristics1Table with flow characteristics for direct flow path at port_1
Buildings.Fluid.Actuators.Valves.Data.GenericflowCharacteristics3Table with flow characteristics for bypass flow path at port_3
RealR50Rangeability, R=50...100 typically
Realdelta00.01Range of significant deviation from equal percentage law
RealfraK1.0Fraction Kv(port_3→port_2)/Kv(port_1→port_2)
Reall{0.0001, 0.0001}Valve leakage, l=Kv(y=0)/Kv(y=1)
Dynamics › Conservation 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.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
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
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
Flow Coefficient
Buildings.Fluid.Types.CvTypesCvData (from ValveParameters)Buildings.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.Units.SI.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.Units.SI.MassFlowRatem_flow_nominal (from ValveParameters)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedpValve_nominal (from ValveParameters)Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint
Modelica.Units.SI.PressureDifference[2]dpFixed_nominal{0, 0}Nominal pressure drop of pipes and other equipment in flow legs at port_1 and port_3
Modelica.Units.SI.PressureDifferencedp3Valve_nominaldpValve_nominal/fraK^2Bypass branch valve pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedp3Fixed_nominaldpFixed_nominal[2]Bypass branch fixed pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedp3_nominaldp3Valve_nominal + dp3Fixed_nominalBypass branch total pressure drop at design conditions
Advanced › Nominal condition
Modelica.Units.SI.DensityrhoStd (from ValveParameters)Inlet density for which valve coefficients are defined
Configuration
Buildings.Fluid.HydronicConfigurations.Types.ValveCharacteristictypChaBuildings.Fluid.HydronicConfigurations.Types.ValveCharacteristic.EqualPercentageValve characteristic
Advanced
Booleanlinearized{false, false}= true, use linear relation between m_flow and dp for any flow rate
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_1Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_1
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_2Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_2
Modelica.Fluid.Types.PortFlowDirectionportFlowDirection_3Modelica.Fluid.Types.PortFlowDirection.BidirectionalFlow direction for port_3
BooleanverifyFlowReversalfalse=true, to assert that the flow does not reverse when portFlowDirection_* does not equal Bidirectional
Dynamics › Nominal condition
Modelica.Units.SI.Timetau10Time constant at nominal flow for dynamic energy and momentum balance
Dynamics › Time needed to open or close valve
Booleanuse_strokeTimetrueSet to true to continuously open and close valve
Modelica.Units.SI.TimestrokeTime120Time needed to open or close valve
Modelica.Blocks.Types.InitinitModelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_1First port, typically inlet
Modelica.Fluid.Interfaces.FluidPort_bport_2Second port, typically outlet
Modelica.Fluid.Interfaces.FluidPort_aport_3Third port, can be either inlet or outlet
Buildings.Controls.OBC.CDL.Interfaces.RealInputyInput control signal
Buildings.Controls.OBC.CDL.Interfaces.RealOutputy_actualActual actuator position

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem1_flowport_1.m_flowMass flow rate in direct branch
Modelica.Units.SI.MassFlowRatem2_flow-1*port_2.m_flowMass flow rate in common branch
Modelica.Units.SI.MassFlowRatem3_flowport_3.m_flowMass flow rate in bypass branch
Modelica.Units.SI.PressureDifferencedp1port_1.p - port_2.pPressure drop across direct branch
Modelica.Units.SI.PressureDifferencedp3port_3.p - port_2.pPressure drop across bypass branch
Actuators.Valves.ThreeWayEqualPercentageLinearvalEquLinThree-way valve with equal percentage and linear characteristics
Actuators.Valves.ThreeWayLinearvalLinLinThree-way valve with linear characteristics
Actuators.Valves.ThreeWayTablevalTabThree-way valve with table-specified characteristics

Revisions

  • June 17, 2026, by Michael Wetter:
    Updated implementation to allow a flow coefficient n that is different from 2. This allows use of the model for not fully turbulent flow.
    This is for Buildings, #4620.
  • June 30, 2022, by Antoine Gautier:
    First implementation.