# HAMSTAD Benchmark Test Report

### 1. Purpose and Scope

This report documents the results of running all five HAMSTAD benchmark cases against \[Software Name]. Unlike the EN 15026 benchmark, which provides a single analytical reference solution, HAMSTAD benchmarks use a reference solution band derived from several established simulation tools. Your software's results need to fall within that scatter band, which is a somewhat more forgiving criterion but also means you can't pin a precise deviation figure on a single ground truth. Welcome to the real world.

The five benchmarks test progressively more complex behaviour:

| Benchmark | Primary Phenomenon                             | Layers | Heat Transfer |
| --------- | ---------------------------------------------- | ------ | ------------- |
| BM1       | Isothermal capillary redistribution            | 1      | No            |
| BM2       | Vapour diffusion, hygroscopic range            | 1      | No            |
| BM3       | Capillary suction, one-sided wetting           | 1      | No            |
| BM4       | Coupled vapour and liquid transport, interface | 2      | No            |
| BM5       | Full hygrothermal, realistic climate           | Multi  | Yes           |

Pass criterion: for all benchmarks, simulated profiles and time courses must lie within the envelope of results produced by the reference codes (DELPHIN, WUFI, and others) as defined in the HAMSTAD WP2 final report.

***

### 2. Software Configuration — General Notes

Before getting into individual benchmarks, document any global settings in \[Software Name] that affect all five cases.

| Setting                                    | Value                                               | Notes                                         |
| ------------------------------------------ | --------------------------------------------------- | --------------------------------------------- |
| Transport model for vapour                 | \[e.g. vapour pressure gradient / RH gradient]      |                                               |
| Transport model for liquid                 | \[e.g. capillary pressure / water content gradient] |                                               |
| Coupled heat and moisture                  | \[Yes / No / Per benchmark]                         |                                               |
| Temperature dependence of liquid transport | \[Yes / No / Configurable]                          | Note if viscosity correction is always active |
| Hysteresis in moisture storage             | \[Yes / No / Configurable]                          | HAMSTAD benchmarks assume no hysteresis       |
| Surface transfer model                     | \[description]                                      |                                               |

If any of the above cannot be changed and conflicts with HAMSTAD assumptions, document it here and describe the workaround used. There is almost always at least one.

***

### 3. Benchmark 1: Isothermal Moisture Redistribution

#### 3.1 Scenario Description

A single-layer homogeneous brick wall with an initial non-uniform moisture distribution is sealed on both sides. No external boundary fluxes are applied. The system evolves purely by internal capillary redistribution until equilibrium is reached. Because there is no boundary forcing and no heat transfer, this is a clean test of the liquid transport implementation in isolation.

| Parameter            | Value                                                |
| -------------------- | ---------------------------------------------------- |
| Wall thickness       | 0.2 m                                                |
| Material             | Brick (HAMSTAD specification)                        |
| Initial condition    | Non-uniform moisture profile (see BM1 specification) |
| Left boundary        | No flux                                              |
| Right boundary       | No flux                                              |
| Temperature          | Isothermal, 20°C                                     |
| Simulation period    | \[value] days                                        |
| Profile output times | \[e.g. 1, 7, 30 days]                                |

#### 3.2 Material Properties

| Property                                           | EN Specification       | Value Used                                        | Notes                                       |
| -------------------------------------------------- | ---------------------- | ------------------------------------------------- | ------------------------------------------- |
| Bulk density ρ₀                                    |                        | kg/m³                                             |                                             |
| Specific heat capacity c₀                          |                        | J/(kg·K)                                          | Not relevant here; include for completeness |
| Moisture storage function                          | Analytical / tabulated |                                                   |                                             |
| Liquid transport coefficient D\_w (suction)        | Analytical / tabulated |                                                   |                                             |
| Liquid transport coefficient D\_w (redistribution) | Analytical / tabulated | HAMSTAD distinguishes suction from redistribution |                                             |
| Vapour permeability δ\_p / µ                       |                        |                                                   |                                             |

Note that HAMSTAD explicitly separates the liquid transport coefficient for suction (wetting front advancing) from redistribution (moisture levelling out). If your software uses a single D\_w for both, document which value was used and why.

