OpenMD  2.5
Molecular Dynamics in the Open
OpenMD::MoleculeStamp Class Reference

#include <MoleculeStamp.hpp>

Inheritance diagram for OpenMD::MoleculeStamp:
OpenMD::DataHolder

Public Member Functions

 MoleculeStamp ()
 
virtual ~MoleculeStamp ()
 
bool addAtomStamp (AtomStamp *atom)
 
bool addBondStamp (BondStamp *bond)
 
bool addBendStamp (BendStamp *bend)
 
bool addTorsionStamp (TorsionStamp *torsion)
 
bool addInversionStamp (InversionStamp *inversion)
 
bool addRigidBodyStamp (RigidBodyStamp *rigidbody)
 
bool addCutoffGroupStamp (CutoffGroupStamp *cutoffgroup)
 
bool addFragmentStamp (FragmentStamp *fragment)
 
bool addConstraintStamp (ConstraintStamp *constraint)
 
void setRegion (int r)
 
int getRegion ()
 
std::size_t getNAtoms ()
 
std::size_t getNBonds ()
 
std::size_t getNBends ()
 
std::size_t getNTorsions ()
 
std::size_t getNInversions ()
 
std::size_t getNRigidBodies ()
 
std::size_t getNCutoffGroups ()
 
std::size_t getNConstraints ()
 
int getNIntegrable ()
 
std::size_t getNFreeAtoms ()
 
virtual void validate ()
 
AtomStampgetAtomStamp (int index)
 
BondStampgetBondStamp (int index)
 
BendStampgetBendStamp (int index)
 
TorsionStampgetTorsionStamp (int index)
 
InversionStampgetInversionStamp (int index)
 
RigidBodyStampgetRigidBodyStamp (int index)
 
CutoffGroupStampgetCutoffGroupStamp (int index)
 
FragmentStampgetFragmentStamp (int index)
 
ConstraintStampgetConstraintStamp (int index)
 
bool isBondInSameRigidBody (BondStamp *bond)
 
bool isAtomInRigidBody (int atomIndex)
 
bool isAtomInRigidBody (int atomIndex, int &whichRigidBody, int &consAtomIndex)
 
std::vector< std::pair< int, int > > getJointAtoms (int rb1, int rb2)
 
- Public Member Functions inherited from OpenMD::DataHolder
 DataHolder ()
 
virtual ~DataHolder ()
 
template<class T >
void assign (const std::string &keyword, T val)
 

Private Member Functions

 DeclareParameter (Name, std::string)
 
 DeclareParameter (ConstrainTotalCharge, bool)
 
void fillBondInfo ()
 
void checkAtoms ()
 
void checkBonds ()
 
void checkBends ()
 
void checkTorsions ()
 
void checkInversions ()
 
void checkRigidBodies ()
 
void checkCutoffGroups ()
 
void checkFragments ()
 
void checkConstraints ()
 
template<class Cont , class T >
bool addIndexSensitiveStamp (Cont &cont, T *stamp)
 

Private Attributes

std::vector< AtomStamp * > atomStamps_
 
std::vector< int > freeAtoms_
 
std::vector< BondStamp * > bondStamps_
 
std::vector< BendStamp * > bendStamps_
 
std::vector< TorsionStamp * > torsionStamps_
 
std::vector< InversionStamp * > inversionStamps_
 
std::vector< RigidBodyStamp * > rigidBodyStamps_
 
std::vector< CutoffGroupStamp * > cutoffGroupStamps_
 
std::vector< FragmentStamp * > fragmentStamps_
 
std::vector< ConstraintStamp * > constraintStamps_
 
std::vector< int > atom2Rigidbody
 
int nintegrable_
 
int region_
 

Additional Inherited Members

- Protected Types inherited from OpenMD::DataHolder
typedef std::map< std::string, ParameterBase * > ParamMap
 
- Protected Attributes inherited from OpenMD::DataHolder
ParamMap parameters_
 
std::set< std::string > deprecatedKeywords_
 

Detailed Description

Definition at line 58 of file MoleculeStamp.hpp.

Constructor & Destructor Documentation

◆ MoleculeStamp()

OpenMD::MoleculeStamp::MoleculeStamp ( )

◆ ~MoleculeStamp()

Member Function Documentation

◆ addAtomStamp()

bool OpenMD::MoleculeStamp::addAtomStamp ( AtomStamp atom)

◆ addBendStamp()

bool OpenMD::MoleculeStamp::addBendStamp ( BendStamp bend)

Definition at line 102 of file MoleculeStamp.cpp.

References bendStamps_.

Referenced by MDTreeParser::bendblock(), and checkBends().

◆ addBondStamp()

bool OpenMD::MoleculeStamp::addBondStamp ( BondStamp bond)

Definition at line 97 of file MoleculeStamp.cpp.

References bondStamps_.

Referenced by MDTreeParser::bondblock().

◆ addConstraintStamp()

