libpspm
Species_Base Class Referenceabstract

#include <species.h>

Inheritance diagram for Species_Base:
[legend]
Collaboration diagram for Species_Base:
[legend]

Public Member Functions

virtual ~Species_Base ()=0
 
int xsize ()
 
int size ()
 
void set_inputBirthFlux (double b)
 
void set_bfin_is_u0in (bool flag)
 
virtual void resize (int _J)=0
 
virtual double get_maxSize ()=0
 
virtual void print ()=0
 
virtual void set_xb (double _xb)=0
 
virtual void set_ub (double _ub)=0
 
virtual void set_birthTime (int i, double t0)=0
 
virtual void setX (int i, double _x)=0
 
virtual void setU (int i, double _u)=0
 
virtual double getX (int i)=0
 
virtual double getU (int i)=0
 
virtual double init_density (int i, double x, void *env)=0
 
virtual void initAndCopyExtraState (double t, void *env, std::vector< double >::iterator &it)=0
 
virtual void initBoundaryCohort (double t, void *env)=0
 
virtual void copyExtraStateToCohorts (std::vector< double >::iterator &it)=0
 
virtual void copyCohortsExtraToState (std::vector< double >::iterator &it)=0
 
virtual double establishmentProbability (double t, void *env)=0
 
virtual double calc_boundary_u (double gb, double pe)=0
 
virtual double get_boundary_u ()=0
 
virtual void triggerPreCompute ()=0
 
virtual double growthRate (int i, double x, double t, void *env)=0
 
virtual double growthRateOffset (int i, double x, double t, void *env)=0
 
