Modular Megafauna Model 1.1.5
A physiological, dynamic herbivore simulator in C++.
Loading...
Searching...
No Matches
mortality_factors.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020 W. Traylor <wolfgang.traylor@senckenberg.de>
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
11#ifndef FAUNA_MORTALITY_FACTORS_H
12#define FAUNA_MORTALITY_FACTORS_H
13
14#include <stdexcept>
15
16namespace Fauna {
17
20 public:
22
31 const double annual_mortality);
32
34
39 double operator()(const int age_days) const;
40
41 private:
44};
45
48 public:
50
53
55
59 double operator()(const int age_days) const {
60 if (age_days < 0)
61 throw std::invalid_argument(
62 "Fauna::GetSimpleLifespanMortality::operator()() "
63 "age_days < 0");
64 if (age_days >= lifespan_years * 365)
65 return 1.0; // all dead
66 else
67 return 0.0; // all survive
68 }
69
70 private:
72};
73
76
154 public:
156
169 const bool shift_body_condition = true);
170
172
183 double operator()(const double body_condition,
184 double& new_body_condition) const;
185
186 private:
189
191
193 static double cumulative_normal_distribution(double x);
194};
195
197
202 public:
204 static const double DEFAULT_MIN_BODYFAT;
205
207
212 const double min_bodyfat = DEFAULT_MIN_BODYFAT);
213
215
219 double operator()(const double bodyfat) const;
220
221 private:
223};
224} // namespace Fauna
225
226#endif // FAUNA_MORTALITY_FACTORS_H
Function object to calculate constant herbivore background mortality.
Definition: mortality_factors.h:19
double annual_mortality
Definition: mortality_factors.h:42
double annual_mortality_1st_year
Definition: mortality_factors.h:43
double operator()(const int age_days) const
Get today’s background mortality.
Definition: mortality_factors.cpp:41
Function object for herbivore death after given lifespan is reached.
Definition: mortality_factors.h:47
int lifespan_years
Definition: mortality_factors.h:71
double operator()(const int age_days) const
Calculate mortality for today.
Definition: mortality_factors.h:59
Definition: mortality_factors.h:153
static double cumulative_normal_distribution(double x)
Function Φ (phi)
Definition: mortality_factors.cpp:76
bool shift_body_condition
Definition: mortality_factors.h:188
const double fat_standard_deviation
Definition: mortality_factors.h:187
double operator()(const double body_condition, double &new_body_condition) const
Get today’s mortality.
Definition: mortality_factors.cpp:100
Function object to calculate death at low body fat.
Definition: mortality_factors.h:201
static const double DEFAULT_MIN_BODYFAT
Default minimum body fat threshold [kg/kg].
Definition: mortality_factors.h:204
double operator()(const double bodyfat) const
Get daily mortality.
Definition: mortality_factors.cpp:148
double min_bodyfat
Definition: mortality_factors.h:222
Definition: average.h:16