In this chapter

Chapter 10 of 13

  1. 10.1Test setup
  2. 10.2Evaluation criteria
  3. 10.3Expectation and measurement
  4. 10.4The scenarios in detail
  5. 10.5Limits of the statement
All chapters
  1. 01Initial situation
  2. 02Objective and approach
  3. 03State of the art
  4. 04Requirements
  5. 05Solution approaches and concept decision
  6. 06System architecture
  7. 07The test rig
  8. 08The heated-tank model
  9. 09The simulation cycle
  10. 10Five test scenarios
  11. 11Result and limits
  12. 12Outlook
  13. 13Preliminary projects

Chapter 10 Verification

Five test scenarios

Expectation against measurement: five runs on the unchanged model code

By Chapter 10 of 13 4 min read Updated: 30 September 2026

Summary

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

PlausibilityDo direction and order of magnitude of the state changes match?
ConsistencyDo the computed state and the sensor bit match exactly?
StabilityDoes the computation remain stable over tens of thousands of cycles, without abort or runtime error?
Visualisation fidelityDoes the user interface display the model values correctly?

The published measurement series contain only model quantities and sensor bits; visualisation fidelity cannot be verified from them.

Expectation and measurement

Five test scenarios — expectation versus measurement All five scenarios ran directly against the model function (unchanged model code, without a connected controller). The raw data of each run is available as its own table.
ScenarioExpectationMeasurementResult
1 Fillingrise 2.55 l/s2.551 l/s; B1 at 136.5 spassed
2 Heatingheating 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 powerpassed
3 Pressure build-upB4 when 2.8 bar is exceededB4 in the first step thereafter (t = 1470.45 s); 0.0 bar after 120 s of ventingpassed
4 Draininghand calculation 96.1 s95.4 s to 1 l, 96.2 s to empty; temperature drift 0 Kpassed
5 Edge case: empty tankno runtime error, no exception1200 steps without runtime error; B1 = 0, B2 = 1passed

Source: Test logs of the bachelor thesis (2026) · Full table →

0.040%mean deviation from the analytical solution (scenario 2, relative to the maximum power)
38,209recorded measurement rows in five measurement series
5of 5passed scenarios

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.

Fill level curve during filling up to the B1 report at t = 136.5 s.
Test plot 1 — Filling: fill level up to the B1 reportSource: Test log

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.

Calculated heating power of the model against the analytical PT1 solution (right) and water temperature over 300 s (left).
Test plot 2 — Heating: calculation of the model against the analytical PT1 solutionSource: Test log

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.

Temperature and pressure curve up to the alarm threshold B4 and then venting via Y4; the headspace pressure fluctuates in a sawtooth pattern (fluctuation band).
Test plot 3 — Pressure build-up: temperature and headspace pressure up to the alarm threshold B4, then ventingSource: Test log

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.

Fill level during draining via Y3 from a full tank until empty; B2 switches at t = 69.3 s. The expected duration of 96.1 s is given in the test table.
Test plot 4 — Draining: fill level via Y3 up to the B2 reportSource: Test log

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.

All measurement series in detail