virtual std::vector< double > growthRateGradient (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 double mortalityRate (int i, double x, double t, void *env)=0
 
virtual std::vector< double > mortalityRateGradient (int i, double x, double t, void *env, double grad_dx)=0
 
virtual double birthRate (int i, double x, double t, void *env)=0
 
virtual void getExtraRates (std::vector< double >::iterator &it)=0
 
virtual void addCohort ()=0
 
template<class T >
void addCohort (T bc)
 
virtual void removeDensestCohort ()=0
 
virtual void removeDenseCohorts (double dxcut)=0
 
virtual void removeDeadCohorts (double ucut)=0
 

Public Attributes

double birth_flux_in
 
bool bfin_is_u0in = false
 
double xb
 
bool is_resident
 

Protected Attributes

int J
 
int n_extra_statevars = 0
 
std::list< double > birth_flux_out_history
 
std::vector< double > X
 
std::vector< double > x
 
std::vector< double > h
 
std::vector< double > schedule
 

Friends

class Solver
 

Detailed Description

Definition at line 15 of file species.h.

Constructor & Destructor Documentation

◆ ~Species_Base()

Species_Base::~Species_Base ( )
pure virtual

Definition at line 4 of file species.cpp.

4  {
5 }

Member Function Documentation

◆ addCohort() [1/2]

virtual void Species_Base::addCohort ( )
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ addCohort() [2/2]

template<class T >
void Species_Base::addCohort ( bc)

Definition at line 8 of file species.tpp.

8  {
9  (dynamic_cast<Species<T>>(*this)).addCohort(bc);
10 }
virtual void addCohort()=0
Here is the call graph for this function:

◆ birthRate()

virtual double Species_Base::birthRate ( int  i,
double  x,
double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

◆ calc_boundary_u()

virtual double Species_Base::calc_boundary_u ( double  gb,
double  pe 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ copyCohortsExtraToState()

virtual void Species_Base::copyCohortsExtraToState ( std::vector< double >::iterator &  it)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ copyExtraStateToCohorts()

virtual void Species_Base::copyExtraStateToCohorts ( std::vector< double >::iterator &  it)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ establishmentProbability()

virtual double Species_Base::establishmentProbability ( double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ get_boundary_u()

virtual double Species_Base::get_boundary_u ( )
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ get_maxSize()

virtual double Species_Base::get_maxSize ( )
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ getExtraRates()

virtual void Species_Base::getExtraRates ( std::vector< double >::iterator &  it)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ getU()

virtual double Species_Base::getU ( int  i)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ getX()

virtual double Species_Base::getX ( int  i)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ growthRate()

virtual double Species_Base::growthRate ( int  i,
double  x,
double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ growthRateGradient()

virtual std::vector<double> Species_Base::growthRateGradient ( int  i,
double  x,
double  t,
void *  env,
double  grad_dx 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ growthRateGradientCentered()

virtual std::vector<double> Species_Base::growthRateGradientCentered ( int  i,
double  xplus,
double  xminus,
double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

◆ growthRateOffset()

virtual double Species_Base::growthRateOffset ( int  i,
double  x,
double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ init_density()

virtual double Species_Base::init_density ( int  i,
double  x,
void *  env 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ initAndCopyExtraState()

virtual void Species_Base::initAndCopyExtraState ( double  t,
void *  env,
std::vector< double >::iterator &  it 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ initBoundaryCohort()

virtual void Species_Base::initBoundaryCohort ( double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

◆ mortalityRate()

virtual double Species_Base::mortalityRate ( int  i,
double  x,
double  t,
void *  env 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ mortalityRateGradient()

virtual std::vector<double> Species_Base::mortalityRateGradient ( int  i,
double  x,
double  t,
void *  env,
double  grad_dx 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ print()

virtual void Species_Base::print ( )
pure virtual

Implemented in Species< Model >.

◆ removeDeadCohorts()

virtual void Species_Base::removeDeadCohorts ( double  ucut)
pure virtual

Implemented in Species< Model >.

◆ removeDenseCohorts()

virtual void Species_Base::removeDenseCohorts ( double  dxcut)
pure virtual

Implemented in Species< Model >.

◆ removeDensestCohort()

virtual void Species_Base::removeDensestCohort ( )
pure virtual

Implemented in Species< Model >.

◆ resize()

virtual void Species_Base::resize ( int  _J)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ set_bfin_is_u0in()

void Species_Base::set_bfin_is_u0in ( bool  flag)

Definition at line 40 of file species.cpp.

40  {
41  bfin_is_u0in = flag;
42 }
bool bfin_is_u0in
Definition: species.h:37

◆ set_birthTime()

virtual void Species_Base::set_birthTime ( int  i,
double  t0 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ set_inputBirthFlux()

void Species_Base::set_inputBirthFlux ( double  b)

Definition at line 30 of file species.cpp.

30  {
31  birth_flux_in = b;
32 }
double birth_flux_in
Definition: species.h:34
Here is the caller graph for this function:

◆ set_ub()

virtual void Species_Base::set_ub ( double  _ub)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ set_xb()

virtual void Species_Base::set_xb ( double  _xb)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ setU()

virtual void Species_Base::setU ( int  i,
double  _u 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ setX()

virtual void Species_Base::setX ( int  i,
double  _x 
)
pure virtual

Implemented in Species< Model >.

Here is the caller graph for this function:

◆ size()

int Species_Base::size ( )

◆ triggerPreCompute()

virtual void Species_Base::triggerPreCompute ( )
pure virtual

Implemented in Species< Model >.

◆ xsize()

int Species_Base::xsize ( )

Definition at line 45 of file species.cpp.

45  {
46  return J;
47 }

Friends And Related Function Documentation

◆ Solver

friend class Solver
friend

Definition at line 17 of file species.h.

Member Data Documentation

◆ bfin_is_u0in

bool Species_Base::bfin_is_u0in = false

Definition at line 37 of file species.h.

◆ birth_flux_in

double Species_Base::birth_flux_in

Definition at line 34 of file species.h.

◆ birth_flux_out_history

std::list<double> Species_Base::birth_flux_out_history
protected

Definition at line 23 of file species.h.

◆ h

std::vector<double> Species_Base::h
protected

Definition at line 30 of file species.h.

◆ is_resident

bool Species_Base::is_resident

Definition at line 42 of file species.h.

◆ J

int Species_Base::J
protected

Definition at line 20 of file species.h.

◆ n_extra_statevars

int Species_Base::n_extra_statevars = 0
protected

Definition at line 21 of file species.h.

◆ schedule

std::vector<double> Species_Base::schedule
protected

Definition at line 31 of file species.h.

◆ X

std::vector<double> Species_Base::X
protected

Definition at line 28 of file species.h.

◆ x

std::vector<double> Species_Base::x
protected

Definition at line 29 of file species.h.

◆ xb

double Species_Base::xb

Definition at line 41 of file species.h.


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