modelFlowDistributionPumpControl
Validation of the pump head computation in FlowDistribution
Extends from Modelica.Icons.Example.
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
| Type | Name | Default | Description |
|---|---|---|---|
| String | filNam | "modelica://Buildings/Resources/Data/DHC/Loads/Examples/SwissResidential_20190916.mos" | File name with thermal loads as time series |
| Integer | nLoa | 5 | Number of served loads |
| Modelica.Units.SI.PressureDifference | dpSet | max(terUniHea.dpSou_nominal) | Pressure difference set point |
| Modelica.Units.SI.MassFlowRate[nLoa] | mCon_flow_nominal | terUniHea.mHeaWat_flow_nominal*facMul | Nominal mass flow rate in each connection line |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal | sum(mCon_flow_nominal) | Nominal mass flow rate in the distribution line |
| Modelica.Units.SI.PressureDifference | dp_nominal | max(terUniHea.dpSou_nominal) + 2*nLoa*5000 | Nominal pressure drop in the distribution line |
| Scaling | |||
| Real | facMul | 10 | Scaling factor for terminal units |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | mLoaHea_flow_nominal | 1 | Load side mass flow rate at nominal conditions in heating mode |
| Modelica.Units.SI.Temperature | T_aHeaWat_nominal | 273.15 + 40 | Heating water inlet temperature at nominal conditions |
| Modelica.Units.SI.Temperature | T_bHeaWat_nominal | T_aHeaWat_nominal - 5 | Heating water outlet temperature at nominal conditions |
| Modelica.Units.SI.Temperature | T_aLoaHea_nominal | 273.15 + 20 | Load side inlet temperature at nominal conditions in heating mode |
| Modelica.Units.SI.HeatFlowRate | QHea_flow_nominal | Buildings.DHC.Loads.BaseClasses.getPeakLoad(string = "#Peak space heating load", filNam = Modelica.Utilities.Files.loadResource(filNam))/facMul | Design heating heat flow rate (>=0) |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau | 120 | Time constant of fluid temperature variation at nominal flow rate |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeatingValve[nLoa] | terUniHea | Heating terminal unit | |
| Modelica.Blocks.Sources.CombiTimeTable | loa | Reader for thermal loads (y[1] is cooling load, y[2] is heating load) | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | minTSet | Minimum temperature set point | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | reaRep | Repeat input to output an array | |
| Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator | reaRep1 | Repeat input to output an array | |
| Buildings.DHC.Networks.Distribution2Pipe_R | dis | Distribution network | |
| Fluid.Movers.Preconfigured.SpeedControlled_y | pumCstDp | Pump controlled to track a pressure drop over the last connected load | |
| Fluid.MixingVolumes.MixingVolume | vol | Volume for fluid stream | |
| Fluid.Sources.Boundary_pT | supHeaWat1 | Heating water source | |
| Buildings.DHC.Loads.BaseClasses.FlowDistribution | disCstDp | Distribution system with pump controlled to track a pressure drop over the last connected unit | |
| Fluid.Sources.Boundary_pT | sinHeaWat | Sink for heating water | |
| Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeating[nLoa] | terUniHea1 | Heating terminal unit | |
| Buildings.Fluid.Movers.Preconfigured.SpeedControlled_y | pumCstSpe | Pump controlled at constant speed | |
| Fluid.Movers.BaseClasses.IdealSource | pipPre | Fictitious pipe used to prescribe pump flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | one1 | Constant one | |
| Buildings.DHC.Loads.BaseClasses.Validation.BaseClasses.FanCoil2PipeHeating[nLoa] | terUniHea2 | Heating terminal unit | |
| Buildings.DHC.Loads.BaseClasses.FlowDistribution | disCstSpe | Distribution system with pump controlled at constant speed | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | THeaWatSup | Heating water supply temperature | |
| Fluid.Sources.Boundary_pT | supHeaWat | Heating water source | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | setDp | Pressure difference set-point | |
| Buildings.Controls.OBC.CDL.Reals.PID | ctlDp | Delta-p controller |
Contents
| Name | Description |
|---|---|
| Medium1 | Source side medium |
| Medium2 | Load 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 recordper. This is for #3099. -
February 21, 2020, by Antoine Gautier:
First implementation.