Simpatico
v1.10
|
A species of molecule (base class).
A Species object contains a description of the molecular structure of a species of molecule within a mixture, as well the number of molecules of that species for which space is allocated in the simulation. The class Species is a base class that is flexible enough to describe any molecule. Subclasses of Species (e.g., Homopolymer or Diblock) describe more specific types of molecule.
The default parameter file format for an instance of the Species base class is:
Square brackets indicate optional paramters. The parameters nBond, nAngle, and nDihedral are all optional parameters, as indicated by the use of square brackets. These parameters are each set to zero by default (i.e., if not present), to indicate that there are no bonds, angles, or dihedrals, respectively. Parentheses indicate conditional parameters, which are required if and only if one an associated optional parameters is present and is assigned a positive value. Specifically:
Parameter atomTypeIds is an array of integers, formatted one per line, that give the type ids of all of the atoms in a molecule. Parameter speciesBonds, if present, is an array of nBond SpeciesGroup<2> objects, with one such object per line. The text format for each SpeciesGroup<2> object contains integer identifiers for the two atoms in a bond followed by a corresponding bond type id, separated by spaces. Similarly, the parameter speciesAngles, if present, is an an array of nAngle SpeciesGroups<3> objects, one per line, each of which describes an angle group of three atoms in a file format containing the three atom ids for the atoms in the group followed by an angle type id.
For example, the following parameter file block describes a species of linear trimer molecules containing three atoms (atom ids 0,1, and 2) connected by two bonds (between atoms 0 and 1 and between atoms 1 and 2) and a single angle group involving all three atoms, but not dihedral group.
In this species, atoms 0 and 2 are of atom type 1, while atom 2 is of atom type 2. Both bonds are of bond type 0, and the single angle group is of angle type 1. No speciesDihedral array is shown because nDihedral = 0.
The parameter meanings are as follows:
moleculeCapacity | number of molecules for which memory is allocated | required |
nAtom | number of atoms per molecule | required |
nBond | number of bonds per molecule | required |
nAngle | number of covalent angle groups per molecule | required |
nDihedral | number of dihedral groups per molecule | required |
atomTypeIds | array of monomer type ids for specific atoms | required |
speciesBonds | array of SpeciesGroup<2> bond descriptors | conditional |
speciesAngles | array of SpeciesGroup<3> angle group descriptors | conditional |
speciesDihedrals | array of SpeciesGroup<4> dihedral group descriptors | conditional |
Each array of SpeciesGroup<N> objects must be present if and only if the number of groups of the specified type (i.e,. the value of nBond, nAngle, or nDihedral) is greater than zero.
The text representation for a single SpeciesGroup<N> object is also described here.