Calculates the diffusion rate \(D_i(w)\) (grams^2/year) for each species. This diffusion rate has two components:
The diffusion due due to the variability in prey sizes. This is the diffusion term from the jump-growth equation.
Any externally specified diffusion, which is added via setExtDiffusion()
getDiffusion(object, ...)MizerParams: An ArraySpeciesBySize object (predator species x predator
size) with the diffusion rates.
MizerSim: An ArrayTimeBySpeciesBySize object (time step x predator
species x predator size) with the diffusion rates at every time step.
If drop = TRUE then dimensions of length 1 will be removed.
A MizerParams or MizerSim object.
Additional arguments that depend on the class of object.
For a MizerParams object:
nA matrix of species abundances (species x size). Defaults to
the initial abundances stored in object.
n_ppA vector of the resource abundance by size. Defaults to the
initial resource abundance stored in object.
n_otherA named list of the abundances of other dynamical
components. Defaults to the initial values stored in object.
tThe time for which to do the calculation. Defaults to 0.
For a MizerSim object:
time_rangeThe time range over which to return the rates. Either a vector of values, a vector of min and max time, or a single value. Defaults to the whole time range of the simulation.
dropIf TRUE then any dimension of length 1 is removed from the
returned array.
The diffusion due due to the variability in prey sizes
is determined by summing over all prey
species and the resource spectrum and then integrating over all prey sizes
\(w_p\), weighted by predation kernel \(\phi(w,w_p)\):
$$
d_i(w) = (1-f_i(w))(\alpha_i(1-\psi_i(w)))^2\gamma_i(w) \int
\left( \theta_{ip} N_R(w_p) + \sum_{j} \theta_{ij} N_j(w_p) \right)
\phi_i(w,w_p) w_p^2 \, dw_p.
$$
Here \(N_j(w)\) is the abundance density of species \(j\) and
\(N_R(w)\) is the abundance density of resource.
The overall prefactor \(\gamma_i(w)\) determines the predation power of the
predator. It could be interpreted as a search volume and is set with the
setSearchVolume() function. The predation kernel
\(\phi(w,w_p)\) is set with the setPredKernel() function. The
species interaction matrix \(\theta_{ij}\) is set with setInteraction()
and the resource interaction vector \(\theta_{ip}\) is taken from the
interaction_resource column in species_params().
\(f(w)\) is the feeding level calculated with
getFeedingLevel(). \(\psi(w)\) is the proportion of the available energy
that is invested in reproduction instead of growth, obtained with psi().
The diffusion integral is normally evaluated efficiently with a fast Fourier
transform, which assumes that the predation kernel depends only on the ratio
of predator to prey size. If a custom predation kernel that depends on
predator and prey size separately has been set with setPredKernel(), the
integral is instead evaluated by direct summation over the full predation
kernel, as in getEncounter().
Datta, S., Delius, G. W. and Law, R. (2010). A jump-growth model for predator-prey dynamics: derivation and application to marine ecosystems. Bulletin of Mathematical Biology, 72(6):1361–1382
Other rate functions:
getEGrowth(),
getERepro(),
getEReproAndGrowth(),
getEncounter(),
getFMort(),
getFMortGear(),
getFeedingLevel(),
getFlux(),
getFluxGradient(),
getMort(),
getPredMort(),
getPredRate(),
getRDD(),
getRDI(),
getRates(),
getResourceMort()