OpenMD 3.1
Molecular Dynamics in the Open
|
Public Types | |
using | AtomTypeContainer = TypeContainer<AtomType, 1> |
using | BondTypeContainer = TypeContainer<BondType, 2> |
using | BendTypeContainer = TypeContainer<BendType, 3> |
using | TorsionTypeContainer = TypeContainer<TorsionType, 4> |
using | InversionTypeContainer = TypeContainer<InversionType, 4> |
using | NonBondedInteractionTypeContainer |
Public Member Functions | |
ForceField (std::string ffName) | |
std::string | getForceFieldFileName () |
void | setForceFieldFileName (const std::string &filename) |
virtual void | parse (const std::string &filename) |
AtomType * | getAtomType (const std::string &at) |
getAtomType by string | |
AtomType * | getAtomType (int ident) |
getAtomType by ident | |
BondType * | getBondType (const std::string &at1, const std::string &at2) |
BendType * | getBendType (const std::string &at1, const std::string &at2, const std::string &at3) |
TorsionType * | getTorsionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4) |
InversionType * | getInversionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4) |
NonBondedInteractionType * | getNonBondedInteractionType (const std::string &at1, const std::string &at2) |
BondType * | getExactBondType (const std::string &at1, const std::string &at2) |
BendType * | getExactBendType (const std::string &at1, const std::string &at2, const std::string &at3) |
TorsionType * | getExactTorsionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4) |
InversionType * | getExactInversionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4) |
NonBondedInteractionType * | getExactNonBondedInteractionType (const std::string &at1, const std::string &at2) |
virtual RealType | getRcutFromAtomType (AtomType *at) |
std::string | getWildCard () |
void | setWildCard (const std::string &wildCard) |
size_t | getNAtomType () |
AtomTypeContainer * | getAtomTypes () |
NonBondedInteractionTypeContainer * | getNonBondedInteractionTypes () |
bool | addAtomType (const std::string &at, AtomType *atomType) |
bool | replaceAtomType (const std::string &at, AtomType *atomType) |
bool | addBondType (const std::string &at1, const std::string &at2, BondType *bondType) |
bool | addBendType (const std::string &at1, const std::string &at2, const std::string &at3, BendType *bendType) |
bool | addTorsionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4, TorsionType *torsionType) |
bool | addInversionType (const std::string &at1, const std::string &at2, const std::string &at3, const std::string &at4, InversionType *inversionType) |
bool | addNonBondedInteractionType (const std::string &at1, const std::string &at2, NonBondedInteractionType *nbiType) |
ifstrstream * | openForceFieldFile (const std::string &filename) |
ForceFieldOptions & | getForceFieldOptions () |
Definition at line 74 of file ForceField.hpp.
Definition at line 76 of file ForceField.hpp.
Definition at line 78 of file ForceField.hpp.
Definition at line 77 of file ForceField.hpp.
Definition at line 80 of file ForceField.hpp.
Definition at line 81 of file ForceField.hpp.
Definition at line 79 of file ForceField.hpp.
OpenMD::ForceField::ForceField | ( | std::string | ffName | ) |
The order of adding section parsers is important.
OptionSectionParser must come first to set options for other parsers
DirectionalAtomTypesSectionParser should be added before AtomTypesSectionParser, and these two section parsers will actually create "real" AtomTypes (AtomTypesSectionParser will create AtomType and DirectionalAtomTypesSectionParser will create DirectionalAtomType, which is a subclass of AtomType and should come first).
Other AtomTypes Section Parsers will not create the "real" AtomType, they only add and set some attributes of the AtomType (via the Adapters). Thus ordering of these is not important. AtomTypesSectionParser should be added before other atom type
The order of BondTypesSectionParser, BendTypesSectionParser and TorsionTypesSectionParser, etc. are not important.
Definition at line 87 of file ForceField.cpp.
bool OpenMD::ForceField::addAtomType | ( | const std::string & | at, |
AtomType * | atomType ) |
Definition at line 667 of file ForceField.cpp.
bool OpenMD::ForceField::addBendType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
BendType * | bendType ) |
Definition at line 689 of file ForceField.cpp.
bool OpenMD::ForceField::addBondType | ( | const std::string & | at1, |
const std::string & | at2, | ||
BondType * | bondType ) |
Definition at line 681 of file ForceField.cpp.
bool OpenMD::ForceField::addInversionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4, | ||
InversionType * | inversionType ) |
Definition at line 711 of file ForceField.cpp.
bool OpenMD::ForceField::addNonBondedInteractionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
NonBondedInteractionType * | nbiType ) |
Definition at line 724 of file ForceField.cpp.
bool OpenMD::ForceField::addTorsionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4, | ||
TorsionType * | torsionType ) |
Definition at line 698 of file ForceField.cpp.
AtomType * OpenMD::ForceField::getAtomType | ( | const std::string & | at | ) |
getAtomType by string
finds the requested atom type in this force field using the string name of the atom type.
Definition at line 183 of file ForceField.cpp.
References OpenMD::TypeContainer< ElemType, SIZE >::find().
Referenced by OpenMD::MoleculeCreator::createAtom(), OpenMD::ForceMatrixDecomposition::distributeInitialData(), getAtomType(), OpenMD::SelectionManager::getSelectedAtomTypes(), and OpenMD::SimInfo::getSimulatedAtomTypes().
AtomType * OpenMD::ForceField::getAtomType | ( | int | ident | ) |
getAtomType by ident
finds the requested atom type in this force field using the integer ident instead of the string name of the atom type.
Definition at line 195 of file ForceField.cpp.
References getAtomType().
|
inline |
Definition at line 137 of file ForceField.hpp.
BendType * OpenMD::ForceField::getBendType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3 ) |
Definition at line 268 of file ForceField.cpp.
BondType * OpenMD::ForceField::getBondType | ( | const std::string & | at1, |
const std::string & | at2 ) |
Definition at line 200 of file ForceField.cpp.
BendType * OpenMD::ForceField::getExactBendType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3 ) |
Definition at line 625 of file ForceField.cpp.
BondType * OpenMD::ForceField::getExactBondType | ( | const std::string & | at1, |
const std::string & | at2 ) |
Definition at line 617 of file ForceField.cpp.
InversionType * OpenMD::ForceField::getExactInversionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4 ) |
Definition at line 647 of file ForceField.cpp.
NonBondedInteractionType * OpenMD::ForceField::getExactNonBondedInteractionType | ( | const std::string & | at1, |
const std::string & | at2 ) |
Definition at line 659 of file ForceField.cpp.
TorsionType * OpenMD::ForceField::getExactTorsionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4 ) |
Definition at line 635 of file ForceField.cpp.
|
inline |
Definition at line 88 of file ForceField.hpp.
|
inline |
Definition at line 167 of file ForceField.hpp.
InversionType * OpenMD::ForceField::getInversionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4 ) |
Definition at line 446 of file ForceField.cpp.
|
inline |
Definition at line 135 of file ForceField.hpp.
NonBondedInteractionType * OpenMD::ForceField::getNonBondedInteractionType | ( | const std::string & | at1, |
const std::string & | at2 ) |
Definition at line 548 of file ForceField.cpp.
|
inline |
Definition at line 139 of file ForceField.hpp.
|
virtual |
Definition at line 733 of file ForceField.cpp.
TorsionType * OpenMD::ForceField::getTorsionType | ( | const std::string & | at1, |
const std::string & | at2, | ||
const std::string & | at3, | ||
const std::string & | at4 ) |
Definition at line 348 of file ForceField.cpp.
|
inline |
Definition at line 129 of file ForceField.hpp.
ifstrstream * OpenMD::ForceField::openForceFieldFile | ( | const std::string & | filename | ) |
Definition at line 764 of file ForceField.cpp.
|
virtual |
Definition at line 151 of file ForceField.cpp.
bool OpenMD::ForceField::replaceAtomType | ( | const std::string & | at, |
AtomType * | atomType ) |
Definition at line 674 of file ForceField.cpp.
|
inline |
Definition at line 90 of file ForceField.hpp.
|
inline |
Definition at line 131 of file ForceField.hpp.
|
protected |
Definition at line 170 of file ForceField.hpp.
|
protected |
Definition at line 177 of file ForceField.hpp.
|
protected |
Definition at line 172 of file ForceField.hpp.
|
protected |
Definition at line 171 of file ForceField.hpp.
|
protected |
Definition at line 176 of file ForceField.hpp.
|
protected |
Definition at line 174 of file ForceField.hpp.
|
protected |
Definition at line 175 of file ForceField.hpp.
|
protected |
Definition at line 178 of file ForceField.hpp.
|
protected |
Definition at line 173 of file ForceField.hpp.