**\[Insert table: Moisture storage function tabulation used as input]**

**\[Insert table: Liquid transport coefficient tabulation used as input]**

**Tabulation error (moisture storage function):** \[value] kg/m³ max **Tabulation error (liquid transport coefficient):** \[value] % max (log scale)

#### 3.3 Numerical Setup

| Parameter                | Value      | Notes                                                   |
| ------------------------ | ---------- | ------------------------------------------------------- |
| Grid elements            |            |                                                         |
| Grid refinement strategy |            | Fine grid at interfaces if any; uniform acceptable here |
| Time step                | \[value] h |                                                         |

#### 3.4 Results

**\[Insert Figure: Moisture profiles at t = 1, 7, 30 days. Plot simulated results against the HAMSTAD reference band.]**

| Output Time | Within Reference Band? | Notes |
| ----------- | ---------------------- | ----- |
| \[t₁]       | \[Yes / No / Marginal] |       |
| \[t₂]       | \[Yes / No / Marginal] |       |
| \[t₃]       | \[Yes / No / Marginal] |       |

**BM1 Verdict:** \[Pass / Fail / Marginal]

***

### 4. Benchmark 2: Vapour Diffusion, Hygroscopic Range Only

#### 4.1 Scenario Description

A single-layer wall is exposed to a step change in relative humidity on one side. Moisture transport occurs purely by vapour diffusion within the hygroscopic range (no capillary liquid transport). This isolates the vapour transport model. Temperature is held constant throughout, so any temperature-dependent δ adjustments the software makes are operating on a fixed value.

| Parameter            | Value                          |
| -------------------- | ------------------------------ |
| Wall thickness       | \[value] m                     |
| Material             | \[HAMSTAD BM2 material]        |
| Initial RH           | \[value] % (uniform)           |
| Left boundary RH     | \[value] %                     |
| Right boundary       | \[sealed / fixed RH — specify] |
| Temperature          | Isothermal, \[value]°C         |
| Simulation period    | \[value] days                  |
| Profile output times | \[list]                        |

#### 4.2 Material Properties

| Property                     | Specification | Value Used | Notes                                       |
| ---------------------------- | ------------- | ---------- | ------------------------------------------- |
| Moisture storage function    |               |            | Hygroscopic range only                      |
| Vapour permeability δ\_p / µ |               |            | Constant or moisture-dependent              |
| Liquid transport             | N/A           | Not active | Must be confirmed as disabled or negligible |

If the software does not allow liquid transport to be explicitly disabled, confirm that the moisture range in this benchmark stays entirely within the hygroscopic domain so capillary transport would not be triggered regardless.

**\[Insert table: µ or δ\_p tabulation used]**

**Tabulation error:** \[value] %

#### 4.3 Numerical Setup

| Parameter     | Value |
| ------------- | ----- |
| Grid elements |       |
| Time step     |       |

#### 4.4 Results

**\[Insert Figure: Moisture profiles at required output times, compared to HAMSTAD reference band.]**

| Output Time | Within Reference Band? | Notes |
| ----------- | ---------------------- | ----- |
| \[t₁]       |                        |       |
| \[t₂]       |                        |       |

**BM2 Verdict:** \[Pass / Fail / Marginal]

***

### 5. Benchmark 3: Capillary Suction — One-Sided Wetting

#### 5.1 Scenario Description

A single-layer brick specimen, initially dry (or at a low reference moisture content), is exposed to liquid water contact on one face. Moisture is drawn in by capillary suction. This is the classic sorptivity test scenario and is where most software tools show the sharpest differences, because the wetting front is steep and numerically demanding. If your grid is too coarse, you will know immediately.

| Parameter                | Value                                          |
| ------------------------ | ---------------------------------------------- |
| Specimen thickness       | \[value] m                                     |
| Material                 | Brick (HAMSTAD BM3 specification)              |
| Initial moisture content | \[value] kg/m³                                 |
| Left boundary            | Water contact (capillary saturation condition) |
| Right boundary           | Sealed                                         |
| Temperature              | Isothermal, \[value]°C                         |
| Simulation period        | \[value] hours / days                          |
| Profile output times     | \[list]                                        |

#### 5.2 Material Properties

