Skip to main content

NeighbourhoodRule

A representation of a neighbourhood of a given LatticeCoordinate on a Lattice

A neighbourhood is defined in terms of a series of displacements applied to a candidate coordinate and a constraint that the candidate coordinate must satisfy.

Factories

neighbourhood_rule(string name, const List<LatticeCoord> deltas) -> NeighbourhoodRule

Constructor for a neighbourhood rule.

Parameters

  • name: The name of the neighbourhood rule.
  • deltas: A list of displacements defining the neighbourhood of an arbitrary coordinate.

neighbourhood_rule(string name, const List<LatticeCoord> deltas, Constraint constraint) -> NeighbourhoodRule

Constructor for a neighbourhood representing a collection of lattice sites.

Parameters

  • name: The name of the neighbourhood rule.
  • deltas: The displacements for the neighbourhood.
  • constraint: The constraint function that candidate lattice sites must satisfy.

Constructors

NeighbourhoodRule(const NeighbourhoodRule neighbourhood_rule) -> NeighbourhoodRule

Constructs a copy of the given NeighbourhoodRule.

Parameters

Symbols

NameDescription
=Assignment operator for NeighbourhoodRule.

Members

NameDescription
atReturns the neighbourhood of the given coordinate.
deltasReturns the displacements for the NeighbourhoodRule.
nameReturns the name of the neighbourhood rule.
push_backAdd a displacement corresponding to the given primitive vector to the NeighbourhoodRule.
satisfied_byReturns true if the given lattice coordinate satisfies the constraint