Modular Megafauna Model 1.1.5
A physiological, dynamic herbivore simulator in C++.
Loading...
Searching...
No Matches
Fauna::ReproductionLogistic Class Reference

Reproduction model following Illius & O’Connor (2000) More...

#include <reproduction_models.h>

Public Member Functions

 ReproductionLogistic (BreedingSeason breeding_season, const double max_annual_increase, const double growth_rate, const double midpoint)
 Constructor. More...
 
double get_offspring_density (const int day_of_year, const double body_condition) const
 Get the amount of offspring for one day in the year. More...
 

Private Attributes

const BreedingSeason breeding_season
 
const double max_annual_increase
 
double growth_rate
 
double midpoint
 

Detailed Description

Reproduction model following Illius & O’Connor (2000)

The formula is derived from the model by Illius & O’Connor (2000) [35]. Their variable names are used here:

\[
B_{annual}[ind/year]
= \frac{k}{1 + e^{-b(\frac{F}{F_{max}} - c)}}
\]

  • B_annual: offspring count per year for one mature female
  • k: maximum annual offspring count of one female
  • F: current fat mass
  • F_max: maximum fat mass
  • b and c are parameters controlling the effect of body condition (F/F_max) on the reproductive rate and are set in Illius and O’Connor (2000) to b=15 and c=0.3 (unfortunately without explanation). c is called the midpoint, and b is called the growth rate a generalized logistic function.
  • 50% of adults will breed when F/F_max=0.3
  • 95% will breed when F/F_max=0.5

The annual rate is then converted to a daily rate over the breeding season length:

\[
B_{daily}[ind/day]
= \frac{B_{annual}}{L}
\]

  • L: length of breeding season [days]
Note
This reproduction model principle also used by Pachzelt et al. (2013) [49] and Pachzelt et al. (2015) [50]
See also
Fauna::ReproductionModel
Hft::reproduction_model
Hft::reproduction_logistic
Todo:
How does I&O determine the month?

Constructor & Destructor Documentation

◆ ReproductionLogistic()

ReproductionLogistic::ReproductionLogistic ( BreedingSeason  breeding_season,
const double  max_annual_increase,
const double  growth_rate,
const double  midpoint 
)

Constructor.

Parameters
max_annual_increaseHighest possible (i.e. under optimal nutrition) offspring count of one female on average. A value of 1.0 means, a female begets one child every year.
breeding_seasonWhen parturition occurs.
growth_rateParameter b in the equation, defining the slope of the sigmoid curve.
midpointParameter c in the equation, defining the turning point (threshold) of the sigmoid curve.
Exceptions
std::invalid_argumentIf max_annual_increase is negative.
std::invalid_argumentIf midpoint is not in interval (0,1).
std::invalid_argumentIf growth_rate is <=0.

Member Function Documentation

◆ get_offspring_density()

double ReproductionLogistic::get_offspring_density ( const int  day_of_year,
const double  body_condition 
) const

Get the amount of offspring for one day in the year.

Parameters
day_of_yearDay of year (0=Jan 1st).
body_conditionFat mass divided by potential maximum fat mass [kg/kg].
Returns
The average number of children a female gives birth to at given day.
Exceptions
std::invalid_argumentIf day_of_year not in [0,364] or body_condition not in [0,1].

Member Data Documentation

◆ breeding_season

const BreedingSeason Fauna::ReproductionLogistic::breeding_season
private

◆ growth_rate

double Fauna::ReproductionLogistic::growth_rate
private

◆ max_annual_increase

const double Fauna::ReproductionLogistic::max_annual_increase
private

◆ midpoint

double Fauna::ReproductionLogistic::midpoint
private

The documentation for this class was generated from the following files: