LotkaVolterraSystemsPredator-prey dynamics |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
This is the basic two species model of predation from ecology—the so called Lotka-Volterra-Model [17].
In the upper model we recognize more explicitly that both populations, rabbits and foxes, have independent processes of exponential growth (the prey population's net rate of growth) and exponential decline (the predator's net rate of negative growth when there is no prey). The predation is modeled using an an →interaction (a special kind of flow element). It introduces nonlinearity, as there is some fractional rate (beta, delta
) that is multiplied with rabbits(t) ⋅ foxes(t). Predation results in an outflow from the rabbit population (increased deaths) and an inflow to the prey population (increased reproduction).
The model below shows the same model structure in a generalized, more compact fashion using the interaction flow component →LotkaVolterra .
0.1 [1/yr]
using the displayUnit
attribute and conversion tables. All calculations in a simulation will always use SI-units for time so that rates are in unit 1/s
and times in unit s
.modelOutput
) where the variables rabbits, foxes, prey, predators
are explicitly declared with appropriate units.The model presented here comes from Michael Tiller's excellent introduction "Modelica by Example" (see Describing Behavior>Basic Equations>Examples>Lotka-Volterra System), which ships with SystemModeler and can also be found online.
LotkaVolterra, NonlinearInteraction, ExponentialGrowth, ExponentialDecline
alpha |
Value: 3.16887385068114e-09 Type: Rate (1/s) Description: Reproduction rate of prey |
---|---|
beta |
Value: 6.33774770136229e-10 Type: Rate (1/s) Description: Mortality rate of prey per predator |
gamma |
Value: 1.26754954027246e-08 Type: Rate (1/s) Description: Mortality rate of predator |
delta |
Value: 6.33774770136229e-10 Type: Rate (1/s) Description: Reproduction rate of predators per prey |
modelOutput |
Type: ModelOutput Description: Main output of the model |
---|
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
|
---|---|---|
prey |
Type: MaterialStock Description: Prey population |
|
predators |
Type: MaterialStock Description: Predator population |
|
rabbits |
Type: MaterialStock Description: Rabbit population |
|
foxes |
Type: MaterialStock Description: Fox population |
|
reproducing |
Type: ExponentialGrowth Description: Growth of rabbit population |
|
starving |
Type: ExponentialDecline Description: Foxes mortality in absense of prey |
|
predation |
Type: NonlinearInteraction Description: Foxes predating on rabbits |
|
predating |
Type: LotkaVolterra Description: Compact interaction flow that combines all processes of growth and decline |
foxes
does not need unit="foxes"
, diagram and simulation plots in v2.0.0.