|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
Description
| Interface Summary | |
|---|---|
| AtomFilter | Interface for a class that screens atoms according to some criterion. |
| AtomFilterCollective | Filter that needs to be informed whenever something has changed and the filtered status of atoms should be redetermined. |
| AtomLeafAgentManager.AgentSource | Interface for an object that wants an agent associated with each Atom in a Box. |
| AtomSource | Interface for objects when return atoms (meeting some specification) from a box. |
| AtomToAtomLeafList | Interface for class that determines an AtomArrayList given an atom. |
| AtomToIndex | Interface for class that associates an integer with an atom. |
| AtomTypeAgentManager.AgentSource | Interface for an object that wants an agent associated with each AtomType in a Simulation. |
| DipoleSource | Interface for something that can calculate the dipole of a molecule. |
| IAtomOriented | Interface for a IAtom that includes an IVector that defines the atom's orientation. |
| IAtomOrientedKinetic | Interface for an Atom that has a position, orientation, velocity and angular velocity. |
| IAtomPositionDefinition | Returns a vector given an atom, thereby defining the position of the atom or atom group. |
| IAtomTypeOriented | |
| IMoleculeKinetic | Interface for an molecule that holds vectors for velocity. |
| IMoleculeOriented | Interface for a IAtom that includes an IVector that defines the atom's position. |
| IMoleculeOrientedKinetic | Interface for an Atom that has a position, orientation, velocity and angular velocity. |
| IMoleculePositioned | |
| MoleculeAgentManager.MoleculeAgentSource | Interface for an object that wants an agent associated with each IMolecule an IBox. |
| MoleculeSource | Interface for objects when return atoms (meeting some specification) from a box. |
| MoleculeToIndex | Interface for class that associates an integer with an atom. |
| MoleculeToMoleculeList | Interface for class that determines an AtomArrayList given an atom. |
| OrientationCalc | Interface for a class that can calculate the orientation of a molecule or to set the orientation of a molecule. |
| OrientationCalcQuaternion | OrientationCalc interface that handles quaternions (as a a double array) instead of an Orientation object. |
| SpeciesAgentManager.AgentSource | Interface for an object that wants an agent associated with each AtomType in a Simulation. |
| Class Summary | |
|---|---|
| Atom | Atom that represents a physical atom with a position. |
| AtomArrayList | |
| AtomFilterInShape | Filter that accepts atom if it is inside a specified Shape instance. |
| AtomFilterStatic | |
| AtomGroupVelocityAverage | Calculates the mass average velocity over a set of atoms. |
| AtomLeafAgentManager | AtomAgentManager acts on behalf of client classes (an AgentSource) to manage agents for every leaf Atom in a box. |
| AtomLeafAgentManager.AgentIterator | Iterator that loops over the agents, skipping null elements |
| AtomLeafDynamic | |
| AtomListWrapper | AtomSet formed by wrapping an AtomArrayList. |
| AtomOriented | |
| AtomOrientedDynamic | |
| AtomPair | Data structure that contains two mutable atom instances. |
| AtomPositionCOM | Calculates the center of mass (COM) over a set of atoms. |
| AtomPositionFirstAtom | Returns the position of the first child leaf atom. |
| AtomPositionGeometricCenter | Calculates the geometric center over a set of atoms. |
| AtomPositionGeometricCenterPBC | Calculates the geometric center over a set of atoms. |
| AtomsetArray | AtomSet formed by wrapping an Atom array. |
| AtomSetSinglet | Data structure that contains a single mutable atom instance. |
| AtomSourceRandomLeaf | AtomSource that returns a completely random leaf atom. |
| AtomToAtomSetFixed | |
| AtomToIndexChild | Defines the index as the Atom's node's index. |
| AtomToParentChildList | |
| AtomTypeAgentManager | AtomTypeAgentManager acts on behalf of client classes (an AgentSource) to manage agents in every AtomType in a box. |
| AtomTypeAgentManager.AgentIterator | Iterator that loops over the agents, skipping null elements |
| AtomTypeLeaf | Type for an atom that is a leaf in the species hierarchy. |
| AtomTypeOrientedSphere | Atom type for a sphere that has some feature depending upon an orientation coordinate. |
| AtomTypeSphere | Atom type for a simple monatomic atom that has a length scale associated with its size. |
| AtomTypeWell | |
| Molecule | |
| MoleculeAgentManager | MoleculeAgentManager acts on behalf of client classes (an AgentSource) to manage agents in every IMolecule in a box. |
| MoleculeAgentManager.AgentIterator | Iterator that loops over the agents, skipping null elements |
| MoleculeArrayList | |
| MoleculeListWrapper | AtomSet formed by wrapping an AtomArrayList. |
| MoleculeOriented | Molecule class appropriate for a rigid molecule. |
| MoleculeOrientedDynamic | Molecule class appropriate for a rigid molecule in a dynamic context. |
| MoleculePair | Data structure that contains two mutable atom instances. |
| MoleculesetArray | AtomSet formed by wrapping an Atom array. |
| MoleculeSetSinglet | Data structure that contains a single mutable atom instance. |
| MoleculeSourceRandomMolecule | AtomSource that returns a completely random molecule. |
| MoleculeToMoleculeListSpecies | |
| OrientationCalcAtom | OrientationCalc implementation that handles a monotomic oriented molecule. |
| SpeciesAgentManager | AtomTypeAgentManager acts on behalf of client classes (an AgentSource) to manage agents in every AtomType in a box. |
| SpeciesAgentManager.AgentIterator | Iterator that loops over the agents, skipping null elements |
Provides classes that define and organize atoms and the information related to them. The
physical atoms that are manipulated in a simulation are represented by instances of the
class Atom. Atom plays a larger role than this, however. Instances of Atom
are arranged into a tree structure, through which they organize atoms into molecules, species, and boxs.
This "Atom tree" may be understood as follows:
etomica.atom.AtomTreeNode AtomTreeNode class,
which is held as a field by each Atom. AtomTreeNode
is subclassed into AtomTreeNodeLeaf and AtomTreeNodeGroup, respectively, for Atoms that are leaf atoms in the
species hierarchy, and atom groups, which include everything else.
Information about an Atom's position in the atom hierarchy is coded in an integer index, which can be interpreted using the methods of AtomIndexManger. The appropriate instance of AtomIndexManager for this purpose is held by the Atom's AtomType instance (discussed below).
The state of an Atom -- usually its position and perhaps velocity (but more general definitions are possible) --
is held by a Coordinate field (defined in etomica.space) which is made by the governing Space
and which is provided to the Atom at construction. The conduct of the simulation primarily entails the manipulation
of the fields of the Atom Coordinates.
The AtomType class is used to hold information that is common to many Atom instances.
Each Atom has a final AtomType field that is specifed at construction. Atoms that that are group atoms (having
AtomTreeNodeGroup as their node field) have types that are (or extend) AtomTypeGroup. Leaf atoms have types that
extend AtomTypeLeaf. Instances of AtomType are arranged in a hierarchy that parallels that Atom hierarchy.
Important features are as follows:
etomica.potential package.
Each Atom instance at or below the molecule layer is constructed by an AtomFactory.
Complicated molecules are constructed by piecing together groups of atoms constructed by subfactories. Thus the
AtomFactories can be viewed in a hierarchy that mimicks the AtomType hierarchy; accordingly there is a one-to-one
correspondence between the AtomTypes and the AtomFactories. The key AtomFactories are:
etomica.atom.iterator.
Atom groups hold their child Atoms in an AtomList. The AtomLinkers used to form this list are referable directly as fields of their corresponding Atoms; access to this linker is needed for iterations that begin with a specific Atom.
The Parameter classes are not carefully developed are subject to substantial change or elimination in the near future.
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||