Class RadialDispersal#

Inheritance Relationships#

Base Type#

Class Documentation#

class RadialDispersal : public Dispersal

Implements dispersive behaviour for radial dispersal, where connection weights between patches are determined by the direction the patches are in relative to each other and other patches.

Particularly, the connection weight of a focal patch to its neighbouring patch is determined by the angle of bisecting lines from the centre of the focal patch to the catchment of the receiving patch. More distant villages may also be directly connected but the connectivity will be reduced if there are closer villages along the same flight path. The individuals that disperse in an unconnected direction will die. ../_images/radial_disp_diagram.png

Public Functions

RadialDispersal(DispersalParams *params, BoundaryType boundary, double side_x, double side_y)

RadialDispersal 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)

~RadialDispersal()
virtual void set_connecs(std::vector<Patch*> &sites) override

Sets the inter-patch connectivities for radial dispersal.

If the distance between two patches is less than the the maximum dispersal distance, they may be connected. The connection weight of a focal patch to its neighbouring patch is determined by the angle of bisecting lines from the centre of the focal patch to the catchment of the receiving patch. More distant villages may also be directly connected but the connectivity will be reduced if there are closer villages along the same flight path. Patches that are further apart than the maximum dispersal distance are not connected.

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.

Only those individuals that disperse out of a patch in a connected direction will survive. The number of dispersing males (of a given genotype) that survive dispersal out of their patch is determined by a random draw from a binomial distribution with probability of the total connection weight for all its connected patches. Of those, the number dispersing to each of the 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. There is also dispersal mortality associated with this dispersal type.

Parameters:

sites[inout] vector of all Patch objects