Nemo  2.3.56
Simulate forward-in-time genetic evolution in a spatially explicit, individual-based stochastic simulator
LCE_Disperse_EvolDisp Class Reference

Dispersal event with an evolving dispersal rate given by the "disp" trait. More...

#include <LCEdisperse.h>

+ Inheritance diagram for LCE_Disperse_EvolDisp:
+ Collaboration diagram for LCE_Disperse_EvolDisp:

Public Member Functions

 LCE_Disperse_EvolDisp ()
 
virtual ~LCE_Disperse_EvolDisp ()
 
Implementations
virtual bool setParameters ()
 
virtual void execute ()
 
virtual LifeCycleEventclone ()
 
- Public Member Functions inherited from LCE_Disperse_base
 LCE_Disperse_base ()
 
virtual ~LCE_Disperse_base ()
 Deallocates the disp matrix. More...
 
bool setBaseParameters (string prefix)
 
void setParamPrefix (string pref)
 
void addParameters (string prefix, ParamUpdaterBase *updater)
 
void setIndentityDispMatrix (TMatrix *mat)
 
unsigned int getMigrationPatchForward (sex_t SEX, unsigned int LocalPatch)
 
unsigned int getMigrationPatchBackward (sex_t SEX, unsigned int LocalPatch)
 
void setPropaguleTargets ()
 
void swapPostDisp ()
 
void reset_counters ()
 
void set_isForward (bool val)
 
bool checkForwardDispersalMatrix (TMatrix *mat)
 
bool checkBackwardDispersalMatrix (TMatrix *mat)
 
void allocateDispMatrix (sex_t sex, unsigned int dim)
 
bool updateDispMatrix ()
 
bool setDispMatrix ()
 
bool setReducedMatricesBySex (sex_t SEX, Param &connectivity, Param &rate)
 
bool setReducedDispMatrix ()
 The reduced dispersal matrix contains the indices of the patches to which each patch is connected. More...
 
bool setIsland_MigrantPool_Matrix ()
 
bool setIsland_PropagulePool_Matrix ()
 
bool setSteppingStone1DMatrix ()
 
bool setLatticeMatrix ()
 Sets the dispersal matrices for the Lattice dispersal model. More...
 
bool setBasicLatticeMatrix (int rows, int cols, double phi_mal, double phi_fem, double disp_mal, double disp_fem)
 
bool setLatticeTorrusMatrix (int rows, int cols, double disp_mal, double disp_fem, TMatrix *grid)
 
bool setLatticeAbsorbingMatrix ()
 
bool setLatticeReflectingMatrix (int rows, int cols, TMatrix *grid)
 
bool isForward ()
 
bool isByNumber ()
 
unsigned int getDispersalModel ()
 
double getPropaguleProb ()
 
unsigned int getPropaguleTarget (unsigned int home)
 
virtual void loadFileServices (FileServices *loader)
 
virtual void loadStatServices (StatServices *loader)
 
virtual bool resetParameterFromSource (std::string param, SimComponent *cmpt)
 
virtual age_t removeAgeClass ()
 
virtual age_t addAgeClass ()
 
virtual age_t requiredAgeClass ()
 
- Public Member Functions inherited from LifeCycleEvent
 LifeCycleEvent (const char *name, const char *trait_link)
 Cstor. More...
 
virtual ~LifeCycleEvent ()
 
virtual void init (Metapop *popPtr)
 Sets the pointer to the current Metapop and the trait link if applicable. More...
 
virtual bool attach_trait (string trait)
 
virtual void set_paramset (std::string name, bool required, SimComponent *owner)
 
virtual void set_event_name (std::string &name)
 Set the name of the event (name of the ParamSet) and add the corresponding parameter to the set. More...
 
virtual void set_event_name (const char *name)
 
virtual string & get_event_name ()
 Accessor to the LCE's name. More...
 
virtual int get_rank ()
 Accessor to the LCE rank in the life cycle. More...
 
virtual void set_pop_ptr (Metapop *popPtr)
 Accessors for the population pointer. More...
 
virtual Metapopget_pop_ptr ()
 
- Public Member Functions inherited from SimComponent
 SimComponent ()
 
virtual ~SimComponent ()
 
