modelChillerBorefield
ETS model for 5GDHC systems with heat recovery chiller and optional borefield
Extends from Buildings.Obsolete.DHC.ETS.Combined.BaseClasses.PartialParallel (Partial ETS model with district heat exchanger and parallel connection of production systems).
Information
This model represents an energy transfer station as illustrated in the schematics below.
- The heating and cooling functions are provided by a heat recovery chiller, see Buildings.Obsolete.DHC.ETS.Combined.Subsystems.Chiller for the operating principles and modeling assumptions. The condenser and evaporator loops are equipped with constant speed pumps.
- The supervisory controller ensures the load balancing between the condenser side and the evaporator side of the chiller by controlling in sequence an optional geothermal borefield (priority system), the district heat exchanger (second priority system), and ultimately the chiller, by resetting down the chilled water supply temperature, see Buildings.Obsolete.DHC.ETS.Combined.Controls.Supervisory for a detailed description. The borefield and district heat exchanger loops are equipped with variable speed pumps modulated by the supervisory controller.
Note that the heating and cooling enable signals (uHea and uCoo)
connected to this model should be switched to false when the
building has no corresponding demand (e.g., based on the requests yielded by
the terminal unit controllers, in conjunction with a schedule).
This will significantly improve the system performance as it is a
necessary condition for the chiller to be operated at a lower lift, see
Buildings.DHC.ETS.Combined.Controls.Reset.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.Data.Fuels.Generic[nFue] | fue (from PartialETS) | Fuel type | |
| Buildings.DHC.ETS.Types.ConnectionConfiguration | conCon (from PartialParallel) | Buildings.DHC.ETS.Types.ConnectionConfiguration.Pump | District connection configuration |
| Integer | nSysHea (from PartialParallel) | Number of heating systems | |
| Integer | nSysCoo (from PartialParallel) | nSysHea | Number of cooling systems |
| Integer | nSouAmb (from PartialParallel) | 1 | Number of ambient sources |
| Boolean | have_borFie | false | Set to true in case a borefield is used in addition of the district HX |
| Boolean | have_WSE | false | Set to true in case a waterside economizer is used |
| Buildings.Fluid.Geothermal.Borefields.Data.Borefield.Example | datBorFie | ||
| Configuration | |||
| TypDisSys | typ (from PartialETS) | Buildings.DHC.Types.DistrictSystemType.CombinedGeneration2to4 | Type of district system |
| Integer | nPorts_aHeaWat (from PartialETS) | 0 | Number of heating water return ports |
| Integer | nPorts_bHeaWat (from PartialETS) | 0 | Number of heating water supply ports |
| Integer | nPorts_aChiWat (from PartialETS) | 0 | Number of chilled water return ports |
| Integer | nPorts_bChiWat (from PartialETS) | 0 | Number of chilled water supply ports |
| Boolean | have_heaWat (from PartialETS) | false | Set to true if the ETS supplies heating water |
| Boolean | have_hotWat (from PartialETS) | false | Set to true if the ETS supplies hot water |
| Boolean | have_chiWat (from PartialETS) | false | Set to true if the ETS supplies chilled water |
| Boolean | have_fan (from PartialETS) | false | Set to true if fan power is computed |
| Boolean | have_pum (from PartialETS) | false | Set to true if pump power is computed |
| Boolean | have_eleHea (from PartialETS) | false | Set to true if the ETS has electric heating system |
| Integer | nFue (from PartialETS) | 0 | Number of fuel types (0 means no combustion system) |
| Boolean | have_eleCoo (from PartialETS) | false | Set to true if the ETS has electric cooling system |
| Boolean | have_weaBus (from PartialETS) | false | Set to true to use a weather bus |
| Assumptions | |||
| Boolean | allowFlowReversalSer (from PartialETS) | false | Set to true to allow flow reversal on service side |
| Boolean | allowFlowReversalBui (from PartialETS) | false | Set to true to allow flow reversal on building side |
| Nominal condition | |||
| Modelica.Units.SI.HeatFlowRate | QHeaWat_flow_nominal (from PartialETS) | 0 | Nominal capacity of heating system (>=0) |
| Modelica.Units.SI.HeatFlowRate | QHotWat_flow_nominal (from PartialETS) | 0 | Nominal capacity of hot water production system (>=0) |
| Modelica.Units.SI.HeatFlowRate | QChiWat_flow_nominal (from PartialETS) | 0 | Nominal capacity of cooling system (<=0) |
| Modelica.Units.SI.PressureDifference | dpValIso_nominal (from PartialParallel) | 2E3 | Nominal pressure drop of ambient circuit isolation valves |
| District heat exchanger | |||
| Modelica.Units.SI.PressureDifference | dp1Hex_nominal (from PartialParallel) | Nominal pressure drop across heat exchanger on district side | |
| Modelica.Units.SI.PressureDifference | dp2Hex_nominal (from PartialParallel) | Nominal pressure drop across heat exchanger on building side | |
| Modelica.Units.SI.HeatFlowRate | QHex_flow_nominal (from PartialParallel) | Nominal heat flow rate through heat exchanger (from district to building) | |
| Modelica.Units.SI.Temperature | T_a1Hex_nominal (from PartialParallel) | Nominal water inlet temperature on district side | |
| Modelica.Units.SI.Temperature | T_b1Hex_nominal (from PartialParallel) | Nominal water outlet temperature on district side | |
| Modelica.Units.SI.Temperature | T_a2Hex_nominal (from PartialParallel) | Nominal water inlet temperature on building side | |
| Modelica.Units.SI.Temperature | T_b2Hex_nominal (from PartialParallel) | Nominal water outlet temperature on building side | |
| Real | spePum1HexMin (from PartialParallel) | 0.1 | Heat exchanger primary pump minimum speed (fractional) |
| Real | spePum2HexMin (from PartialParallel) | 0.1 | Heat exchanger secondary pump minimum speed (fractional) |
| Buffer Tank | |||
| Modelica.Units.SI.Volume | VTanHeaWat (from PartialParallel) | Heating water tank volume | |
| Modelica.Units.SI.Length | hTanHeaWat (from PartialParallel) | (VTanHeaWat*16/Modelica.Constants.pi)^(1/3) | Heating water tank height (assuming twice the diameter) |
| Modelica.Units.SI.Length | dInsTanHeaWat (from PartialParallel) | 0.1 | Heating water tank insulation thickness |
| Modelica.Units.SI.Volume | VTanChiWat (from PartialParallel) | Chilled water tank volume | |
| Modelica.Units.SI.Length | hTanChiWat (from PartialParallel) | (VTanChiWat*16/Modelica.Constants.pi)^(1/3) | Chilled water tank height (without insulation) |
| Modelica.Units.SI.Length | dInsTanChiWat (from PartialParallel) | 0.1 | Chilled water tank insulation thickness |
| Integer | nSegTan (from PartialParallel) | 3 | Number of volume segments for tanks |
| Chiller | |||
| Modelica.Units.SI.PressureDifference | dpCon_nominal | Nominal pressure drop accross condenser | |
| Modelica.Units.SI.PressureDifference | dpEva_nominal | Nominal pressure drop accross evaporator | |
| Buildings.Fluid.Chillers.Data.ElectricEIR.Generic | datChi | Chiller performance data | |
| Waterside economizer | |||
| Modelica.Units.SI.PressureDifference | dp1WSE_nominal | 40E3 | Nominal pressure drop across heat exchanger on district side |
| Modelica.Units.SI.PressureDifference | dp2WSE_nominal | 40E3 | Nominal pressure drop across heat exchanger on building side |
| Modelica.Units.SI.HeatFlowRate | QWSE_flow_nominal | 0 | Nominal heat flow rate through heat exchanger (<=0) |
| Modelica.Units.SI.Temperature | T_a1WSE_nominal | 279.15 | Nominal water inlet temperature on district side |
| Modelica.Units.SI.Temperature | T_b1WSE_nominal | 284.15 | Nominal water outlet temperature on district side |
| Modelica.Units.SI.Temperature | T_a2WSE_nominal | 288.15 | Nominal water inlet temperature on building side |
| Modelica.Units.SI.Temperature | T_b2WSE_nominal | 281.15 | Nominal water outlet temperature on building side |
| Real | y1WSEMin | 0.05 | Minimum pump flow rate or valve opening for temperature measurement (fractional) |
| Modelica.Units.SI.MassFlowRate | m1WSE_flow_nominal | abs(QWSE_flow_nominal/4200/(T_b1WSE_nominal - T_a1WSE_nominal)) | WSE primary mass flow rate |
| Borefield | |||
| Modelica.Units.SI.Temperature | TBorWatEntMax | 313.15 | Maximum value of borefield water entering temperature |
| Real | spePumBorMin | 0.1 | Borefield pump minimum speed |
| Modelica.Units.SI.Pressure | dpBorFie_nominal | 5E4 | Pressure losses for the entire borefield (control valve excluded) |
| Supervisory controller | |||
| Buildings.Controls.OBC.CDL.Types.SimpleController | controllerType | Buildings.Controls.OBC.CDL.Types.SimpleController.PI | Type of controller |
| Real | kHot | 0.05 | Gain of controller on hot side |
| Real | kCol | 0.1 | Gain of controller on cold side |
| Modelica.Units.SI.Time | TiHot | 300 | Time constant of integrator block on hot side |
| Modelica.Units.SI.Time | TiCol | 120 | Time constant of integrator block on cold side |
| Modelica.Units.SI.Temperature | THeaWatSupSetMin | datChi.TConEntMin + 5 | Minimum value of heating water supply temperature set point |
| Modelica.Units.SI.Temperature | TChiWatSupSetMin | datChi.TEvaLvgMin | Minimum value of chilled water supply temperature set point |
| Modelica.Units.SI.Temperature | TChiWatSupSetMax | datChi.TEvaLvgMax | Minimum value of chilled water supply temperature set point |
Connectors
Components
Revisions
-
November 3, 2025, by Michael Wetter:
Moved toBuildings.Obsolete.
This is for #4354. -
March 6, 2025, by Hongxiang Fu:
Added parameters to support chilled water temperature reset.
This is for #4133. -
November 22, 2024, by Michael Wetter:
Reduced number of time events by replacing zero order hold with true and false hold, and increasing the minimum cycle time.
This is for #4058. -
March 27, 2024, by David Blum:
Update icon.
This is for issue #3606. -
April 30, 2021, by Michael Wetter:
Reformulated replaceable class to avoid access of components that are not in the constraining type.
This is for issue #2471. -
July 31, 2020, by Antoine Gautier:
First implementation.