Skip to contents

Calculates the total predation mortality rate \(\mu_{p,i}(w_p)\) (in units of 1/year) on each prey species by prey size: $$\mu_{p.i}(w_p) = \sum_j {\tt pred\_rate}_j(w_p)\, \theta_{ji}.$$ The predation rate pred_rate is returned by getPredRate().


getPredMort(object, n, n_pp, n_other, time_range, drop = TRUE, ...)



A MizerParams object or a MizerSim object


A matrix of species abundances (species x size).


A vector of the resource abundance by size


A list of abundances for other dynamical components of the ecosystem


A vector of times. Only the range of times is relevant, i.e., all times between the smallest and largest will be selected. The time_range can be character or numeric.


If TRUE then any dimension of length 1 will be removed from the returned array.




If a MizerParams object is passed in, the function returns a two dimensional array (prey species x prey size) based on the abundances also passed in. If a MizerSim object is passed in, the function returns a three dimensional array (time step x prey species x prey size) with the predation mortality calculated at every time step in the simulation. Dimensions may be dropped if they have length 1 unless drop = FALSE.

Your own predation mortality function

By default getPredMort() calls mizerPredMort(). However you can replace this with your own alternative predation mortality function. If your function is called "myPredMort" then you register it in a MizerParams object params with

params <- setRateFunction(params, "PredMort", "myPredMort")

Your function will then be called instead of mizerPredMort(), with the same arguments.


if (FALSE) {
params <- NS_params
# With constant fishing effort for all gears for 20 time steps
sim <- project(params, t_max = 20, effort = 0.5)
# Get predation mortality at one time step
getPredMort(params, n = N(sim)[15, , ], n_pp = NResource(sim)[15, ])
# Get predation mortality at all saved time steps
# Get predation mortality over the years 15 - 20
getPredMort(sim, time_range = c(15, 20))