tilman: Tilman Resource Competition Model

tilmanR Documentation

Tilman Resource Competition Model

Description

Tilman's competition model for essential resources. The model can in principle contain any number of resources or species.

Usage

tilman(S, a, r, m, k, c, Rnames, Spnames)
## S3 method for class 'tilman'
plot(x, R, N, S, time = 40, step = 0.2, lwd = 1, col, ...)
tilmandiagr(x, R, N, S, col = c(4,2,1), add = FALSE, xlim, ylim, 
   xlab, ylab, ...)
## S3 method for class 'tilman'
traj(x, R, N, time = 40, step = 1, ...)

Arguments

S, a

Supply points and mobilization rates for resources.

r, m

Per capita rates of population increase and mortality for each species.

k, c

Half-saturation constants and consumption rates for each species and resource. For multi-resource models, these must be matrices with a row for each resource and column for each species. The matrix can also be given as a single vector elements ordered by species (column).

Rnames, Spnames

Names of resources and species. Defaults will be used if not given.

x

A tilman result object.

R, N

Initial resource levels and population sizes. Defaults to supply level S for resources, and 1 to population levels.

add

Add new resource trajectories to an existing diagram.

time, step

Total time and time step for trajectories

lwd, col

The line width and colours for trajectory lines.

xlim, ylim

Axis limits.

xlab, ylab

Axis labels.

...

Other parameters passed to functions.

Details

The populations grow by consuming resources, and the population growths stop when resources are depleted to a critical level R*. The differential equation for the change in the available amount of resource i and species j is given as

dR[i]/dt = a[i]*(S[i]-R[i]) - SUM(j)(c[ij] * (dN[j]/dt + N[j]*m[j])),

where R and S are current resource level and its supply point, a is the resource mobilization rate from S to R, N is the current population size, m its per capita mortality rate, and c the resource consumption rate. The corresponding change in the population size (that also appears in the equation above) is

dN[j]/dt = min(i) N[j] * (r[j] * R[i] / (R[i] + k[ij]) - m[j]),

where r is the per capita growth rate of N and k is the half-saturation parameter of the Monod equation that describes the relationship between resource use and population size, and \min selects the resource that gives the smallest response for the species.

The population growth stops when the resource level for the critical resource is

R*[i] = k[ij]*m[j]/(r[j] - m[j]).

The corresponding maximum population size is

N*[j] = a[i] * (S[i] - R*[i])/(c[ij] * m[j]).

With one resource, the winner will be the species with lowest R* with population size N* and all other species will have N* = 0. The outcome of multi-resource model is best inspected with simulations and graphics.

Function plot shows resource levels and population trajectories against time. The critical resource levels (R*) are also displayed if there is only one resource or one species. Function tilmandiagr makes the traditional Tilman graphics of resource trajectories in a two-resource plane together with R* lines for each species. The diagram will be only drawn for two-resource models, but the number of species is not limited. Function traj is used to calculate the resource and population trajectories.

Krebs (2009) discusses the model on p. 168–169. The current implementation is based on Tilman (1982).

Value

Function returns an object of class "tilman" with following items:

S, a, r, m, k, c

Model input parameters.

Rstar, Nstar

Equilibrium resource levels and population sizes for each species and resource.

nres, nsp

Number of resources and species.

call

Function call.

Author(s)

Jari Oksanen

References

Krebs, C. J. (2009) Ecology. Benjamin Cummings. 6 ed., 655 p.

Tilman, D. (1982) Resource competition and community structure. Princeton UP, 296pp.

Examples

## One resource
mod <- tilman(S = 20, a = 0.5, r = c(2,1), m = 0.5, k = c(5,0.5), c = 0.1)
mod
plot(mod)
## Two resources
mod2 <- update(mod, S=c(20,20), k=c(5,0.5, 1,2), c = c(0.15, 0.1, 0.1, 0.2))
tilmandiagr(mod2)
tilmandiagr(mod2, S = c(10,20), add = TRUE, time = 100)
tilmandiagr(mod2, S = c(20,10), add = TRUE, time = 100)
op <- par(mfrow=c(3,1), mar=c(4,4,0,1)+.1)
plot(mod2)
plot(mod2, S = c(10,20))
plot(mod2, S = c(20,10))
par(op)

jarioksa/ecostudy documentation built on June 27, 2022, 6:03 a.m.