Build git 6930721 · run 2 September 2026
- 21 / 21 solver checks passed
- 38 / 38 junction templates rasterised, solved and audited
- 0 boundary-condition leaks across all templates
1. The BS EN ISO 10211 test reference case
BS EN ISO 10211 publishes test reference cases so that any calculation method can be checked against a known answer. Case 2 is the two-dimensional one that matters for junctions: a concrete slab with a wooden batten, an aluminium window frame and insulation — deliberately awkward, because the aluminium (λ = 230 W/m·K) sits next to insulation (λ = 0.029) and a solver that smears heat across that contrast will fail. The standard gives nine reference surface temperatures and the total heat flow, and a method is expected to reproduce them to 0.1 °C and 0.1 W/m.
| Point | Standard | ΨMonkey | Deviation | Limit | |
|---|---|---|---|---|---|
| A | 7.1 °C | 7.062 °C | 0.038 K | 0.100 K | PASS |
| B | 0.8 °C | 0.761 °C | 0.039 K | 0.100 K | PASS |
| C | 7.9 °C | 7.895 °C | 0.005 K | 0.100 K | PASS |
| D | 6.3 °C | 6.265 °C | 0.035 K | 0.100 K | PASS |
| E | 0.8 °C | 0.828 °C | 0.028 K | 0.100 K | PASS |
| F | 16.4 °C | 16.407 °C | 0.007 K | 0.100 K | PASS |
| G | 16.3 °C | 16.333 °C | 0.033 K | 0.100 K | PASS |
| H | 16.8 °C | 16.768 °C | 0.032 K | 0.100 K | PASS |
| I | 18.3 °C | 18.334 °C | 0.034 K | 0.100 K | PASS |
| Heat flow | 9.5 W/m | 9.489 W/m | 0.011 W/m | 0.100 W/m | PASS |
Worst temperature deviation across the nine points: 0.039 K — about a third of the permitted tolerance. Heat flow is within 0.011 W/m of the reference value.
2. Analytical benchmarks and geometry regressions
A reference case proves the solver gets one hard problem right. These eleven checks prove it gets the easy ones exactly right — where an exact answer exists, ΨMonkey has to reproduce it to six figures, not approximately — and that its geometry handling doesn't drift.
| Check | Expected | ΨMonkey | Tolerance | |
|---|---|---|---|---|
| Flat homogeneous wall — U-valueAnalytical 1D solution | 1.754386 W/m²K (exact) | 1.754386 | 0.0001 | PASS |
| Flat homogeneous wall — ΨNo bridge present, so Ψ must vanish | 0 (exact) | 1.6 × 10⁻¹¹ | 0.0001 | PASS |
| Flat homogeneous wall — f_RsiAnalytical 1D surface temperature | 0.771930 (exact) | 0.771930 | 0.0001 | PASS |
| Multilayer wall + ISO 6946 cavity — UBrick / cavity Rc 0.18 / block | 0.719963 W/m²K (exact) | 0.719963 | 0.0001 | PASS |
| Multilayer wall — ΨLayered but unbridged | 0 (exact) | 8.2 × 10⁻¹² | 0.0001 | PASS |
| Upward heat flow, Rsi 0.10 — UDirectional surface resistance | 0.194553 W/m²K (exact) | 0.194553 | 0.0001 | PASS |
| Laplace field vs Fourier-series solution — max |ΔT|Pure-conduction field against a closed-form analytical solution, sampled at 9 interior points | 0 K | 0.0007 K | 0.1 K | PASS |
| Tilted slab 18.5° — ΨGeometry regression: a uniform sloped slab has no bridge, so Ψ must stay at zero however it is tilted | 0 W/(m·K) | 0.0040 | 0.008 | PASS |
| Tilted slab 30° — ΨAs above, steeper | 0 W/(m·K) | 0.0028 | 0.010 | PASS |
| R4 ridge at 18.5° — ΨRidge Ψ should reflect the timber ridge member only | 0.008 W/(m·K) | −0.0005 | 0.015 | PASS |
| R4 ridge — swing between 18.5° and 45°Pitch invariance: the same detail at a different pitch must not move Ψ | 0 W/(m·K) | 0.027 | 0.040 | PASS |
3. All 38 junction templates
Separately from the solver checks, every shipped junction template is drawn, audited and solved on each build — at its default build-up and again after the build-up has been edited, because a template that only works untouched is no use to anyone. The audit confirms each detail rasterises to the geometry it describes, that no internal surface ends up adjacent to an external one (a leak that would silently understate Ψ), and that the solution converges with a closed energy balance.
The Ψ-values below are what the shipped defaults produce — the accredited full-fill masonry wall, with every other element at the template default. They are a starting point, not your answer: change a thickness or a material and they move, which is the entire point of the tool. The same 38 templates solved against eight named walls are on the psi values reference page, each figure a click from the model that made it.
| Ref | Junction | Ψ (W/m·K) | fRsi | Leaks | |
|---|---|---|---|---|---|
| E1 | Lintel — steel (window head) | 0.2234 | 0.819 | 0 | PASS |
| E2 | Lintel — insulated, no base plate (window head) | 0.1966 | 0.809 | 0 | PASS |
| E3 | Cill (window sill) | 0.0472 | 0.751 | 0 | PASS |
| E4 | Jamb (window reveal) | 0.0048 | 0.850 | 0 | PASS |
| E5 | Ground floor (suspended beam & block) | 0.0706 | 0.862 | 0 | PASS |
| E5s | Ground floor (solid ground-bearing slab) | 0.0942 | 0.872 | 0 | PASS |
| E19 | Ground floor (inverted) | 0.1115 | 0.845 | 0 | PASS |
| E20 | Exposed floor (normal) | 0.2999 | 0.799 | 0 | PASS |
| E21 | Exposed floor (inverted) | 0.2999 | 0.799 | 0 | PASS |
| E22 | Basement floor | 0.1230 | 0.794 | 0 | PASS |
| E6 | Intermediate floor (within dwelling) | 0.0076 | 0.973 | 0 | PASS |
| E7 | Party floor between dwellings | 0.0452 | 0.971 | 0 | PASS |
| E8 | Balcony — insulation continuous | 0.0000 | 0.977 | 0 | PASS |
| E9 | Balcony between dwellings | 0.0141 | 0.977 | 0 | PASS |
| E23 | Balcony — support penetrates insulation | 0.2692 | 0.791 | 0 | PASS |
| E10 | Eaves (insulation at ceiling level) | 0.0347 | 0.944 | 0 | PASS |
| E11 | Eaves (insulation at rafter level) | 0.0557 | 0.957 | 0 | PASS |
| E24 | Eaves (insulation at ceiling — inverted) | 0.0276 | 0.952 | 0 | PASS |
| E12 | Gable (insulation at ceiling level) | 0.0456 | 0.940 | 0 | PASS |
| E13 | Gable (insulation at rafter level) | 0.0363 | 0.944 | 0 | PASS |
| E14 | Flat roof | 0.0613 | 0.954 | 0 | PASS |
| E15 | Flat roof with parapet | 0.0858 | 0.945 | 0 | PASS |
| E16 | Corner (normal) | 0.0372 | 0.947 | 0 | PASS |
| E17 | Corner (inverted) | -0.0753 | 0.947 | 0 | PASS |
| E18 | Party wall / external wall | -0.0010 | 0.973 | 0 | PASS |
| E25 | Staggered party wall | -0.0004 | 0.969 | 0 | PASS |
| P1 | Party wall — ground floor | 0.1756 | 0.917 | 0 | PASS |
| P6 | Party wall — ground floor (inverted) | 0.1191 | 0.903 | 0 | PASS |
| P2 | Party wall — intermediate floor (within dwelling) | 0.0539 | 0.979 | 0 | PASS |
| P3 | Party wall — floor between dwellings | 0.0539 | 0.979 | 0 | PASS |
| P7 | Party wall — exposed floor | -0.0012 | 0.966 | 0 | PASS |
| P8 | Party wall — exposed floor (inverted) | -0.0070 | 0.950 | 0 | PASS |
| P4 | Party wall — roof (insulation at ceiling) | 0.2604 | 0.819 | 0 | PASS |
| P5 | Party wall — roof (insulation at rafter) | 0.0172 | 0.968 | 0 | PASS |
| R1 | Roof window — head | 0.0694 | 0.877 | 0 | PASS |
| R2 | Roof window — sill | 0.0632 | 0.873 | 0 | PASS |
| R3 | Roof window — jamb | 0.0320 | 0.914 | 0 | PASS |
| R4 | Ridge (vaulted ceiling) | -0.0039 | 0.895 | 0 | PASS |
4. What this does — and doesn't — prove
Validation is worth something only if it's honest about its limits, so:
- It proves the engine is sound. The solver reproduces the published reference case and every closed-form solution we can throw at it. If ΨMonkey gives you a wrong number, it will not be because the physics is wrong.
- It does not validate your model. A correct solver on a badly drawn junction gives a confidently wrong Ψ. The tool checks convergence, energy balance and model extent on every run and flags them in the report, but the geometry and the materials are yours.
- The built-in templates are calibrated, not certified. Modelled on the same build-up, they land within roughly ±0.02 W/m·K of published accredited construction details. Where a junction contains thin, high-contrast features, use Manual U·l mode and a finer cell size for a certified value.
- Ψ depends on the dimension convention. ΨMonkey subtracts flanking heat loss on SAP internal dimensions per BR 497, which is what SAP and HEM expect. Inverted junctions correctly read negative under that convention.
5. Run it yourself
The validation suite ships inside the app — this isn't a report we wrote about ourselves. Open ΨMonkey and click ✓ Validate in the sidebar: it runs these same 21 checks in your own browser, on your machine, and prints the same table. (The ISO 10211 reference case is a 95,000-cell model, so give it 10–20 seconds.) If a check ever fails for you, we want to know — 01202 623236.
Case numbering follows BS EN ISO 10211:2017. Every paid ΨMonkey report carries a printed report ID that Building Control can verify in seconds, and cites this validation on its quality-assurance page.