This guide describes how Vulcan’s calculators derive thermal values that align with the HEM FHS dwelling input (building elements attached to each zone). The published standards remain authoritative; this page records what the software computes and which input properties are written.
Property names follow the HEM FHS JSON Schema (e.g. input_fhs.schema.json) — in particular the BuildingElement discriminated union and its type-specific branches.
1. Assembly calculator (layered opaque fabric)
Applies to fabric elements edited through the layered construction editor — typically BuildingElementOpaque, BuildingElementPartyWall, BuildingElementAdjacentConditionedSpace, and BuildingElementGround (see §1.9). For most fabric type values the schema requires either thermal_resistance_construction or u_value. BuildingElementGround is different: it requires thermal_resistance_floor_construction and u_value (among other fields); when enough ground inputs are present, Vulcan recalculates ground u_value from the ISO 13370 path after resistance inputs change (see §4).
1.1 Standards and scope
- Construction resistance uses BS EN ISO 6946, combined method: arithmetic mean of lower and upper construction-resistance limits.
- Internal surface resistance Rsi uses the same radiative and convective coefficients as BS EN ISO 13789 Table 8 as implemented in HEM (resistance = 1 / (hri + hci)).
- External resistance Rse in this calculator is not always 1 / (hce + hre); see §1.2.
1.2 Surface resistances used in U preview
Rsi from element pitch (degrees from horizontal), same banding as cavity orientation:
| Band | pitch | hci (W/(m²·K)) | Rsi (m²·K/W) |
|---|---|---|---|
| Horizontal | 60° to 120° inclusive | 2.5 | 1 / 7.63 ≈ 0.131 |
| Upwards | below 60° | 5.0 | 1 / 10.13 ≈ 0.0987 |
| Downwards | above 120° | 0.7 | 1 / 5.83 ≈ 0.1715 |
Fixed hri = 5.13 W/(m²·K).
Rse:
- Default 0.04 m²·K/W when no well ventilated cavity terminates the modelled stack.
- With exactly one well ventilated cavity as the outer boundary, layers outside that cavity are omitted and Rse is taken from BR 443–style tabulated values for that cavity: high surface emissivity → 0.13 (horizontal heat flow) or 0.10 (upwards); low emissivity → 0.29 (horizontal) or 0.17 (upwards). Downward heat flow with that cavity type is rejected by the calculator (error state).
- For
Suspended_floorground-floor assemblies, the underfloor void is used to split the build-up into floor deck and ground-side insulation. The deck resistance is then assessed from the layers above the void; the void itself is not treated as the outer ventilated cavity for that deck calculation, so the normal 0.04 m²·K/W external resistance applies to the deck step.
For U:
U = 1 / (Rsi + R′′T,mean + Rse)
where R′′T,mean is the combined-method construction resistance (no films).
Some auxiliary tooling uses Rse = 1/(20 + 4.14) ≈ 0.0414 m²·K/W when inferring construction R from a declared U; that value can differ slightly from the 0.04 default above.
1.3 Homogeneous layer resistance
R = d / λ (d thickness in m, λ thermal conductivity in W/(m·K)).
1.4 Repeating thermal bridges within one layer
Clear field and bridge strips are parallel. With clear-field fraction fclear = max(0, 1 − Σ fi), clear resistance Rclear, and each bridge i with fraction fi and resistance Ri:
G = fclear / Rclear + Σ (fi / Ri), Req = 1 / G
Bridge fractions must not exceed 100% of the layer area (small numerical tolerance).
1.5 Cavities
Effective cavity resistance depends on cavity type, ventilation (unventilated / well ventilated), emissivity, gap, and heat-flow direction derived from pitch. Explicit unventilated cavities use the product’s bundled BR 443-style resistance conventions; the calculator does not expose the full ISO 6946 air-layer table.
1.6 ISO 6946 combined construction resistance
- Lower limit R′′T,lower: parallel paths within each bridged layer, then layers in series.
- Upper limit R′′T,upper: bridged layers share aligned in-plane fraction vectors; paths through columns in series, columns combined in parallel.
R′′T,mean = (R′′T,lower + R′′T,upper) / 2
1.7 When Apply is blocked
- Invalid layer ordering or cavity rules (e.g. cavity against heated space only, adjacent cavities, outermost layer a cavity, more than one well ventilated cavity).
- R′′T,upper / R′′T,lower strictly greater than 1.5 (ISO 6946 §6.7.2.1 — simplified combined method not applicable).
BuildingElementGroundwithfloor_typeSuspended_floorbut no single well ventilated underfloor void cavity in the stack (the calculator requires this to mark the void).- Other resolution errors (series stack, void geometry, or outer ventilated-cavity / heat-flow rejection).
1.8 Values written to the element (schema fields)
Apply runs only if a mass distribution class can be assigned from the layer stack (mass_distribution_class and areal_heat_capacity per schema).
Opaque, party, and adjacent fabric (not ground): Vulcan computes both thermal_resistance_construction (combined-method mean R, rounded to two decimals, after any party-half adjustment) and the corresponding u_value. The U uses two significant figures from the rounded construction R plus films, unless ISO 6946 Annex F installation corrections are active — then the Annex F-corrected U is used. When exporting or validating a final HEM FHS input, the element still has to satisfy the schema rule for thermal_resistance_construction / u_value.
BuildingElementGround: Apply writes thermal_resistance_floor_construction, and for Suspended_floor with a void split also thermal_resist_insul and height_upper_surface where derived. If the other required ground inputs are present, Vulcan also recalculates u_value from the ISO 13370 ground-floor U path. For Suspended_floor with deck / ground-insulation split, Annex F corrections are not applied in the assembly step.
BuildingElementPartyWall always uses the dwelling-side half of the layered construction. BuildingElementAdjacentConditionedSpace is only halved when it is intentionally modelled as party half-fabric. In those cases, construction resistance and areal heat capacity use the dwelling-side half.
1.9 BuildingElementGround in the assembly calculator
floor_typeother thanSuspended_floor: the full layer stack is used for ISO 6946;thermal_resistance_floor_constructionis written from the combined mean R of that stack.floor_typeSuspended_floor: Apply is allowed only when the stack contains exactly one well ventilated cavity marking the underfloor void. Layers above the void define deck resistance (thermal_resistance_floor_construction); layers below definethermal_resist_insul(thermal resistance of insulation on the base of the void). Combined-method limits used for audit displays refer to the deck stack only when split.- Do not add soil or subgrade as explicit solid layers in the ground-floor assembly. The ground path is handled by the ISO 13370 calculation, and adding soil layers to
thermal_resistance_floor_constructionwould double-count ground resistance.
2. Ground-floor U calculator (ISO 13370)
Uses BuildingElementGround fields. Steady-state ground heat transfer follows BS EN ISO 13370.
Ground elements also require psi_wall_floor_junc in the HEM FHS input. That linear junction term is not calculated by the formulas below; it is handled separately from the area-weighted ground-floor U calculation.
2.1 Fixed parameters in this path
| Quantity | Value |
|---|---|
| Rsi | 0.17 m²·K/W |
| Rse | 0.04 m²·K/W (equivalent-thickness construction) |
| λg | 1.5 W/(m·K) (ground conductivity) |
2.2 Characteristic length
b = 2 A / P
A = total_area (m²), P = perimeter (m).
2.3 Slab-on-ground Ug
w = thickness_walls (m).
dG = w + λg (Rsi + Rse)
Ug = (2 λg ln(π b / dG + 1)) / (π b + dG)
2.4 Slab_no_edge_insulation
Rf = thermal_resistance_floor_construction (m²·K/W).
U = 1 / (Rsi + Rf + 1/Ug)
2.5 Slab_edge_insulation
Schema: edge_insulation array of objects with type (horizontal / vertical), edge_thermal_resistance, and width or depth.
Per strip: coverage = min(1, extent / b) where extent is width or depth. Increment = Redge × coverage. The calculator adds the single largest increment across strips to Rf:
Rf,eff = Rf + max(increments), U = 1 / (Rsi + Rf,eff + 1/Ug)
2.6 Suspended_floor
Schema inputs include thermal_resistance_floor_construction (Rf), thermal_resist_insul (Rg, may be zero), height_upper_surface (h), thermal_transm_walls (thermal transmittance of void walls, same units as U), area_per_perimeter_vent (V, m²/m), shield_fact_location, and thickness_walls.
Soil term Ug as in §2.3. Series combination with ground insulation:
Ug,eff = Ug / (1 + Ug Rg) (if Rg = 0, Ug,eff = Ug)
Ux = (2 h · thermal_transm_walls) / b + (1450 × V × f × v) / b
- f from
shield_fact_location: Sheltered 0.02, Exposed 0.1, Average (or missing/invalid treated as average) 0.05. - v = wind speed in m/s where provided; default 5 m/s when not specified.
Ucombined = Ug,eff + max(0, Ux)
U = 1 / (2 Rsi + Rf + 1/Ucombined)
area_per_perimeter_vent: when Suspended_floor is selected and area_per_perimeter_vent is unset or zero, the geometry step auto-fills V = max(0.0015, 0.0005 × total_area / perimeter) m²/m. It is stored rounded to four decimal places, so the 0.0015 m²/m minimum is preserved. Until that default is written, a field-only calculation may show V = 0.
2.7 Heated_basement / Unheated_basement
z = depth_basement_floor (m). The calculator formula accepts zero or positive depths, while the HEM FHS schema requires depth_basement_floor to be strictly positive for basement floor types.
dT = w + z + λg (Rsi + Rf + Rse)
U = (2 λg ln(π b / dT + 1)) / (π b + dT)
For a valid HEM FHS input, both basement floor types also require thermal_resist_walls_base. Unheated_basement additionally requires thermal_transm_envi_base, thermal_transm_walls, and height_basement_walls. Those fields are required by the schema but are not part of the simplified floor U expression above.
3. Unheated-space thermal resistance Ru
3.1 Formula
For an unheated adjacent (simple) element (BuildingElementAdjacentUnconditionedSpace_Simple), the calculator can set thermal_resistance_unconditioned_space (Ru, m²·K/W):
Ru = Ai / ( Σ (Ae,j Ue,j) + 0.33 n V )
| Symbol | Meaning |
|---|---|
| Ai | Area of the surface between the heated zone and the unheated space (typically aligned with element area) |
| Ae,j, Ue,j | Area and U of each external envelope part of that unheated space |
| V | Volume of the unheated space (m³) |
| n | Air changes per hour (h⁻¹); calculator default 3 |
The denominator’s 0.33 n V term is the ventilation heat-loss coefficient (W/K) paired consistently with U and areas.
3.2 Table archetypes (integral garage, stairwell, corridor)
Same numeric constants as the calculator Tables mode (SAP/HEM-style archetypes).
Integral garages (m²·K/W):
| Configuration | Inside thermal envelope | Outside thermal envelope |
|---|---|---|
| Single fully integral — side, end wall, and floor | 0.70 | 0.35 |
| Single fully integral — one wall and floor | 0.55 | 0.25 |
| Single partially integral (displaced forward) — side, end wall, and floor | 0.60 | 0.30 |
| Double fully integral — side, end wall, and floor | 0.60 | 0.35 |
| Double half integral — side, halves of end wall, and floor | 0.35 | 0.25 |
| Double partially integral (displaced forward) — part side, end, some floor | 0.30 | 0.25 |
Stairwells: exposed facing wall 2.1; not exposed 2.5 m²·K/W.
Corridors: exposed + corridors above and below 0.6; exposed + above or below 0.5; not exposed + above and below 0.9; not exposed + above or below 0.7.
Applied thermal_resistance_unconditioned_space is rounded to three decimal places. The HEM FHS schema limits this value to 0–3 m²·K/W.
4. How the calculators link
- Assembly calculator sets
thermal_resistance_constructionandu_valuefor normal opaque / party / adjacent fabric; forBuildingElementGroundit setsthermal_resistance_floor_construction(and forSuspended_floorwith void split,thermal_resist_insulandheight_upper_surface) and recalculatesu_valuewhen enough ISO 13370 inputs are available. - Ground-floor U calculator combines
thermal_resistance_floor_construction,total_area,perimeter,thickness_walls,floor_type, and the conditional fields above to produce U consistent with ISO 13370 for updatingu_valuewhere you apply it. - Unheated-space calculator sets
thermal_resistance_unconditioned_space; formula mode may take U from a saved or bundled wall assembly.
5. Revision note
Numerical constants and eligibility rules are tied to the shipped HEM schema and Vulcan release. Revisit this page when input_fhs.schema.json or calculator behaviour changes.
