Class DistanceKernelDispersal#
Defined in File Dispersal.h
Inheritance Relationships#
Base Type#
public Dispersal
(Class Dispersal)
Class Documentation#
-
class DistanceKernelDispersal : public Dispersal
Implements dispersive behaviour in the model for simple dispersal, where connection weights between patches are defined by a distance kernel.
All dispersing individuals are assumed to survive dispersal, and are guaranteed a connected patch to disperse to.
Public Functions
-
inline DistanceKernelDispersal(DispersalParams *params, BoundaryType boundary, double side_x, double side_y)
DistanceKernelDispersal constructor.
- Parameters:
params – [in] dispersal parameters
boundary – [in] boundary type to use for calculating dispersal distances
side_x – [in] size of one side of the simulation area (x-axis)
side_y – [in] size of one side of the simulation area (y-axis)
-
~DistanceKernelDispersal()
-
virtual void set_connecs(std::vector<Patch*> &sites) override
Sets the inter-patch connectivities for dispersal.
If the distance between two patches is less than the the maximum dispersal distance
max_disp
, they are deemed to be connected. The connection weight is determined by the difference between the maximum dispersal distance and the distance between those patches:weight = max_disp - distance
Note
Under this dispersal type, patches are deemed to be connected to themselves, resulting in self-dispersal. This is such that dispersal can take place even in 1-population models.
- Parameters:
sites – [in] vector of all Patch objects
-
virtual void adults_disperse(std::vector<Patch*> &sites) override
Implements dispersal by adults from and to each patch, depending on the patch connectivities.
All dispersing individuals are assumed to survive dispersal, and are guaranteed a connected patch to disperse to. The number of males dispersing from a given patch to each of its connected patches is determined by a random draw from a multinomial distribution with probabilities equal to the connection weights. Similarly for the mated females.
See also
Note
Only adult males and mated females are assumed to disperse from the patches.
- Parameters:
sites – [inout] vector of all Patch objects
-
inline DistanceKernelDispersal(DispersalParams *params, BoundaryType boundary, double side_x, double side_y)