bool OpenMD::MoleculeStamp::addConstraintStamp ( ConstraintStamp constraint)

Definition at line 138 of file MoleculeStamp.cpp.

References constraintStamps_.

Referenced by MDTreeParser::constraintblock().

◆ addCutoffGroupStamp()

bool OpenMD::MoleculeStamp::addCutoffGroupStamp ( CutoffGroupStamp cutoffgroup)

Definition at line 129 of file MoleculeStamp.cpp.

References cutoffGroupStamps_.

Referenced by MDTreeParser::cutoffgroupblock().

◆ addFragmentStamp()

bool OpenMD::MoleculeStamp::addFragmentStamp ( FragmentStamp fragment)

Definition at line 134 of file MoleculeStamp.cpp.

References addIndexSensitiveStamp(), and fragmentStamps_.

Referenced by MDTreeParser::fragmentblock().

◆ addIndexSensitiveStamp()

template<class Cont , class T >
bool OpenMD::MoleculeStamp::addIndexSensitiveStamp ( Cont &  cont,
T *  stamp 
)
inlineprivate

Definition at line 120 of file MoleculeStamp.hpp.

Referenced by addAtomStamp(), addFragmentStamp(), and addRigidBodyStamp().

◆ addInversionStamp()

bool OpenMD::MoleculeStamp::addInversionStamp ( InversionStamp inversion)

Definition at line 112 of file MoleculeStamp.cpp.

References inversionStamps_.

Referenced by checkInversions(), and MDTreeParser::inversionblock().

◆ addRigidBodyStamp()

bool OpenMD::MoleculeStamp::addRigidBodyStamp ( RigidBodyStamp rigidbody)

◆ addTorsionStamp()

bool OpenMD::MoleculeStamp::addTorsionStamp ( TorsionStamp torsion)

Definition at line 107 of file MoleculeStamp.cpp.

References torsionStamps_.

Referenced by checkTorsions(), and MDTreeParser::torsionblock().

◆ checkAtoms()

void OpenMD::MoleculeStamp::checkAtoms ( )
private

Definition at line 185 of file MoleculeStamp.cpp.

References atomStamps_.

Referenced by getConstraintStamp(), and validate().

◆ checkBends()

◆ checkBonds()

void OpenMD::MoleculeStamp::checkBonds ( )
private

◆ checkConstraints()

void OpenMD::MoleculeStamp::checkConstraints ( )
private

◆ checkCutoffGroups()

void OpenMD::MoleculeStamp::checkCutoffGroups ( )
private

◆ checkFragments()

void OpenMD::MoleculeStamp::checkFragments ( )
private

Definition at line 773 of file MoleculeStamp.cpp.

References fragmentStamps_.

Referenced by getConstraintStamp(), and validate().

◆ checkInversions()

◆ checkRigidBodies()

void OpenMD::MoleculeStamp::checkRigidBodies ( )
private

◆ checkTorsions()

◆ DeclareParameter() [1/2]

OpenMD::MoleculeStamp::DeclareParameter ( Name  ,
std::string   
)
private

◆ DeclareParameter() [2/2]

OpenMD::MoleculeStamp::DeclareParameter ( ConstrainTotalCharge  ,
bool   
)
private

◆ fillBondInfo()

void OpenMD::MoleculeStamp::fillBondInfo ( )
private

◆ getAtomStamp()

◆ getBendStamp()

BendStamp* OpenMD::MoleculeStamp::getBendStamp ( int  index)
inline

Definition at line 92 of file MoleculeStamp.hpp.

References bendStamps_.

Referenced by checkBends(), and OpenMD::MoleculeCreator::createMolecule().

◆ getBondStamp()

BondStamp* OpenMD::MoleculeStamp::getBondStamp ( int  index)
inline

◆ getConstraintStamp()

◆ getCutoffGroupStamp()

CutoffGroupStamp* OpenMD::MoleculeStamp::getCutoffGroupStamp ( int  index)
inline

◆ getFragmentStamp()

FragmentStamp* OpenMD::MoleculeStamp::getFragmentStamp ( int  index)
inline

Definition at line 97 of file MoleculeStamp.hpp.

References fragmentStamps_.

◆ getInversionStamp()

InversionStamp* OpenMD::MoleculeStamp::getInversionStamp ( int  index)
inline

Definition at line 94 of file MoleculeStamp.hpp.

References inversionStamps_.

Referenced by checkInversions(), and OpenMD::MoleculeCreator::createMolecule().

◆ getJointAtoms()

std::vector< std::pair< int, int > > OpenMD::MoleculeStamp::getJointAtoms ( int  rb1,
int  rb2 
)

◆ getNAtoms()

◆ getNBends()

std::size_t OpenMD::MoleculeStamp::getNBends ( )
inline

◆ getNBonds()

◆ getNConstraints()

std::size_t OpenMD::MoleculeStamp::getNConstraints ( )
inline

Definition at line 85 of file MoleculeStamp.hpp.

