Skip to content
fullscreen-trianglePublic

About

A control system for stirred-tank bioreactors

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Mutapa

Mutapa

Dual Layer Cell Partition Control

Spectacular Logo

Kundai Farai Sachikonye · Chair of Proteomics and Bioanalytics, Technical University of Munich


Abstract

Mutapa is a control system for stirred-tank bioreactors built on a strict architectural separation between two layers that most designs conflate. The control layer normalises every heterogeneous process channel — dissolved oxygen, pH, temperature, agitation, feed rate — onto a common bounded coordinate hypercube, partitions that hypercube into a finite set of cells, and dispatches a pre-compiled action from the cell the current normalised state occupies. This quantised controller is proved globally asymptotically stable under an explicit piecewise-Lyapunov condition, its discrete-time operator is a contraction with geometric convergence, its cell width is bounded above by a Nyquist-type sampling criterion tied to the process bandwidth, and it is structurally incorruptible: because the controller consumes only a scalar timing/registry index and dispatches from a fixed finite action set, no sensor payload can drive the plant outside that set.

The monitoring layer sits strictly downstream across a one-directional interface. It treats each measurement not as a number but as one confirmation in a redundant ensemble: sensors are modelled as coupled oscillators that federate by phase entrainment, and a process excursion is confirmed only when independent channels agree, declining to a certified safe state when they irreducibly disagree. The monitoring layer is additive — every one of its guarantees can fail without touching the control layer's stability or safety proofs — so in the worst case the system degrades continuously to an ordinary provably-stable single-channel cell-partition controller.

This repository contains the self-contained manuscript, a deterministic numerical validation suite that verifies each theorem on concrete instances, and a browser-native Control Room in which the control law is executed against a simulated fed-batch Saccharomyces cerevisiae process.


Repository layout

mutapa/
├── docs/
│   ├── bioreactor-control-system/     # the manuscript (LaTeX) + figures
│   │   ├── bioreactor-control-system.tex
│   │   ├── references.bib
│   │   ├── figures/                   # generated panels + captions
│   │   └── validation/               # numerical validation suite (Python)
│   ├── cellular-system/               # foundational cell-partition papers
│   └── sources/                       # supporting theory (cited, not required)
├── web/                               # the Control Room (Next.js + R3F)
│   └── src/lib/experiment-engine.js   # browser port of validation/core.py
└── README.md

The manuscript is the source of truth for the mathematics. The validation suite verifies the manuscript. The Control Room's engine is a faithful port of the validation suite's shared constructions (validation/core.py); if the two ever diverge, core.py is authoritative.


The manuscript

docs/bioreactor-control-system/bioreactor-control-system.tex is complete and self-contained: every claim is proved from stated definitions using only standard results in nonlinear control, information theory, and synchronisation. It gives the full state-space model, the stability proofs, a CUSUM-equivalent excursion-detection identity, a federation admission criterion, the sensor synthesis map, six algorithms, and the validation protocol.

Build the PDF:

cd docs/bioreactor-control-system
latexmk -pdf bioreactor-control-system.tex

Numerical validation

Each check in docs/bioreactor-control-system/validation/ constructs concrete instances and verifies a theorem's inequality, identity, or dichotomy. The suite is deterministic (fixed seed per module) and writes one JSON record per experiment plus an aggregate summary.

cd docs/bioreactor-control-system/validation
pip install numpy scipy
python run_all.py          # exit 0 iff every check passes
Module Verifies
v_control.py cell floor & finite count; per-cell LMI global asymptotic stability; Banach contraction rate vs. exact operator norm; Nyquist cell-width feasibility
v_federation.py critical coupling and order-parameter branch; zero-overhead agreement at phase lock; single-loss bound; ensemble-invariant robustness and correlated-fault detection
v_synthesis.py lossless time↔frequency bijection; cell preservation; synthesis = circular mean; concentration invariance; dispersion fallback
v_separation.py additivity across certified configurations; structural incorruptibility under adversarial payloads; worst-case total-monitoring-failure convergence

Identities (switch round-trip, circular-mean synthesis, relabelling invariance) are verified to floating-point precision (< 1e-12). The finite-n Kuramoto check requires the simulated order parameter to lie below the thermodynamic branch with a monotone transition, since exact agreement holds only as n → ∞.


The Control Room

A browser-native tool in which the reader writes short scripts against an experiment API and drives the simulated reactor — the closed loop, the CUSUM excursion monitor, and the sensor-synthesis map all run client-side in a sandboxed Web Worker. No server, no backend; the whole thing deploys as a static site.

cd web
npm install
npm run dev            # http://localhost:3000

The landing page is an animated model; Enter the Control Room opens the scripting environment. A script sets setpoints, seeks convergence, injects faults, arms excursion watches, confirms across independent sources, and synthesises virtual channels — the same primitives the manuscript formalises. See web/README.md for the API reference and architecture.


Citation

@unpublished{sachikonye_mutapa,
  author = {Sachikonye, Kundai Farai},
  title  = {A Dual-Layer Cell-Partition Control System for Bioreactors:
            Provably-Stable Regulation with an Additive Confirmation Layer},
  note   = {Manuscript},
  year   = {2026}
}

License

See web/LICENSE.md.

About

A control system for stirred-tank bioreactors

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages