modelFlowDistributionPumpControl

Validation of the pump head computation in FlowDistribution

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

This model validates the pump head computation algorithm implemented in Buildings.DHC.Loads.BaseClasses.FlowDistribution by comparing that model with an explicit modeling of the distribution network, the distribution pump and the terminal units.

Two configurations are tested, both with variable-flow distribution.

  • Constant speed pump (components *CstSpe): the pump rides its curve as the terminal units modulate the flow rate.
  • Constant Δp (components *CstDp): the pump speed is modulated by a PI loop tracking a Δp setpoint at a remote location in the circuit, upstream of the last terminal unit.

Parameters

TypeNameDefaultDescription
StringfilNam"modelica://Buildings/Resources/Data/DHC/Loads/Examples/SwissResidential_20190916.mos"File name with thermal loads as time series
IntegernLoa5Number of served loads
Modelica.Units.SI.PressureDifferencedpSetmax(terUniHea.dpSou_nominal)Pressure difference set point
Modelica.Units.SI.MassFlowRate[nLoa]mCon_flow_nominalterUniHea.mHeaWat_flow_nominal*facMulNominal mass flow rate in each connection line
Modelica.Units.SI.MassFlowRatem_flow_nominalsum(mCon_flow_nominal)Nominal mass flow rate in the distribution line
Modelica.Units.SI.PressureDifferencedp_nominalmax(terUniHea.dpSou_nominal) + 2*nLoa*5000Nominal pressure drop in the distribution line
Scaling
RealfacMul10Scaling factor for terminal units
Nominal condition
Modelica.Units.SI.MassFlowRatemLoaHea_flow_nominal1Load side mass flow rate at nominal conditions in heating mode
Modelica.Units.SI.TemperatureT_aHeaWat_nominal273.15 + 40Heating water inlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_bHeaWat_nominalT_aHeaWat_nominal - 5Heating water outlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_aLoaHea_nominal273.15 + 20Load side inlet temperature at nominal conditions in heating mode
Modelica.Units.SI.HeatFlowRateQHea_flow_nominalBuildings.DHC.Loads.BaseClasses.getPeakLoad(string = "#Peak space heating load", filNam = Modelica.Utilities.Files.loadResource(filNam))/facMulDesign heating heat flow rate (>=0)
Dynamics › Nominal condition
Modelica.Units.SI.Timetau120Time constant of fluid temperature variation at nominal flow rate

Components

TypeNameDefaultDescription
Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeatingValve[nLoa]terUniHeaHeating terminal unit
Modelica.Blocks.Sources.CombiTimeTableloaReader for thermal loads (y[1] is cooling load, y[2] is heating load)
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantminTSetMinimum temperature set point
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorreaRepRepeat input to output an array
Buildings.Controls.OBC.CDL.Routing.RealScalarReplicatorreaRep1Repeat input to output an array
Buildings.DHC.Networks.Distribution2Pipe_RdisDistribution network
Fluid.Movers.Preconfigured.SpeedControlled_ypumCstDpPump controlled to track a pressure drop over the last connected load
Fluid.MixingVolumes.MixingVolumevolVolume for fluid stream
Fluid.Sources.Boundary_pTsupHeaWat1Heating water source
Buildings.DHC.Loads.BaseClasses.FlowDistributiondisCstDpDistribution system with pump controlled to track a pressure drop over the last connected unit
Fluid.Sources.Boundary_pTsinHeaWatSink for heating water
Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeating[nLoa]terUniHea1Heating terminal unit
Buildings.Fluid.Movers.Preconfigured.SpeedControlled_ypumCstSpePump controlled at constant speed
Fluid.Movers.BaseClasses.IdealSourcepipPreFictitious pipe used to prescribe pump flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.Constantone1Constant one
Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeating[nLoa]terUniHea2Heating terminal unit
Buildings.DHC.Loads.BaseClasses.FlowDistributiondisCstSpeDistribution system with pump controlled at constant speed
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTHeaWatSupHeating water supply temperature
Fluid.Sources.Boundary_pTsupHeaWatHeating water source
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantsetDpPressure difference set-point
Buildings.Controls.OBC.CDL.Reals.PIDctlDpDelta-p controller

Contents

NameDescription
Medium1Source side medium
Medium2Load side medium

Revisions

  • April 10, 2026, by Antoine Gautier:
    Replaced the Δp-controlled pump with a speed-controlled pump. This is for #4534.
  • August 30, 2022, by Hongxiang Fu:
    Swapped the pump models for preconfigured versions and removed the pump curve record per. This is for #3099.
  • February 21, 2020, by Antoine Gautier:
    First implementation.