Simpatico
v1.10
|
A physical molecule (a set of covalently bonded Atoms).
Definition at line 42 of file mcMd/chemistry/Molecule.h.
#include <Molecule.h>
Public Types | |
typedef ArrayIterator< Atom > | AtomIterator |
Iterator for Atoms within a Molecule. More... | |
typedef ConstArrayIterator< Atom > | ConstAtomIterator |
Iterator for const Atoms within a Molecule. More... | |
typedef ArrayIterator< Bond > | BondIterator |
Iterator for Bonds within a Molecule. More... | |
typedef ConstArrayIterator< Bond > | ConstBondIterator |
Iterator for const Bonds within a Molecule. More... | |
typedef ArrayIterator< Angle > | AngleIterator |
Iterator for Angles within a Molecule. More... | |
typedef ConstArrayIterator< Angle > | ConstAngleIterator |
Iterator for const Angles within a Molecule. More... | |
typedef ArrayIterator< Dihedral > | DihedralIterator |
Iterator for Dihedrals within a Molecule. More... | |
typedef ConstArrayIterator< Dihedral > | ConstDihedralIterator |
Iterator for const Dihedrals within a Molecule. More... | |
Public Member Functions | |
Molecule () | |
Constructor. More... | |
Mutators | |
void | setSpecies (Species &species) |
Set the parent Species. More... | |
void | setSystem (System &system) |
Set the parent System. More... | |
void | unsetSystem () |
Set the parent System pointer to null (no System). More... | |
void | setId (int id) |
Set the integer index for this molecule. More... | |
void | setFirstAtom (Atom &atom) |
Set the first Atom. More... | |
void | setNAtom (int nAtom) |
Set the number of Atoms per molecule. More... | |
void | setFirstBond (Bond &bond) |
Set the first Bond. More... | |
void | setNBond (int nBond) |
Set the number of Bonds per molecule. More... | |
void | setFirstAngle (Angle &angle) |
Set the first Angle. More... | |
void | setNAngle (int nAngle) |
Set the number of Angles per molecule. More... | |
void | setFirstDihedral (Dihedral &dihedral) |
Set the first Dihedral. More... | |
void | setNDihedral (int nDihedral) |
Set the number of Dihedrals per molecule. More... | |
Accessors | |
Species & | species () const |
Get the molecular Species by reference. More... | |
System & | system () const |
Get the parent System. More... | |
int | id () const |
Get the index for this Molecule (unique in species). More... | |
int | nAtom () const |
Get the number of Atoms in this Molecule. More... | |
int | nBond () const |
Get the number of Bonds in this Molecule. More... | |
int | nAngle () const |
Get the number of Angles in this Molecule. More... | |
int | nDihedral () const |
Get the number of Dihedrals in this Molecule. More... | |
const Atom & | atom (int localId) const |
Get a specific Atom in this Molecule. More... | |
Atom & | atom (int localId) |
Get a specific Atom in this Molecule. More... | |
Bond & | bond (int localId) |
Get a specific Bond in this Molecule by non-const reference. More... | |
const Bond & | bond (int localId) const |
Get a specific Bond in this Molecule by const reference. More... | |
Angle & | angle (int localId) |
Get a specific Angle in this Molecule by non-const reference. More... | |
const Angle & | angle (int localId) const |
Get a specific Angle in this Molecule by const reference. More... | |
Dihedral & | dihedral (int localId) |
Get a specific Dihedral in this Molecule by reference. More... | |
const Dihedral & | dihedral (int localId) const |
Get a specific Dihedral in this Molecule by const reference. More... | |
Iterator Interface | |
void | begin (AtomIterator &iterator) |
Set an Molecule::AtomIterator to first Atom in this Molecule. More... | |
void | begin (ConstAtomIterator &iterator) const |
Set an Molecule::ConstAtomIterator to first Atom in this Molecule. More... | |
void | begin (BondIterator &iterator) |
Set a Molecule::BondIterator to first Bond in this Molecule. More... | |
void | begin (ConstBondIterator &iterator) const |
Set a Molecule::ConstBondIterator to first Bond in this Molecule. More... | |
void | begin (AngleIterator &iterator) |
Set a Molecule::AngleIterator to first Angle in this Molecule. More... | |
void | begin (ConstAngleIterator &iterator) const |
Set a Molecule::ConstAngleIterator to first Angle in this Molecule. More... | |
void | begin (DihedralIterator &iterator) |
Set a Molecule::DihedralIterator to first Dihedral in this Molecule. More... | |
void | begin (ConstDihedralIterator &iterator) const |
Set a Molecule::ConstDihedralIterator to first Dihedral in this Molecule. More... | |
Static Public Attributes | |
static const int | NullIndex = -1 |
Null value for molecule id. More... | |
Iterator for Atoms within a Molecule.
Definition at line 50 of file mcMd/chemistry/Molecule.h.
Iterator for const Atoms within a Molecule.
Definition at line 53 of file mcMd/chemistry/Molecule.h.
Iterator for Bonds within a Molecule.
Definition at line 57 of file mcMd/chemistry/Molecule.h.
Iterator for const Bonds within a Molecule.
Definition at line 60 of file mcMd/chemistry/Molecule.h.
Iterator for Angles within a Molecule.
Definition at line 65 of file mcMd/chemistry/Molecule.h.
Iterator for const Angles within a Molecule.
Definition at line 68 of file mcMd/chemistry/Molecule.h.
Iterator for Dihedrals within a Molecule.
Definition at line 73 of file mcMd/chemistry/Molecule.h.
Iterator for const Dihedrals within a Molecule.
Definition at line 76 of file mcMd/chemistry/Molecule.h.
McMd::Molecule::Molecule | ( | ) |
Constructor.
Definition at line 21 of file mcMd/chemistry/Molecule.cpp.
|
inline |
Set the parent Species.
species | parent Species object. |
Definition at line 660 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the parent System.
system | parent System object. |
Definition at line 666 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::System::addMolecule().
|
inline |
Set the parent System pointer to null (no System).
Definition at line 672 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::System::removeMolecule().
|
inline |
Set the integer index for this molecule.
id | integer array index. |
Definition at line 732 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the first Atom.
atom | first Atom in molecule. |
Definition at line 678 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the number of Atoms per molecule.
nAtom | number of Atoms in the molecule. |
Definition at line 684 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the first Bond.
bond | first Bond in molecule. |
Definition at line 691 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the number of Bonds per molecule.
nBond | number of Bonds in the molecule. |
Definition at line 697 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the first Angle.
angle | first Angle in molecule. |
Definition at line 705 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the number of Angles per molecule.
nAngle | number of Angles in molecule. |
Definition at line 711 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the first Dihedral.
dihedral | first Dihedral in molecule. |
Definition at line 719 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Set the number of Dihedrals per molecule.
nDihedral | number of Dihedrals in molecule. |
Definition at line 725 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Simulation::save().
|
inline |
Get the molecular Species by reference.
Definition at line 418 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::CfbLinear::addAtom(), McMd::System::addMolecule(), McMd::Activate::deactivate(), McMd::getAtomAngles(), McMd::getAtomBonds(), McMd::getAtomDihedrals(), McMd::Simulation::isValid(), McMd::System::moleculeId(), McMd::Activate::reactivate(), McMd::System::removeMolecule(), McMd::Simulation::returnMolecule(), McMd::MdPairEnergyCoefficients::sample(), McMd::RingOctaRebridgeMove::scanBridge(), and McMd::McMdConfigIo::write().
|
inline |
Get the parent System.
Definition at line 427 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::System::isValid(), and McMd::System::removeMolecule().
|
inline |
Get the index for this Molecule (unique in species).
Definition at line 560 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::ClusterIdentifier::initialize(), McMd::Simulation::isValid(), McMd::SpeciesMutator::moleculeStateId(), McMd::CfbReptationMove::move(), McMd::CfbReptateMove::move(), McMd::ClusterHistogram::sample(), McMd::MdPairEnergyCoefficients::sample(), McMd::RingOctaRebridgeMove::scanBridge(), and McMd::SpeciesMutator::setMoleculeStateId().
|
inline |
Get the number of Atoms in this Molecule.
Definition at line 436 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::CfbLinear::addAtom(), McMd::CfbLinear::deleteAtom(), McMd::McPairPotentialImpl< Interaction >::moleculeEnergy(), McMd::Sliplinker::move(), McMd::SliplinkerAll::move(), McMd::SliplinkerEnd::move(), McMd::SliplinkMove::move(), McMd::GcSliplinkMove::move(), McMd::AtomDisplaceMove::move(), McMd::CfbDoubleRebridgeMove::move(), McMd::RingOctaRebridgeMove::move(), McMd::CfbEndMove::move(), McMd::CfbLinearEndMove::move(), McMd::CfbRebridgeMove::move(), McMd::CfbReptationMove::move(), McMd::CfbRingRebridgeMove::move(), McMd::EndSwapMove::move(), McMd::CfbReptateMove::move(), McMd::Activate::reactivate(), McMd::McMdConfigIo::read(), McMd::McNVTChemicalPotential::sample(), McMd::RingOctaRebridgeMove::scanBridge(), McMd::HomopolymerSG::setMoleculeState(), and McMd::LinearSG::setMoleculeState().
|
inline |
Get the number of Bonds in this Molecule.
Definition at line 443 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::getAtomBonds(), and McMd::Simulation::isValid().
|
inline |
Get the number of Angles in this Molecule.
Definition at line 451 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::getAtomAngles(), and McMd::Simulation::isValid().
|
inline |
Get the number of Dihedrals in this Molecule.
Definition at line 459 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::getAtomDihedrals(), and McMd::Simulation::isValid().
|
inline |
Get a specific Atom in this Molecule.
Returns the atom with local integer index 0 <= localId < nAtom.
localId | local index of desired atom within this Molecule. |
Definition at line 477 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::PointGenerator::attemptPlaceMolecule(), McMd::LinearGenerator::attemptPlaceMolecule(), McMd::Activate::deactivate(), McMd::CfbLinear::deleteAtom(), McMd::getAtomAngles(), McMd::getAtomBonds(), McMd::getAtomDihedrals(), McMd::Simulation::isValid(), McMd::McNVTChemicalPotential::load(), McMd::McPairPotentialImpl< Interaction >::moleculeEnergy(), McMd::Sliplinker::move(), McMd::GcSliplinkMove::move(), McMd::SliplinkerAll::move(), McMd::SliplinkMove::move(), McMd::SliplinkerEnd::move(), McMd::RingTetraRebridgeMove::move(), McMd::AtomDisplaceMove::move(), McMd::CfbDoubleRebridgeMove::move(), McMd::CfbEndMove::move(), McMd::RingOctaRebridgeMove::move(), McMd::CfbLinearEndMove::move(), McMd::CfbRebridgeMove::move(), McMd::CfbReptationMove::move(), McMd::EndSwapMove::move(), McMd::CfbRingRebridgeMove::move(), McMd::CfbReptateMove::move(), McMd::RigidDisplaceMove::move(), McMd::ComMSD::output(), McMd::Activate::reactivate(), McMd::McMdConfigIo::read(), McMd::G1MSD::sample(), McMd::McNVTChemicalPotential::sample(), McMd::AtomMSD::sample(), McMd::ComMSD::sample(), McMd::RingRouseAutoCorr::sample(), McMd::EndtoEndXYZ::sample(), McMd::LinearRouseAutoCorr::sample(), McMd::EndtoEnd::sample(), McMd::BlockRadiusGyration::sample(), McMd::IntraPairAutoCorr::sample(), McMd::RadiusGyration::sample(), McMd::Simulation::save(), McMd::RingOctaRebridgeMove::scanBridge(), McMd::RingTetraRebridgeMove::scanBridge(), McMd::HomopolymerSG::setMoleculeState(), McMd::LinearSG::setMoleculeState(), McMd::G1MSD::setup(), McMd::AtomMSD::setup(), and McMd::ComMSD::setup().
|
inline |
Get a specific Atom in this Molecule.
Returns the atom with local integer index 0 <= localId < nAtom.
localId | local index of desired atom within this Molecule. |
Definition at line 466 of file mcMd/chemistry/Molecule.h.
|
inline |
Get a specific Bond in this Molecule by non-const reference.
Returns the bond with local integer index 0 <= localId < nBond.
localId | local index of desired bond within this Molecule. |
Definition at line 489 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::CfbLinear::addAtom(), McMd::Activate::deactivate(), McMd::CfbLinear::deleteAtom(), McMd::getAtomBonds(), McMd::Simulation::isValid(), McMd::McNVTChemicalPotential::load(), McMd::RingTetraRebridgeMove::move(), McMd::CfbDoubleRebridgeMove::move(), McMd::CfbEndMove::move(), McMd::CfbRebridgeMove::move(), McMd::CfbRingRebridgeMove::move(), McMd::Activate::reactivate(), and McMd::McNVTChemicalPotential::sample().
|
inline |
Get a specific Bond in this Molecule by const reference.
Returns the bond with local integer index 0 <= localId < nBond.
localId | local index of desired bond within this Molecule. |
Definition at line 500 of file mcMd/chemistry/Molecule.h.
|
inline |
Get a specific Angle in this Molecule by non-const reference.
Returns the angle with local integer index 0 <= localId < nAngle.
localId | local index of desired angle within this Molecule. |
Definition at line 513 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::Activate::deactivate(), McMd::getAtomAngles(), McMd::Simulation::isValid(), McMd::McNVTChemicalPotential::load(), McMd::Activate::reactivate(), and McMd::McNVTChemicalPotential::sample().
|
inline |
Get a specific Angle in this Molecule by const reference.
Returns the angle with local integer index 0 <= localId < nAngle.
localId | local index of desired angle within this Molecule. |
Definition at line 524 of file mcMd/chemistry/Molecule.h.
|
inline |
Get a specific Dihedral in this Molecule by reference.
Returns the dihedral with local integer index 0 <= localId < nDihedral.
localId | local index of desired dihedral within this Molecule. |
Definition at line 537 of file mcMd/chemistry/Molecule.h.
Referenced by McMd::Activate::activate(), McMd::Activate::deactivate(), McMd::getAtomDihedrals(), McMd::Simulation::isValid(), McMd::McNVTChemicalPotential::load(), and McMd::Activate::reactivate().
|
inline |
Get a specific Dihedral in this Molecule by const reference.
Returns the dihedral with local integer index 0 <= localId < nDihedral.
localId | local index of desired dihedral within this Molecule. |
Definition at line 548 of file mcMd/chemistry/Molecule.h.
|
inline |
Set an Molecule::AtomIterator to first Atom in this Molecule.
iterator | on output, points to first Atom. |
Definition at line 566 of file mcMd/chemistry/Molecule.h.
References Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().
Referenced by McMd::Cluster::clusterCOM(), McMd::ClusterIdentifier::initialize(), McMd::System::loadConfig(), McMd::Cluster::momentTensor(), McMd::McMdConfigIo::read(), McMd::SmpConfigIo::read(), McMd::DdMdConfigIo::read(), McMd::LammpsConfigIo::read(), McMd::LammpsDumpReader::readFrame(), McMd::DdMdTrajectoryReader::readFrame(), and McMd::DCDTrajectoryReader::readFrame().
|
inline |
Set an Molecule::ConstAtomIterator to first Atom in this Molecule.
iterator | on output, points to first Atom. |
Definition at line 577 of file mcMd/chemistry/Molecule.h.
References Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::BondIterator to first Bond in this Molecule.
iterator | on output, points to first Bond. |
Definition at line 589 of file mcMd/chemistry/Molecule.h.
References Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::ConstBondIterator to first Bond in this Molecule.
iterator | on output, points to first Bond. |
Definition at line 600 of file mcMd/chemistry/Molecule.h.
References Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::AngleIterator to first Angle in this Molecule.
iterator | on output, points to first Angle. |
Definition at line 613 of file mcMd/chemistry/Molecule.h.
References Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::ConstAngleIterator to first Angle in this Molecule.
iterator | on output, points to first Angle. |
Definition at line 624 of file mcMd/chemistry/Molecule.h.
References Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::DihedralIterator to first Dihedral in this Molecule.
iterator | on output, points to first Dihedral. |
Definition at line 637 of file mcMd/chemistry/Molecule.h.
References Util::ArrayIterator< Data >::setCurrent(), and Util::ArrayIterator< Data >::setEnd().
|
inline |
Set a Molecule::ConstDihedralIterator to first Dihedral in this Molecule.
iterator | on output, points to first Dihedral. |
Definition at line 648 of file mcMd/chemistry/Molecule.h.
References Util::ConstArrayIterator< Data >::setCurrent(), and Util::ConstArrayIterator< Data >::setEnd().
|
static |
Null value for molecule id.
Definition at line 80 of file mcMd/chemistry/Molecule.h.