3. FastSmoothBuildings against Buildings: same YAML, same weather, closed loop¶
Question. On complex buildings, does FastSmoothBuildings give the zone temperatures, the heating and the meters that Buildings gives, and, when a parameter of the YAML changes, does it move the way Buildings moves? A reduced model is fit for design and for calibration only if its sensitivities are right, not only its results at one point.
Answer. Hour by hour the zones follow Buildings within 0.02 to 0.10 K (0.46 K in the unheated sun-space of 960), the heating within 1.7 % in every base case. Of the 45 perturbations, 36 move both libraries alike, 4 closely, 3 move neither library beyond the resolution of the KPIs, and 2 differ: both are peaks of the heat pump of the renovated house.
Data: results/study_verdicts.csv (one row per perturbation),
results/study_responses.csv (every KPI of every perturbation),
results/study_fidelity.csv (hour by hour, per zone and variant),
results/study_kpis.csv (KPIs and meters of every run),
results/study_summary.json,
results/study_hour_of_day.csv; script
scripts/study_responses.py. The study page with its figures:
docs/validation/study.md.
Method¶
Both libraries are generated by trano from the same YAML file and simulated by OpenModelica in the same container
(study/buildings, the workflow study.yaml); FastSmoothBuildings runs in closed loop with its own smooth
controllers, nothing is replayed from Buildings. Each case has perturbations, each a change of one field of the
YAML, simulated with both libraries; for every KPI the ratio change seen by FastSmoothBuildings / change seen by Buildings is
computed (1.0 is a perfect sensitivity, whatever the offset between the libraries). Verdict per perturbation, on every
main KPI (mean, lowest and highest zone temperature, heating, cooling, peak heating, heat-pump electricity, gas):
alike within 0.9 to 1.1 or 0.05 K / 0.5 % of the base case, close within 0.8 to 1.25 or 0.1 K / 1 %, differs
otherwise; a KPI that neither library moves by more than 0.1 K or 2 % gives no ratio. Energies are read from the
energy meters of the systems (see the boiler water loop for why).
| Case | What it is | Period | Perturbations |
|---|---|---|---|
| 950FF | heavy BESTEST zone, free floating, night ventilation 1700 m3/h | a year, Denver | 6 |
| 940 | heavy zone, ideal heating with night set-back, cooling | a year, Denver | 14 (two sweeps of four steps) |
| 960 | light zone heated and cooled behind an unheated sun-space | a year, Denver | 4 |
| residential_after | six-zone house after renovation: air-to-water heat pump, 100 l buffer, radiators with thermostatic valves, balanced ventilation with heat recovery, PV | 28 days of January, Uccle | 12 (EPS sweep of three steps) |
| residential_before | the same house before renovation: gas boiler at 75 degC, three-way valve, radiators, infiltration n50 = 12 1/h | 28 days of January, Uccle | 9 (n50 sweep of two steps) |
Base cases¶
| Case | Zone temperature, hourly RMSE | Heating, FastSmoothBuildings against Buildings | Meter |
|---|---|---|---|
| 950FF | 0.08 K | (free floating) | |
| 940 | 0.05 K | −0.4 % | |
| 960 | 0.07 K zone, 0.46 K sun-space | −0.5 % | |
| residential_after | 0.06 to 0.10 K per room | +1.5 % | heat-pump electricity −0.2 % |
| residential_before | 0.02 to 0.09 K per room | +1.7 % | gas +1.9 % |
Responses¶
| Case | alike | close | differs | neither moves |
|---|---|---|---|---|
| 950FF | 6 | |||
| 940 | 14 | |||
| 960 | 4 | |||
| residential_after | 6 | 4 | 2 | |
| residential_before | 6 | 3 | ||
| all | 36 | 4 | 2 | 3 |
By family (ratios of FastSmoothBuildings's change to Buildings'):
- Conduction through the envelope. Insulation of 940 from x0.5 to x2: heating 1.00 to 1.01 over the whole sweep, cooling 1.07 to 1.08; EPS of the renovated house from x0.5 to x2: heating 0.98 to 1.00; cavity insulation of the house before renovation (heating −23 %): heating, peak and gas 1.01.
- Air. Infiltration of 940 from x0.5 to x3: 0.99 to 1.01; airtightness n50 x2 of the renovated house: 0.97; n50 x0.5 and x1.5 of the house before renovation: heating 1.00, gas 0.99 to 1.01, peak 0.88 to 0.98.
- Thermal mass. Half the mass of the walls: 0.96 to 1.09.
- Glazing. Solar transmittance x0.75: 0.90 to 1.08; conductivity of the gas of the gap x0.5: 1.02 to 1.07 (940), below the resolution in the house before renovation.
- Gains. Internal gains x2: 0.99 to 1.01.
- Sun on the opaque surfaces. Solar absorptance 0.6 to 0.9: 0.91 to 0.93 on every KPI of 950FF and 940, alike but the one envelope parameter FastSmoothBuildings underestimates (open, see open gaps).
- Two zones (960). Common wall x2, sun-space mass x0.5 and infiltration x2: 0.94 to 1.10.
- Ideal systems. Heating set points of 940 +2 K: 0.99 to 1.00.
- Heat pump house. Supply +10 K (electricity 1.04), radiator exponent (peak 0.93), heat recovery 0.5: alike. Set point +1 K (heating 0.87, electricity 0.85), radiators x0.7 (heating 1.28, electricity 1.30 on changes of 3 %), a 2 kW heat pump (peak 1.21) and the ventilation x1.5 (peak 1.14): close. The buffer x3 (FastSmoothBuildings's peak −5 %, Buildings' −1 %) and the EPS x0.5 (peak 1.51) differ: the heat pump of FastSmoothBuildings has no minimum run and off times and takes its condenser from the buffer temperature.
- Boiler house. Supply −10 K and radiators x0.7: peak 1.06; set point +1 K: heating 0.99, gas 0.99; a 10 kW boiler instead of 16 kW and the radiator exponent move neither library (the peak of the house, 8.7 kW, stays below 10 kW).
How the study changed the library¶
The study was run four times. The first run found four defects (the night ventilation dropped by the FastSmoothBuildings zone, a 1 kW leak of the ideal systems, a single glazing that did not translate, an under-determined flat Buildings model) and the gaps that the library changes closed; the second and third runs measured them; the fourth added the house before renovation and read the energies from the meters.
Reproduce¶
python -m study.analysis.scripts.study_responses # tables from the committed results
python -m study.buildings run residential_before --variants base # one run of both libraries (Docker)
python -m study.buildings report --docs # the study page and its figures
[study] or [study <case> ... | <variant> ...].