virtual void loadUpdaters (UpdaterServices *loader)
 Loads the parameters and component updater onto the updater manager. More...
 
virtual void set_paramset (ParamSet *paramset)
 Sets the ParamSet member. More...
 
virtual void set_paramsetFromCopy (const ParamSet &PSet)
 Reset the set of parameters from a another set. More...
 
virtual ParamSetget_paramset ()
 ParamSet accessor. More...
 
virtual void add_parameter (Param *param)
 Interface to add a parameter to the set. More...
 
virtual void add_parameter (std::string Name, param_t Type, bool isRequired, bool isBounded, double low_bnd, double up_bnd)
 Interface to add a parameter to the set. More...
 
virtual void add_parameter (std::string Name, param_t Type, bool isRequired, bool isBounded, double low_bnd, double up_bnd, ParamUpdaterBase *updater)
 Interface to add a parameter and its updater to the set. More...
 
virtual Paramget_parameter (std::string name)
 Param getter. More...
 
virtual double get_parameter_value (std::string name)
 Param value getter. More...
 
virtual string get_name ()
 Returnd the name of the ParamSet, i.e. More...
 
virtual bool has_parameter (std::string name)
 Param getter. More...
 

Private Member Functions

unsigned int Migrate_Island (unsigned int home)
 
unsigned int Migrate_Island_Propagule (unsigned int home)
 
unsigned int Migrate_SteppingStone1D (unsigned int home)
 
unsigned int Migrate_Lattice (unsigned int home)
 
void exec_evolmale ()
 
void exec_evolfemale ()
 
void exec_evol2sex ()
 
void evoldisp (sex_t SEX, int trait_link, double cost)
 
void fixdisp (sex_t SEX, double rate, double cost)
 

Private Attributes

double _fem_cost
 
double _mal_cost
 
double _fixed_disp_rate
 
unsigned int(LCE_Disperse_EvolDisp::* getAimedPatch )(unsigned int)
 
void(LCE_Disperse_EvolDisp::* exec )()
 
int _fdisp_trait_link
 
int _mdisp_trait_link
 

Additional Inherited Members

- Protected Attributes inherited from LCE_Disperse_base
unsigned int _npatch
 Number of patches in the population. More...
 
vector< vector< double > > _reducedDispMat [2]
 Matrix containing the indexes of the patches connected to each patch. More...
 
vector< vector< double > > _reducedDispMatProba [2]
 Matrix containing the probability to migrate to/from the connected patches. More...
 
- Protected Attributes inherited from LifeCycleEvent
std::string _event_name
 The param name to be read in the init file. More...
 
Metapop_popPtr
 The ptr to the current Metapop. More...
 
std::string _LCELinkedTraitType
 The name of the linked trait. More...
 
int _LCELinkedTraitIndex
 The index in the individual's trait table of the linked trait. More...
 
- Protected Attributes inherited from SimComponent
ParamSet_paramSet
 The parameters container. More...
 

Detailed Description

Dispersal event with an evolving dispersal rate given by the "disp" trait.

The dispersal models implemented so far are:

  • 1: Island Model with migrant pool
  • 2: Island Model with propagule pool
  • 3: Stepping stone model in 1 dimension (ring population)

Constructor & Destructor Documentation

◆ LCE_Disperse_EvolDisp()

LCE_Disperse_EvolDisp::LCE_Disperse_EvolDisp ( )
1489: LifeCycleEvent("disperse_evoldisp",""), _fem_cost(-1.0), _mal_cost(-1.0),
1491{
1494
1495 LCE_Disperse_base::addParameters("dispersal", updater);
1496
1497 add_parameter("dispersal_cost",DBL,false,true,0,1, updater);
1498 add_parameter("dispersal_cost_fem",DBL,false,true,0,1, updater);
1499 add_parameter("dispersal_cost_mal",DBL,false,true,0,1, updater);
1500 add_parameter("dispersal_fixed_trait",STR,false,false,0,0, updater);
1501 add_parameter("dispersal_fixed_rate",DBL,false,true,0,1, updater);
1502}
double _fem_cost
Definition: LCEdisperse.h:186
virtual bool setParameters()
Definition: LCEdisperse.cc:1506
int _fdisp_trait_link
Definition: LCEdisperse.h:200
int _mdisp_trait_link
Definition: LCEdisperse.h:200
double _mal_cost
Definition: LCEdisperse.h:186
void addParameters(string prefix, ParamUpdaterBase *updater)
Definition: LCEdisperse.cc:62
Base class of the Life Cycle Events, declares the LCE interface.
Definition: lifecycleevent.h:73
Implementation of the ParamUpdaterBase interface.
Definition: param.h:363
virtual void add_parameter(Param *param)
Interface to add a parameter to the set.
Definition: simcomponent.h:112
@ DBL
Definition: types.h:78
@ STR
Definition: types.h:78

