modelDecouplingTemperature

Model illustrating the operation of a decoupling circuit with Delta-T control

Extends from Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.Decoupling (Model illustrating the operation of a decoupling circuit).

Information

This example is similar to Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.Decoupling except that an alternative control logic is implemented, based on the measurement of the return temperature in the consumer circuit and in the primary branch.

Decoupling circuit schematic

This control logic intends to keep constant the difference between those two measurements. Considering that we have: T1, ret - T2, ret = (ṁ1 - ṁ2) / ṁ1 * (T1, sup - T2, ret), the control objective can be expressed based on the set point ΔTset and the consumer circuit temperature differential ΔT2 (ΔT2 = T2, sup - T2, ret = T1, sup - T2, ret) as: ΔTset = (ṁ1 - ṁ2) / ṁ1 * ΔT2. For consumer circuits that have a temperature differential relatively constant (see for instance Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.ThrottleOpenLoop), the control logic will thus maintain a nearly constant fraction of primary flow recirculation. However, at very low load if ΔT2 value drops (due for instance to a secondary flow recirculation ensuring a minimum flow for the secondary pump) the control valve will be fully open, and the primary pump speed potentially maxed out, trying to compensate for the vanishing ΔT2. In other words, taking the example of a heating circuit, at low load the control logic cannot infer that the low value of T1, ret - T2, ret is due to a consumer circuit return temperature that is too high (as it tends towards the supply temperature). It will work under the assumption that T1, ret is too low, and open the control valve to try and increase the primary flow recirculation. This flawed control is showcased in this example when the parameter is_cor is set to false (the default), see plots #1 and #2 between 14 and 16 h.

Now setting is_cor to true, a correction is used to counteract this low load effect by limiting the set point to the consumer circuit temperature differential ΔT2. Note that the implementation of that correction is specific to a change-over operation and needs to be adapted for heating-only or cooling-only applications.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.HydronicConfigurations.Types.Controltyp (from PartialActivePrimary)Buildings.Fluid.HydronicConfigurations.Types.Control.HeatingLoad type
IntegernTer (from PartialActivePrimary)2Number of terminal units
RealkSizPum (from PartialActivePrimary)1.0Pump oversizing coefficient
Modelica.Units.SI.Pressurep_min (from PartialActivePrimary)200000Circuit minimum pressure
Modelica.Units.SI.TemperatureTLiqEnt_nominal (from PartialActivePrimary)if typ == Buildings.Fluid.HydronicConfigurations.Types.Control.Heating then 60 + 273.15 else 7 + 273.15Liquid entering temperature at design conditions
Modelica.Units.SI.TemperatureTLiqLvg_nominal (from PartialActivePrimary)TLiqEnt_nominal + (if typ == Buildings.Fluid.HydronicConfigurations.Types.Control.Heating then -10 else +5)Liquid leaving temperature at design conditions
Modelica.Units.SI.TemperatureTLiqEntChg_nominal (from PartialActivePrimary)60 + 273.15Liquid entering temperature in change-over mode
Modelica.Units.SI.TemperatureTLiqSup_nominal (from PartialActivePrimary)TLiqEnt_nominalLiquid primary supply temperature at design conditions
Modelica.Units.SI.TemperatureTLiqSupChg_nominal (from PartialActivePrimary)TLiqEntChg_nominalLiquid primary supply temperature in change-over mode
Modelica.Units.SI.PressureDifferencedp1_nominal (from PartialDecoupling)dpPum_nominal - dpPip_nominalControl valve pressure drop at design conditions
Booleanis_corfalseSet to true to correct Delta-T set point for low load operation
Nominal condition
Modelica.Units.SI.MassFlowRatemTer_flow_nominal (from PartialActivePrimary)1Terminal unit mass flow rate at design conditions
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialActivePrimary)m2_flow_nominalMass flow rate in primary branch at design conditions
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialActivePrimary)nTer*mTer_flow_nominalMass flow rate in consumer circuit at design conditions
Modelica.Units.SI.PressureDifferencedpTer_nominal (from PartialActivePrimary)3E4Terminal unit pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedpPip_nominal (from PartialActivePrimary)0.5E4Pipe section pressure drop at design conditions
Modelica.Units.SI.PressureDifferencedpPum_nominal (from PartialActivePrimary)Pump head at design conditions
Modelica.Units.SI.MassFlowRatemPum_flow_nominal (from PartialActivePrimary)m1_flow_nominalPrimary pump mass flow rate at design conditions
Modelica.Units.SI.PressureDifferencedp2_nominal (from PartialDecoupling)dpPip_nominal + dp2SetConsumer circuit pressure differential at design conditions
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialActivePrimary)Modelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state
Configuration
Booleanis_bal (from PartialDecoupling)trueSet to true for balanced primary branch
Controls
Modelica.Units.SI.PressureDifferencedp2Set (from PartialDecoupling)loa1.dpTer_nominal + loa1.dpValve_nominalConsumer circuit pressure differential set point

