Predator-Prey Model by Rosenzweig

Open in Morpheus History

Persistent Identifier

Use this permanent link to cite or share this Morpheus model:


Introduction

This model implements an extension of the well-known Lotka-Volterra system.

It illustrates how to

  • create a simple ODE model and
  • log and plot data as time course.
Output of predator-prey example model.
Output of predator-prey example model.

Description

The Rosenzweig model is the Lotka-Volterra model with logistic growth and type 2 functional response.

First, the Space and Time of a simulation is specified, here defined as a single lattice site and $5000\ \mathrm{atu}$ (arbitrary time units). In Global (see figure below), two Variables for predator and prey densities are set up. The differential equations themselves are specified in a System which consists of a number of Constants and two DiffEqn (differential equations) and are computed using the runge-kutta solver.

Global section of the model.
Global section of the model.

Output in terms of a text file as well as a plot is created by a Logger, the plugin in the Analysis section.

Things to try

  • Bring the system into a stable steady state (fixed point, no oscillations) by changing parameters in Global/System/Constant.

Reference

M. L. Rosenzweig: Paradox of Enrichment: Destabilization of Exploitation Ecosystems in Ecological Time. Science 171 (3969): 385-387, 1971.

Model

Get this model via:

XML Preview

<MorpheusModel version="4">
    <Description>
        <Title>Example-PredatorPrey</Title>
        <Details>Example showing Predator-prey model by Rosenzweig.

The Rosenzweig model is the Lotka-Volterra model with logistic growth and type 2 functional response.

Reference: Rosenzweig, Michael. 1971. "The Paradox of Enrichment" Science Vol. 171: pp. 385–387

Illustrates how to

  • create a simple ODE model
  • log and plot data as time course</Details> </Description> <Global> <Variable value="0.1" symbol="N"/> <Variable value="0.5" symbol="P"/> <System time-step="0.1" solver="Runge-Kutta [fixed, O(4)]"> <Constant name="halftime" value="0.5" symbol="a"/> <Constant name="growth rate" value="0.1" symbol="r"/> <Constant name="consumption rate" value="0.1" symbol="c"/> <Constant name="conversion rate" value="0.05" symbol="b"/> <Constant name="mortality rate" value="0.01" symbol="m"/> <Constant name="Carrying capacity" value="0.8" symbol="K"/> <DiffEqn symbol-ref="N"> <Expression>rN(1-N/K) - cN / (a+N)P </Expression> </DiffEqn> <DiffEqn symbol-ref="P"> <Expression>bN / (a+N)P - mP</Expression> </DiffEqn> <!– <Disabled> <Function symbol="c"> <Expression>0.1 + time0.00001</Expression> </Function> </Disabled> –> </System> <Event trigger="when true" time-step="1"> <Condition>N &lt; 0.001</Condition> <Rule symbol-ref="N"> <Expression>0</Expression> </Rule> </Event> </Global> <Space> <Lattice class="linear"> <Size value="1, 0, 0" symbol="size"/> <Neighborhood> <Order>1</Order> </Neighborhood> </Lattice> <SpaceSymbol symbol="space"/> </Space> <Time> <StartTime value="0"/> <StopTime value="5000" symbol="stoptime"/> <TimeSymbol symbol="time"/> </Time> <Analysis> <Logger time-step="5"> <Input> <Symbol symbol-ref="N"/> <Symbol symbol-ref="P"/> </Input> <Output> <TextOutput file-format="csv"/> </Output> <Plots> <Plot time-step="-1"> <Style style="lines" line-width="2.0"/> <Terminal terminal="png"/> <X-axis> <Symbol symbol-ref="time"/> </X-axis> <Y-axis> <Symbol symbol-ref="N"/> <Symbol symbol-ref="P"/> </Y-axis> </Plot> <Plot time-step="-1"> <Style style="lines" line-width="2.0"/> <Terminal terminal="png"/> <X-axis> <Symbol symbol-ref="N"/> </X-axis> <Y-axis> <Symbol symbol-ref="P"/> </Y-axis> <Color-bar palette="rainbow"> <Symbol symbol-ref="time"/> </Color-bar> </Plot> </Plots> </Logger> <ModelGraph include-tags="#untagged" format="svg" reduced="false"/> </Analysis> </MorpheusModel>

Downloads

Files associated with this model:

Previous