HomeBiology & LifeMutualism Population Dynamics

🤝 Mutualism Population Dynamics

Two interdependent populations grow under coupled mutualism equations; tune the benefit strength to see stable coexistence or, if mutualism is too weak relative to carrying capacity, a joint extinction collapse.

Biology & Life2DEasy60 FPS
mutualism-population-dynamics ↗ Open standalone

How it Works

Two populations, N1 (modelled on clownfish) and N2 (modelled on their host sea anemone), each grow logistically toward their own carrying capacity, but every mutualism term adds a bonus to the other species' growth rate proportional to how large its partner is. The Mutualism Benefit slider scales both cross-terms symmetrically, so a stronger partnership lets both populations settle at an equilibrium above their individual carrying capacities. In Obligate mode, if either population falls below a small threshold fraction of its partner's carrying capacity, an extra Allee-like decline term kicks in on the partner's equation, accelerating its collapse — if the mutualism benefit is too weak to prevent that threshold crossing, both populations can spiral down to joint extinction. Facultative mode omits that extra penalty, so each species can survive alone (at a reduced level set by its own carrying capacity) even if its partner disappears.

Every animation frame advances the coupled equations with several small Euler steps (the Simulation Speed slider sets how many). The top strip of the canvas plots N1 and N2 as a live dual-line time-series chart, and the bottom strip renders two interleaved swarms of small dots — orange for clownfish, purple for anemone — whose counts track the live populations and drift and mingle together, visually showing the two species living side by side.

dN1/dt = r1·N1·(1 − N1/K1 + b·N2/K1)  [+ obligate term]
dN2/dt = r2·N2·(1 − N2/K2 + b·N1/K2)  [+ obligate term]
Obligate term (only if Mode = Obligate): dN/dt += −0.4·N·(1 − partner/threshold) when partner < threshold, threshold = 0.08·K(partner)
Euler step: N(t+dt) = N(t) + (dN/dt)·dt, dt = 0.05 per sub-step, sub-steps/frame = Simulation Speed

Frequently Asked Questions

What is mutualism?

Mutualism is a biological interaction in which two different species each benefit from the relationship, such as clownfish gaining shelter from a sea anemone's stinging tentacles while the anemone gains food scraps and protection from anemone-eating fish.

How does the mutualism benefit coefficient affect the populations?

The benefit coefficient b scales how much each population's growth rate increases in proportion to the size of its partner's population; higher benefit values let both populations settle at a stable equilibrium above their individual carrying capacities, while very low values weaken the partnership's support.

What is the difference between obligate and facultative mutualism?

In facultative mutualism each species can survive independently at a reduced carrying capacity if its partner disappears, whereas in obligate mutualism a species depends on its partner so completely that falling below a minimum partner population triggers an accelerating, Allee-like decline toward extinction.

Can both populations go extinct together?

Yes, in obligate mode with a mutualism benefit too weak relative to the carrying capacities, one population can dip below its critical threshold, triggering the accelerated decline term in its partner's equation as well, so both populations spiral down to joint extinction.

What do the carrying capacity sliders K1 and K2 control?

K1 and K2 set the maximum population each species could sustain on its own without any benefit from its partner; the mutualism terms in the equations allow actual populations to settle above these limits when the partnership is strong enough.

About this simulation

Not every species interaction is a fight over food — sometimes two populations quietly prop each other up. Turn the Mutualism Benefit slider down in Obligate mode and watch a partnership that looked stable slowly tip into a shared decline, crossing a critical threshold where both the orange clownfish swarm and the purple anemone swarm spiral toward zero together, a vivid reminder that dependency can cut both ways.

🔬 What it shows

Two populations governed by coupled logistic-mutualism differential equations, where each species' growth benefits from the other's abundance, visualised as both a live time-series chart and an interleaved swarm of clownfish and anemone icons.

🎮 How to use

Adjust Mutualism Benefit, K1 and K2 to change how strongly the species support each other, switch between Facultative and Obligate mode, and set the Initial N1/N2 sliders to explore which starting conditions lead to stable coexistence versus collapse.

💡 Did you know?

The clownfish-anemone relationship is a textbook mutualism: a protective mucus coating lets clownfish live safely among stinging tentacles that would harm other fish, while the clownfish in turn drives off anemone-eating butterflyfish and brings in nutrients.

Frequently asked questions

What is mutualism?

Mutualism is a biological interaction in which two different species each benefit from the relationship, such as clownfish gaining shelter from a sea anemone's stinging tentacles while the anemone gains food scraps and protection from anemone-eating fish.

How does the mutualism benefit coefficient affect the populations?

The benefit coefficient b scales how much each population's growth rate increases in proportion to the size of its partner's population; higher benefit values let both populations settle at a stable equilibrium above their individual carrying capacities, while very low values weaken the partnership's support.

What is the difference between obligate and facultative mutualism?

In facultative mutualism each species can survive independently at a reduced carrying capacity if its partner disappears, whereas in obligate mutualism a species depends on its partner so completely that falling below a minimum partner population triggers an accelerating, Allee-like decline toward extinction.

Can both populations go extinct together?

Yes, in obligate mode with a mutualism benefit too weak relative to the carrying capacities, one population can dip below its critical threshold, triggering the accelerated decline term in its partner's equation as well, so both populations spiral down to joint extinction.

What do the carrying capacity sliders K1 and K2 control?

K1 and K2 set the maximum population each species could sustain on its own without any benefit from its partner; the mutualism terms in the equations allow actual populations to settle above these limits when the partnership is strong enough.

⚙ Under the hood

Two interdependent populations grow under coupled mutualism equations; tune the benefit strength to see stable coexistence or, if mutualism is too weak relative to carrying capacity, a joint extinction collapse.

Canvas 2DMutualismPopulation DynamicsCoupled ODEsEcology

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)