Package etomica.lattice

Provides classes for defining regular arrays of objects (sites), typically points in space.

See:
          Description

Interface Summary
AbstractLattice Interface for a generic lattice, which is a collection of sites that can be accessed individually via specification of a set of integers.
CubicLattice Lattice or crystal with cubic symmetry, such that its spatial size can be characterized by a single value, the lattice constant.
FiniteLattice Interface for a lattice that has a finite, adjustable size.
IndexIterator Loops through the set of indexes appropriate to a lattice of given size.
IndexIteratorSizable Interface for an iterator in which the number of indices in each dimension may be specified.
SiteFactory Interface for a class that generates the sites populating a lattice.
SiteIterator Interface for objects that iterate over some or all of the sites of a lattice.
SpaceLattice Marker interface indicating that AbstractLattice.site(int[]) returns an IVector instance.
 

Class Summary
BravaisLattice Arbitrary-dimension Bravais Lattice, in which the sites are instances of etomica.space.Vector, with positions given as linear combinations of a set of primitive vectors.
BravaisLatticeCrystal A lattice with sites given by the "atom" sites of a crystal.
CellLattice A lattice of arbitrarily-sized rectangular cells, such that a point in space can be associated with one of the cells.
CellLattice.NeighborIterator Extends the SimpleLattice neighbor iterator to provide methods that specify the neighbor range in terms of a distance, rather than an index range.
IndexIteratorRectangular Iterates arrays of int, such that 0 <= a[0] <= size[0], 0 <= a[1] <= size[1], etc., thereby spanning a rectangular region.
IndexIteratorReflecting Generates iterates by alternately keeping or flipping the sign of each element of iterates generated by another iterator.
IndexIteratorTriangular Iterates arrays of int such that a[0] >= a[1] >= ...
IndexIteratorTriangularPermutations Generates all unique iterates formed as permutations of iterates given by IndexIteratorTriangular with allowEqualElements set to true.
LatticeCubicBcc Cubic primitive with a 2-site bcc basis.
LatticeCubicDiamond Cubic primitive with a 4-site fcc basis, on which each site is a 2-site diamond basis.
LatticeCubicFcc Cubic primitive with a 4-site fcc basis.
LatticeCubicSimple A simple cubic lattice, with one site per cubic unit cell.
LatticeHcp Hexagonal primitive with a 2-site hcp basis.
LatticeOrthorhombicHexagonal Lattice class for a hexagonal lattice composed of rectangular primitives with a 2-atom basis.
LatticePlane Class describing a plane through a lattice.
LatticeSum  
LatticeSumCrystal  
RectangularLattice Basic implementation of the AbstractLattice interface, providing construction and access of sites for a lattice of arbitrary dimension.
RectangularLattice.Iterator Iterates over all sites of the lattice.
RectangularLatticeNbrIterator An abstract iterator that generates the neighboring sites of a given site.
RectangularLatticeNbrIteratorAdjacent Iterates over the neighbors of a site, where neighbors are those sites immediately adjacent to it in each direction; this does not include sites diagonal to the site.
RectangularLatticeNbrIteratorSquare Iterates over neighbors of a site, where neighbors are defined as those sites lying in a rectangular region centered on the site.
 

Package etomica.lattice Description

Provides classes for defining regular arrays of objects (sites), typically points in space. The AbstractLattice is the key interface in the package; it associates an Object with an array of integers (or index). The number integers in the array needed to specify a site defines the dimension of the lattice.

Implementation of SpaceLattice indicates that the lattice objects are points in space (instances of etomica.space.Vector), while BravaisLattice is an implementation of SpaceLattice that defines the points in terms of a set of primitive vectors (defined by the Primitive class). A Crystal is a BravaisLattice with an associated Basis, which can be used to define a molecular crystal, or (using LatticeCrystal) as an alternative representation of other lattices (e.g., an fcc lattice as cubic primitive with four basis points, versus as an fcc primitive with one basis point).

RectangularLattice is a generic, arbitrary-dimension implementation of AbstractLattice that defines the lattice over a rectangular set of index values (i.e., the range of each index element is finite and independent of the other index element values).

Several iterators (implementing IndexIterator) are defined for generating index arrays to enumerate the sites of the lattice.