modelPartialHydronicConfiguration

Information

This is the interface class for all models of hydronic configurations in Buildings.Fluid.HydronicConfigurations.ActiveNetworks and Buildings.Fluid.HydronicConfigurations.PassiveNetworks.

This interface class (conditionally) instantiates all possible outside connectors that any derived class may use. This provides plug-compatibility across all the models extending this class.

Parameters

TypeNameDefaultDescription
Realn2Flow exponent, n1=1 for laminar, n1=2 for turbulent
Movers.Data.GenericperPum
Configuration
Booleanuse_siztrueSet to true for built-in sizing of control valve and optional pump
Booleanuse_dp1Set to true to enable dp1_nominal
Booleanuse_dp2Set to true to enable dp2_nominal
Buildings.Fluid.HydronicConfigurations.Types.ValvetypValType of control valve
Booleanhave_typVartrueSet to true to enable the choice of the controlled variable
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominalMass flow rate in primary circuit at design conditions
Modelica.Units.SI.MassFlowRatem2_flow_nominalMass flow rate in consumer circuit at design conditions
Modelica.Units.SI.PressureDifferencedp1_nominalPrimary circuit pressure differential at design conditions
Modelica.Units.SI.PressureDifferencedp2_nominalConsumer circuit pressure differential at design conditions
Control valve
Buildings.Fluid.HydronicConfigurations.Types.ValveCharacteristictypChaBuildings.Fluid.HydronicConfigurations.Types.ValveCharacteristic.EqualPercentageControl valve characteristic
Modelica.Units.SI.PressureDifferencedpValve_nominalControl valve pressure drop at design conditions
Actuators.Valves.Data.GenericflowCharacteristicsTable with flow characteristics
Actuators.Valves.Data.GenericflowCharacteristics1Table with flow characteristics for direct flow path at port_1
Actuators.Valves.Data.GenericflowCharacteristics3Table with flow characteristics for bypass flow path at port_3
Pump
Buildings.Fluid.HydronicConfigurations.Types.PumptypPumBuildings.Fluid.HydronicConfigurations.Types.Pump.VariableInputType of secondary pump
Buildings.Fluid.HydronicConfigurations.Types.PumpModeltypPumModBuildings.Fluid.HydronicConfigurations.Types.PumpModel.SpeedType of pump model
Modelica.Units.SI.MassFlowRatemPum_flow_nominalm2_flow_nominalPump head at design conditions
Modelica.Units.SI.PressureDifferencedpPum_nominaldp2_nominal + dpBal2_nominalPump head at design conditions
Controls
Buildings.Fluid.HydronicConfigurations.Types.ControltypCtlBuildings.Fluid.HydronicConfigurations.Types.Control.NoneType of built-in controls
Buildings.Fluid.HydronicConfigurations.Types.ControlVariabletypVarBuildings.Fluid.HydronicConfigurations.Types.ControlVariable.SupplyTemperatureControlled variable
Buildings.Controls.OBC.CDL.Types.SimpleControllercontrollerTypeBuildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller
Realk0.1Gain of controller
RealTi120Time constant of integrator block
Assumptions
Booleanuse_lumFloRestrueSet to true to use a lumped flow resistance when possible
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
Balancing valves
Modelica.Units.SI.PressureDifferencedpBal1_nominal0Primary balancing valve pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedpBal2_nominal0Secondary balancing valve pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedpBal3_nominal0Bypass balancing valve pressure drop at design conditions
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state
Advanced › Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1Primary supply port
Modelica.Fluid.Interfaces.FluidPort_bport_b1Primary return port
Modelica.Fluid.Interfaces.FluidPort_aport_a2Secondary return port
Modelica.Fluid.Interfaces.FluidPort_bport_b2Secondary supply port
Buildings.Controls.OBC.CDL.Interfaces.RealInputyValValve control signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputsetSet point
Buildings.Controls.OBC.CDL.Interfaces.RealInputyPumPump control signal (variable speed)
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputmodeOperating mode
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyVal_actualValve position feedback
Buildings.Controls.OBC.CDL.Interfaces.RealOutputyPum_actualActual pump input value that is used for computations
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPPumPump electrical power

Components

TypeNameDefaultDescription
Medium.MassFlowRatem1_flowport_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium.MassFlowRatem2_flowport_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium.ThermodynamicStatesta_a1if allowFlowReversal then Medium.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium.ThermodynamicStatesta_b1if allowFlowReversal then Medium.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium.ThermodynamicStatesta_a2if allowFlowReversal then Medium.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium.ThermodynamicStatesta_b2if allowFlowReversal then Medium.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2

Contents

NameDescription
MediumMedium in the component

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.