Simpatico  v1.10
Molecular Species

User documentation for classes that represent molecular species in mcSim or mdSim simulations:

Parameter file blocks for individual species appear as subblocks of a SpeciesManager block.

The Species class is a base class, where the remaining classes (Point, Homopolymer, etc.) in the above list are all subclasses of Species. The default implementation of the Species class uses a somewhat verbose parameter file format that is flexible enough to describe any molecular structure. Each subclass hard-codes some information about a more specific type of molecule, and thereby allows the use of a more compact parameter file format to provide any remaining information needed to describe the structure of a species (e.g., the length of a linear Homopolymer and the typeId of all the atoms).

The first line of the parameter file format for each subclass of species is a "moleculeCapacity" parameter. This is the number of molecules of this species for which space is allocated before the beginning of the simulation. In simulations with a fixed number of molecules of each species, as in conventional molecular dynamics simulations and NVT Monte Carlo simulations, the number of molecules of each species in the input configuration file that is read to initialize the state of the system must be less than or equal to the corresponding moleculeCapacity. In such simulations, the moleculeCapacity for each species in the parameter file may be (and often is) set equal to the known number of molecules of that species in the input configuration file. In simulations in which the number of molecules of each species may fluctuate, as in grand-canononical simulations, the moleculeCapcity must be chosen large enough so that the fluctuating number never exceeds the moleculeCapacity.

SpeciesGroup is a template for a class that is used to specify the atoms and group type of a covalent group of atoms within each molecule of a particular species. This template takes the number of atoms in the group as a template parameter. A SpeciesGroup<N> object thus describes a covalent group containing N atoms. Specfiically, a SpeciesGroup<2> describes a covalent bond, a SpeciesGroup<3> describes an angle group, and a SpeciesGroup<4> describes a dihedral group. The text representation of a SpeciesGroup<N> object is used in the parameter file format for the Species base class, and is described here

See also
Species (developer documentation)