References constraintStamps_.

Referenced by checkConstraints(), and OpenMD::MoleculeCreator::createMolecule().

◆ getNCutoffGroups()

std::size_t OpenMD::MoleculeStamp::getNCutoffGroups ( )
inline

◆ getNFreeAtoms()

std::size_t OpenMD::MoleculeStamp::getNFreeAtoms ( )
inline

Definition at line 87 of file MoleculeStamp.hpp.

References freeAtoms_, and validate().

Referenced by OpenMD::SimCreator::setGlobalIndex().

◆ getNIntegrable()

int OpenMD::MoleculeStamp::getNIntegrable ( )
inline

Definition at line 86 of file MoleculeStamp.hpp.

References nintegrable_.

Referenced by OpenMD::MoLocator::MoLocator().

◆ getNInversions()

std::size_t OpenMD::MoleculeStamp::getNInversions ( )
inline

◆ getNRigidBodies()

◆ getNTorsions()

std::size_t OpenMD::MoleculeStamp::getNTorsions ( )
inline

◆ getRegion()

int OpenMD::MoleculeStamp::getRegion ( )
inline

Definition at line 77 of file MoleculeStamp.hpp.

References region_.

Referenced by OpenMD::MoleculeCreator::createMolecule().

◆ getRigidBodyStamp()

RigidBodyStamp* OpenMD::MoleculeStamp::getRigidBodyStamp ( int  index)
inline

◆ getTorsionStamp()

TorsionStamp* OpenMD::MoleculeStamp::getTorsionStamp ( int  index)
inline

Definition at line 93 of file MoleculeStamp.hpp.

References torsionStamps_.

Referenced by checkTorsions(), and OpenMD::MoleculeCreator::createMolecule().

◆ isAtomInRigidBody() [1/2]

bool OpenMD::MoleculeStamp::isAtomInRigidBody ( int  atomIndex)

◆ isAtomInRigidBody() [2/2]

bool OpenMD::MoleculeStamp::isAtomInRigidBody ( int  atomIndex,
int &  whichRigidBody,
int &  consAtomIndex 
)

◆ isBondInSameRigidBody()

bool OpenMD::MoleculeStamp::isBondInSameRigidBody ( BondStamp bond)

◆ setRegion()

void OpenMD::MoleculeStamp::setRegion ( int  r)
inline

Definition at line 76 of file MoleculeStamp.hpp.

References region_.

Referenced by OpenMD::SimInfo::SimInfo().

◆ validate()

Member Data Documentation

◆ atom2Rigidbody

std::vector<int> OpenMD::MoleculeStamp::atom2Rigidbody
private

◆ atomStamps_

std::vector<AtomStamp*> OpenMD::MoleculeStamp::atomStamps_
private

◆ bendStamps_

std::vector<BendStamp*> OpenMD::MoleculeStamp::bendStamps_
private

Definition at line 145 of file MoleculeStamp.hpp.

Referenced by addBendStamp(), getBendStamp(), getNBends(), and ~MoleculeStamp().

◆ bondStamps_

std::vector<BondStamp*> OpenMD::MoleculeStamp::bondStamps_
private

Definition at line 144 of file MoleculeStamp.hpp.

Referenced by addBondStamp(), getBondStamp(), getNBonds(), and ~MoleculeStamp().

◆ constraintStamps_

std::vector<ConstraintStamp*> OpenMD::MoleculeStamp::constraintStamps_
private

◆ cutoffGroupStamps_

std::vector<CutoffGroupStamp*> OpenMD::MoleculeStamp::cutoffGroupStamps_
private

◆ fragmentStamps_

std::vector<FragmentStamp*> OpenMD::MoleculeStamp::fragmentStamps_
private

◆ freeAtoms_

std::vector<int> OpenMD::MoleculeStamp::freeAtoms_
private

Definition at line 143 of file MoleculeStamp.hpp.

Referenced by checkCutoffGroups(), and getNFreeAtoms().

◆ inversionStamps_

std::vector<InversionStamp*> OpenMD::MoleculeStamp::inversionStamps_
private

◆ nintegrable_

int OpenMD::MoleculeStamp::nintegrable_
private

Definition at line 153 of file MoleculeStamp.hpp.

Referenced by getNIntegrable(), and validate().

◆ region_

int OpenMD::MoleculeStamp::region_
private

Definition at line 154 of file MoleculeStamp.hpp.

Referenced by getRegion(), and setRegion().

◆ rigidBodyStamps_

std::vector<RigidBodyStamp*> OpenMD::MoleculeStamp::rigidBodyStamps_
private

◆ torsionStamps_

std::vector<TorsionStamp*> OpenMD::MoleculeStamp::torsionStamps_
private

Definition at line 146 of file MoleculeStamp.hpp.

Referenced by addTorsionStamp(), getNTorsions(), getTorsionStamp(), and ~MoleculeStamp().


The documentation for this class was generated from the following files: