11#ifndef FAUNA_FATMASS_ENERGY_BUDGET_H
12#define FAUNA_FATMASS_ENERGY_BUDGET_H
39 const double maximum_fatmass,
79 const double other_weight);
A herbivore’s energy budget with fat reserves.
Definition: fatmass_energy_budget.h:23
double max_fatmass
Definition: fatmass_energy_budget.h:108
double fatmass
Definition: fatmass_energy_budget.h:107
void catabolize_fat()
Burn fat reserves and reduce unmet energy needs.
Definition: fatmass_energy_budget.cpp:56
double energy_needs
Definition: fatmass_energy_budget.h:106
double max_fatmass_gain
Definition: fatmass_energy_budget.h:109
void force_body_condition(const double body_condition)
Set the proportional fat reserves.
Definition: fatmass_energy_budget.cpp:71
double get_fatmass() const
Current fat mass [kg/ind].
Definition: fatmass_energy_budget.h:64
double get_max_anabolism_per_day() const
Get the maximum energy [MJ/ind/day] that could be anabolized in a day.
Definition: fatmass_energy_budget.cpp:79
double catabolism_coefficient
Definition: fatmass_energy_budget.h:105
void set_max_fatmass(const double max_fatmass, const double max_gain)
Set the maximum allowed fat mass [kg/ind] and fat gain [kg/ind/day].
Definition: fatmass_energy_budget.cpp:136
double get_energy_needs() const
Current energy needs [MJ/ind].
Definition: fatmass_energy_budget.h:61
double get_max_fatmass() const
Maximum fat mass [kg/ind].
Definition: fatmass_energy_budget.h:70
void merge(const FatmassEnergyBudget &other, const double this_weight, const double other_weight)
Merge this object with another one by building weighted averages.
Definition: fatmass_energy_budget.cpp:92
double anabolism_coefficient
Definition: fatmass_energy_budget.h:104
void metabolize_energy(double energy)
Update budget and fat mass by receiving energy (through feeding)
Definition: fatmass_energy_budget.cpp:104
void add_energy_needs(const double energy)
Increase energy needs.
Definition: fatmass_energy_budget.cpp:48