Manual J Calculation Validation
The Kouzouki HVAC load engine reproduces a published, peer-reviewed heat-loss worked example. Conduction matches exactly; the only deviation is a documented air-property constant. Full details and a downloadable report below.
1. Published reference
Heat Loss Calculations and Principles — A. Bhatia, P.E.
CED Engineering Course M05-003, Section 3 worked example (Montreal office building).
View the source document ↗
This reference was chosen because it states each surface U-value directly and applies the steady-state relation Q = U × A × ΔT, giving a direct, non-circular check of the engine's conduction calculation.
2. Inputs as entered into the tool
Indoor design temperature 70°F, outdoor design temperature −20°F, heating ΔT = 90°F. Infiltration 2,457.6 CFM (ACH 1.0 over a 147,456 ft³ volume).
| Surface | U (BTU/h·ft²·°F) | Area (ft²) | ΔT (°F) |
|---|---|---|---|
| Exterior walls | 0.09 | 7,776 | 90 |
| Windows | 0.70 | 2,592 | 90 |
| Roof | 0.04 | 5,120 | 90 |
3. Engine output vs. published values
| Component | Published (BTU/h) | Engine (BTU/h) | Diff | |
|---|---|---|---|---|
| Exterior walls | 62,986 | 62,986 | 0.00% | |
| Windows | 163,296 | 163,296 | 0.00% | |
| Roof | 18,432 | 18,432 | 0.00% | |
| Conduction subtotal | 244,714 | 244,714 | 0.00% | |
| Infiltration * | 238,879 | 243,302 | 1.85% | |
| Total heating load | 483,573 | 488,016 | 0.92% |
* Infiltration: the published example uses the air-property constant 1.08 (= 0.075 lb/ft³ × 0.24 BTU/lb·°F × 60 min/h), while this engine uses the more common 1.10. The ratio 1.10/1.08 = 1.0185 fully explains the 1.85% infiltration difference and the resulting 0.92% difference in the total — a known constant choice, not a calculation error.
4. Conclusion
Given the published design conditions, U-values and surface areas, the engine computes the surface-by-surface conduction heat loss exactly (244,714 BTU/h, 0.00% deviation), and the total heating load within 0.92%. The engine correctly implements the steady-state heat-loss methodology.
Download the full validation report (PDF)
Reproduce: node scripts/validate_manualj_published.mjs →
python scripts/make_validation_pdf.py.