Thermal Energy Storage Validation Report · Test Matrix

Thermal Energy Storage Test Matrix

Every parameter we varied, every gate we scored, every result we published. Five stages, 84 test cases spanning hot and chilled service and both charge and discharge duty, all passing.

Stage 4 — Standby thermal decay (hot and chilled)

12 test cases, all passing

Pass

Reference engine: EnergyPlus 26.1.0 WaterHeater:Stratified — isolated standby tank with both heaters disabled (capacity 0), matched geometry and skin-loss coefficient, a constant ambient schedule, and no plant connections. Every transport term is identically zero in this regime, which is what makes it a clean test of the shell-loss physics on its own — and also why it cannot, by itself, tell you whether a tank puts energy in the right place.

Parameter sweeps

ParameterLevelsValues
Tank volume210 m³, 50 m³
Insulation U-value30.3, 0.5, 1.0 W/m²·K
Service mode2Hot (90 °C tank into 20 °C ambient — loses heat), chilled (5 °C tank in a 25 °C plant room — GAINS heat)
Stratification nodes15
Initial tank state1Uniform at the service temperature
Simulation period11 week (168 h)

Gates scored on every case

GateToleranceResult
Tank-mean trajectory NMBE±10% (ASHRAE Guideline 14)Hot -1.02% to -0.22%; chilled +0.05% to +0.36%. 12 / 12 PASS.
Tank-mean trajectory CV(RMSE)≤30%Hot 0.25% to 1.10%; chilled 0.05% to 0.36%. 12 / 12 PASS.
Week-long tank-average decay (or rise, chilled)diagnosticHot: CogenS 4.91–23.46 °C vs EP 4.58–22.33 °C. Chilled: both engines -1.31 to -6.39 °C, agreeing to the reported precision.
Shell loss / gain against EnergyPlus±2%Hot -1.3% to -0.3%; chilled -0.1% to +0.0%. The engine integrates the full tank surface including both end caps.
Energy conservation (idle tank)shell loss = stored-energy drop, ±2%Ratio 1.006 – 1.007 across the sweep.

Stage 4b — Hot-water storage, discharge duty

18 test cases, all passing

Pass

Reference engine: EnergyPlus 26.1.0 WaterHeater:Stratified with the use-side port wired — peak draw, hourly draw-fraction schedule and makeup-temperature schedule, with no plant loop so the only energy paths are shell loss and the draw. Both engines are driven with the SAME energy: EnergyPlus runs first and its own per-interval use-side heat transfer becomes the CogenS request, so what is scored is purely how each engine distributes that energy through the tank.

Parameter sweeps

ParameterLevelsValues
Tank volume210 m³, 50 m³
Insulation U-value30.3, 0.5, 1.0 W/m²·K
Draw intensity30.5, 1.0, 2.0 tank turnovers per day
Draw schedule1Two 3-hour blocks per day with idle recovery windows
Service temperatures190 °C stored, 60 °C return, 20 °C ambient
Project timestep115 minutes (672 steps)

Gates scored on every case

GateToleranceResult
Tank-mean temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 1.21%.
Thermocline stratificationNMBE ±10%, CV(RMSE) ≤30% on the operating band18 / 18. RMSE 0.83 – 1.81 K on a 30 K band.
Delivered supply temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 1.80%.

Stage 4c — Chilled-water storage, discharge duty

18 test cases, all passing

Pass

Reference engine: EnergyPlus 26.1.0 WaterHeater:Stratified with the use-side ports inverted for chilled service — chilled supply drawn from the BOTTOM, warm return admitted at the TOP, and an ambient warmer than the tank throughout. This is the first cross-simulation validation chilled-water storage has had.

Parameter sweeps

ParameterLevelsValues
Tank volume210 m³, 50 m³
Insulation U-value30.3, 0.5, 1.0 W/m²·K
Draw intensity30.5, 1.0, 2.0 tank turnovers per day
Service temperatures15 °C stored, 14 °C return, 25 °C plant room
Usable temperature band19 K (about a third of the hot-water band)
Project timestep115 minutes (672 steps)

Gates scored on every case

GateToleranceResult
Tank-mean temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 3.91%.
Thermocline stratificationNMBE ±10%, CV(RMSE) ≤30% on the operating band18 / 18. RMSE 0.07 – 0.18 K on a 9 K band.
Delivered chilled-water supply temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 3.85%.

Stage 4d — Hot-water storage, charge duty

18 test cases, all passing

Pass

Reference engine: EnergyPlus 26.1.0 WaterHeater:Stratified with the use-side port heights swapped so plant supply displaces the tank from the top down — the geometric mirror of Stage 4b. A real tank charges every night and discharges every day, so scoring only the draw side would leave half the duty cycle unmeasured.

Parameter sweeps

ParameterLevelsValues
Tank volume210 m³, 50 m³
Insulation U-value30.3, 0.5, 1.0 W/m²·K
Charge intensity30.5, 1.0, 2.0 tank turnovers per day
Initial tank state1Discharged — uniform 60 °C return temperature
Plant supply190 °C entering the top of the tank
Project timestep115 minutes (672 steps)

Gates scored on every case

GateToleranceResult
Tank-mean temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 1.51%.
Thermocline stratificationNMBE ±10%, CV(RMSE) ≤30% on the operating band18 / 18. RMSE 0.79 – 2.05 K on a 30 K band.
Returned temperature at the plant portNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 0.51%.

Stage 4e — Chilled-water storage, charge duty

18 test cases, all passing

Pass

Reference engine: EnergyPlus 26.1.0 WaterHeater:Stratified configured for chilled charge — 5 °C supply admitted at the BOTTOM with displaced warm water leaving the top. Overnight charging is where a chilled-storage business case is made, and the temperature returned to the chiller sets that machine entering-water temperature and therefore its efficiency.

Parameter sweeps

ParameterLevelsValues
Tank volume210 m³, 50 m³
Insulation U-value30.3, 0.5, 1.0 W/m²·K
Charge intensity30.5, 1.0, 2.0 tank turnovers per day
Initial tank state1Discharged — uniform 14 °C return temperature
Chiller supply15 °C entering the bottom of the tank
Project timestep115 minutes (672 steps)

Gates scored on every case

GateToleranceResult
Tank-mean temperatureNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 2.49%.
Thermocline stratificationNMBE ±10%, CV(RMSE) ≤30% on the operating band18 / 18. RMSE 0.10 – 0.25 K on a 9 K band.
Returned temperature at the chiller portNMBE ±10%, CV(RMSE) ≤30%18 / 18. |NMBE| ≤ 1.20%.