Chapter 10 Verification
Five test scenarios
Expectation against measurement: five runs on the unchanged model code
The heated-tank model was tested directly at the model function in five scenarios: filling, heating, pressure build-up, draining and an edge case with an empty tank. Each measurement is matched by an expectation, mostly from a hand calculation or an analytical solution. All five scenarios are considered passed; the statement concerns the internal consistency of the model, a comparison with a real tank is missing (Chapter 11).
Test setup
The tests were run directly against compute_step: a test script calls the calculation with Δt = 0.05 s and records process variables and sensor bits in every step. Nothing on the model was adjusted or improved. That this is possible without a connected controller follows from NFA-03 (Chapter 4). The communication path is therefore not the subject of the scenarios; the cycle is considered in Chapter 9.
Evaluation criteria
The published measurement series contain only model quantities and sensor bits; visualisation fidelity cannot be verified from them.
Expectation and measurement
| Scenario | Expectation | Measurement | Result |
|---|---|---|---|
| 1 Filling | rise 2.55 l/s | 2.551 l/s; B1 at 136.5 s | passed |
| 2 Heating | heating rate 0.0814 K/s; PT1 63.2 % at τ, 95.0 % at 3τ | 63.3 % at τ, 95.1 % at 3τ; mean deviation 0.040 % of maximum power | passed |
| 3 Pressure build-up | B4 when 2.8 bar is exceeded | B4 in the first step thereafter (t = 1470.45 s); 0.0 bar after 120 s of venting | passed |
| 4 Draining | hand calculation 96.1 s | 95.4 s to 1 l, 96.2 s to empty; temperature drift 0 K | passed |
| 5 Edge case: empty tank | no runtime error, no exception | 1200 steps without runtime error; B1 = 0, B2 = 1 | passed |
Source: Test logs of the bachelor thesis (2026) · Full table →
The scenarios in detail
Scenario 1, filling. Measurement: The fill level rises on average at 2.551 l/s (expected 2.55 l/s), B1 reports at t = 136.5 s. Classification: Direction and order of magnitude match; B1 switches on reaching 450 l.
Scenario 2, heating. It is the most meaningful because a closed-form solution exists for the PT1 behaviour. Measurement: At one time constant the heating power reaches 63.3 % of the final value (expected 63.2 %), at three time constants 95.1 % (expected 95.0 %). Over 60 s the mean deviation is 0.040 % of the maximum power, the largest single deviation below 116 W. Classification: The deviations are compatible with the discretisation error of the Euler method (Chapter 8). The expectation uses the same parameters (τ = 12 s, 150 kW); what is tested is the implementation of the equations, not their agreement with a real heating element.
Scenario 3, pressure build-up and venting. Measurement: At about 981 s the water reaches 95 °C (B3), from about 1043 s it begins to boil and the pressure rises. B4 switches in the first step in which the pressure exceeds 2.8 bar (t = 1470.45 s, 2.8048 bar). After the vent is opened, the pressure falls to 0.0 bar; the run ends 120 s later. Classification: B4 is set in exactly the step in which the threshold is exceeded. Limit of the statement: The calculated pressure follows a sawtooth pattern; according to the labelling of the plot, each evaporation burst raises it and the leakage reduces it again. The threshold is therefore exceeded by a single pressure peak, and the point in time depends on the fluctuation band.
Scenario 4, draining. Measurement: The draining via Y3 falls below the 1 l mark after 95.4 s and is empty after 96.2 s; B2 switches at t = 69.3 s; the temperature remains unchanged (drift 0 K). Classification: The hand calculation gives 96.1 s and lies between the two measurement points; until “empty” the difference is 0.1 s, i.e. two calculation steps.
Scenario 5, edge case empty tank. Measurement: A heating command to the empty tank runs over 1200 steps (60 s) without a runtime error; according to the test log there is no division by zero and no exception. In all rows B1 = 0 and B2 = 1, the heating power remains 0 W. Classification: The model handles the edge case without aborting; the criterion is the absence of an error.
Limits of the statement
The expected values come from hand calculation and analytical solution with the parameters of the model; agreement proves the correct implementation, not the accuracy with respect to a real tank. Each scenario covers only one run with defined boundary conditions. The re-check of the raw data shows sensor bits and values in agreement in all rows, except in twelve rows of scenario 3 (from t = 1051.05 s): the fill level, rounded to 0.01 l, stands at 450.0 l there, but B1 is already 0; this is compatible with the rounding of the recording. The overall evaluation follows in Chapter 11.



