Skip to content
scsiwyg
sign insign up
get startedmcpcommunityapiplaygroundswaggersign insign up
โ† WorksonaยทFermentDT: Real-Time Acetic Acid Fermentation Digital Twin17 Apr 2026David Olsson
โ† Worksona

FermentDT: Real-Time Acetic Acid Fermentation Digital Twin

#worksona#atomic47#digital-twin#simulation#babylonjs#fermentation#iot

David OlssonDavid Olsson

FermentDT is a Next.js + TypeScript digital twin for acetic acid fermentation facilities. The simulation engine runs physics-based bioprocess models โ€” Monod kinetics, ethanol-to-acetic-acid conversion, biomass dynamics โ€” in an event-driven tick loop at 100ms intervals. A configurable clock multiplier runs the simulation at accelerated time relative to wall time, allowing engineers to observe multi-hour process phases in minutes.

A Babylon.js 3D scene renders the facility โ€” totes, drums, bioreactor โ€” with live liquid fill visualization and heat coloring that reflects current process temperature. Ten sensor types stream simulated readings with configurable noise, drift, and failure modes. The sensor layer is not idealized: each sensor type has a noise profile drawn from real instrument characteristics, and sensors can be placed into degraded or failed states to test monitoring system behavior.

The twin is calibrated to Crush Jan 2026 production data. The seeded RNG ensures that two engineers running the same scenario with the same seed obtain identical results, which is the precondition for rigorous comparison of process parameter changes.

Why is it useful?

Process optimization on live fermentation vessels is expensive and slow. Each experimental change takes days to evaluate and carries batch risk. A digital twin running at accelerated time compresses that cycle: a 72-hour fermentation run can be observed in minutes, and the same run can be repeated with a single parameter changed to isolate its effect.

The reproducibility guarantee is what makes the comparison meaningful. Without a seeded RNG, two runs of a stochastic simulation are not comparable โ€” observed differences could be noise rather than signal. With it, the only difference between two runs is the parameter the engineer changed.

Sensor failure injection addresses a distinct need: validating monitoring and alerting infrastructure before it is exposed to real failures. Testing whether a temperature alarm fires correctly when a thermocouple drifts out of calibration is far preferable to discovering the gap during a live batch.

How and where does it apply?

FermentDT applies across three domains. In process engineering, it supports parameter exploration โ€” adjusting substrate concentration, aeration rate, or temperature setpoints and observing the effect on yield and cycle time. In operator training, the 3D scene and live sensor panels provide a realistic environment for practicing process monitoring without equipment access. In control system validation, the disturbance injection system โ€” temperature spikes, aeration failures, ethanol depletion โ€” tests whether control loops and alarms respond correctly to known fault conditions.

The sensor history ring buffer holds 500 readings per sensor, providing a moving window of process state that trend analysis panels consume directly.

typescript
// models/fermentation.ts โ€” Monod kinetics per tick
const muMax = 0.4;  // max specific growth rate (h^-1)
const Ks = 0.15;    // substrate saturation constant (g/L)
const mu = muMax * (substrate / (Ks + substrate));
const dBiomass = mu * biomass * dtHours;
const dEthanol = -yieldCoeff * dBiomass;
const dAceticAcid = conversionEff * Math.abs(dEthanol);

The Monod equation governs the relationship between substrate concentration and microbial growth rate. As substrate is consumed, mu falls, slowing biomass accumulation and, downstream, acetic acid production. This is the core nonlinearity that makes fermentation process control non-trivial and that the twin must capture accurately to be useful for parameter studies.

Share
๐• Post