1 #ifndef PSPM_PSPM_SPECIES_H_ 2 #define PSPM_PSPM_SPECIES_H_ 28 std::vector <double>
X;
29 std::vector <double>
x;
30 std::vector <double>
h;
56 virtual void resize(
int _J) = 0;
58 virtual void print() = 0;
60 virtual void set_xb(
double _xb) = 0;
61 virtual void set_ub(
double _ub) = 0;
63 virtual void setX(
int i,
double _x) = 0;
64 virtual void setU(
int i,
double _u) = 0;
66 virtual double getX(
int i) = 0;
67 virtual double getU(
int i) = 0;
83 virtual double growthRate(
int i,
double x,
double t,
void *
env) = 0;
85 virtual std::vector<double>
growthRateGradient(
int i,
double x,
double t,
void *
env,
double grad_dx) = 0;
89 virtual double birthRate(
int i,
double x,
double t,
void *
env) = 0;
90 virtual void getExtraRates(std::vector<double>::iterator &it) = 0;
106 template <
class Model>
116 Species(std::vector<double> breaks = std::vector<double>());
127 void setX(
int i,
double _x);
128 void setU(
int i,
double _u);
145 double growthRate(
int i,
double x,
double t,
void * env);
147 std::vector<double>
growthRateGradient(
int i,
double x,
double t,
void * env,
double grad_dx);
151 double birthRate(
int i,
double x,
double t,
void * env);
170 #include "../src/species.tpp" virtual double growthRate(int i, double x, double t, void *env)=0
virtual double get_maxSize()=0
Cohort< Model > savedCohort
virtual double init_density(int i, double x, void *env)=0
Cohort< Model > boundaryCohort
virtual void resize(int _J)=0
virtual double get_boundary_u()=0
virtual void removeDensestCohort()=0
virtual void removeDeadCohorts(double ucut)=0
virtual double getU(int i)=0
std::list< double > birth_flux_out_history
virtual ~Species_Base()=0
virtual void addCohort()=0
virtual void set_ub(double _ub)=0
virtual double getX(int i)=0
virtual void set_xb(double _xb)=0
virtual void initBoundaryCohort(double t, void *env)=0
void set_inputBirthFlux(double b)
virtual std::vector< double > mortalityRateGradient(int i, double x, double t, void *env, double grad_dx)=0
virtual std::vector< double > growthRateGradientCentered(int i, double xplus, double xminus, double t, void *env)=0
virtual void initAndCopyExtraState(double t, void *env, std::vector< double >::iterator &it)=0
virtual void getExtraRates(std::vector< double >::iterator &it)=0
virtual double establishmentProbability(double t, void *env)=0
virtual double growthRateOffset(int i, double x, double t, void *env)=0
virtual void triggerPreCompute()=0
virtual double birthRate(int i, double x, double t, void *env)=0
virtual double mortalityRate(int i, double x, double t, void *env)=0
virtual void copyCohortsExtraToState(std::vector< double >::iterator &it)=0
virtual void set_birthTime(int i, double t0)=0
virtual void removeDenseCohorts(double dxcut)=0
virtual void setU(int i, double _u)=0
virtual double calc_boundary_u(double gb, double pe)=0
virtual std::vector< double > growthRateGradient(int i, double x, double t, void *env, double grad_dx)=0
std::vector< Cohort< Model > > cohorts
virtual void copyExtraStateToCohorts(std::vector< double >::iterator &it)=0
void set_bfin_is_u0in(bool flag)
virtual void setX(int i, double _x)=0
std::vector< double > schedule