Class containing atom related quantities from the MD code. More...
#include <Atoms.h>
Classes | |
class | DomainDecomposition |
Public Member Functions | |
Atoms (PlumedMain &plumed) | |
~Atoms () | |
void | add (ActionAtomistic *) |
AtomNumber | addVirtualAtom (ActionWithVirtualAtom *) |
bool | boxWasSet () const |
bool | chargesWereSet () const |
void | clearFullList () |
void | createFullList (const TypesafePtr &) |
void | double2MD (const double &d, const TypesafePtr &m) const |
const long long int & | getDdStep () const |
double | getEnergy () const |
double | getExtraCV (const std::string &name) |
void | getFullList (const TypesafePtr &) |
const std::vector< int > & | getGatindex () const |
double | getKBoltzmann () const |
double | getKbT () const |
void | getLocalForces (std::vector< Vector > &) |
void | getLocalMasses (std::vector< double > &) |
void | getLocalMDForces (std::vector< Vector > &) |
void | getLocalPositions (std::vector< Vector > &) |
double | getMDKBoltzmann () const |
const Units & | getMDUnits () |
int | getNatoms () const |
int | getNVirtualAtoms () const |
const Pbc & | getPbc () const |
int | getRealPrecision () const |
double | getTimeStep () const |
const Units & | getUnits () |
const Tensor & | getVirial () const |
ActionWithVirtualAtom * | getVirtualAtomsAction (AtomNumber) const |
void | init () |
void | insertGroup (const std::string &name, const std::vector< AtomNumber > &a) |
bool | isEnergyNeeded () const |
bool | isExtraCVNeeded (const std::string &name) const |
bool | isVirtualAtom (AtomNumber) const |
void | MD2double (const TypesafePtr &m, double &d) const |
void | readBinary (std::istream &) |
void | remove (ActionAtomistic *) |
void | removeGroup (const std::string &name) |
void | removeVirtualAtom (ActionWithVirtualAtom *) |
void | resetExtraCVNeeded () |
void | setAtomsContiguous (int) |
void | setAtomsGatindex (const TypesafePtr &, bool) |
void | setAtomsNlocal (int) |
void | setBox (const TypesafePtr &) |
void | setCharges (const TypesafePtr &) |
void | setCollectEnergy (bool b) |
void | setDomainDecomposition (Communicator &) |
void | setEnergy (const TypesafePtr &) |
void | setExtraCV (const std::string &name, const TypesafePtr &p) |
void | setExtraCVForce (const std::string &name, const TypesafePtr &p) |
void | setExtraCVNeeded (const std::string &name, bool needed=true) |
void | setForces (const TypesafePtr &) |
void | setForces (const TypesafePtr &, int) |
void | setKbT (const TypesafePtr &) |
void | setMasses (const TypesafePtr &) |
void | setMDChargeUnits (double d) |
void | setMDEnergyUnits (double d) |
void | setMDLengthUnits (double d) |
void | setMDMassUnits (double d) |
void | setMDNaturalUnits (bool n) |
void | setMDTimeUnits (double d) |
void | setNatoms (int) |
void | setNaturalUnits (bool n) |
void | setPositions (const TypesafePtr &) |
void | setPositions (const TypesafePtr &, int) |
void | setRealPrecision (int) |
void | setTimeStep (const TypesafePtr &) |
void | setUnits (const Units &u) |
void | setVirial (const TypesafePtr &) |
void | share () |
void | shareAll () |
void | startStep () |
void | updateExtraCVForce (const std::string &name, double f) |
void | updateForces () |
void | updateUnits () |
bool | usingNaturalUnits () const |
void | wait () |
void | writeBinary (std::ostream &) const |
Private Member Functions | |
void | resizeVectors (unsigned) |
void | share (const std::vector< AtomNumber > &) |
Private Attributes | |
std::vector< ActionAtomistic * > | actions |
bool | asyncSent |
bool | atomsNeeded |
Tensor | box |
bool | boxHasBeenSet |
std::vector< double > | charges |
bool | chargesHaveBeenSet |
bool | collectEnergy |
bool | dataCanBeSet |
DomainDecomposition | dd |
long long int | ddStep |
double | energy |
bool | energyHasBeenSet |
double | forceOnEnergy |
std::vector< Vector > | forces |
unsigned | forcesHaveBeenSet |
std::vector< int > | fullList |
std::vector< int > | g2l |
Map global indexes to local indexes E.g. More... | |
std::vector< int > | gatindex |
std::map< std::string, std::vector< AtomNumber > > | groups |
double | kbT |
bool | massAndChargeOK |
std::vector< double > | masses |
bool | massesHaveBeenSet |
double | md_energy |
std::unique_ptr< MDAtomsBase > | mdatoms |
bool | MDnaturalUnits |
Units | MDUnits |
int | natoms |
bool | naturalUnits |
Pbc & | pbc =*pbc_fwd |
ForwardDecl< Pbc > | pbc_fwd |
PlumedMain & | plumed |
std::vector< Vector > | positions |
unsigned | positionsHaveBeenSet |
unsigned | shuffledAtoms |
double | timestep |
std::vector< unsigned > | uniq_index |
std::vector< AtomNumber > | unique |
bool | unique_serial =false |
Units | units |
Tensor | virial |
bool | virialHasBeenSet |
std::vector< ActionWithVirtualAtom * > | virtualAtomsActions |
bool | zeroallforces |
if set to true, all the forces in the global array are zeroes at every step. More... | |
Friends | |
class | ActionAtomistic |
class | ActionWithVirtualAtom |
Class containing atom related quantities from the MD code.
IT IS STILL UNDOCUMENTED. IT PROBABLY NEEDS A STRONG CLEANUP
|
explicit |
PLMD::Atoms::~Atoms | ( | ) |
void PLMD::Atoms::add | ( | ActionAtomistic * | a | ) |
AtomNumber PLMD::Atoms::addVirtualAtom | ( | ActionWithVirtualAtom * | a | ) |
|
inline |
|
inline |
void PLMD::Atoms::clearFullList | ( | ) |
void PLMD::Atoms::createFullList | ( | const TypesafePtr & | n | ) |
void PLMD::Atoms::double2MD | ( | const double & | d, |
const TypesafePtr & | m | ||
) | const |
|
inline |
|
inline |
double PLMD::Atoms::getExtraCV | ( | const std::string & | name | ) |
void PLMD::Atoms::getFullList | ( | const TypesafePtr & | x | ) |
|
inline |
double PLMD::Atoms::getKBoltzmann | ( | ) | const |
double PLMD::Atoms::getKbT | ( | ) | const |
void PLMD::Atoms::getLocalForces | ( | std::vector< Vector > & | localForces | ) |
void PLMD::Atoms::getLocalMasses | ( | std::vector< double > & | localMasses | ) |
void PLMD::Atoms::getLocalMDForces | ( | std::vector< Vector > & | localForces | ) |
void PLMD::Atoms::getLocalPositions | ( | std::vector< Vector > & | localPositions | ) |
double PLMD::Atoms::getMDKBoltzmann | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
int PLMD::Atoms::getRealPrecision | ( | ) | const |
double PLMD::Atoms::getTimeStep | ( | ) | const |
|
inline |
|
inline |
|
inline |
void PLMD::Atoms::init | ( | ) |
void PLMD::Atoms::insertGroup | ( | const std::string & | name, |
const std::vector< AtomNumber > & | a | ||
) |
|
inline |
bool PLMD::Atoms::isExtraCVNeeded | ( | const std::string & | name | ) | const |
|
inline |
void PLMD::Atoms::MD2double | ( | const TypesafePtr & | m, |
double & | d | ||
) | const |
void PLMD::Atoms::readBinary | ( | std::istream & | i | ) |
void PLMD::Atoms::remove | ( | ActionAtomistic * | a | ) |
void PLMD::Atoms::removeGroup | ( | const std::string & | name | ) |
void PLMD::Atoms::removeVirtualAtom | ( | ActionWithVirtualAtom * | a | ) |
void PLMD::Atoms::resetExtraCVNeeded | ( | ) |
|
private |
void PLMD::Atoms::setAtomsContiguous | ( | int | start | ) |
void PLMD::Atoms::setAtomsGatindex | ( | const TypesafePtr & | g, |
bool | fortran | ||
) |
void PLMD::Atoms::setAtomsNlocal | ( | int | n | ) |
void PLMD::Atoms::setBox | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::setCharges | ( | const TypesafePtr & | p | ) |
|
inline |
void PLMD::Atoms::setDomainDecomposition | ( | Communicator & | comm | ) |
void PLMD::Atoms::setEnergy | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::setExtraCV | ( | const std::string & | name, |
const TypesafePtr & | p | ||
) |
void PLMD::Atoms::setExtraCVForce | ( | const std::string & | name, |
const TypesafePtr & | p | ||
) |
void PLMD::Atoms::setExtraCVNeeded | ( | const std::string & | name, |
bool | needed = true |
||
) |
void PLMD::Atoms::setForces | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::setForces | ( | const TypesafePtr & | p, |
int | i | ||
) |
void PLMD::Atoms::setKbT | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::setMasses | ( | const TypesafePtr & | p | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void PLMD::Atoms::setNatoms | ( | int | n | ) |
|
inline |
void PLMD::Atoms::setPositions | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::setPositions | ( | const TypesafePtr & | p, |
int | i | ||
) |
void PLMD::Atoms::setRealPrecision | ( | int | p | ) |
void PLMD::Atoms::setTimeStep | ( | const TypesafePtr & | p | ) |
|
inline |
void PLMD::Atoms::setVirial | ( | const TypesafePtr & | p | ) |
void PLMD::Atoms::share | ( | ) |
|
private |
void PLMD::Atoms::shareAll | ( | ) |
void PLMD::Atoms::startStep | ( | ) |
void PLMD::Atoms::updateExtraCVForce | ( | const std::string & | name, |
double | f | ||
) |
void PLMD::Atoms::updateForces | ( | ) |
void PLMD::Atoms::updateUnits | ( | ) |
|
inline |
void PLMD::Atoms::wait | ( | ) |
void PLMD::Atoms::writeBinary | ( | std::ostream & | o | ) | const |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Map global indexes to local indexes E.g.
g2l[i] is the position of atom i in the array passed from the MD engine. Called "global to local" since originally it was used to map global indexes to local ones used in domain decomposition. However, it is now also used for the NAMD-like interface, where only a small number of atoms is passed to plumed.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
if set to true, all the forces in the global array are zeroes at every step.
It should not be necessary in general, but it is for actions accessing to modifyGlobalForce() (e.g. FIT_TO_TEMPLATE).
Hosted by GitHub | 1.8.17 |