Skip to content

TurchinHanski

Systems / ODEs / Chemical & biological systems

An empirically grounded vole–weasel predator–prey model under seasonal forcing that reproduces the latitudinal gradient from stable cycles to chaos.

continuous · ODE3 dimensionschaotic cycles

Interactive: drag to rotate

Definition

\[ \begin{aligned} \dot{n} &= - \frac{a n p}{d + n} - \frac{g n^{2}}{h^{2} + n^{2}} - n^{2} r + n r \left(- e \sin{\left(z \right)} + 1\right) \\ \dot{p} &= p s \left(- e \sin{\left(z \right)} + 1\right) - \frac{p^{2} s}{n} \\ \dot{z} &= 2 \pi \end{aligned} \]

Parameters

Symbol Default Role
a 8 specialist predator attack rate
d 0.04 half-saturation of the specialist response
e 0.5 amplitude of the seasonal modulation
g 0.1 maximum generalist predation rate
h 0.8 half-saturation of generalist predation
r 8.12 intrinsic prey growth rate
s 1.25 specialist predator growth/self-limitation rate

State variables: n, p, z

Properties

Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = \frac{a n p}{d^{2} + 2 d n + n^{2}} - \frac{a p}{d + n} - e r \sin{\left(z \right)} - e s \sin{\left(z \right)} + \frac{2 g n^{3}}{h^{4} + 2 h^{2} n^{2} + n^{4}} - \frac{2 g n}{h^{2} + n^{2}} - 2 n r + r + s - \frac{2 p s}{n}$
state-dependent
Equilibria
none found (no equilibria)

Use it in TSDynamics

import tsdynamics as ts

system = ts.systems.TurchinHanski()
traj = system.run(final_time=100.0, dt=0.01)
ts.plot(traj)

spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)

Reference

Turchin & Hanski (1997), Am. Nat. 149, 842-874
doi:10.1086/286027

BibTeX
@misc{turchinhanski,
  title = {TurchinHanski system},
  note = {Turchin & Hanski (1997), Am. Nat. 149, 842-874},
  doi = {10.1086/286027}
}