Lotka-Volterra with Carrying Capacity
Logistic prey growth limits the prey population to \(K\) — shifting closed orbits into inward spirals that converge to a stable coexistence equilibrium.
The Model
This extension of the classical Lotka-Volterra system replaces the unbounded exponential prey growth \(\alpha x\) with logistic growth \(\alpha x(1 - x/K)\), where \(K\) is the carrying capacity — the maximum prey population the environment can support in the absence of predators:
When \(K\to\infty\) (or \(x\ll K\)), the model reduces to the classical Lotka-Volterra system. For finite \(K\), the prey equation is a logistic ODE perturbed by predation.
Parameters
- \(\alpha\) — prey intrinsic growth rate (per unit time, at low density)
- \(\beta\) — predation rate (prey removed per predator per unit time)
- \(\gamma\) — predator natural mortality rate
- \(\delta\) — predator reproduction rate per prey consumed
- \(K\) — prey carrying capacity (environmental limit)
- \(x_0, y_0\) — initial prey and predator populations
Equilibria
The system has three equilibria:
- Origin \((0,0)\): unstable saddle point.
- Prey-only \((K,0)\): prey at carrying capacity, no predators. Stable if \(\delta K < \gamma\) (predators can't survive); unstable otherwise.
-
Coexistence \((x^*, y^*)\): both species persist.
\[x^* = \frac{\gamma}{\delta}, \qquad y^* = \frac{\alpha}{\beta}\!\left(1 - \frac{x^*}{K}\right) = \frac{\alpha}{\beta}\!\left(1 - \frac{\gamma}{\delta K}\right).\]This equilibrium exists only when \(y^* > 0\), i.e. \(\delta K > \gamma\).
Stability: From Cycles to Spirals
The classical Lotka-Volterra model (no carrying capacity) has a centre at the coexistence equilibrium — all orbits are closed (neutral cycles). Adding \(K\) breaks this degeneracy:
- For large \(K\) relative to \(x^*\), the equilibrium is a stable spiral — trajectories wind inward, producing damped oscillations that eventually converge.
- For small \(K\) (close to \(x^*\)), populations can collapse or the coexistence equilibrium may not exist.
- The Hopf bifurcation at \(K = 2x^* = 2\gamma/\delta\) separates the stable spiral from an unstable spiral (with a surrounding stable limit cycle).
In the phase portrait, this change is visible as an inward spiral rather than a closed loop. In the time series, oscillations gradually decrease in amplitude.
Numerical Method
RK4 with \(\Delta t = 0.02\), 25,000 steps (total time 500). Populations are floored at 0 to prevent numerical artefacts near extinction.
How to Use
- Drag any slider or type a value directly; plots update instantly.
- Set \(K\) very large (e.g. 500) to approach the classical model — orbits become nearly closed.
- Decrease \(K\) toward \(x^* = \gamma/\delta\) to watch the spiral tighten and oscillations dampen faster.
- Click Reset defaults to restore all parameters.