`R/project_methods.R`

`mizerEncounter.Rd`

Calculates the rate \(E_i(w)\) at which a predator of species \(i\) and
weight \(w\) encounters food (grams/year). You would not usually call this
function directly but instead use `getEncounter()`

, which then calls this
function unless an alternative function has been registered, see below.

mizerEncounter(params, n, n_pp, n_other, t, ...)

params | A MizerParams object |
---|---|

n | A matrix of species abundances (species x size). |

n_pp | A vector of the resource abundance by size |

n_other | A list of abundances for other dynamical components of the ecosystem |

t | The time for which to do the calculation (Not used by standard mizer rate functions but useful for extensions with time-dependent parameters.) |

... | Unused |

A named two dimensional array (predator species x predator size) with the encounter rates.

The encounter rate \(E_i(w)\) at which a predator of species \(i\)
and weight \(w\) encounters food has contributions from the encounter of
fish prey and of resource. This 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)\):
$$
E_i(w) = \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 \, 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 `params@species_params`

.

The encounter rate is multiplied by \(1-f_0\) to obtain the consumption rate,
where \(f_0\) is the feeding level calculated with `getFeedingLevel()`

.
This is used by the `project()`

function for performing simulations.

The function returns values also for sizes outside the size-range of the species. These values should not be used, as they are meaningless.

If your model contains additional components that you added with
`setComponent()`

and for which you specified an `encounter_fun`

function then
the encounters of these components will be included in the returned value.

By default `getEncounter()`

calls `mizerEncounter()`

. However you can
replace this with your own alternative encounter function. If
your function is called `"myEncounter"`

then you register it in a MizerParams
object `params`

with

params <- setRateFunction(params, "Encounter", "myEncounter")

Your function will then be called instead of `mizerEncounter()`

, with the
same arguments.

Other mizer rate functions:
`mizerEGrowth()`

,
`mizerEReproAndGrowth()`

,
`mizerERepro()`

,
`mizerFMortGear()`

,
`mizerFMort()`

,
`mizerFeedingLevel()`

,
`mizerMort()`

,
`mizerPredMort()`

,
`mizerPredRate()`

,
`mizerRDI()`

,
`mizerRates()`

,
`mizerResourceMort()`