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 (int *) |
void | double2MD (const double &d, void *m) const |
const long int & | getDdStep () const |
double | getEnergy () const |
double | getExtraCV (const std::string &name) |
void | getFullList (int **) |
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 | isVirtualAtom (AtomNumber) const |
void | MD2double (const void *m, double &d) const |
void | readBinary (std::istream &) |
void | remove (ActionAtomistic *) |
void | removeGroup (const std::string &name) |
void | removeVirtualAtom (ActionWithVirtualAtom *) |
void | setAtomsContiguous (int) |
void | setAtomsGatindex (int *, bool) |
void | setAtomsNlocal (int) |
void | setBox (void *) |
void | setCharges (void *) |
void | setCollectEnergy (bool b) |
void | setDomainDecomposition (Communicator &) |
void | setEnergy (void *) |
void | setExtraCV (const std::string &name, void *p) |
void | setExtraCVForce (const std::string &name, void *p) |
void | setForces (void *) |
void | setForces (void *, int) |
void | setKbT (void *) |
void | setMasses (void *) |
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 (void *) |
void | setPositions (void *, int) |
void | setRealPrecision (int) |
void | setTimeStep (void *) |
void | setUnits (const Units &u) |
void | setVirial (void *) |
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::set< 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 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::set< AtomNumber > | unique |
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 | ( | int * | n | ) |
void PLMD::Atoms::double2MD | ( | const double & | d, |
void * | m | ||
) | const |
|
inline |
|
inline |
double PLMD::Atoms::getExtraCV | ( | const std::string & | name | ) |
void PLMD::Atoms::getFullList | ( | int ** | 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 |
|
inline |
void PLMD::Atoms::MD2double | ( | const void * | 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 | ) |
|
private |
void PLMD::Atoms::setAtomsContiguous | ( | int | start | ) |
void PLMD::Atoms::setAtomsGatindex | ( | int * | g, |
bool | fortran | ||
) |
void PLMD::Atoms::setAtomsNlocal | ( | int | n | ) |
void PLMD::Atoms::setBox | ( | void * | p | ) |
void PLMD::Atoms::setCharges | ( | void * | p | ) |
|
inline |
void PLMD::Atoms::setDomainDecomposition | ( | Communicator & | comm | ) |
void PLMD::Atoms::setEnergy | ( | void * | p | ) |
void PLMD::Atoms::setExtraCV | ( | const std::string & | name, |
void * | p | ||
) |
void PLMD::Atoms::setExtraCVForce | ( | const std::string & | name, |
void * | p | ||
) |
void PLMD::Atoms::setForces | ( | void * | p | ) |
void PLMD::Atoms::setForces | ( | void * | p, |
int | i | ||
) |
void PLMD::Atoms::setKbT | ( | void * | p | ) |
void PLMD::Atoms::setMasses | ( | void * | p | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void PLMD::Atoms::setNatoms | ( | int | n | ) |
|
inline |
void PLMD::Atoms::setPositions | ( | void * | p | ) |
void PLMD::Atoms::setPositions | ( | void * | p, |
int | i | ||
) |
void PLMD::Atoms::setRealPrecision | ( | int | p | ) |
void PLMD::Atoms::setTimeStep | ( | void * | p | ) |
|
inline |
void PLMD::Atoms::setVirial | ( | void * | 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 |
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 |