This is the 2D companion to the 3D bioconversion-bin sim: the same black soldier fly (Hermetia illucens) larval-growth model, drawn instead as a side cross-section you can pan and zoom. Larval biomass follows logistic growth, capped by how much substrate is currently available to eat:
dM/dt = r(T) · M · (1 − M / C), C = 0.5 · S
r(T) = r_max · exp(−(T − 28)² / (2 · 8²)) [Gaussian around 28 °C]
dS/dt = feed_rate − FCR · dM/dt
- M — larval biomass (kg), S — substrate mass left in the bin (kg), C — carrying capacity, half the standing substrate.
- r(T) — the intrinsic growth rate peaks near 28 °C and falls off outside roughly 20–36 °C, matching real BSF thermal tolerance.
- FCR (feed conversion ratio) — kilograms of substrate consumed per kilogram of larval mass gained, fixed here at 2.3:1 — compare to ~8:1 for beef cattle, which is the headline efficiency claim for insect protein.
- Harvest removes 80% of the standing larvae as yield (≈42% crude protein by dry mass) and reseeds the bin with the remaining fraction so the colony restarts its growth curve — exactly how a continuous-cycle BSF facility operates.
- Waste diverted here is tracked as the substrate mass actually consumed by the larvae each step — the 3D original computed this as
min(consumed, feedRate·dt + consumed), which is mathematically always just consumed (the second term is never smaller since feed rate is never negative), so that min() was dead code masking the fact the two quantities are identical; this version drops the redundant min and states the equality directly.
Real-world relevance: companies like Protix and InnovaFeed run this same loop at industrial scale, diverting food waste from landfill (avoiding methane emissions) while producing insect meal for animal feed — now authorized for human consumption in the EU as well.