Skip to content

Validation

PyADM1ODE has been validated against the reference simulator SIMBA# biogas 4.2 (ifak Magdeburg) and against measurement data from real agricultural biogas plants. This page summarises the validation strategy and the headline results.

Reference simulator

SIMBA# biogas 4.2 is the de-facto industry reference for the ADM1da agricultural extension. The validation runs use SIMBA#'s ADM1da implementation (the kinetic acid-base variant, not ADM1daph) with identical reactor geometry, temperature, \(k_L a\) value, substrate composition, and initial state. SIMBA# CSV exports provide the reference state trajectories.

Validation scenarios

30-day single-substrate run (swine manure)

20 m³/d swine manure, \(V_{liq} = 1050\,\text{m}^3\), \(V_{gas} = 150\,\text{m}^3\), \(T = 42\,°\text{C}\). Used to verify the basic process kinetics and the initial-state extraction logic.

150-day co-digestion run (maize silage + swine manure)

11.4 m³/d maize silage + 6.1 m³/d swine manure, same reactor geometry. Validates the multi-substrate blending logic and the simba_q_convention volumetric correction.

600-day co-digestion run with substrate switch (maize silage + cattle manure)

The most comprehensive scenario:

  • Phase 1 (0–300 d): 11.4 m³/d maize silage + 6.1 m³/d cattle manure.
  • Phase 2 (300–600 d): 10.0 m³/d maize silage + 8.0 m³/d cattle manure.

The dynamic sludge volume is enabled (dynamic_volume=True, outflow_time_constant=0.05 d) so that \(V_{liq}\) tracks SIMBA#'s essentially- instantaneous overflow weir within ~1 m³ of the setpoint.

Headline results

At the end of each phase (t = 300 d and t = 600 d snapshots):

Quantity Tolerance Status
\(Q_{gas},\,Q_{CH_4},\,Q_{CO_2}\) 1–3 % ✓ matches
\(pH\) within 0.01 units ✓ matches
\(HRT\) within 0.2 % (via dynamic sludge-volume balance) ✓ matches
\(OLR\) within 3 % ✓ matches
All seven biomass populations \(X_*\) 1–4 % ✓ matches
All particulate substrate pools (\(X_{PS}, X_{PF}, X_S\)) 1–4 % ✓ matches
Soluble substrates \(S_{su},\,S_{aa},\,S_{fa}\) within 1 % ✓ matches
VFA species \(S_{va},\,S_{bu},\,S_{pro}\) (and ions) within 1 % ✓ matches
Substrate-switch transient at \(t = 300\,\text{d}\) same characteristic timescale ✓ matches

Two residual offsets persist at the validation operating point:

  • \(S_{ac}\) (and aggregate VFA) is +19–21 % higher than SIMBA#. This is a
    saturation-amplification artefact: at \(S_{ac} \gg K_{S,ac} = 0.15\) the acetoclastic Monod kinetics are saturated and the acetate concentration is set by the slow dilution channel rather than by Monod feedback. A small upstream input-side discrepancy (~1.1 % in the effective \(Q\), traced to a density-convention difference for maize silage) is amplified by a factor of ~20 into the observed S_ac offset. Under non-saturated operating conditions the amplifier disappears.
  • TAC is −6 %, traceable to the same biomass excess: 2–3 % more biomass
    sequesters ~0.013 kmol C/m³ of inorganic carbon inside the biomass particulates, reducing the dissolved \(S_{HCO_3^-}\) pool that dominates the TAC formula.

Both offsets are stable across the substrate switch at t = 300 d, confirming they are steady-state characteristics rather than divergent integration errors.

Conclusion

PyADM1ODE is considered validated as a drop-in replacement for SIMBA# biogas 4.2 in gas-yield forecasting, OLR and HRT analysis, and pH-based monitoring. The two residuals on the acetate pool and TAC are documented and traceable to the known density-convention difference between the two simulators.

A full report of the 600-day cattle-manure comparison, including all themed time-series plots and the snapshot tables, is available in the Report/ directory of the repository.