modelDecouplingMixing

Model illustrating the operation of a decoupling circuit serving a single mixing circuit

Extends from Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.BaseClasses.PartialDecoupling (Partial model of primary variable circuit serving a decoupling circuit).

Information

This model represents a cooling system where the configuration Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Decoupling is used in conjunction with Buildings.Fluid.HydronicConfigurations.PassiveNetworks.SingleMixing. The combined configuration serves as the interface between a variable flow primary circuit and a variable flow consumer circuit. The primary circuit has a constant supply temperature. The consumer circuit has a varying supply temperature set point that is reset based on the terminal valve opening, with the most open valve being kept 90% open.

Note the following settings.

  • con1.dp1_nominal=con.dpBal3_nominal which is used to size the control valve and the pump of the mixing configuration, and avoids a reverse flow in the bypass at partial load due to the opposing differential pressure created by the decoupling configuration. See Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples.SingleMixingOpenLoop for further details on that behavior.
  • The controller resT2 that is used to reset the secondary supply temperature uses y_reset=1 which yields the design supply temperature at the time when the controller is enabled. Otherwise there is a significant delay in satisfying the load, followed by a large overshoot, and the control loop is hard to tune.

The fact that the load seems unmet at partial load (see plot #4) is due to the load model that does not guarantee a linear variation of the load with the input signal in cooling mode, see Buildings.Fluid.HydronicConfigurations.ActiveNetworks.Examples.BaseClasses.Load.

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
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
PassiveNetworks.SingleMixingcon1Single mixing connection
Controls.PIDWithOperatingModeresT2PI controller for consumer circuit temperature reset
Buildings.Controls.OBC.CDL.Reals.LineT2SetVarConsumer circuit temperature set point (reset)
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantyValSetValve opening set point
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantoneOne
Buildings.Controls.OBC.CDL.Reals.Sources.Constantzer1Zero
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantT2SetLim0Consumer circuit temperature limiting set point
Buildings.Controls.OBC.CDL.Reals.MaxyValMaxMaximum valve opening
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantT2SetLim1Consumer circuit temperature design set point

Revisions

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