Simpatico
v1.10
|
A Species represents a set of chemically similar molecules.
A Species has:
The chemical structure of each molecule within a Species is defined by specifying the type of each atom and constructing a list of bond, angle and dihedral covalent groups. Information about covalent groups is stored internally in a set of SpeciesGroup<N> objects with N=2,3, and 4. This chemical structure is defined within the virtual protected readSpeciesParam(std::istream&) function, which is called by readParam.
Implementations of readSpeciesParam() must read whatever parameters are required to define the chemical structure of some class of molecular structures. The default implementation of Species::readSpeciesParam() is general enough to describe any molecular structure, and simply reads all of the required information about atom types and groups from file. Subclasses of Species generally hard-code some or all of the information required to describe a structure into the class definition, and require correspondingly less information to to be specified in the parameter file. For example, the parameter file format for a class that represents a flexible linear homopolymer might require only the number of monomers per chain, a single atom type index and a single bond type index. A subclass that represents a specific chemical structure (e.g., a water molecule) might not require any data from the parameter file.
A subclass of Species that is defined in the McMd namespace may also represent a "mutable" species. A mutable species is one in which each molecule can be in any of a finite number of different internal states, in which the chemical structure is slightly different in different states. A mutable species could, for example, be used implement a semi-grand ensemble for a polymer mixture, in which each polymer can be of either of two types. A subclass that represents a mutable species must have an associated McMd::SpeciesMutator object. See documentation for the Species::setMutatorPtr() function.
Definition at line 71 of file simp/species/Species.h.
#include <Species.h>
Public Types | |
typedef SpeciesGroup< 2 > | SpeciesBond |
A SpeciesBond has the local atom ids and a type id for one bond. More... | |
typedef FSArray< int, MaxBondPerAtom > | AtomBondIdArray |
An array of local integer bond ids for all bonds containing one atom. More... | |
typedef SpeciesGroup< 3 > | SpeciesAngle |
A SpeciesAngle has local atom ids and a type id for one angle. More... | |
typedef FSArray< int, MaxAnglePerAtom > | AtomAngleIdArray |
An array of local angle ids for all angles containing one atom. More... | |
typedef SpeciesGroup< 4 > | SpeciesDihedral |
A SpeciesDihedral has local atom ids and a type id for one dihedral. More... | |
typedef FSArray< int, MaxDihedralPerAtom > | AtomDihedralIdArray |
An array of local angle ids for all dihedrals containing one atom. More... | |
![]() | |
typedef BinaryFileOArchive | OArchive |
Type of output archive used by save method. More... | |
typedef BinaryFileIArchive | IArchive |
Type of input archive used by load method. More... | |
Public Member Functions | |
Species () | |
Constructor. More... | |
virtual | ~Species () |
Destructor. More... | |
Initialization | |
void | setId (int id) |
Set integer id for this Species. More... | |
virtual void | readParameters (std::istream &in) |
Read parameters and initialize structure for this species. More... | |
virtual void | loadParameters (Serializable::IArchive &ar) |
Load internal state from an archive. More... | |
void | readStructure (std::istream &in) |
Read structure from config/topology file format. More... | |
Output to File | |
virtual void | save (Serializable::OArchive &ar) |
Save internal state to an archive. More... | |
void | writeStructure (std::ostream &out, std::string indent=std::string()) |
Write molecular structure in config/topology file format. More... | |
bool | matchStructure (std::istream &in) |
Read structure, return true iff it matches existing structure. More... | |
Chemical Structure Accessors | |
int | nAtom () const |
Get number of atoms per molecule for this Species. More... | |
int | atomTypeId (int iAtom) const |
Get atom type index for a specific atom, by local atom index. More... | |
int | nBond () const |
Get number of bonds per molecule for this Species. More... | |
const SpeciesBond & | speciesBond (int iBond) const |
Get a specific SpeciesBond object, by local bond index. More... | |
const AtomBondIdArray & | atomBondIds (int atomId) const |
Get array of ids for Bonds that contain one Atom. More... | |
int | nAngle () const |
Get number of angles per molecule for this Species. More... | |
const SpeciesAngle & | speciesAngle (int iAngle) const |
Get a specific SpeciesAngle object, by local angle index. More... | |
const AtomAngleIdArray & | atomAngleIds (int atomId) const |
Get array of ids for angles that contain one Atom. More... | |
int | nDihedral () const |
Get number of dihedrals per molecule for this Species. More... | |
const SpeciesDihedral & | speciesDihedral (int iDihedral) const |
Get a specific SpeciesDihedral object, by local angle index. More... | |
const AtomDihedralIdArray & | atomDihedralIds (int atomId) const |
Get array of ids for dihedrals that contain one Atom. More... | |
Interface for mutable species. | |
bool | isMutable () const |
Is this a mutable Species? More... | |
McMd::SpeciesMutator & | mutator () |
Return the species mutator object by reference. More... | |
Miscellaneous Accessors | |
int | id () const |
Get integer id of this Species. More... | |
int | capacity () const |
Maximum allowed number of molecules for this Species. More... | |
bool | isValid () const |
Return true if Species is valid, or throw an Exception. More... | |
![]() | |
ParamComposite () | |
Constructor. More... | |
ParamComposite (const ParamComposite &other) | |
Copy constructor. More... | |
ParamComposite (int capacity) | |
Constructor. More... | |
virtual | ~ParamComposite () |
Virtual destructor. More... | |
void | resetParam () |
Resets ParamComposite to its empty state. More... | |
virtual void | readParam (std::istream &in) |
Read the parameter file block. More... | |
virtual void | readParamOptional (std::istream &in) |
Read optional parameter file block. More... | |
virtual void | writeParam (std::ostream &out) |
Write all parameters to an output stream. More... | |
virtual void | load (Serializable::IArchive &ar) |
Load all parameters from an input archive. More... | |
virtual void | loadOptional (Serializable::IArchive &ar) |
Load an optional ParamComposite. More... | |
void | saveOptional (Serializable::OArchive &ar) |
Saves isActive flag, and then calls save() iff isActive is true. More... | |
void | readParamComposite (std::istream &in, ParamComposite &child, bool next=true) |
Add and read a required child ParamComposite. More... | |
void | readParamCompositeOptional (std::istream &in, ParamComposite &child, bool next=true) |
Add and attempt to read an optional child ParamComposite. More... | |
template<typename Type > | |
ScalarParam< Type > & | read (std::istream &in, const char *label, Type &value) |
Add and read a new required ScalarParam < Type > object. More... | |
template<typename Type > | |
ScalarParam< Type > & | readOptional (std::istream &in, const char *label, Type &value) |
Add and read a new optional ScalarParam < Type > object. More... | |
template<typename Type > | |
CArrayParam< Type > & | readCArray (std::istream &in, const char *label, Type *value, int n) |
Add and read a required C array parameter. More... | |
template<typename Type > | |
CArrayParam< Type > & | readOptionalCArray (std::istream &in, const char *label, Type *value, int n) |
Add and read an optional C array parameter. More... | |
template<typename Type > | |
DArrayParam< Type > & | readDArray (std::istream &in, const char *label, DArray< Type > &array, int n) |
Add and read a required DArray < Type > parameter. More... | |
template<typename Type > | |
DArrayParam< Type > & | readOptionalDArray (std::istream &in, const char *label, DArray< Type > &array, int n) |
Add and read an optional DArray < Type > parameter. More... | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | readFArray (std::istream &in, const char *label, FArray< Type, N > &array) |
Add and read a required FArray < Type, N > array parameter. More... | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | readOptionalFArray (std::istream &in, const char *label, FArray< Type, N > &array) |
Add and read an optional FArray < Type, N > array parameter. More... | |
template<typename Type > | |
CArray2DParam< Type > & | readCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np) |
Add and read a required CArray2DParam < Type > 2D C-array. More... | |
template<typename Type > | |
CArray2DParam< Type > & | readOptionalCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np) |
Add and read an optional CArray2DParam < Type > 2D C-array parameter. More... | |
template<typename Type > | |
DMatrixParam< Type > & | readDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and read a required DMatrix < Type > matrix parameter. More... | |
template<typename Type > | |
DMatrixParam< Type > & | readOptionalDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and read an optional DMatrix < Type > matrix parameter. More... | |
template<typename Type > | |
DSymmMatrixParam< Type > & | readDSymmMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int n) |
Add and read a required symmetrix DMatrix. More... | |
template<typename Type > | |
DSymmMatrixParam< Type > & | readOptionalDSymmMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int n) |
Add and read an optional DMatrix matrix parameter. More... | |
Begin & | readBegin (std::istream &in, const char *label, bool isRequired=true) |
Add and read a class label and opening bracket. More... | |
End & | readEnd (std::istream &in) |
Add and read the closing bracket. More... | |
Blank & | readBlank (std::istream &in) |
Add and read a new Blank object, representing a blank line. More... | |
void | loadParamComposite (Serializable::IArchive &ar, ParamComposite &child, bool next=true) |
Add and load a required child ParamComposite. More... | |
void | loadParamCompositeOptional (Serializable::IArchive &ar, ParamComposite &child, bool next=true) |
Add and load an optional child ParamComposite if isActive. More... | |
template<typename Type > | |
ScalarParam< Type > & | loadParameter (Serializable::IArchive &ar, const char *label, Type &value, bool isRequired) |
Add and load a new ScalarParam < Type > object. More... | |
template<typename Type > | |
ScalarParam< Type > & | loadParameter (Serializable::IArchive &ar, const char *label, Type &value) |
Add and load new required ScalarParam < Type > object. More... | |
template<typename Type > | |
CArrayParam< Type > & | loadCArray (Serializable::IArchive &ar, const char *label, Type *value, int n, bool isRequired) |
Add a C array parameter and load its elements. More... | |
template<typename Type > | |
CArrayParam< Type > & | loadCArray (Serializable::IArchive &ar, const char *label, Type *value, int n) |
Add and load a required CArrayParam< Type > array parameter. More... | |
template<typename Type > | |
DArrayParam< Type > & | loadDArray (Serializable::IArchive &ar, const char *label, DArray< Type > &array, int n, bool isRequired) |
Add an load a DArray < Type > array parameter. More... | |
template<typename Type > | |
DArrayParam< Type > & | loadDArray (Serializable::IArchive &ar, const char *label, DArray< Type > &array, int n) |
Add and load a required DArray< Type > array parameter. More... | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | loadFArray (Serializable::IArchive &ar, const char *label, FArray< Type, N > &array, bool isRequired) |
Add and load an FArray < Type, N > fixed-size array parameter. More... | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | loadFArray (Serializable::IArchive &ar, const char *label, FArray< Type, N > &array) |
Add and load a required FArray < Type > array parameter. More... | |
template<typename Type > | |
CArray2DParam< Type > & | loadCArray2D (Serializable::IArchive &ar, const char *label, Type *value, int m, int n, int np, bool isRequired) |
Add and load a CArray2DParam < Type > C 2D array parameter. More... | |
template<typename Type > | |
CArray2DParam< Type > & | loadCArray2D (Serializable::IArchive &ar, const char *label, Type *value, int m, int n, int np) |
Add and load a required < Type > matrix parameter. More... | |
template<typename Type > | |
DMatrixParam< Type > & | loadDMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int m, int n, bool isRequired) |
Add and load a DMatrixParam < Type > matrix parameter. More... | |
template<typename Type > | |
DMatrixParam< Type > & | loadDMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int m, int n) |
Add and load a required DMatrixParam < Type > matrix parameter. More... | |
template<typename Type > | |
DSymmMatrixParam< Type > & | loadDSymmMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int n, bool isRequired) |
Add and load a symmetric DSymmMatrixParam < Type > matrix parameter. More... | |
template<typename Type > | |
DSymmMatrixParam< Type > & | loadDSymmMatrix (Serializable::IArchive &ar, const char *label, DMatrix< Type > &matrix, int n) |
Add and load a required DSymmMatrixParam < Type > matrix parameter. More... | |
void | addParamComposite (ParamComposite &child, bool next=true) |
Add a child ParamComposite object to the format array. More... | |
Begin & | addBegin (const char *label) |
Add a Begin object representing a class name and bracket. More... | |
End & | addEnd () |
Add a closing bracket. More... | |
Blank & | addBlank () |
Create and add a new Blank object, representing a blank line. More... | |
std::string | className () const |
Get class name string. More... | |
bool | isRequired () const |
Is this ParamComposite required in the input file? More... | |
bool | isActive () const |
Is this parameter active? More... | |
![]() | |
virtual | ~ParamComponent () |
Destructor. More... | |
void | setIndent (const ParamComponent &parent, bool next=true) |
Set indent level. More... | |
std::string | indent () const |
Return indent string for this object (string of spaces). More... | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Serialize this ParamComponent as a string. More... | |
![]() | |
virtual | ~Serializable () |
Destructor. More... | |
![]() | |
MpiFileIo () | |
Constructor. More... | |
MpiFileIo (const MpiFileIo &other) | |
Copy constructor. More... | |
bool | isIoProcessor () const |
Can this processor do file I/O ? More... | |
void | setIoCommunicator (MPI::Intracomm &communicator) |
Set the communicator. More... | |
void | clearCommunicator () |
Clear (nullify) the communicator. More... | |
bool | hasIoCommunicator () const |
Does this object have an associated MPI communicator? More... | |
MPI::Intracomm & | ioCommunicator () const |
Get the MPI communicator by reference. More... | |
Static Public Attributes | |
static const int | MaxBondPerAtom = 4 |
Maximum number of bonds that can be connected to one atom. More... | |
static const int | MaxAnglePerAtom = 18 |
Maximum number of angles groups that can contain one atom. More... | |
static const int | MaxDihedralPerAtom = 72 |
Maximum number of dihedral groups that can contain one atom. More... | |
Protected Member Functions | |
virtual void | readSpeciesParam (std::istream &in) |
Define chemical structure for this Species. More... | |
virtual void | loadSpeciesParam (Serializable::IArchive &ar) |
Define chemical structure for this Species. More... | |
void | allocate () |
Allocate chemical structure arrays. More... | |
void | allocateAtoms () |
Allocate and initialize array of atom type Ids. More... | |
void | setAtomType (int atomId, int atomType) |
Set the type for one atom in a generic molecule of this Species. More... | |
void | allocateBonds () |
Allocate arrays associated with Bonds. More... | |
void | makeBond (int bondId, int atomId1, int atomId2, int bondType) |
Add a bond to the chemical structure of a generic molecule. More... | |
void | allocateAngles () |
Allocate arrays associated with angles. More... | |
void | makeAngle (int angleId, int atomId1, int atomId2, int atomId3, int angleType) |
Add an angle to the chemical structure of a generic molecule. More... | |
void | allocateDihedrals () |
Allocate arrays associated with dihedrals. More... | |
void | makeDihedral (int dihedralId, int atomId1, int atomId2, int atomId3, int atomId4, int dihedralType) |
Add a dihedral to the chemical structure of a generic molecule. More... | |
void | initializeAtomGroupIdArrays () |
Initialize all atom groupId arrays (point from atoms to groups). More... | |
void | setMutatorPtr (McMd::SpeciesMutator *mutatorPtr) |
Set pointer to associated McMd::SpeciesMutator for a mutable species. More... | |
![]() | |
void | setClassName (const char *className) |
Set class name string. More... | |
void | setIsRequired (bool isRequired) |
Set or unset the isActive flag. More... | |
void | setIsActive (bool isActive) |
Set or unset the isActive flag. More... | |
void | setParent (ParamComponent ¶m, bool next=true) |
Set this to the parent of a child component. More... | |
void | addComponent (ParamComponent ¶m, bool isLeaf=true) |
Add a new ParamComponent object to the format array. More... | |
template<typename Type > | |
ScalarParam< Type > & | add (std::istream &in, const char *label, Type &value, bool isRequired=true) |
Add a new required ScalarParam < Type > object. More... | |
template<typename Type > | |
CArrayParam< Type > & | addCArray (std::istream &in, const char *label, Type *value, int n, bool isRequired=true) |
Add (but do not read) a required C array parameter. More... | |
template<typename Type > | |
DArrayParam< Type > & | addDArray (std::istream &in, const char *label, DArray< Type > &array, int n, bool isRequired=true) |
Add (but do not read) a DArray < Type > parameter. More... | |
template<typename Type , int N> | |
FArrayParam< Type, N > & | addFArray (std::istream &in, const char *label, FArray< Type, N > &array, bool isRequired=true) |
Add (but do not read) a FArray < Type, N > array parameter. More... | |
template<typename Type > | |
CArray2DParam< Type > & | addCArray2D (std::istream &in, const char *label, Type *value, int m, int n, int np, bool isRequired=true) |
Add (but do not read) a CArray2DParam < Type > 2D C-array. More... | |
template<typename Type > | |
DMatrixParam< Type > & | addDMatrix (std::istream &in, const char *label, DMatrix< Type > &matrix, int m, int n, bool isRequired=true) |
Add and read a required DMatrix < Type > matrix parameter. More... | |
![]() | |
ParamComponent () | |
Constructor. More... | |
ParamComponent (const ParamComponent &other) | |
Copy constructor. More... | |
Protected Attributes | |
int | id_ |
Integer index for this Species. More... | |
int | moleculeCapacity_ |
Number of molecules associated with the species. More... | |
int | nAtom_ |
Number of atoms per molecule. More... | |
DArray< int > | atomTypeIds_ |
Array of atom type Ids, indexed by local atom id. More... | |
int | nBond_ |
Number of bonds per molecule. More... | |
DArray< SpeciesBond > | speciesBonds_ |
Array of SpeciesBonds for all bonds, indexed by local bond id. More... | |
int | nAngle_ |
Number of angles per molecule. More... | |
DArray< SpeciesAngle > | speciesAngles_ |
Array of SpeciesAngles for all angles, indexed by local angle id. More... | |
int | nDihedral_ |
Number of dihedrals per molecule. More... | |
DArray< SpeciesDihedral > | speciesDihedrals_ |
Array of SpeciesDihedrals, indexed by local dihedral id. More... | |
Static Protected Attributes | |
static const int | NullIndex = -1 |
Null (unknown) value for any non-negative index. More... | |
Additional Inherited Members | |
![]() | |
static void | initStatic () |
Initialize static echo member to false. More... | |
static void | setEcho (bool echo=true) |
Enable or disable echoing for all subclasses of ParamComponent. More... | |
static bool | echo () |
Get echo parameter. More... | |
typedef SpeciesGroup<2> Simp::Species::SpeciesBond |
A SpeciesBond has the local atom ids and a type id for one bond.
Definition at line 81 of file simp/species/Species.h.
typedef FSArray<int, MaxBondPerAtom> Simp::Species::AtomBondIdArray |
An array of local integer bond ids for all bonds containing one atom.
Definition at line 84 of file simp/species/Species.h.
typedef SpeciesGroup<3> Simp::Species::SpeciesAngle |
A SpeciesAngle has local atom ids and a type id for one angle.
Definition at line 92 of file simp/species/Species.h.
typedef FSArray<int, MaxAnglePerAtom> Simp::Species::AtomAngleIdArray |
An array of local angle ids for all angles containing one atom.
Definition at line 95 of file simp/species/Species.h.
typedef SpeciesGroup<4> Simp::Species::SpeciesDihedral |
A SpeciesDihedral has local atom ids and a type id for one dihedral.
Definition at line 103 of file simp/species/Species.h.
typedef FSArray<int, MaxDihedralPerAtom> Simp::Species::AtomDihedralIdArray |
An array of local angle ids for all dihedrals containing one atom.
Definition at line 106 of file simp/species/Species.h.
Tools::Species::Species | ( | ) |
Constructor.
Definition at line 22 of file simp/species/Species.cpp.
References Util::ParamComposite::setClassName().
|
virtual |
Destructor.
Definition at line 45 of file simp/species/Species.cpp.
void Tools::Species::setId | ( | int | id | ) |
Set integer id for this Species.
id | integer id |
Definition at line 452 of file simp/species/Species.cpp.
References id(), id_, and UTIL_THROW.
Referenced by McMd::Simulation::loadParameters(), and McMd::Simulation::readParameters().
|
virtual |
Read parameters and initialize structure for this species.
This function reads the parameter moleculeCapacity (the maximum allowed number of molecules of this Species) and invokes the virtual Species::readSpeciesParam() function to define the chemical structure of the Species.
in | input stream. |
Reimplemented from Util::ParamComposite.
Reimplemented in McMd::LinearSG, and McMd::HomopolymerSG.
Definition at line 51 of file simp/species/Species.cpp.
References isValid(), moleculeCapacity_, and readSpeciesParam().
Referenced by McMd::HomopolymerSG::readParameters(), and McMd::LinearSG::readParameters().
|
virtual |
Load internal state from an archive.
ar | input/loading archive |
Reimplemented from Util::ParamComposite.
Definition at line 65 of file simp/species/Species.cpp.
References isValid(), loadSpeciesParam(), and moleculeCapacity_.
void Simp::Species::readStructure | ( | std::istream & | in | ) |
Read structure from config/topology file format.
in | file from which to read structure. |
Definition at line 160 of file simp/species/Species.cpp.
References allocateAngles(), allocateAtoms(), allocateBonds(), allocateDihedrals(), atomTypeIds_, initializeAtomGroupIdArrays(), Util::Label::isClear(), isValid(), nAngle_, nAtom_, nBond_, nDihedral_, speciesAngles_, speciesBonds_, speciesDihedrals_, and UTIL_CHECK.
|
virtual |
Save internal state to an archive.
ar | output/saving archive |
Reimplemented from Util::ParamComposite.
Reimplemented in McMd::LinearSG, McMd::HomopolymerSG, Simp::Homopolymer, Simp::HomoRing, Simp::Diblock, Simp::Multiblock, and Simp::Point.
Definition at line 312 of file simp/species/Species.cpp.
References atomTypeIds_, moleculeCapacity_, nAngle_, nAtom_, nBond_, nDihedral_, speciesAngles_, speciesBonds_, and speciesDihedrals_.
void Simp::Species::writeStructure | ( | std::ostream & | out, |
std::string | indent = std::string() |
||
) |
Write molecular structure in config/topology file format.
out | file to which to write structure. |
indent | indentation string (sequence of spaces) |
Definition at line 340 of file simp/species/Species.cpp.
References atomTypeIds_, Util::ParamComponent::indent(), nAngle_, nAtom_, nBond_, nDihedral_, speciesAngles_, speciesBonds_, and speciesDihedrals_.
Referenced by McMd::SmpConfigIo::write().
bool Simp::Species::matchStructure | ( | std::istream & | in | ) |
Read structure, return true iff it matches existing structure.
Throw exception if structure is not parseable. Return false if it is parseable but does not match.
in | file from which to read structure. |
Definition at line 387 of file simp/species/Species.cpp.
References atomTypeIds_, nAngle(), nAngle_, nAtom(), nAtom_, nBond(), nBond_, nDihedral(), nDihedral_, speciesAngles_, speciesBonds_, and speciesDihedrals_.
Referenced by McMd::SmpConfigIo::read().
|
inline |
Get number of atoms per molecule for this Species.
Definition at line 591 of file simp/species/Species.h.
References nAtom_.
Referenced by McMd::TrajectoryReader::addMolecules(), McMd::LinearGenerator::attemptPlaceMolecule(), Simp::Linear::buildLinear(), Simp::Ring::buildRing(), Tools::Species::initialize(), McMd::Simulation::isValid(), McMd::AtomMSD::loadParameters(), McMd::RigidDisplaceMove::loadParameters(), McMd::CfbLinearEndMove::loadParameters(), McMd::EndSwapMove::loadParameters(), McMd::RingTetraRebridgeMove::loadParameters(), McMd::RingRouseAutoCorr::loadParameters(), McMd::LinearRouseAutoCorr::loadParameters(), McMd::McMuExchange::loadParameters(), McMd::IntraPairAutoCorr::loadParameters(), McMd::RadiusGyration::loadParameters(), McMd::BlockRadiusGyration::loadParameters(), matchStructure(), Tools::Species::molecule(), McMd::SystemInterface::nAtom(), McMd::System::nAtom(), McMd::LinkLTPos::output(), McMd::SmpConfigIo::read(), McMd::DdMdConfigIo::read(), McMd::LammpsConfigIo::read(), McMd::RigidDisplaceMove::readParameters(), McMd::AtomMSD::readParameters(), McMd::RingTetraRebridgeMove::readParameters(), McMd::CfbLinearEndMove::readParameters(), McMd::G1MSD::readParameters(), McMd::CfbReptationMove::readParameters(), McMd::EndSwapMove::readParameters(), Tools::AtomMSD::readParameters(), McMd::ComMSD::readParameters(), McMd::RingRouseAutoCorr::readParameters(), McMd::McMuExchange::readParameters(), McMd::LinearRouseAutoCorr::readParameters(), McMd::EndtoEndXYZ::readParameters(), McMd::IntraPairAutoCorr::readParameters(), McMd::RadiusGyration::readParameters(), McMd::EndtoEnd::readParameters(), McMd::BlockRadiusGyration::readParameters(), McMd::LinkLTPos::sample(), McMd::Simulation::save(), Tools::ConfigReader::setAtomContexts(), McMd::HomopolymerSG::setMoleculeState(), McMd::LinearSG::setMoleculeState(), McMd::LinkLTPos::setup(), McMd::RingRouseAutoCorr::setup(), McMd::SmpConfigIo::write(), McMd::DdMdConfigIo::write(), and McMd::LammpsConfigIo::write().
|
inline |
Get atom type index for a specific atom, by local atom index.
iAtom | local index for an atom within a molecule. |
Definition at line 597 of file simp/species/Species.h.
References atomTypeIds_.
Referenced by McMd::CfbLinear::addAtom(), McMd::Simulation::isValid(), McMd::McMuExchange::loadParameters(), McMd::SmpConfigIo::read(), McMd::CfbReptationMove::readParameters(), McMd::McMuExchange::readParameters(), and McMd::Simulation::save().
|
inline |
Get number of bonds per molecule for this Species.
Definition at line 604 of file simp/species/Species.h.
References nBond_.
Referenced by McMd::BondPotentialImpl< Interaction >::addForces(), Simp::Linear::buildLinear(), Simp::Ring::buildRing(), McMd::BondPotentialImpl< Interaction >::computeEnergy(), McMd::Activate::deactivate(), McMd::Simulation::isValid(), McMd::CfbReptationMove::loadParameters(), McMd::CfbReptateMove::loadParameters(), McMd::IntraBondStressAutoCorr< SystemType >::loadParameters(), McMd::IntraBondTensorAutoCorr< SystemType >::loadParameters(), matchStructure(), McMd::Activate::reactivate(), McMd::DdMdConfigIo::read(), McMd::LammpsConfigIo::read(), McMd::CfbReptationMove::readParameters(), McMd::CfbReptateMove::readParameters(), McMd::IntraBondStressAutoCorr< SystemType >::readParameters(), McMd::IntraBondTensorAutoCorr< SystemType >::readParameters(), McMd::Simulation::save(), McMd::DdMdConfigIo::write(), and McMd::LammpsConfigIo::write().
|
inline |
Get a specific SpeciesBond object, by local bond index.
iBond | local index of a SpeciesBond within a molecule. |
Definition at line 611 of file simp/species/Species.h.
References speciesBonds_.
Referenced by initializeAtomGroupIdArrays(), isValid(), McMd::Simulation::isValid(), McMd::CfbReptationMove::loadParameters(), McMd::CfbReptateMove::loadParameters(), McMd::CfbReptationMove::readParameters(), and McMd::Simulation::save().
|
inline |
Get array of ids for Bonds that contain one Atom.
atomId | local index for atom of interest |
Definition at line 618 of file simp/species/Species.h.
Referenced by McMd::Activate::deactivate(), McMd::getAtomBonds(), and McMd::Activate::reactivate().
|
inline |
Get number of angles per molecule for this Species.
Definition at line 626 of file simp/species/Species.h.
References nAngle_.
Referenced by McMd::AnglePotentialImpl< Interaction >::addForces(), Simp::Linear::buildLinear(), Simp::Ring::buildRing(), McMd::AnglePotentialImpl< Interaction >::computeEnergy(), McMd::Activate::deactivate(), McMd::Simulation::isValid(), matchStructure(), McMd::Activate::reactivate(), McMd::Simulation::save(), McMd::DdMdConfigIo::write(), McMd::LammpsConfigIo::write(), and McMd::CfbLinear::~CfbLinear().
|
inline |
Get a specific SpeciesAngle object, by local angle index.
iAngle | local index of a SpeciesAngle within a molecule. |
Definition at line 633 of file simp/species/Species.h.
References speciesAngles_.
Referenced by initializeAtomGroupIdArrays(), isValid(), McMd::Simulation::isValid(), and McMd::Simulation::save().
|
inline |
Get array of ids for angles that contain one Atom.
atomId | local index for atom of interest |
Definition at line 640 of file simp/species/Species.h.
Referenced by McMd::Activate::deactivate(), McMd::getAtomAngles(), and McMd::Activate::reactivate().
|
inline |
Get number of dihedrals per molecule for this Species.
Definition at line 648 of file simp/species/Species.h.
References nDihedral_.
Referenced by McMd::DihedralPotentialImpl< Interaction >::addForces(), Simp::Linear::buildLinear(), Simp::Ring::buildRing(), McMd::DihedralPotentialImpl< Interaction >::computeEnergy(), McMd::Activate::deactivate(), McMd::Simulation::isValid(), matchStructure(), McMd::Activate::reactivate(), McMd::Simulation::save(), McMd::DdMdConfigIo::write(), McMd::LammpsConfigIo::write(), and McMd::CfbLinear::~CfbLinear().
|
inline |
Get a specific SpeciesDihedral object, by local angle index.
iDihedral | local index of a SpeciesDihedral within a molecule. |
Definition at line 655 of file simp/species/Species.h.
References speciesDihedrals_.
Referenced by initializeAtomGroupIdArrays(), isValid(), McMd::Simulation::isValid(), and McMd::Simulation::save().
|
inline |
Get array of ids for dihedrals that contain one Atom.
atomId | local index for atom of interest |
Definition at line 663 of file simp/species/Species.h.
Referenced by McMd::Activate::deactivate(), McMd::getAtomDihedrals(), and McMd::Activate::reactivate().
|
inline |
Is this a mutable Species?
Definition at line 671 of file simp/species/Species.h.
Referenced by McMd::Generator::generate(), isValid(), McMd::Simulation::isValid(), McMd::SemiGrandDistribution::loadParameters(), McMd::TypeDistribution::loadParameters(), McMd::EndSwapMove::loadParameters(), McMd::McMdConfigIo::read(), and McMd::McMdConfigIo::write().
|
inline |
Return the species mutator object by reference.
Definition at line 677 of file simp/species/Species.h.
Referenced by McMd::Generator::generate(), McMd::System::loadConfig(), McMd::SemiGrandDistribution::loadParameters(), McMd::TypeDistribution::loadParameters(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), McMd::HomopolymerSemiGrandMove::move(), McMd::McMdConfigIo::read(), McMd::HomopolymerSG::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), McMd::System::saveConfig(), and McMd::McMdConfigIo::write().
|
inline |
Get integer id of this Species.
Definition at line 579 of file simp/species/Species.h.
References id_.
Referenced by McMd::System::addMolecule(), McMd::Generator::generate(), isValid(), Tools::Species::molecule(), McMd::System::moleculeId(), McMd::System::removeMolecule(), McMd::Simulation::returnMolecule(), McMd::MdPairEnergyCoefficients::sample(), McMd::Simulation::save(), McMd::RingOctaRebridgeMove::scanBridge(), setId(), and McMd::McMdConfigIo::write().
|
inline |
Maximum allowed number of molecules for this Species.
Definition at line 585 of file simp/species/Species.h.
References moleculeCapacity_.
Referenced by McMd::TrajectoryReader::addMolecules(), McMd::Simulation::allocateMoleculeSet(), Tools::Species::initialize(), McMd::ClusterIdentifier::initialize(), McMd::Simulation::isValid(), McMd::SemiGrandDistribution::loadParameters(), McMd::AtomMSD::loadParameters(), McMd::ComMSD::loadParameters(), McMd::RingRouseAutoCorr::loadParameters(), McMd::IntraBondStressAutoCorr< SystemType >::loadParameters(), McMd::LinearRouseAutoCorr::loadParameters(), McMd::MdPairEnergyCoefficients::loadParameters(), McMd::IntraBondTensorAutoCorr< SystemType >::loadParameters(), McMd::McMuExchange::loadParameters(), McMd::IntraPairAutoCorr::loadParameters(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), McMd::SmpConfigIo::read(), McMd::DdMdConfigIo::read(), McMd::LammpsConfigIo::read(), McMd::LammpsDumpReader::readFrame(), McMd::DdMdTrajectoryReader::readFrame(), McMd::DCDTrajectoryReader::readFrame(), McMd::AtomMSD::readParameters(), McMd::CfbReptationMove::readParameters(), McMd::CfbReptateMove::readParameters(), Tools::AtomMSD::readParameters(), McMd::ComMSD::readParameters(), McMd::McMuExchange::readParameters(), McMd::RingRouseAutoCorr::readParameters(), McMd::IntraBondStressAutoCorr< SystemType >::readParameters(), McMd::LinearRouseAutoCorr::readParameters(), McMd::MdPairEnergyCoefficients::readParameters(), McMd::IntraBondTensorAutoCorr< SystemType >::readParameters(), McMd::IntraPairAutoCorr::readParameters(), McMd::HomopolymerSG::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), McMd::MdPairEnergyCoefficients::sample(), McMd::Simulation::save(), Tools::ConfigReader::setAtomContexts(), Tools::Species::size(), and McMd::MdPairEnergyCoefficients::~MdPairEnergyCoefficients().
bool Tools::Species::isValid | ( | ) | const |
Return true if Species is valid, or throw an Exception.
Definition at line 649 of file simp/species/Species.cpp.
References Simp::SpeciesGroup< NAtom >::atomId(), atomTypeIds_, Util::Array< Data >::capacity(), id(), Util::DArray< Data >::isAllocated(), isMutable(), moleculeCapacity_, nAngle_, nAtom_, nBond_, nDihedral_, speciesAngle(), speciesAngles_, speciesBond(), speciesBonds_, speciesDihedral(), speciesDihedrals_, UTIL_CHECK, and UTIL_THROW.
Referenced by Tools::ConfigReader::addAtomsToSpecies(), Tools::Species::begin(), McMd::Simulation::isValid(), loadParameters(), readParameters(), and readStructure().
|
protectedvirtual |
Define chemical structure for this Species.
This virtual function must define the structure of a molecule of this species, and read any data required to do so. The default implementation Species::readSpeciesParam reads nAtom_, nBond_, nAngle_, and the elements of the arrays atomTypeIds_ and speciesBonds_, speciesAngles_.
Re-implementations of this function by subclasses may hard-code some or all of the information contained in these variables, and may define a more compact file format for any parameters that are read from file.
in | input parameter file stream. |
Reimplemented in Simp::Homopolymer, Simp::Multiblock, McMd::LinearSG, McMd::HomopolymerSG, Simp::Diblock, Simp::HomoRing, and Simp::Point.
Definition at line 79 of file simp/species/Species.cpp.
References allocateAngles(), allocateAtoms(), allocateBonds(), allocateDihedrals(), atomTypeIds_, initializeAtomGroupIdArrays(), nAngle_, nAtom_, nBond_, nDihedral_, speciesAngles_, speciesBonds_, and speciesDihedrals_.
Referenced by readParameters().
|
protectedvirtual |
Define chemical structure for this Species.
Analogous to readSpeciesParam, but reads data from a Serializable::IArchive rather than an input stream. This function must define the same parameter file format as readSpeciesParam.
ar | input parameter file stream. |
Reimplemented in Simp::Homopolymer, Simp::Multiblock, McMd::LinearSG, McMd::HomopolymerSG, Simp::Diblock, Simp::HomoRing, and Simp::Point.
Definition at line 121 of file simp/species/Species.cpp.
References allocateAngles(), allocateAtoms(), allocateBonds(), allocateDihedrals(), atomTypeIds_, initializeAtomGroupIdArrays(), nAngle_, nAtom_, nBond_, nDihedral_, speciesAngles_, speciesBonds_, and speciesDihedrals_.
Referenced by loadParameters().
|
protected |
Allocate chemical structure arrays.
This function allocates the arrays that are used to define the chemical structure of a generic molecule, such as atomTypeIds_, speciesBonds_, atomBondIdArrays_, speciesAngles_, etc.
Precondition: nAtom_, nBond_, nAngles_, etc. must have been assigned final values on entry.
Definition at line 470 of file simp/species/Species.cpp.
References allocateAngles(), allocateAtoms(), allocateBonds(), and allocateDihedrals().
Referenced by Simp::Linear::buildLinear(), Simp::Ring::buildRing(), Simp::Point::loadSpeciesParam(), and Simp::Point::readSpeciesParam().
|
protected |
Allocate and initialize array of atom type Ids.
Definition at line 487 of file simp/species/Species.cpp.
References Util::DArray< Data >::allocate(), atomTypeIds_, Util::DArray< Data >::isAllocated(), nAtom_, and UTIL_CHECK.
Referenced by allocate(), loadSpeciesParam(), readSpeciesParam(), and readStructure().
|
protected |
Set the type for one atom in a generic molecule of this Species.
atomId | local atom id, in range 0,..., nAtom - 1; |
atomType | atom type index |
Definition at line 503 of file simp/species/Species.cpp.
References atomTypeIds_.
Referenced by Simp::Linear::buildLinear(), and Simp::Ring::buildRing().
|
protected |
Allocate arrays associated with Bonds.
Definition at line 510 of file simp/species/Species.cpp.
References nAtom_, nBond_, speciesBonds_, and UTIL_CHECK.
Referenced by allocate(), loadSpeciesParam(), readSpeciesParam(), and readStructure().
|
protected |
Add a bond to the chemical structure of a generic molecule.
This function creates and adds a SpeciesBond object, and also adds a reference to the list of bonds that are connected to each atom.
bondId | local index of bond within a molecule |
atomId1 | local index of 1st atom in bond |
atomId2 | local index of 2nd atom in bond |
bondType | bond type index |
Definition at line 526 of file simp/species/Species.cpp.
References nAtom_, nBond_, and speciesBonds_.
Referenced by Simp::Linear::buildLinear(), and Simp::Ring::buildRing().
|
protected |
Allocate arrays associated with angles.
Definition at line 553 of file simp/species/Species.cpp.
References nAngle_, nAtom_, speciesAngles_, and UTIL_CHECK.
Referenced by allocate(), loadSpeciesParam(), readSpeciesParam(), and readStructure().
|
protected |
Add an angle to the chemical structure of a generic molecule.
This function creates and adds a SpeciesAngle object, and also adds a reference to the list of angles that are connected to each atom.
angleId | local index of angle within a molecule |
atomId1 | local index of 1st atom in angle |
atomId2 | local index of 2nd atom in angle |
atomId3 | local index of 3rd atom in angle |
angleType | angle type index |
Definition at line 569 of file simp/species/Species.cpp.
References nAngle_, nAtom_, and speciesAngles_.
Referenced by Simp::Linear::buildLinear(), and Simp::Ring::buildRing().
|
protected |
Allocate arrays associated with dihedrals.
Definition at line 599 of file simp/species/Species.cpp.
References nAtom_, nDihedral_, speciesDihedrals_, and UTIL_CHECK.
Referenced by allocate(), loadSpeciesParam(), readSpeciesParam(), and readStructure().
|
protected |
Add a dihedral to the chemical structure of a generic molecule.
This function creates and adds a SpeciesDihedral object, and also adds a reference to the list of dihedrals that are connected to each atom.
dihedralId | local index of dihedral within a molecule |
atomId1 | local index of 1st atom in dihedral |
atomId2 | local index of 2nd atom in dihedral |
atomId3 | local index of 3rd atom in dihedral |
atomId4 | local index of 4th atom in dihedral |
dihedralType | dihedral type index |
Definition at line 616 of file simp/species/Species.cpp.
References nAtom_, nDihedral_, and speciesDihedrals_.
Referenced by Simp::Linear::buildLinear(), and Simp::Ring::buildRing().
|
protected |
Initialize all atom groupId arrays (point from atoms to groups).
Definition at line 229 of file simp/species/Species.cpp.
References Simp::SpeciesGroup< NAtom >::atomId(), atomTypeIds_, Util::Array< Data >::capacity(), Util::DArray< Data >::isAllocated(), nAngle_, nAtom_, nBond_, nDihedral_, speciesAngle(), speciesAngles_, speciesBond(), speciesBonds_, speciesDihedral(), speciesDihedrals_, and UTIL_CHECK.
Referenced by loadSpeciesParam(), readSpeciesParam(), and readStructure().
|
protected |
Set pointer to associated McMd::SpeciesMutator for a mutable species.
A mutable subclass of Species must have an associated SpeciesMutator object. The constructor of each such subclass should pass a pointer to the SpeciesMutator to setMutatorPtr. After this function is called, Species::isMutator() will return true, the associated SpeciesMutator will be accessible via the Species::mutator() function. If a mutable Species subclass is derived from both Species and SpeciesMutator (recommended), the function setMutatorPtr(this) should be invoked within the subclass constructor to pass the address of the SpeciesMutator sub-object to the Species subobject.
mutatorPtr | pointer to an associated SpeciesMutator object |
Definition at line 464 of file simp/species/Species.cpp.
Referenced by McMd::HomopolymerSG::HomopolymerSG(), and McMd::LinearSG::LinearSG().
|
static |
Maximum number of bonds that can be connected to one atom.
Definition at line 78 of file simp/species/Species.h.
|
static |
Maximum number of angles groups that can contain one atom.
Definition at line 89 of file simp/species/Species.h.
|
static |
Maximum number of dihedral groups that can contain one atom.
Definition at line 100 of file simp/species/Species.h.
|
staticprotected |
Null (unknown) value for any non-negative index.
Definition at line 304 of file simp/species/Species.h.
Referenced by McMd::HomopolymerSG::calculateAtomTypeId(), McMd::LinearSG::calculateAtomTypeId(), and Simp::Diblock::Diblock().
|
protected |
Integer index for this Species.
Definition at line 312 of file simp/species/Species.h.
Referenced by Tools::Species::addAtom(), Tools::Species::begin(), id(), Tools::Species::molecule(), Simp::HomoRing::save(), and setId().
|
protected |
Number of molecules associated with the species.
Definition at line 315 of file simp/species/Species.h.
Referenced by capacity(), isValid(), loadParameters(), readParameters(), Simp::Point::save(), Simp::Multiblock::save(), Simp::Diblock::save(), Simp::HomoRing::save(), McMd::HomopolymerSG::save(), McMd::LinearSG::save(), and save().
|
protected |
Number of atoms per molecule.
Definition at line 320 of file simp/species/Species.h.
Referenced by Tools::Species::addAtom(), allocateAngles(), allocateAtoms(), allocateBonds(), allocateDihedrals(), Tools::Species::begin(), Tools::Species::initialize(), initializeAtomGroupIdArrays(), isValid(), Simp::HomoRing::loadSpeciesParam(), Simp::Diblock::loadSpeciesParam(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), Simp::Multiblock::loadSpeciesParam(), loadSpeciesParam(), makeAngle(), makeBond(), makeDihedral(), matchStructure(), Tools::Species::molecule(), nAtom(), Tools::operator<<(), Tools::operator>>(), Simp::Point::Point(), Simp::HomoRing::readSpeciesParam(), Simp::Diblock::readSpeciesParam(), McMd::HomopolymerSG::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), Simp::Multiblock::readSpeciesParam(), readSpeciesParam(), readStructure(), Simp::HomoRing::save(), McMd::HomopolymerSG::save(), McMd::LinearSG::save(), save(), Tools::Species::size(), and writeStructure().
|
protected |
Array of atom type Ids, indexed by local atom id.
Element atomTypeIds_[id] is the atom type index for atom id of any molecule of this species, where 0 <= id < nAtom_.
Definition at line 328 of file simp/species/Species.h.
Referenced by allocateAtoms(), atomTypeId(), initializeAtomGroupIdArrays(), isValid(), Simp::Point::loadSpeciesParam(), loadSpeciesParam(), matchStructure(), Simp::Point::readSpeciesParam(), readSpeciesParam(), readStructure(), save(), setAtomType(), and writeStructure().
|
protected |
Number of bonds per molecule.
Definition at line 334 of file simp/species/Species.h.
Referenced by allocateBonds(), initializeAtomGroupIdArrays(), isValid(), Simp::HomoRing::loadSpeciesParam(), Simp::Diblock::loadSpeciesParam(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), Simp::Multiblock::loadSpeciesParam(), loadSpeciesParam(), makeBond(), matchStructure(), nBond(), Simp::HomoRing::readSpeciesParam(), Simp::Diblock::readSpeciesParam(), McMd::HomopolymerSG::readSpeciesParam(), Simp::Multiblock::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), readSpeciesParam(), readStructure(), save(), and writeStructure().
|
protected |
Array of SpeciesBonds for all bonds, indexed by local bond id.
Element speciesBonds_[id] is the SpeciesBond object for bond number id in any molecule of this Species, where 0 <= id < nBond_.
Definition at line 342 of file simp/species/Species.h.
Referenced by allocateBonds(), initializeAtomGroupIdArrays(), isValid(), loadSpeciesParam(), makeBond(), matchStructure(), readSpeciesParam(), readStructure(), save(), speciesBond(), and writeStructure().
|
protected |
Number of angles per molecule.
Definition at line 349 of file simp/species/Species.h.
Referenced by allocateAngles(), initializeAtomGroupIdArrays(), isValid(), Simp::HomoRing::loadSpeciesParam(), Simp::Diblock::loadSpeciesParam(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), Simp::Multiblock::loadSpeciesParam(), loadSpeciesParam(), makeAngle(), matchStructure(), nAngle(), Simp::HomoRing::readSpeciesParam(), Simp::Diblock::readSpeciesParam(), McMd::HomopolymerSG::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), Simp::Multiblock::readSpeciesParam(), readSpeciesParam(), readStructure(), Simp::Multiblock::save(), Simp::Diblock::save(), McMd::HomopolymerSG::save(), McMd::LinearSG::save(), save(), and writeStructure().
|
protected |
Array of SpeciesAngles for all angles, indexed by local angle id.
Element speciesAngles_[id] is the SpeciesAngle object for angle number id in any molecule of this Species, where 0 <= id < nAngle_.
Definition at line 357 of file simp/species/Species.h.
Referenced by allocateAngles(), initializeAtomGroupIdArrays(), isValid(), loadSpeciesParam(), makeAngle(), matchStructure(), readSpeciesParam(), readStructure(), save(), speciesAngle(), and writeStructure().
|
protected |
Number of dihedrals per molecule.
Definition at line 364 of file simp/species/Species.h.
Referenced by allocateDihedrals(), initializeAtomGroupIdArrays(), isValid(), Simp::HomoRing::loadSpeciesParam(), Simp::Diblock::loadSpeciesParam(), McMd::HomopolymerSG::loadSpeciesParam(), McMd::LinearSG::loadSpeciesParam(), Simp::Multiblock::loadSpeciesParam(), loadSpeciesParam(), makeDihedral(), matchStructure(), nDihedral(), Simp::HomoRing::readSpeciesParam(), Simp::Diblock::readSpeciesParam(), McMd::HomopolymerSG::readSpeciesParam(), McMd::LinearSG::readSpeciesParam(), Simp::Multiblock::readSpeciesParam(), readSpeciesParam(), readStructure(), Simp::Multiblock::save(), Simp::Diblock::save(), McMd::HomopolymerSG::save(), McMd::LinearSG::save(), save(), and writeStructure().
|
protected |
Array of SpeciesDihedrals, indexed by local dihedral id.
Element speciesDihedrals_[id] is the SpeciesDihedral object for dihedral number id in any molecule of this Species, where the index satisfies 0 <= id < nAngle_.
Definition at line 373 of file simp/species/Species.h.
Referenced by allocateDihedrals(), initializeAtomGroupIdArrays(), isValid(), loadSpeciesParam(), makeDihedral(), matchStructure(), readSpeciesParam(), readStructure(), save(), speciesDihedral(), and writeStructure().