Components

TypeNameDefaultDescription
Sources.Boundary_pTref (from PartialActivePrimary)Pressure and temperature boundary condition
Buildings.Fluid.HydronicConfigurations.Components.Pumppum (from PartialActivePrimary)Circulation pump
FixedResistances.PressureDropres1 (from PartialActivePrimary)Pipe pressure drop
Sensors.TemperatureTwoPortT1Ret (from PartialActivePrimary)Return temperature sensor
Sensors.TemperatureTwoPortT1Sup (from PartialActivePrimary)Supply temperature sensor
Buildings.Controls.OBC.CDL.Reals.SubtractdT1 (from PartialActivePrimary)Primary Delta-T
Delays.DelayFirstOrderdel1 (from PartialActivePrimary)Fluid transport delay
Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Decouplingcon (from PartialDecoupling)Hydronic connection
Sensors.RelativePressuredp (from PartialDecoupling)Differential pressure
BaseClasses.LoadTwoWayValveControlloa (from PartialDecoupling)Load
BaseClasses.LoadTwoWayValveControlloa1 (from PartialDecoupling)Load
FixedResistances.PressureDropres2 (from PartialDecoupling)Pipe pressure drop
Sensors.RelativePressuredp2 (from PartialDecoupling)Differential pressure
FixedResistances.PressureDropresEnd2 (from PartialDecoupling)Pipe pressure drop
Buildings.Controls.OBC.CDL.Reals.Sources.Constantdp2SetVal (from PartialDecoupling)Pressure differential set point
Buildings.Controls.OBC.CDL.Reals.PIDWithResetctlPum2 (from PartialDecoupling)Secondary pump controller
FixedResistances.PressureDropresEnd1 (from PartialDecoupling)Pipe pressure drop
Buildings.Controls.OBC.CDL.Reals.Sources.TimeTablefraLoa (from PartialDecoupling)Load modulating signal
Delays.DelayFirstOrderdel2 (from PartialDecoupling)Fluid transport delay
Buildings.Controls.OBC.CDL.Integers.Sources.TimeTablemode (from PartialDecoupling)Operating mode (time schedule)
Buildings.Controls.OBC.CDL.Integers.GreaterThresholdisEna (from PartialDecoupling)Returns true if enabled
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[3]T1SetVal (from PartialDecoupling)Primary circuit temperature set point values
Buildings.Controls.OBC.CDL.Routing.RealExtractorT1Set (from PartialDecoupling)Primary circuit temperature set point
Sensors.TemperatureTwoPortT1ConRet (from PartialDecoupling)Primary branch return temperature sensor
FixedResistances.Junctionjun (from PartialDecoupling)Junction
Buildings.Controls.OBC.CDL.Integers.AddParameteraddPar (from PartialDecoupling)Convert mode index to array index
Buildings.Controls.OBC.CDL.Reals.SubtractdTCompute T1Ret-T2Ret
Buildings.Controls.OBC.CDL.Reals.Sources.Constant[3]dTSetValDelta-T set point values
Buildings.Controls.OBC.CDL.Routing.RealExtractordTSetActSelect actual set point based on operating mode
Controls.PIDWithOperatingModectlController
Buildings.Controls.OBC.CDL.Reals.SubtractdT2SupRetCompute T2Sup-T2Ret
Modelica.Blocks.Sources.RealExpressionT2RetAccess T2Ret measurement from connection component
Modelica.Blocks.Sources.RealExpressionT2SupAccess T2Sup measurement from connection component
Buildings.Controls.OBC.CDL.Reals.MaxmaxDelTCompute max(T2Sup-T2Ret, dTSet) for cooling mode
Buildings.Controls.OBC.CDL.Reals.MinminDelTCompute min(T2Sup-T2Ret, dTSet) for heating mode
Buildings.Controls.OBC.CDL.Routing.RealExtractordTSetCorDelta-T set point corrected for low load operation
Modelica.Blocks.Routing.RealPassThroughdTSetUncDelta-T set point uncorrected

Revisions

  • June 30, 2022, by Antoine Gautier:
    First implementation.