References SimComponent::add_parameter(), LCE_Disperse_base::addParameters(), DBL, setParameters(), and STR.

Referenced by clone().

+ Here is the caller graph for this function:

◆ ~LCE_Disperse_EvolDisp()

virtual LCE_Disperse_EvolDisp::~LCE_Disperse_EvolDisp ( )
inlinevirtual
206{}

Member Function Documentation

◆ clone()

virtual LifeCycleEvent * LCE_Disperse_EvolDisp::clone ( )
inlinevirtual

Implements LifeCycleEvent.

212{return new LCE_Disperse_EvolDisp();}
LCE_Disperse_EvolDisp()
Definition: LCEdisperse.cc:1488

References LCE_Disperse_EvolDisp().

◆ evoldisp()

void LCE_Disperse_EvolDisp::evoldisp ( sex_t  SEX,
int  trait_link,
double  cost 
)
private
1674{
1675
1676 Patch *current_patch;
1677 unsigned int AimedPatch;
1678 unsigned int sink_patch = _npatch; // this is the sink patch in case of absorbing border model
1679
1680 for(unsigned int i = 0; i < _npatch; i++) {
1681
1682 current_patch = _popPtr->getPatch(i);
1683
1684 while( current_patch->size(SEX, OFFSx) != 0 ) {
1685
1686 if(RAND::Uniform() < *(double*)current_patch->get(SEX, OFFSx, 0)->getTraitValue(trait_link)) {
1687 //this one disperses
1688 AimedPatch = (this->*getAimedPatch)(i);
1689
1690 current_patch->nbEmigrant++;
1691
1692 if(RAND::Uniform() < cost || AimedPatch == sink_patch) {
1693 //also check if sink patch number has been returned
1694
1695 _popPtr->recycle( current_patch->get(SEX, OFFSx, 0) );
1696
1697 current_patch->remove(SEX, OFFSx, 0);
1698
1699 } else {
1700 //survives
1701 _popPtr->move(SEX, OFFSx, i, PDISPx, AimedPatch, 0);
1702
1703 _popPtr->getPatch(AimedPatch)->nbImigrant++;
1704
1705 }
1706 } else {
1707 //no dispersal
1708 current_patch->move(SEX,OFFSx,PDISPx,0);
1709 current_patch->nbPhilopat++;
1710 }
1711
1712 }//end while
1713 }//end for
1714}
void recycle(Individual *ind)
Put an individual in the recycling pool.
Definition: indfactory.h:62
void * getTraitValue(IDX T)
Accessor to the value (phenotype) of a particular trait.
Definition: individual.h:271
unsigned int(LCE_Disperse_EvolDisp::* getAimedPatch)(unsigned int)
Definition: LCEdisperse.h:187
unsigned int _npatch
Number of patches in the population.
Definition: LCEdisperse.h:60
Metapop * _popPtr
The ptr to the current Metapop.
Definition: lifecycleevent.h:81
Patch * getPatch(unsigned int i)
Patch accessor, return the ith+1 patch in the metapop.
Definition: metapop.h:257
void move(sex_t SEX, age_idx from_age, unsigned int from_deme, age_idx to_age, unsigned int to_deme, unsigned int at)
Moves an individual from a deme to an other one, both demes sizes are modified.
Definition: metapop.h:795
Second class in the metapopulation design structure, between the Metapop and Individual classes.
Definition: metapop.h:430
unsigned int size(age_t AGE)
Returns the size of the container of the appropriate age class(es) for both sexes.
Definition: metapop.h:496
unsigned short nbEmigrant
Definition: metapop.h:452
Individual * remove(sex_t SEX, age_idx AGE, unsigned int at)
Removes the individual sitting at the given index in the appropriate container.
Definition: metapop.h:573
void move(sex_t SEX, age_idx from, age_idx to, unsigned int at)
Moves an individual from an age class to an other one.
Definition: metapop.h:596
unsigned short nbPhilopat
Definition: metapop.h:452
Individual * get(sex_t SEX, age_idx AGE, unsigned int at)
Returns a pointer to the individual sitting at the index passed.
Definition: metapop.h:532
unsigned short nbImigrant
Definition: metapop.h:452
static double Uniform()
Generates a random number from [0.0, 1.0[ uniformly distributed.
Definition: Uniform.h:125
@ OFFSx
Definition: types.h:42
@ PDISPx
Definition: types.h:42

References LCE_Disperse_base::_npatch, LifeCycleEvent::_popPtr, Patch::get(), getAimedPatch, Metapop::getPatch(), Individual::getTraitValue(), Patch::move(), Metapop::move(), Patch::nbEmigrant, Patch::nbImigrant, Patch::nbPhilopat, OFFSx, PDISPx, IndFactory::recycle(), Patch::remove(), Patch::size(), and RAND::Uniform().

Referenced by exec_evol2sex(), exec_evolfemale(), and exec_evolmale().

+ Here is the caller graph for this function:

◆ exec_evol2sex()

void LCE_Disperse_EvolDisp::exec_evol2sex ( )
private
1666{
1669}
void evoldisp(sex_t SEX, int trait_link, double cost)
Definition: LCEdisperse.cc:1673
@ FEM
Definition: types.h:37
@ MAL
Definition: types.h:37

References _fdisp_trait_link, _fem_cost, _mal_cost, _mdisp_trait_link, evoldisp(), FEM, and MAL.

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ exec_evolfemale()

void LCE_Disperse_EvolDisp::exec_evolfemale ( )
private
1650{
1653}
double _fixed_disp_rate
Definition: LCEdisperse.h:186
void fixdisp(sex_t SEX, double rate, double cost)
Definition: LCEdisperse.cc:1718

References _fdisp_trait_link, _fem_cost, _fixed_disp_rate, _mal_cost, evoldisp(), FEM, fixdisp(), and MAL.

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ exec_evolmale()

void LCE_Disperse_EvolDisp::exec_evolmale ( )
private

References _fem_cost, _fixed_disp_rate, _mal_cost, _mdisp_trait_link, evoldisp(), FEM, fixdisp(), and MAL.

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ execute()

void LCE_Disperse_EvolDisp::execute ( )
virtual

Implements LifeCycleEvent.

1615{
1616#ifdef _DEBUG_
1617 message("LCE_Disperse_EvolDisp::execute (Patch nb: %i offsprg nbr: %i)\n"
1619#endif
1621
1622
1624
1625 (this->*exec)();
1626
1627 Patch *current_patch;
1628
1630
1631 for(unsigned int i = 0; i < _npatch; i++) {
1632
1633 current_patch = _popPtr->getPatch(i);
1634
1635 //set coloniser counter
1636 if(current_patch->get_isExtinct())
1637 current_patch->nbKolonisers = current_patch->size(PDISPx);
1638 else
1639 current_patch->nbKolonisers = -1;
1640
1641 }//end_for
1642
1643 swapPostDisp();
1644
1645}
void(LCE_Disperse_EvolDisp::* exec)()
Definition: LCEdisperse.h:188
void reset_counters()
Definition: LCEdisperse.cc:387
void swapPostDisp()
Definition: LCEdisperse.cc:374
unsigned int getDispersalModel()
Definition: LCEdisperse.h:107
void setPropaguleTargets()
Definition: LCEdisperse.cc:450
unsigned int size()
Get the total number of individuals present in the population, all sex and age classes together.
Definition: metapop.h:310
unsigned int getPatchNbr()
Definition: metapop.h:276
short nbKolonisers
Definition: metapop.h:453
bool get_isExtinct()
Definition: metapop.h:484
void message(const char *message,...)
Definition: output.cc:40
#define OFFSPRG
Offspring age class flag.
Definition: types.h:50

References LCE_Disperse_base::_npatch, LifeCycleEvent::_popPtr, exec, Patch::get_isExtinct(), LCE_Disperse_base::getDispersalModel(), Metapop::getPatch(), Metapop::getPatchNbr(), message(), Patch::nbKolonisers, OFFSPRG, PDISPx, LCE_Disperse_base::reset_counters(), LCE_Disperse_base::setPropaguleTargets(), Metapop::size(), Patch::size(), and LCE_Disperse_base::swapPostDisp().

◆ fixdisp()

void LCE_Disperse_EvolDisp::fixdisp ( sex_t  SEX,
double  rate,
double  cost 
)
private
1719{
1720
1721 Patch *current_patch;
1722 unsigned int AimedPatch;
1723
1724 for(unsigned int i = 0; i < _npatch; i++) {
1725
1726 current_patch = _popPtr->getPatch(i);
1727
1728 while( current_patch->size(SEX, OFFSx) != 0 ) {
1729
1730 if(RAND::Uniform() < rate) {
1731 //this one disperses
1732 AimedPatch = (this->*getAimedPatch)(i);
1733
1734 current_patch->nbEmigrant++;
1735
1736 if(RAND::Uniform() > cost) {
1737 //survives
1738 _popPtr->move(SEX, OFFSx, i, PDISPx, AimedPatch, 0);
1739
1740 _popPtr->getPatch(AimedPatch)->nbImigrant++;
1741 } else {
1742
1743 _popPtr->recycle( current_patch->get(SEX, OFFSx, 0) );
1744
1745 current_patch->remove(SEX, OFFSx, 0);
1746 }
1747 } else {
1748 //no dispersal
1749 current_patch->move(SEX,OFFSx,PDISPx,0);
1750 current_patch->nbPhilopat++;
1751 }
1752
1753 }//end while
1754 }//end for
1755}

References LCE_Disperse_base::_npatch, LifeCycleEvent::_popPtr, Patch::get(), getAimedPatch, Metapop::getPatch(), Patch::move(), Metapop::move(), Patch::nbEmigrant, Patch::nbImigrant, Patch::nbPhilopat, OFFSx, PDISPx, IndFactory::recycle(), Patch::remove(), Patch::size(), and RAND::Uniform().

Referenced by exec_evolfemale(), and exec_evolmale().

+ Here is the caller graph for this function:

◆ Migrate_Island()

unsigned int LCE_Disperse_EvolDisp::Migrate_Island ( unsigned int  home)
private
1760{
1761 unsigned int AimedPatch;
1762 //assign a Patch of arrival at random
1763 do{
1764 AimedPatch = RAND::Uniform(_npatch);
1765 }while(AimedPatch == home);
1766
1767 return AimedPatch;
1768}

References LCE_Disperse_base::_npatch, and RAND::Uniform().

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ Migrate_Island_Propagule()

unsigned int LCE_Disperse_EvolDisp::Migrate_Island_Propagule ( unsigned int  home)
private
1773{
1774 unsigned int AimedPatch, PropaguleTarget = getPropaguleTarget(home);
1775
1776 if(!(RAND::Uniform() > getPropaguleProb()) )
1777 AimedPatch = PropaguleTarget;
1778 else
1779 do{
1780 AimedPatch = RAND::Uniform(_npatch);
1781 }while(AimedPatch == home || AimedPatch == PropaguleTarget);
1782
1783 return AimedPatch;
1784}
unsigned int getPropaguleTarget(unsigned int home)
Definition: LCEdisperse.h:109
double getPropaguleProb()
Definition: LCEdisperse.h:108

References LCE_Disperse_base::_npatch, LCE_Disperse_base::getPropaguleProb(), LCE_Disperse_base::getPropaguleTarget(), and RAND::Uniform().

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ Migrate_Lattice()

unsigned int LCE_Disperse_EvolDisp::Migrate_Lattice ( unsigned int  home)
private
1801{
1802 //take one of the two, no difference b/n males and females
1803 return( _reducedDispMat[0][home][ RAND::Uniform( _reducedDispMat[0][home].size() ) ] );
1804}
vector< vector< double > > _reducedDispMat[2]
Matrix containing the indexes of the patches connected to each patch.
Definition: LCEdisperse.h:63

References LCE_Disperse_base::_reducedDispMat, and RAND::Uniform().

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ Migrate_SteppingStone1D()

unsigned int LCE_Disperse_EvolDisp::Migrate_SteppingStone1D ( unsigned int  home)
private
1789{
1790 int neighbours[2] = {(int)(home - 1),(int)(home + 1)};
1791 //if we are at one of the bound of the Patch array, we may migrate to the other bound:
1792 if(neighbours[0] < 0) neighbours[0] = _npatch -1;
1793 else if(neighbours[1] == (int)_npatch) neighbours[1] = 0;
1794
1795 return(RAND::RandBool() ? neighbours[0] : neighbours[1]);
1796}
static bool RandBool()
Returns a random boolean.
Definition: Uniform.h:163

References LCE_Disperse_base::_npatch, and RAND::RandBool().

Referenced by setParameters().

+ Here is the caller graph for this function:

◆ setParameters()

bool LCE_Disperse_EvolDisp::setParameters ( )
virtual

Implements SimComponent.

1507{
1508 //we do not call the LCE_Disperse_base::setParameters here because we don't use
1509 //dispersal matrices in input
1511
1512 _prefix = "dispersal";
1513
1514 _disp_model = (int)_paramSet->getValue("dispersal_model");
1515
1516 _disp_propagule_prob = _paramSet->getValue("dispersal_propagule_prob");
1517
1518 if(_disp_model == -1 && !_paramSet->isSet("dispersal_connectivity_matrix")) {
1519 return error("disperse_evoldisp: a dispersal model or a patch connectivity matrix must be specified!\n");
1520 }
1521
1522 if(_disp_model == 2 && _disp_propagule_prob == -1) {
1523 return error("dispersal propagule probability is missing!\n");
1524 }
1525
1528
1529 // connectivity matrix is specified in input --------------------------------------------
1530 if(_paramSet->isSet(_prefix + "_connectivity_matrix")) {
1531
1532 _disp_model=0;
1533
1534 get_parameter(_prefix + "_connectivity_matrix")->getVariableMatrix(&_reducedDispMat[0]);
1535
1536 //need to copy matrices for the other sex (a single matrix is given in input)
1537
1538 _reducedDispMat[FEM].clear();
1539
1540 for (unsigned int i = 0; i < _reducedDispMat[0].size(); ++i) {
1541
1542 _reducedDispMat[FEM].push_back(vector<double>());
1543
1544 for (unsigned int j = 0; j < _reducedDispMat[0][i].size(); ++j) {
1545 // _reducedDispMat[0][i][j]--; //remove 1 to make sure that the indexes start with 0, not 1!!!!
1546 _reducedDispMat[FEM][i].push_back( _reducedDispMat[0][i][j] );
1547 }
1548 }
1549 }
1550
1551 if(_paramSet->isSet("dispersal_cost")) {
1552
1553 _fem_cost = _mal_cost = _paramSet->getValue("dispersal_cost");
1554
1555 } else if(_paramSet->isSet("dispersal_cost_fem") && _paramSet->isSet("dispersal_cost_mal")) {
1556
1557 _fem_cost = _paramSet->getValue("dispersal_cost_fem");
1558
1559 _mal_cost = _paramSet->getValue("dispersal_cost_mal");
1560
1561 } else {
1562 return error("dispersal cost params are not set !\n");
1563 }
1564
1565 if(_paramSet->isSet("dispersal_fixed_trait")) {
1566
1567 if(_paramSet->getArg("dispersal_fixed_trait").compare("female") == 0) {
1568
1570
1571 } else if(_paramSet->getArg("dispersal_fixed_trait").compare("male") == 0) {
1572
1574
1575 } else {
1576 error("wrong argument value for \"dispersal_fixed_trait\"\n");
1577 return false;
1578 }
1579
1580 _fixed_disp_rate = _paramSet->getValue("dispersal_fixed_rate");
1581
1582 } else
1584
1585 switch ( getDispersalModel() ) {
1586 case 0:
1587 case 1:
1589 break;
1590 case 2:
1592 break;
1593 case 3:
1595 break;
1596 case 4:
1597 {
1598 if(!LCE_Disperse_base::setLatticeMatrix()) return false;
1599 if(!LCE_Disperse_base::setReducedDispMatrix()) return false;
1601 break;
1602 }
1603 default: {
1604 error("\nDispersal model %i not yet implemented with evolving dispersal!\n",
1606 return false;
1607 }
1608 }
1609 return true;
1610}
int getTraitIndex(trait_t type)
Gives the index of trait with type.
Definition: indfactory.cc:128
unsigned int Migrate_Island_Propagule(unsigned int home)
Definition: LCEdisperse.cc:1772
unsigned int Migrate_Island(unsigned int home)
Definition: LCEdisperse.cc:1759
void exec_evolmale()
Definition: LCEdisperse.cc:1657
unsigned int Migrate_Lattice(unsigned int home)
Definition: LCEdisperse.cc:1800
unsigned int Migrate_SteppingStone1D(unsigned int home)
Definition: LCEdisperse.cc:1788
void exec_evol2sex()
Definition: LCEdisperse.cc:1665
void exec_evolfemale()
Definition: LCEdisperse.cc:1649
bool setReducedDispMatrix()
The reduced dispersal matrix contains the indices of the patches to which each patch is connected.
Definition: LCEdisperse.cc:1095
double _disp_propagule_prob
Definition: LCEdisperse.h:43
int _disp_model
Definition: LCEdisperse.h:42
bool setLatticeMatrix()
Sets the dispersal matrices for the Lattice dispersal model.
Definition: LCEdisperse.cc:709
string _prefix
Parameter name prefix (dispersal, seed_disp, breed_disp, etc.)
Definition: LCEdisperse.h:53
string getArg(string name)
Accessor to the parameters argument string.
Definition: param.h:300
double getValue(string name)
Accessor the parameters value.
Definition: param.h:302
bool isSet()
Accessor to the status flag.
Definition: param.h:288
void getVariableMatrix(vector< vector< double > > *mat)
Definition: param.cc:439
virtual Param * get_parameter(std::string name)
Param getter.
Definition: simcomponent.h:139
ParamSet * _paramSet
The parameters container.
Definition: simcomponent.h:48
int error(const char *str,...)
Definition: output.cc:77

References LCE_Disperse_base::_disp_model, LCE_Disperse_base::_disp_propagule_prob, _fdisp_trait_link, _fem_cost, _fixed_disp_rate, _mal_cost, _mdisp_trait_link, LCE_Disperse_base::_npatch, SimComponent::_paramSet, LifeCycleEvent::_popPtr, LCE_Disperse_base::_prefix, LCE_Disperse_base::_reducedDispMat, error(), exec, exec_evol2sex(), exec_evolfemale(), exec_evolmale(), FEM, SimComponent::get_parameter(), getAimedPatch, ParamSet::getArg(), LCE_Disperse_base::getDispersalModel(), Metapop::getPatchNbr(), IndFactory::getTraitIndex(), ParamSet::getValue(), Param::getVariableMatrix(), ParamSet::isSet(), Migrate_Island(), Migrate_Island_Propagule(), Migrate_Lattice(), Migrate_SteppingStone1D(), LCE_Disperse_base::setLatticeMatrix(), and LCE_Disperse_base::setReducedDispMatrix().

Referenced by LCE_Disperse_EvolDisp().

+ Here is the caller graph for this function:

Member Data Documentation

◆ _fdisp_trait_link

int LCE_Disperse_EvolDisp::_fdisp_trait_link
private

◆ _fem_cost

double LCE_Disperse_EvolDisp::_fem_cost
private

◆ _fixed_disp_rate

double LCE_Disperse_EvolDisp::_fixed_disp_rate
private

◆ _mal_cost

double LCE_Disperse_EvolDisp::_mal_cost
private

◆ _mdisp_trait_link

int LCE_Disperse_EvolDisp::_mdisp_trait_link
private

◆ exec

void(LCE_Disperse_EvolDisp::* LCE_Disperse_EvolDisp::exec) ()
private

Referenced by execute(), and setParameters().

◆ getAimedPatch

unsigned int(LCE_Disperse_EvolDisp::* LCE_Disperse_EvolDisp::getAimedPatch) (unsigned int)
private

Referenced by evoldisp(), fixdisp(), and setParameters().


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

Generated for Nemo v2.3.56 by  doxygen 1.9.0 -- Nemo is hosted on  Download Nemo

Locations of visitors to this page
Catalogued on GSR