Class DistanceKernelDispersal

Class DistanceKernelDispersal#

Inheritance Relationships#

Base Type#

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.

Note

Only adult males and mated females are assumed to disperse from the patches.

Parameters:

sites[inout] vector of all Patch objects