Package etomica.space

Specifies abstract classes and interfaces that define the nature of the physical space in which a simulation is performed.

See:
          Description

Interface Summary
IOrientation Interface for a class that specifies an orientation in space.
ISpace  
IVectorRandom Vector interface for vectors having random number methods
RotationTensor A tensor intended for use to define rotations in space.
Tensor  
 

Class Summary
Boundary Parent class of boundary objects that describe the size and periodic nature of the box boundaries.
BoundaryDeformableLattice Deformable boundary that takes the shape of a primitive with some number of cells in each dimension.
BoundaryDeformablePeriodic Boundary shaped as an arbitrary parallelepiped.
BoundaryEvent  
BoundaryEventManager  
BoundaryRectangular Boundary that is in the shape of a rectangular parallelepiped.
BoundaryRectangularNonperiodic Boundary that is not periodic in any direction.
BoundaryRectangularPeriodic Rectangular boundary that is periodic in every dimension.
BoundaryRectangularPore Class for implementing pore periodic boundary conditions, in which one dimension is periodic.
BoundaryRectangularSlit Class for implementing slit periodic boundary conditions, in which one dimension is not periodic.
Space  
 

Package etomica.space Description

Specifies abstract classes and interfaces that define the nature of the physical space in which a simulation is performed. Implementations are given in the packages etomica.space3d, etomica.space2d, and etomica.space1d, for 3-, 2-, and 1-dimensional spaces, respectively. The key elements are:

All of the classes above (except perhaps Boundary) are implemented in the space subpackages in a manner specific to the space being defined. Additionally, this package defines several Coordinate interface, classes and factories that don't require spatially-dependent implementations (instead they are formed from fields that are specific to the space). Coordinates may be just a position/orientation, or additionally include momentum components. An instance of Coordinate is held by every Atom.

Coordinate interfaces are named beginning with "I", and indicate the number and type of fields as follows

Implementations of these interfaces are given in the like-named classes obtained by removing the initial "I".

CoordinateFactory classes make each type of coordinate, using vectors, etc. made from a given Space. The coordinate factory is used by an AtomFactory to give each constructed Atom its Coordinate instance.

The CoordinatePair class is an important tool for classes that perform calculations based on pairs of atoms.