Simpatico  v1.10

Synopsis

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.

See also
Simp::Species

Parameters

The default parameter file format for an instance of the Species base class is:

Species{
moleculeCapcacity int
nAtom int
atomTypeIds Array int[nAtom]
[nBond int]
(speciesBonds Array SpeciesGroup<2>[nBond])
[nAngle int]
(speciesAngles Array SpeciesGroup<3>[nAngle])
[nDihedral int]
(speciesDihedrals Array SpeciesGroup<4>[nAngle])
}

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.

Species{
moleculeCapacity 200
nAtom 2
nBond 2
nAngle 1
nDihedral 0
atomTypeIds 1
2
1
speciesBonds 0 1 0
1 2 0
speciesAngles 0 1 2 1
}

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.