| Property                                           | Specification | Value Used | Notes                                  |
| -------------------------------------------------- | ------------- | ---------- | -------------------------------------- |
| Moisture storage function                          |               |            | Must extend to free saturation         |
| Liquid transport coefficient D\_w (suction)        |               |            | Critical for this benchmark            |
| Liquid transport coefficient D\_w (redistribution) |               |            | Less active here; document if combined |
| Vapour permeability                                |               |            | Secondary role                         |

The suction-phase liquid transport coefficient is the dominant parameter in this benchmark. Tabulation resolution near free saturation matters more here than in any of the other cases.

**\[Insert tabulations]**

**Tabulation error (D\_w, suction):** \[value] % max (log scale)

#### 5.3 Numerical Setup

| Parameter                | Value | Notes                                                  |
| ------------------------ | ----- | ------------------------------------------------------ |
| Grid elements            |       | Fine grid near wetted surface is essentially mandatory |
| Grid refinement strategy |       |                                                        |
| Time step                |       | Adaptive or fixed; note if adaptive                    |

#### 5.4 Results

**\[Insert Figure: Moisture profiles at required output times, with HAMSTAD reference band.]**

**\[Insert Figure (if available): Cumulative water uptake vs. √t — linear relationship expected in early capillary regime.]**

| Output Time | Within Reference Band? | Notes |
| ----------- | ---------------------- | ----- |
| \[t₁]       |                        |       |
| \[t₂]       |                        |       |

**BM3 Verdict:** \[Pass / Fail / Marginal]

***

### 6. Benchmark 4: Two-Layer System with Interface

#### 6.1 Scenario Description

A two-layer construction (typically insulation and concrete, or mineral wool and brick, depending on specification version) is subjected to boundary conditions that drive moisture across the material interface. The interface behaviour is the point of interest: how the software handles continuity of moisture potential and flux across a discontinuity in material properties. This is where implementation details that software documentation glosses over tend to surface.

| Parameter            | Value                              |
| -------------------- | ---------------------------------- |
| Layer 1 (left)       | \[Material, thickness]             |
| Layer 2 (right)      | \[Material, thickness]             |
| Initial condition    | \[Uniform RH or moisture content]  |
| Left boundary        | \[T, RH or moisture condition]     |
| Right boundary       | \[T, RH or moisture condition]     |
| Temperature          | Isothermal or coupled — \[specify] |
| Simulation period    | \[value] days                      |
| Profile output times | \[list]                            |

#### 6.2 Material Properties

**Layer 1: \[Material Name]**

| Property                  | Specification | Value Used |
| ------------------------- | ------------- | ---------- |
| Bulk density              |               |            |
| Moisture storage function |               |            |
| D\_w (suction)            |               |            |
| D\_w (redistribution)     |               |            |
| µ or δ\_p                 |               |            |

**Layer 2: \[Material Name]**

| Property                  | Specification | Value Used |
| ------------------------- | ------------- | ---------- |
| Bulk density              |               |            |
| Moisture storage function |               |            |
| D\_w (suction)            |               |            |
| D\_w (redistribution)     |               |            |
| µ or δ\_p                 |               |            |

**\[Insert tabulations for both layers]**

#### 6.3 Interface Treatment

Document how \[Software Name] handles the material interface:

| Aspect                                     | Software Behaviour                      | Notes                           |
| ------------------------------------------ | --------------------------------------- | ------------------------------- |
| Moisture potential continuity at interface | \[Continuous RH / p\_suc / w — specify] |                                 |
| Flux continuity                            | \[Enforced / interpolated / describe]   |                                 |
| Grid element at interface                  | \[Shared node / separate elements]      |                                 |
| Any special interface resistance applied   | \[Yes / No]                             | Must be zero for this benchmark |

#### 6.4 Numerical Setup

| Parameter                    | Value | Notes                                    |
| ---------------------------- | ----- | ---------------------------------------- |
| Grid elements (Layer 1)      |       |                                          |
| Grid elements (Layer 2)      |       |                                          |
| Grid refinement at interface |       | Finer elements on both sides recommended |
| Time step                    |       |                                          |

#### 6.5 Results

**\[Insert Figure: Moisture profiles at required output times, with HAMSTAD reference band.]**

