modelThermostatic3WayValve

Thermostatic 3-way valve with hot and cold side

Extends from BaseClasses.Partial3WayValve (Partial for 3-way valves).

Information

This model provides an ideal implementation of a thermostatic three way valve. The mass flow rates are adjusted so that the desired temperature is reached as close as possible. Pressure drops are not considered.

Main equations

Water with enthalpy h needs to be mixed such that:

h_out = k * h_in1 + (1-k) * h_in2

this equation defines the mass flow rates:

m_flow_in1 = k * m_flow_out

m_flow_in2 = (1-k) * m_flow_out

Assumptions and limitations

No pressure drops are calculated by this model!

Ideally h_out equals h_set, the enthalpy corresponding to the temperature setpoint. However, if the desired temperature can not be reached through mixing then water from only one stream is used: the stream with the temperature closest to the desired temperature.

The model is not exact around h_in1 = h_in2. Regularization functions are used to ensure smooth behaviour through this transition and to avoid chattering.

Typical use and important parameters

  1. The parameter m sets the mass of the fluid contained by the valve.
  2. Parameter dT_nominal sets the nominal temperature difference of the inlet ports. It provides an estimate for when to start regularization: when the temperature difference across the inlet ports is smaller than dT/10. Small dT_nominal values may lead to convergence errors, large dT_nominal values cause a greater error when the inlet temperatures are almost equal.

Options

  1. Typical options inherited through lumpedVolumeDeclarations can be used.
  2. A delayed valve opening can be simulated by setting dynamicValve tot true.
  3. The minimum and maximum valve opening can be adjusted.

Validation

Only verification was performed.

Examples of this model can be found in IDEAS.Thermal.Components.Examples.TempMixingTester and IDEAS.Thermal.Components.Examples.RadiatorWithMixingValve

Parameters

TypeNameDefaultDescription
Reall (from Partial3WayValve)0.001Valve leakage, minimum fraction of flow rate passing through ports a
Modelica.Units.SI.MassFlowRatem_flow_nominal (from Partial3WayValve)Nominal mass flow rate
BooleanallowFlowReversal (from Partial3WayValve)true= true to allow flow reversal
Modelica.Units.SI.Massm (from Partial3WayValve)m_flow_nominal*tauFluid content of the mixing valve
Modelica.Units.SI.TemperatureDifferencedT_nominal50Nominal/maximum temperature difference between inlet ports, used for regularization
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
Dynamics › Filter
Realtau (from Partial3WayValve)1Thermal time constant
BooleandynamicValvefalseSet to true to simulate a valve opening delay: typically slower but more robust
Realy_start0Initial valve opening
Advanced
Realy_min0.001Minimum valve opening/leakage
Realy_max0.999Maximum valve opening/leakage

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from Partial3WayValve)First fluid inlet
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from Partial3WayValve)Second fluid inlet
Modelica.Fluid.Interfaces.FluidPort_bport_b (from Partial3WayValve)Fluid outlet
Modelica.Blocks.Interfaces.RealInputTMixedSetMixed outlet temperature setpoint

Components

TypeNameDefaultDescription
IDEAS.Fluid.MixingVolumes.MixingVolumevol (from Partial3WayValve)
IDEAS.Fluid.Interfaces.IdealSourceidealSource (from Partial3WayValve)
Modelica.Blocks.Sources.RealExpressionrealExpressionFraction of nominal mass flow rate
Modelica.Units.SI.MassFlowRatem_flow_a2mass flowrate of part_a2 to the mixing point

Revisions

  • November 7, 20024, by Jelger Jansen:
    Change unit of parameter dT_nominal to Modelica.Units.SI.TemperatureDifference. See #1390.
  • May 15, 2018, by Filip Jorissen:
    Changes for setting unique initial conditions.
  • October 2014, by Filip Jorissen:
    Added parameter for regularization range.
  • October 2014, by Filip Jorissen:
    Regularized implementation and documentation.
  • May, 2014, by Filip Jorissen:
    Both legs can be hot or cold.
  • March, 2014, by Filip Jorissen:
    Annex60 compatibility.
  • May, 2013, by Roel De Coninck:
    Documentation.
  • March, 2013, by Ruben Baetens:
    Graphics.
  • 2010, by Roel De Coninck:
    First version.