Class MooreGeometry


public class MooreGeometry extends SquareGeometry
Square lattice with Moore neighbourhood (first and second nearest neighbours).
  • Constructor Details

    • MooreGeometry

      public MooreGeometry(EvoLudo engine)
      Create a Moore square lattice geometry tied to the given engine.
      Parameters:
      engine - EvoLudo pacemaker
  • Method Details

    • parse

      public boolean parse(String arg)
      Description copied from class: AbstractGeometry
      Parse geometry-specific CLI options.
      Overrides:
      parse in class SquareGeometry
      Parameters:
      arg - the argument string without the geometry key
      Returns:
      true if parsing succeeded, false if invalid
    • init

      public void init()
      Description copied from class: SquareGeometry
      Generates square regular lattices with arbitrary neighbourhood sizes. Variant-specific initializers for standard stencils are available to subclasses.

      Requirements/notes:

      1. Population size must be a perfect square \(N=n^2\).
      2. Admissible connectivities are \(4\) (von Neumann) or \((2m+1)^2-1\) for Moore-type stencils.
      3. Inter-species interactions add the focal node as a neighbour and allow connectivity \(1\).
      4. Boundaries are periodic by default but can be fixed.
      Overrides:
      init in class SquareGeometry
    • initHierarchicalMoore

      public static void initHierarchicalMoore(AbstractGeometry geometry, int popSize, int demeSize, int startIndex, boolean fixedBoundary)
      Initialize one hierarchical Moore square deme using population and deme sizes.
      Parameters:
      geometry - geometry receiving the links
      popSize - total population size
      demeSize - number of individuals in the deme
      startIndex - index offset into the population
      fixedBoundary - true for fixed boundary conditions
    • initMoore

      public static void initMoore(AbstractGeometry geometry, int side, int fullside, int offset, boolean fixedBoundary)
      Initialize a Moore square lattice.
      Parameters:
      geometry - geometry receiving the links
      side - side length of the (sub) lattice
      fullside - global side length
      offset - index offset into the population
      fixedBoundary - true for fixed boundary conditions
    • adjustBoundaries

      private static void adjustBoundaries(AbstractGeometry geometry, int side, int fullside, int offset, boolean interspecies)
      Adjust Moore stencils along fixed boundaries.
      Parameters:
      geometry - geometry receiving the links
      side - side length of the (sub) lattice
      fullside - global side length
      offset - index offset into the population
      interspecies - true if self-links are required
    • checkSettings

      protected boolean checkSettings()
      Description copied from class: AbstractGeometry
      Hook for subclasses to implement geometry specific checks.
      Overrides:
      checkSettings in class SquareGeometry
      Returns:
      true if adjustments require a reset