Predator-prey, exponential growth, carrying capacity — logistic curves you can break. Same equation, two views.
In 1920, the American chemist Alfred Lotka published a short note in the Proceedings of the National Academy of Sciences setting two species against each other — a plant, and the herbivore that eats it. He had come at it from chemical reaction rates, two substances feeding on each other, and he was not expecting the result: the pair led, he wrote, to “undamped, and hence indefinitely continued, oscillations.” He expanded the idea into Elements of Physical Biology in 1925, and found the same shape applies to anything that eats anything.
In 1926, the Italian mathematician Vito Volterra sat down to explain a question his future son-in-law had brought him: fish-market records from the Adriatic showed the share of predatory fish in the catch shifting across the years of the First World War, when fishing had been interrupted. Explaining that shift took the same coupled differential equations Lotka had written six years earlier. He did not know about Lotka. Two independent derivations, six years apart, the same equations. Predator-prey dynamics earned the name Lotka–Volterra — in that order, chemist first.
In 1927, the Scottish biochemist William Kermack and the physician Anderson McKendrick were trying to explain why a plague outbreak in Bombay would burn fiercely for months and then die out before infecting everyone. They split a population into three compartments — susceptible, infected, recovered — and wrote a set of coupled rate equations relating the flows between them. The shape of every epidemic that has ever been modeled since — influenza, polio, AIDS, Ebola, COVID-19, the Memphis Triple Disaster scenarios in OPA's case-study library — comes out of the SIR model they wrote that year.
Kermack did that work without being able to see it. In 1924, three years before the paper, an explosion in his laboratory blinded him permanently. He was twenty-six. He kept going — holding the mathematics in his head, working through colleagues and dictation — and the equations he built that way are still the first thing anyone reaches for when a new disease appears.
Lotka–Volterra and Kermack–McKendrick share a deep structural property: the dynamics live in the coupling, not in the individual species or stages. The same mathematical grammar that describes lynx and hare populations on Hudson Bay also describes the diffusion of a respiratory illness through a city. And both extend naturally to trophic webs — algae feeds zooplankton feeds fish feeds eagles — through a stack of coupled equations that turn into the modern field of ecosystem ecology.
The trophic mode runs three living levels on the same grid — an algae-like primary producer, a zooplankton-like grazer, and a fish-like predator, on open water. Mechanically it is the predator-prey tab with one more level stacked on top: the same stochastic agent rules, not a different equation. The pattern is the same; the dimensions just grow.
A student who learns Lotka–Volterra from a textbook sees clean sinusoidal oscillations — predator population traces a phase-shifted curve behind prey, forever. A student who runs the same equations as a spatial agent simulation sees something the textbook never shows: local pockets where the species briefly go extinct, refuge corners where they survive, traveling waves of infection or grazing pressure that move across the landscape, and emergent stable patches the equations alone would never predict.
SIR disease. A susceptible population, an infected outbreak that spreads through neighbor contact, recovered individuals that no longer transmit. Click anywhere on the grid to plant a new infection and watch it propagate. Slide the transmission rate up and the outbreak burns through the population; slide the recovery rate up and the outbreak dies before reaching critical mass. This is the equation the city public health department runs in their head every winter.
Predator-prey. Lotka–Volterra on a 2D grid. Left-click adds prey, right-click adds predators. Watch the loop close in the phase plot — prey on one axis, predators on the other — while the chart above draws the same thing as two curves running out of step: prey booms, predators follow, prey crashes, predators crash. Then watch what the grid does that the chart can't show: regional extinctions, refuge corners, traveling waves of predation. This is what wildlife biologists actually see in long-term field data — not smooth oscillations but noisy, patchy, regional cycles. On a tablet or Chromebook there is no right-click — use the + Prey / + Predator button beside Reset to choose what a tap drops.
Trophic web. Three living levels coupled top to bottom. Algae grow. Zooplankton-like grazers eat the algae. Fish-like predators eat the grazers. Cascade effects propagate through the whole web when you push any one species. This is the Yellowstone-wolves-reintroduction story, the why-the-cod-fishery-collapsed story, the what-happened-when-we-killed-the-keystone story.
Same equation, two views. The aside chart shows the continuous population curves the textbook predicts. The main grid shows the spatial agent simulation the textbook pretends doesn't exist. The chart is the ideal. The grid is the reality. Both are honest. The student needs both.
A browser-based spatial agent simulation on an 80×80 grid (6,400 cells) coupled to a time-series chart of total population per species. Three modes (SIR, predator-prey, trophic) share the same grid engine but interpret each cell's state differently and apply different transition rules. All parameters are exposed as sliders. Click anywhere on the grid to seed additional agents.
The dynamics are qualitatively faithful to the published equations — SIR compartments transition by neighbor-contact infection and per-tick recovery; Lotka–Volterra runs as a stochastic agent process whose population average reproduces the standard sinusoidal phase-shifted oscillations; the trophic mode stacks a third level on those same predator-prey rules. It is not a Rosenzweig–MacArthur model — there is no saturating (Holling type II) functional response and no explicit carrying-capacity term, and those two things are what define one. The dynamics are not calibrated to any specific species, disease, or ecosystem. Tick units are dimensionless. Suite standing rule: teach the shape, not the digits.
Section 4.3.3 · OPA Life Sciences Suite. Filed under Building 3 (Agriculture & Animal Intelligence), College III (Agriculture & Animal Sciences).
Sibling labs in the Engineering Suite (Horseshoe Vortex 4.10.35, Concert Hall 4.10.36, Live Beam 4.10.37) and the Physics Suite (Ripple Tank 4.9.4c, Double-Slit 4.9.4d, Edge Cases 4.9.8, Standing Question 4.00.9) share the OPA grammar but use distinct palettes per suite. The Life Sciences Suite's moss-green palette is unique to this lab and its future siblings.
Filed under Opathorlokan University, Birmingham, Alabama. Built by Travis Jenkins (User Zero) with Claude. The lab exists so that a student can hold the same equation in two hands at once — the continuous curve and the spatial agent — and feel the moment they stop being the same answer.