TP-11: Hot Water Storage
Overview
TP-11 models the hot water storage cylinder as a multi-volume stratified tank. The calculation follows BS EN 15316-5:2017 Method A, which divides the cylinder into a configurable number of equal-volume layers, tracks the temperature of each layer at every timestep, and applies energy inputs, draw-off demands, and thermal losses in a defined sequence.
The storage tank receives energy from one or more heat generators (boilers, heat pumps, immersion heaters, solar thermal systems) and supplies domestic hot water on demand. Heat generators are positioned at specific heights within the tank, and thermostatic controls determine when each source activates or deactivates. Standby losses are derived from the manufacturer-declared 24-hour heat loss at standardised test conditions per BS EN 12897:2016 Appendix B.
Inputs
| Parameter | Symbol | Unit | Description |
|---|---|---|---|
| Tank volume | litres | Total water volume of the cylinder | |
| Standby losses (declared) | kWh/24h | Measured heat loss over 24 hours at reference conditions | |
| Initial temperature | °C | Temperature of all layers at the start of the simulation | |
| Number of volumes | - | Number of equal-volume layers (default 4, up to 100 for smart tanks) | |
| Cold feed temperature | °C | Incoming mains water temperature per timestep | |
| Ambient temperature (tank location) | °C | Temperature of the space surrounding the cylinder (default 16 °C) | |
| Heater position | - | - | Fractional height (0 = bottom, 1 = top) for each heat source |
| Thermostat position | - | - | Fractional height at which each thermostat senses temperature |
| Thermostat setpoint (minimum) | °C | Temperature below which the heat source switches on | |
| Thermostat setpoint (maximum) | °C | Temperature at or above which the heat source switches off | |
| Immersion heater rated power | kW | Electrical power rating of the immersion heater |
Calculation
The calculation proceeds through a sequence of numbered steps per BS EN 15316-5:2017 section 6.4.3. Each timestep processes draw-off events first, then iterates over heat sources in ascending order of heater position.
Step 0: Initialisation
The tank volume is divided into equal layers, each with volume:
All layers are initialised to . Layer indexing runs from the bottom of the tank (index 0) to the top (index ). Subsequent timesteps carry forward the layer temperatures from the previous timestep.
Standby Losses Coefficient
The standby losses coefficient converts the declared 24-hour loss into a rate, using the reference test conditions from BS EN 12897:2016 Appendix B:
Where:
- is the declared standby loss in kWh/24h
- °C, the reference storage temperature
- °C, the reference ambient temperature
The factor of 1000 converts kW to W. This coefficient is constant for the duration of the simulation.
Steps 1 to 3: Hot Water Draw-off
When draw-off events occur in a timestep, hot water is extracted from the top of the tank downwards. For each event, the model determines how much hot water from each layer is needed to satisfy the demanded warm water volume at the target delivery temperature.
Hot Water Fraction
The fraction of stored hot water required to deliver water at the target temperature, when blended with cold water, is:
Where:
- is the demanded delivery temperature (°C)
- is the temperature of the current tank layer (°C)
- is the cold feed temperature (°C)
The model iterates from the topmost layer downward. For each layer, if the layer temperature is at or above , the model calculates the hot water volume required from that layer. If the layer volume is insufficient to meet the remaining demand, the entire layer is consumed and the model moves to the next layer below. If a layer temperature falls below , extraction stops and any remaining demand is recorded as unmet.
Energy Withdrawn
The energy content of the water extracted from each layer is:
Where:
- kg/litre, the density of water
- is the specific heat capacity of water in kWh/(kg·K)
Temperature After Extraction
After hot water is drawn off, the displaced volume in each layer is refilled by water rising from lower layers, with any shortfall supplied by the cold feed. The new temperature of each layer is the volume-weighted average of the remaining hot water, the water displaced upward from below, and any cold feed water added:
If the cold feed temperature exceeds the minimum existing layer temperature (as can occur with pre-heated cold feed sources), the layers are rearranged by the mixing algorithm described in Step 7.
Step 6: Energy Input from Heat Sources
Each heat source is processed in order of ascending heater position (bottom to top). For a given heat source, the potential energy input is allocated to the layer at the heater position:
All other layers receive zero energy input from this heat source. The theoretical temperature rise in the heated layer is:
The temperature after energy input is:
The total energy stored in the tank after energy input is:
Note that at this step, the temperature of the heated layer may temporarily exceed the thermostat setpoint. This overshoot is corrected in Step 8.
Thermostat Control
The heat source switches on when the temperature at the thermostat layer falls to or below :
The heat source switches off when the temperature at the thermostat layer reaches or exceeds :
For immersion heaters, the maximum energy output per timestep is capped by the rated power:
where is the timestep duration in hours.
For heat pumps, boilers, and heat networks, the potential energy output depends on the flow temperature, which is taken as the thermostat maximum setpoint . Primary pipework losses are subtracted from the potential energy input before it reaches the tank.
Step 7: Temperature Rearrangement
After energy input, a lower layer may be warmer than the layer above it. The model enforces stratification by iteratively merging adjacent layers from the bottom upward until temperatures are monotonically non-decreasing.
When the temperature of layer equals or exceeds the temperature of layer , the two layers (and any previously flagged adjacent layers) are mixed to a common temperature:
where is the set of contiguous layers being mixed. The mixed temperature is assigned to all layers in . This process repeats until no inversions remain.
Step 8: Thermal Losses and Final Temperature
Standing losses are distributed across all layers in proportion to each layer's share of the total volume. The temperature used for each layer's loss calculation is capped at the thermostat setpoint maximum (if a setpoint is defined and the heat source contributed energy):
Where multiple heat sources are present, losses already accounted for by a previous heat source are subtracted to prevent double-counting:
The final temperature of each layer depends on whether the layer exceeds the setpoint:
- Case 1: If no energy was input, or the post-mixing temperature is at or below :
- Case 2: If the heat source contributed energy and the post-mixing temperature exceeds :
Adjusted Energy Input
The excess energy that would raise the tank above the setpoint is calculated as the surplus:
where is the stored energy per layer after rearrangement. The adjusted energy demanded from the heat source is:
This ensures the heat source is not asked for more energy than the tank can accept without exceeding the setpoint.
Recoverable Heat Losses
A fraction of the standing losses is recoverable as an internal heat gain to the dwelling:
where is the fraction of thermal losses transmitted to the room (BS EN 15316-5:2017 Appendix B, Table B.3). The internal gain in watts is:
where represents primary pipework gains from internal pipework runs (see TP-10: Pipework and Ductwork Losses).
Primary Pipework Losses
For non-immersion heat sources, the primary circuit between the heat generator and the storage tank incurs pipework losses. These are accounted for at three points in the heating cycle:
- Start of heating event: A cool-down loss is incurred as the pipework is initially filled with water at the flow temperature, displacing cooled water from the previous off-period.
- During heating: A continuous heat loss rate is calculated from the temperature difference between the flow temperature and the surrounding air temperature. For internal pipework, this loss is credited as an internal gain.
- End of heating event: For internal pipework, a further cool-down loss is credited as an internal gain as the water in the pipework cools to the surrounding temperature.
The total pipework loss is subtracted from both the potential energy input (reducing the energy reaching the tank) and the actual heat source output demand (increasing the energy demanded from the generator to compensate).
PV Diverter
When a photovoltaic diverter is present, surplus PV generation can be diverted to the immersion heater. The diverter checks the spare capacity of the immersion heater (rated power minus energy already in use) and offers additional energy to the storage tank via the same Step 6 to 8 calculation sequence. The additional energy accepted by the tank is limited by the thermostat setpoint.
Outputs
| Quantity | Symbol | Unit | Description |
|---|---|---|---|
| Energy withdrawn | kWh | Thermal energy content of the hot water drawn off | |
| Unmet demand | kWh | Energy the tank could not supply (temperature too low) | |
| Final draw-off temperature | °C | Temperature of the last water delivered from the tank | |
| Average draw-off temperature | °C | Volume-weighted average temperature of all water drawn off | |
| Total volume drawn off | litres | Total volume of stored hot water extracted from the tank | |
| Storage losses | kWh | Total standing losses for the timestep | |
| Primary pipework losses | kWh | Heat lost through primary circuit pipework | |
| Recoverable heat losses | kWh | Portion of standing losses contributing to internal gains | |
| Internal gains | W | Rate of recoverable heat gain to the dwelling | |
| Layer temperatures | °C | Temperature of each stratified layer at timestep end |
Assumptions
- The tank is divided into equal-volume horizontal layers. No spatial variation within a layer is modelled.
- Water density is constant at kg/litre. Temperature-dependent density variation is not modelled.
- The ambient temperature surrounding the tank is fixed at °C for the duration of the simulation. Location-specific ambient temperatures (e.g. airing cupboard versus garage) are not dynamically resolved.
- Standby losses reference conditions use °C and °C per BS EN 12897:2016 Appendix B.
- The standby losses adaptation factor is , meaning no correction is applied beyond the reference test conditions.
- The fraction of thermal losses transmitted to the room is (BS EN 15316-5:2017 Appendix B, Table B.3).
- The fraction of auxiliary energy transmitted to the storage medium is (BS EN 15316-5:2017 Appendix B, Table B.3). In practice, auxiliary energy (pump power) is accounted for elsewhere, so this factor does not currently affect the energy balance.
- Temperature rearrangement enforces monotonically non-decreasing temperatures from bottom to top. The mixing algorithm uses a volume-weighted average when adjacent layers are merged.
- Immersion heaters are modelled as direct resistive elements with no pipework losses.
- For non-immersion heat sources, flow and return temperatures are currently treated as equal (no temperature drop across the primary coil is explicitly modelled).
- The default number of volumes is 4 for standard cylinders and 100 for smart hot water tanks.
Cross-references
- TP-04: Space Heating Demand -- recoverable storage losses contribute to internal gains in the zone heat balance
- TP-09: Hot Water Demand -- provides draw-off event schedules (volume, temperature, timing) consumed by the storage tank
- TP-10: Pipework and Ductwork Losses -- primary pipework heat loss and cool-down loss calculations
- TP-12: Heat Pumps -- heat pump energy output as a function of flow temperature feeds into Step 6
- TP-14: Boilers -- boiler energy output feeds into Step 6
- TP-17: Controls -- time controls and setpoint schedules determine when heat sources activate
- TP-18: PV and Battery -- PV diverter surplus energy is routed to the immersion heater