blockModeCondenserLoop
Information
Tank charge fraction and rate of change
The tank charge fraction fraChaTan (-) is computed as the 5-minute moving average of the following expression: (∑i (TTani - min(TTanSet)) / (max(TTanSet) - min(TTanSet)) / nTTan - fraUslTan) / (1 - fraUslTan), where TTani is the measurement from the i-th temperature sensor along the vertical axis of the tank, TTanSet are the tank temperature setpoints (two values for each tank cycle), nTTan is the number of temperature sensors along the vertical axis of the tank, fraUslTan is the useless fraction of the tank which is computed as follows: fraUslTan = ((max(TTanSet[2]) - min(TTanSet)) / (max(TTanSet) - min(TTanSet)) * hThe + hHee) / hTan, where hThe is the height of the thermocline (1 m by default) which is considered useless only during the second tank cycle, hHee is the upper and lower heel heights above and below the diffusers (1 m by default), hTan is the tank height (used as an approximation for the normal operating level of the tank at minimum temperature). Please see the detailed calculation of the tank charge fraction in Buildings.DHC.Plants.Combined.Controls.BaseClasses.TankChargeFraction.
The rate of change of the tank charge fraction ratFraChaTan (h-1) is computed over several time periods (10, 30, 120, 240 and 360 min) as: ratFraChaTan(Δt) = (fraChaTan(t) - fraChaTan(t - Δt)) / Δt * 3600, where Δt is the time period in seconds. Please see the detailed calculation of the rate of change in Buildings.DHC.Plants.Combined.Controls.BaseClasses.TankChargeFractionRate.
Operating modes
Three operating modes are defined within Buildings.DHC.Plants.Combined.Controls.ModeCondenserLoop.
Charge Assist
The mode is enabled whenever any of the following conditions
is true for 5 min.
Any of the rates of change exceeds the values specified with the parameter
ratFraChaTanLim.
The tank charge fraction is lower than 97 % and
1 - fraChaTan > 0.08 * abs(nHouToWarUp - 2), where
fraChaTan is the tank charge fraction and
nHouToWarUp is the number
of hours between the present time and the start time of morning warmup (4 AM by default).
The 2-hour offset forces Charge Assist mode two hours before morning warmup
if the tank is not fully charged.
Please see
Buildings.DHC.Plants.Combined.Controls.BaseClasses.HoursToNextWarmup
for the calculation of the number of hours to next warmup period.
The mode is disabled whenever none of the Enable conditions is true for 15 min, or the flow rate out of the lower port of the tank is positive for 5 min and the temperature at the bottom of the tank is higher than the maximum tank temperature setpoint minus 2 K for 5 min.
Heat Rejection
The mode is enabled whenever all of the following conditions are true. The Charge Assist mode is disabled for 5 min. The flow rate out of the lower port of the tank is positive for 5 min. The tank charge fraction is higher than 97 % for 5 min or the temperature at the bottom of the tank is higher than the maximum tank temperature setpoint minus 2 K for 5 min.
The mode is disabled whenever there is reverse flow through the cooling heat exchanger for 1 min.
Tank Charge/Discharge
The mode is enabled whenever neither Charge Assist nor Heat Rejection mode is enabled.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | mConWatHexCoo_flow_nominal | Design total CW mass flow rate through condenser barrels (all units) | |
| Real | QHeaPum_flow_nominal | Design heat flow from heat pumps (all units) | |
| Integer | nTTan | 2 | Number of tank temperature points |
| Real[5] | ratFraChaTanLim | {-0.3, -0.2, -0.15, -0.10, -0.08} | Rate of change of tank charge fraction (over 10, 30, 120, 240, and 360') that triggers Charge Assist (<0) |
| Real | cp_default | Buildings.Utilities.Psychrometrics.Constants.cpWatLiq | Specific heat capacity of the fluid |
| CW loop, TES tank and heat pumps | |||
| Real[2,2] | TTanSet | Tank temperature setpoints: 2 cycles with 2 setpoints | |
| Real | fraUslTan | Useless fraction of TES | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | mConWatHexCoo_flow | CW mass flow rate through secondary (plant) side of HX | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | mConWatCon_flow | CW condenser loop mass flow rate | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TConWatConChiLvg | Chiller and HRC leaving CW temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | TConWatConRet | CWC return temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | mConWatOutTan_flow | Mass flow rate out of lower port of TES tank (>0 when charging) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput[nTTan] | TTan | TES tank temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput | mode | Condenser loop operating mode |
Components
Revisions
-
February 25, 2025, by Jianjun Hu:
Reimplemented it to comply with CDL specification. This is for #4110. -
August 29, 2023, by Hongxiang Fu:
Because of the removal ofLogical.And3based on ASHRAE 231P, replaced it with a stack of twoLogical.Andblocks. This is for #2465. -
February 24, 2023, by Antoine Gautier:
First implementation.