| Output Time | Within Reference Band? | Notes |
| ----------- | ---------------------- | ----- |
| \[t₁]       |                        |       |
| \[t₂]       |                        |       |

**BM4 Verdict:** \[Pass / Fail / Marginal]

***

### 7. Benchmark 5: Full Hygrothermal Simulation with Realistic Climate

#### 7.1 Scenario Description

This is the only HAMSTAD benchmark that includes coupled heat and moisture transfer under realistic (time-varying) boundary conditions. It is also the most representative of actual building physics practice, which is either reassuring or alarming depending on how the previous four went. A multi-layer wall assembly is exposed to outdoor and indoor climate data over a simulation period of one or more years.

| Parameter                | Value                                                          |
| ------------------------ | -------------------------------------------------------------- |
| Wall assembly            | \[List layers, materials, thicknesses left to right]           |
| Climate file             | HAMSTAD BM5 prescribed climate data                            |
| Indoor climate           | \[Constant or prescribed — specify values]                     |
| Initial conditions       | \[Uniform T and RH, or from pre-conditioning run]              |
| Simulation period        | \[value] years                                                 |
| Output quantities        | Temperature, RH, and/or water content profiles; surface fluxes |
| Output times / positions | \[Specify monitor points and dates]                            |

#### 7.2 Material Properties (All Layers)

Repeat the material property table structure from BM4 for each layer. For BM5, thermal properties are also active and must be correctly specified.

**\[Layer N]: \[Material Name]**

| Property                  | Specification | Value Used | Notes                           |
| ------------------------- | ------------- | ---------- | ------------------------------- |
| Bulk density ρ₀           |               | kg/m³      |                                 |
| Specific heat c₀          |               | J/(kg·K)   |                                 |
| Thermal conductivity λ(w) |               |            | Moisture-dependent if specified |
| Porosity                  |               |            |                                 |
| Moisture storage function |               |            |                                 |
| D\_w (suction)            |               |            |                                 |
| D\_w (redistribution)     |               |            |                                 |
| µ or δ\_p                 |               |            |                                 |

*(Repeat for each layer.)*

#### 7.3 Boundary Conditions

**Outdoor (Left) Surface**

| Parameter                          | Source                                 | Notes |
| ---------------------------------- | -------------------------------------- | ----- |
| Temperature                        | HAMSTAD BM5 climate file               |       |
| Relative humidity                  | HAMSTAD BM5 climate file               |       |
| Solar radiation                    | HAMSTAD BM5 climate file (if included) |       |
| Wind-driven rain                   | HAMSTAD BM5 specification              |       |
| Heat transfer coefficient          | \[value] W/(m²K)                       |       |
| Vapour transfer coefficient / s\_d | \[value]                               |       |

**Indoor (Right) Surface**

| Parameter                 | Value                              | Notes |
| ------------------------- | ---------------------------------- | ----- |
| Temperature               | \[value] °C (constant or schedule) |       |
| Relative humidity         | \[value] % (constant or schedule)  |       |
| Heat transfer coefficient | \[value] W/(m²K)                   |       |
| s\_d value                | \[value] m                         |       |

#### 7.4 Numerical Setup

| Parameter                     | Value                 | Notes                                                 |
| ----------------------------- | --------------------- | ----------------------------------------------------- |
| Grid elements per layer       | \[list by layer]      |                                                       |
| Grid refinement at surfaces   |                       | Fine grid at exposed face                             |
| Grid refinement at interfaces |                       |                                                       |
| Time step                     |                       | Adaptive preferred for realistic climate              |
| Pre-conditioning run          | \[Yes / No, duration] | Recommended to establish realistic initial conditions |

#### 7.5 Results

**Temperature**

**\[Insert Figure: Simulated temperature at monitor positions vs. time, compared to HAMSTAD BM5 reference band.]**

| Monitor Position / Output Time | Within Reference Band? | Notes |
| ------------------------------ | ---------------------- | ----- |
|                                |                        |       |

**Relative Humidity / Moisture Content**

**\[Insert Figure: Simulated RH or water content at monitor positions vs. time, compared to HAMSTAD BM5 reference band.]**

