| lv3 {simecol} | R Documentation |
Lotka-Volterra-Type Model with Resource, Prey and Predator
Description
simecol example: predator prey-model with three equations: predator, prey and resource (e.g. nutriens, grassland).
Usage
data(lv3)
Format
A valid S4 object according to the odeModel
specification. The object contains the following slots:
mainLotka-Volterra equations for predator prey and resource
.
parmsVector with named parameters of the model:
cgrowth rate of the prey population,
dencounter rate of predator and prey,
eyield factor (allows conversion with respect to
d),fdeath rate of the predator population,
grecycling parameter.
inputsTime series specifying external delivery of resource.
timesSimulation time and integration interval.
initVector with start values for
s,pandk.sResource (e.g. grassland or phosphorus).
pProducer (prey).
kConsumer (predator).
solverCharacter string specifying the integration method.
See Also
simecol-package,
sim,
parms,
init,
times.
Examples
##============================================
## Basic Usage:
## explore the example
##============================================
data(lv3)
plot(sim(lv3))
times(lv3)["by"] <- 5 # set maximum external time step to a large value
plot(sim(lv3)) # wrong! automatic time step overlooks internal inputs
plot(sim(lv3, hmax = 1)) # integration with correct maximum internal time step
##============================================
## Implementation:
## The code of the model
##============================================
lv3 <- new("odeModel",
main = function(time, init, parms, inputs) {
s.in <- approxTime1(inputs, time, rule = 2)["s.in"]
with(as.list(c(init, parms)),{
ds <- s.in - b*s*p + g*k
dp <- c*s*p - d*k*p
dk <- e*p*k - f*k
list(c(ds, dp, dk), s.in = s.in)
})
},
parms = c(b = 0.1, c = 0.1, d = 0.1, e = 0.1, f = 0.1, g = 0),
times = c(from = 0, to = 200, by = 1),
inputs = as.matrix(
data.frame(
time = c(0, 99, 100, 101, 200),
s.in = c(0.1, 0.1, 0.5, 0.1, 0.1)
)
),
init = c(s = 1, p = 1, k = 1), # substrate, producer, consumer
solver = "lsoda"
)