Class containing atom related quantities from the MD code. More...
#include <Atoms.h>
Classes | |
class | DomainDecomposition |
Public Member Functions | |
Atoms (PlumedMain &plumed) | |
~Atoms () | |
void | init () |
void | share () |
void | shareAll () |
void | wait () |
void | updateForces () |
void | setRealPrecision (int) |
int | getRealPrecision () const |
void | setTimeStep (void *) |
double | getTimeStep () const |
void | setKbT (void *) |
double | getKbT () const |
void | setNatoms (int) |
const int & | getNatoms () const |
const long int & | getDdStep () const |
const std::vector< int > & | getGatindex () const |
const Pbc & | getPbc () const |
void | getLocalMasses (std::vector< double > &) |
void | getLocalPositions (std::vector< Vector > &) |
void | getLocalForces (std::vector< Vector > &) |
void | getLocalMDForces (std::vector< Vector > &) |
const Tensor & | getVirial () const |
void | setCollectEnergy (bool b) |
void | setDomainDecomposition (Communicator &) |
void | setAtomsGatindex (int *, bool) |
void | setAtomsContiguous (int) |
void | setAtomsNlocal (int) |
void | startStep () |
void | setEnergy (void *) |
void | setBox (void *) |
void | setVirial (void *) |
void | setPositions (void *) |
void | setPositions (void *, int) |
void | setForces (void *) |
void | setForces (void *, int) |
void | setMasses (void *) |
void | setCharges (void *) |
bool | chargesWereSet () const |
bool | boxWasSet () const |
void | MD2double (const void *m, double &d) const |
void | double2MD (const double &d, void *m) const |
void | createFullList (int *) |
void | getFullList (int **) |
void | clearFullList () |
void | add (ActionAtomistic *) |
void | remove (ActionAtomistic *) |
double | getEnergy () const |
bool | isEnergyNeeded () const |
void | setMDEnergyUnits (double d) |
void | setMDLengthUnits (double d) |
void | setMDTimeUnits (double d) |
void | setMDChargeUnits (double d) |
void | setMDMassUnits (double d) |
const Units & | getMDUnits () |
void | setUnits (const Units &u) |
const Units & | getUnits () |
void | updateUnits () |
AtomNumber | addVirtualAtom (ActionWithVirtualAtom *) |
void | removeVirtualAtom (ActionWithVirtualAtom *) |
ActionWithVirtualAtom * | getVirtualAtomsAction (AtomNumber) const |
bool | isVirtualAtom (AtomNumber) const |
void | insertGroup (const std::string &name, const std::vector< AtomNumber > &a) |
void | removeGroup (const std::string &name) |
void | writeBinary (std::ostream &) const |
void | readBinary (std::istream &) |
double | getKBoltzmann () const |
double | getMDKBoltzmann () const |
bool | usingNaturalUnits () const |
void | setNaturalUnits (bool n) |
void | setMDNaturalUnits (bool n) |
Private Member Functions | |
void | resizeVectors (unsigned) |
void | share (const std::set< AtomNumber > &) |
Private Attributes | |
int | natoms |
std::set< AtomNumber > | unique |
std::vector< unsigned > | uniq_index |
std::vector< int > | g2l |
Map global indexes to local indexes E.g. More... | |
std::vector< Vector > | positions |
std::vector< Vector > | forces |
std::vector< double > | masses |
std::vector< double > | charges |
std::vector< ActionWithVirtualAtom * > | virtualAtomsActions |
Tensor | box |
Pbc & | pbc |
Tensor | virial |
double | md_energy |
double | energy |
bool | dataCanBeSet |
bool | collectEnergy |
bool | energyHasBeenSet |
unsigned | positionsHaveBeenSet |
bool | massesHaveBeenSet |
bool | chargesHaveBeenSet |
bool | boxHasBeenSet |
unsigned | forcesHaveBeenSet |
bool | virialHasBeenSet |
bool | massAndChargeOK |
unsigned | shuffledAtoms |
std::map< std::string, std::vector< AtomNumber > > | groups |
std::vector< int > | fullList |
MDAtomsBase * | mdatoms |
PlumedMain & | plumed |
Units | MDUnits |
Units | units |
bool | naturalUnits |
bool | MDnaturalUnits |
double | timestep |
double | forceOnEnergy |
bool | zeroallforces |
if set to true, all the forces in the global array are zeroes at every step. More... | |
double | kbT |
std::vector< ActionAtomistic * > | actions |
std::vector< int > | gatindex |
bool | asyncSent |
bool | atomsNeeded |
DomainDecomposition | dd |
long int | ddStep |
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 |
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 |
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::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 | ) |
|
private |
void PLMD::Atoms::share | ( | ) |
void PLMD::Atoms::shareAll | ( | ) |
void PLMD::Atoms::startStep | ( | ) |
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.14 |