| Monitor Position / Output Time | Within Reference Band? | Notes |
| ------------------------------ | ---------------------- | ----- |
|                                |                        |       |

**Surface Fluxes (if evaluated)**

**\[Insert Figure: Heat flux and/or moisture flux at surfaces vs. time, compared to HAMSTAD BM5 reference band.]**

**BM5 Verdict:** \[Pass / Fail / Marginal]

***

### 8. Summary of Results

| Benchmark | Description                           | Verdict                   | Notes |
| --------- | ------------------------------------- | ------------------------- | ----- |
| BM1       | Isothermal redistribution             | \[Pass / Fail / Marginal] |       |
| BM2       | Vapour diffusion, hygroscopic range   | \[Pass / Fail / Marginal] |       |
| BM3       | Capillary suction, one-sided wetting  | \[Pass / Fail / Marginal] |       |
| BM4       | Two-layer system, interface behaviour | \[Pass / Fail / Marginal] |       |
| BM5       | Full hygrothermal, realistic climate  | \[Pass / Fail / Marginal] |       |

**Overall HAMSTAD compliance:** \[Pass / Fail / Partial — specify which benchmarks failed]

***

### 9. Deviations, Limitations, and Workarounds

This is the section that will actually be read most carefully if results are marginal. Be specific about what the software does and what the standard assumes, rather than just writing "minor differences exist."

| Issue                                      | HAMSTAD Assumption               | Software Behaviour                       | Impact                            | Workaround                  |
| ------------------------------------------ | -------------------------------- | ---------------------------------------- | --------------------------------- | --------------------------- |
| Suction vs. redistribution D\_w            | Two separate coefficients        | \[Single / dual / configurable]          | \[High / Medium / Low]            | \[Action taken]             |
| Hysteresis                                 | Not modelled                     | \[Active / Inactive / Configurable]      |                                   | Disable or confirm inactive |
| Temperature dependence of liquid transport | Not modelled in isothermal BMs   | \[Always active / Configurable]          | Relevant to BM5 only if active    | \[Action taken]             |
| Interface continuity condition             | Continuity of capillary pressure | \[Capillary pressure / RH / w — specify] | BM4 sensitivity                   | \[Action taken]             |
| Vapour transport driving potential         | Partial vapour pressure gradient | \[p\_v / RH / specify]                   | Equivalent if correctly converted | Confirm conversion          |
| \[Other software-specific issue]           |                                  |                                          |                                   |                             |

***

### 10. Notes and Observations

BM3 is almost always the most numerically demanding benchmark for the wetting front resolution. Note here any grid sensitivity runs performed, time-step sensitivity checks, or cases where the software struggled before the configuration was dialled in.

\[Free text — include observations on convergence, run times, any unexpected behaviour, and anything that required iteration to resolve]

***

### Appendix A: Complete Material Property Tabulations

#### A.1 BM1 — \[Material Name]

**Moisture storage function:**

| RH (–) | w (kg/m³) |
| ------ | --------- |
|        |           |

**Liquid transport coefficient (suction):**

| w (kg/m³) | D\_w (m²/s) |
| --------- | ----------- |
|           |             |

**Liquid transport coefficient (redistribution):**

| w (kg/m³) | D\_w (m²/s) |
| --------- | ----------- |
|           |             |

*(Repeat structure for BM2, BM3, BM4, and BM5 materials.)*

***

### Appendix B: Climate Data (BM5)

Reference the source of the climate data file used. Confirm it matches the prescribed HAMSTAD BM5 dataset without modification.

| Parameter                               | Source / Value       |
| --------------------------------------- | -------------------- |
| Climate data file                       | \[Filename / origin] |
| Time resolution                         | \[value] h           |
| Period                                  | \[dates or duration] |
| Any modifications from HAMSTAD original | \[None / describe]   |

***

### Appendix C: Software Project Files

Attach or reference the project files, input decks, or configuration exports used to run each benchmark case.

| Benchmark | File / Reference |
| --------- | ---------------- |
| BM1       |                  |
| BM2       |                  |
| BM3       |                  |
| BM4       |                  |
| BM5       |                  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.betterbuilding.io/support-and-training/other-support/testing-and-verification/hamstad-benchmark-test-report.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
