modelLoadTwoWayValve

Model of a load on a hydronic circuit with flow rate modulation by a two-way valve

Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).

Information

This model represents a thermal load on a hydronic circuit, composed of Buildings.Templates.Components.Loads.Load and a two-way valve component that is used to modulate the flow rate through the load component.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.HydronicConfigurations.Types.ControltypLoad type
Modelica.Units.SI.MassFlowRatemLiq_flow_nominal1Liquid mass flow rate at design conditions
Modelica.Units.SI.PressureDifferencedpTer_nominal3E4Liquid pressure drop across terminal unit at design conditions
Modelica.Units.SI.MassFlowRatemAir_flow_nominalabs(Q_flow_nominal)/10/1015Air mass flow rate at design conditions
Modelica.Units.SI.TemperatureTAirEnt_nominalif typ == Buildings.Fluid.HydronicConfigurations.Types.Control.Heating then 20 + 273.15 else 26 + 273.15Air entering temperature at design conditions
Modelica.Units.SI.MassFractionphiAirEnt_nominal0.5Air entering relative humidity at design conditions
Modelica.Units.SI.TemperatureTLiqEnt_nominalif typ == Buildings.Fluid.HydronicConfigurations.Types.Control.Heating then 60 + 273.15 else 7 + 273.15Liquid entering temperature at design conditions
Modelica.Units.SI.TemperatureTLiqLvg_nominalTLiqEnt_nominal + (if typ == Buildings.Fluid.HydronicConfigurations.Types.Control.Heating then -10 else +5)Liquid leaving temperature at design conditions
Modelica.Units.SI.HeatFlowRateQ_flow_nominal(MediumLiq.specificEnthalpy_pTX(MediumLiq.p_default, TLiqEnt_nominal, X = MediumLiq.X_default) - MediumLiq.specificEnthalpy_pTX(MediumLiq.p_default, TLiqLvg_nominal, X = MediumLiq.X_default))*mLiq_flow_nominalTransmitted heat flow rate at design conditions
Realu_min0.1Minimum fan speed
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Control valve
Modelica.Units.SI.PressureDifferencedpValve_nominaldpTer_nominalControl valve pressure drop at design conditions
Balancing valves
Modelica.Units.SI.PressureDifferencedpBal1_nominal0Balancing valve pressure drop at design conditions
Valve controller
Buildings.Controls.OBC.CDL.Types.SimpleControllercontrollerTypeBuildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller
Realk0.1Gain of controller
RealTi10Time constant of integrator block
RealTd0.1Time constant of derivative block
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Buildings.Controls.OBC.CDL.Interfaces.RealInputuFraction of design load
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputu1System enable
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyLoa_actualActual load fraction met
Buildings.Controls.OBC.CDL.Interfaces.RealOutputQ_flowTotal heat flow rate transferred to the load
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyVal_actualValve position feedback

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Buildings.Templates.Components.Loads.LoadloaLoad
Buildings.Fluid.HydronicConfigurations.ActiveNetworks.ThrottleconThrottle circuit connection

Contents

NameDescription
MediumAirMedium model for air
MediumLiqMedium model for liquid (CHW or HHW)

Revisions

  • December 8, 2025, by Antoine Gautier:
    First implementation.