From Wiketomica
Jump to: navigation, search
API Home Participants API Discussion Demos Downloads Documentation Contact Us Acknowledgements


Reason for existence

An ISpecies holds information about how to construct a molecule, and creates molecules on demand. In addition to actually creating IMolecules, ISpecies objects are often used as keys to pass and designate which species is of interest (for assigning IPotentials or setting the number of molecules in the IBox, for instance).

Proposed Interface

interface ISpecies {

    attribute int index;

     * Builds and returns the IMolecule of this ISpecies.
    IMolecule makeMolecule();

     * Returns the number of leaf atoms descended from the IMolecule returned 
     * by makeMolecule.
    readonly attribute int numLeafAtoms;

     * Returns the number of child types of this ISpecies.
    readonly attribute int childTypeCount;

     * Returns the child types of this group for the specified index.
    IAtomType getChildType(in int index);

     * Returns the conformation used to set the standard arrangement of
     * the atoms/atom-groups produced by this ISpecies.
    readonly attribute IConformation conformation;

     * The position definition held by the type provides an appropriate default
     * to define the position of a molecule of this species.
    readonly attribute IAtomPositionDefinition positionDefinition;




Etomica also has an AtomTypeMolecule whose functionality might get folded into Species.

mol-sim-api discussion of ISpecies