All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PLMD::Atoms Class Reference

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 setNatoms (int)
 
const int & getNatoms () const
 
void setCollectEnergy (bool b)
 
void setDomainDecomposition (Communicator &)
 
void setAtomsGatindex (int *)
 
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 (const ActionAtomistic *)
 
void remove (const ActionAtomistic *)
 
double getEnergy () const
 
bool isEnergyNeeded () const
 
void setMDEnergyUnits (double d)
 
void setMDLengthUnits (double d)
 
void setMDTimeUnits (double d)
 
const UnitsgetMDUnits ()
 
void setUnits (const Units &u)
 
const UnitsgetUnits ()
 
void updateUnits ()
 
AtomNumber addVirtualAtom (ActionWithVirtualAtom *)
 
void removeVirtualAtom (ActionWithVirtualAtom *)
 
ActionWithVirtualAtomgetVirtualAtomsAction (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)
 
VectormodifyPosition (AtomNumber i)
 

Private Member Functions

void resizeVectors (unsigned)
 
void share (const std::set< AtomNumber > &)
 

Private Attributes

int natoms
 
std::vector< Vectorpositions
 
std::vector< Vectorforces
 
std::vector< double > masses
 
std::vector< double > charges
 
std::vector
< ActionWithVirtualAtom * > 
virtualAtomsActions
 
Tensor box
 
Pbcpbc
 
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
 
std::map< std::string,
std::vector< AtomNumber > > 
groups
 
std::vector< int > fullList
 
MDAtomsBasemdatoms
 
PlumedMainplumed
 
Units MDUnits
 
Units units
 
bool naturalUnits
 
bool MDnaturalUnits
 
double timestep
 
double forceOnEnergy
 
std::vector< const
ActionAtomistic * > 
actions
 
std::vector< int > gatindex
 
DomainDecomposition dd
 

Friends

class ActionAtomistic
 
class ActionWithVirtualAtom
 

Detailed Description

Class containing atom related quantities from the MD code.

IT IS STILL UNDOCUMENTED. IT PROBABLY NEEDS A STRONG CLEANUP

Definition at line 45 of file Atoms.h.

Constructor & Destructor Documentation

PLMD::Atoms::Atoms ( PlumedMain plumed)

Definition at line 37 of file Atoms.cpp.

PLMD::Atoms::~Atoms ( )

Definition at line 58 of file Atoms.cpp.

Member Function Documentation

void PLMD::Atoms::add ( const ActionAtomistic a)

Definition at line 261 of file Atoms.cpp.

AtomNumber PLMD::Atoms::addVirtualAtom ( ActionWithVirtualAtom a)

Definition at line 370 of file Atoms.cpp.

bool PLMD::Atoms::boxWasSet ( ) const
inline

Definition at line 226 of file Atoms.h.

bool PLMD::Atoms::chargesWereSet ( ) const
inline

Definition at line 221 of file Atoms.h.

void PLMD::Atoms::clearFullList ( )

Definition at line 346 of file Atoms.cpp.

void PLMD::Atoms::createFullList ( int *  n)

Definition at line 330 of file Atoms.cpp.

void PLMD::Atoms::double2MD ( const double &  d,
void *  m 
) const

Definition at line 314 of file Atoms.cpp.

double PLMD::Atoms::getEnergy ( ) const
inline

Definition at line 172 of file Atoms.h.

void PLMD::Atoms::getFullList ( int **  x)

Definition at line 341 of file Atoms.cpp.

double PLMD::Atoms::getKBoltzmann ( ) const

Definition at line 407 of file Atoms.cpp.

double PLMD::Atoms::getMDKBoltzmann ( ) const

Definition at line 412 of file Atoms.cpp.

const Units& PLMD::Atoms::getMDUnits ( )
inline

Definition at line 179 of file Atoms.h.

const int & PLMD::Atoms::getNatoms ( ) const
inline

Definition at line 201 of file Atoms.h.

int PLMD::Atoms::getRealPrecision ( ) const

Definition at line 307 of file Atoms.cpp.

double PLMD::Atoms::getTimeStep ( ) const

Definition at line 326 of file Atoms.cpp.

const Units& PLMD::Atoms::getUnits ( )
inline

Definition at line 181 of file Atoms.h.

ActionWithVirtualAtom * PLMD::Atoms::getVirtualAtomsAction ( AtomNumber  i) const
inline

Definition at line 211 of file Atoms.h.

void PLMD::Atoms::init ( )

Definition at line 350 of file Atoms.cpp.

void PLMD::Atoms::insertGroup ( const std::string &  name,
const std::vector< AtomNumber > &  a 
)

Definition at line 384 of file Atoms.cpp.

bool PLMD::Atoms::isEnergyNeeded ( ) const
inline

Definition at line 174 of file Atoms.h.

bool PLMD::Atoms::isVirtualAtom ( AtomNumber  i) const
inline

Definition at line 206 of file Atoms.h.

void PLMD::Atoms::MD2double ( const void *  m,
double &  d 
) const

Definition at line 311 of file Atoms.cpp.

Vector& PLMD::Atoms::modifyPosition ( AtomNumber  i)
inline

Definition at line 197 of file Atoms.h.

void PLMD::Atoms::readBinary ( std::istream &  i)

Definition at line 400 of file Atoms.cpp.

void PLMD::Atoms::remove ( const ActionAtomistic a)

Definition at line 265 of file Atoms.cpp.

void PLMD::Atoms::removeGroup ( const std::string &  name)

Definition at line 389 of file Atoms.cpp.

void PLMD::Atoms::removeVirtualAtom ( ActionWithVirtualAtom a)

Definition at line 377 of file Atoms.cpp.

void PLMD::Atoms::resizeVectors ( unsigned  n)
private

Definition at line 363 of file Atoms.cpp.

void PLMD::Atoms::setAtomsContiguous ( int  start)

Definition at line 296 of file Atoms.cpp.

void PLMD::Atoms::setAtomsGatindex ( int *  g)

Definition at line 289 of file Atoms.cpp.

void PLMD::Atoms::setAtomsNlocal ( int  n)

Definition at line 278 of file Atoms.cpp.

void PLMD::Atoms::setBox ( void *  p)

Definition at line 72 of file Atoms.cpp.

void PLMD::Atoms::setCharges ( void *  p)

Definition at line 90 of file Atoms.cpp.

void PLMD::Atoms::setCollectEnergy ( bool  b)
inline

Definition at line 142 of file Atoms.h.

void PLMD::Atoms::setDomainDecomposition ( Communicator comm)

Definition at line 359 of file Atoms.cpp.

void PLMD::Atoms::setEnergy ( void *  p)

Definition at line 102 of file Atoms.cpp.

void PLMD::Atoms::setForces ( void *  p)

Definition at line 109 of file Atoms.cpp.

void PLMD::Atoms::setForces ( void *  p,
int  i 
)

Definition at line 122 of file Atoms.cpp.

void PLMD::Atoms::setMasses ( void *  p)

Definition at line 83 of file Atoms.cpp.

void PLMD::Atoms::setMDEnergyUnits ( double  d)
inline

Definition at line 176 of file Atoms.h.

void PLMD::Atoms::setMDLengthUnits ( double  d)
inline

Definition at line 177 of file Atoms.h.

void PLMD::Atoms::setMDNaturalUnits ( bool  n)
inline

Definition at line 196 of file Atoms.h.

void PLMD::Atoms::setMDTimeUnits ( double  d)
inline

Definition at line 178 of file Atoms.h.

void PLMD::Atoms::setNatoms ( int  n)

Definition at line 250 of file Atoms.cpp.

void PLMD::Atoms::setNaturalUnits ( bool  n)
inline

Definition at line 195 of file Atoms.h.

void PLMD::Atoms::setPositions ( void *  p)

Definition at line 77 of file Atoms.cpp.

void PLMD::Atoms::setPositions ( void *  p,
int  i 
)

Definition at line 116 of file Atoms.cpp.

void PLMD::Atoms::setRealPrecision ( int  p)

Definition at line 302 of file Atoms.cpp.

void PLMD::Atoms::setTimeStep ( void *  p)

Definition at line 322 of file Atoms.cpp.

void PLMD::Atoms::setUnits ( const Units u)
inline

Definition at line 180 of file Atoms.h.

void PLMD::Atoms::setVirial ( void *  p)

Definition at line 96 of file Atoms.cpp.

void PLMD::Atoms::share ( const std::set< AtomNumber > &  unique)
private

Definition at line 145 of file Atoms.cpp.

void PLMD::Atoms::share ( )

Definition at line 128 of file Atoms.cpp.

void PLMD::Atoms::shareAll ( )

Definition at line 138 of file Atoms.cpp.

void PLMD::Atoms::startStep ( )

Definition at line 66 of file Atoms.cpp.

void PLMD::Atoms::updateForces ( )

Definition at line 237 of file Atoms.cpp.

void PLMD::Atoms::updateUnits ( )

Definition at line 318 of file Atoms.cpp.

bool PLMD::Atoms::usingNaturalUnits ( ) const
inline

Definition at line 216 of file Atoms.h.

void PLMD::Atoms::wait ( )

Definition at line 204 of file Atoms.cpp.

void PLMD::Atoms::writeBinary ( std::ostream &  o) const

Definition at line 394 of file Atoms.cpp.

Friends And Related Function Documentation

friend class ActionAtomistic
friend

Definition at line 47 of file Atoms.h.

friend class ActionWithVirtualAtom
friend

Definition at line 48 of file Atoms.h.

Member Data Documentation

std::vector<const ActionAtomistic*> PLMD::Atoms::actions
private

Definition at line 92 of file Atoms.h.

Tensor PLMD::Atoms::box
private

Definition at line 55 of file Atoms.h.

bool PLMD::Atoms::boxHasBeenSet
private

Definition at line 69 of file Atoms.h.

std::vector<double> PLMD::Atoms::charges
private

Definition at line 53 of file Atoms.h.

bool PLMD::Atoms::chargesHaveBeenSet
private

Definition at line 68 of file Atoms.h.

bool PLMD::Atoms::collectEnergy
private

Definition at line 64 of file Atoms.h.

bool PLMD::Atoms::dataCanBeSet
private

Definition at line 63 of file Atoms.h.

DomainDecomposition PLMD::Atoms::dd
private

Definition at line 117 of file Atoms.h.

double PLMD::Atoms::energy
private

Definition at line 61 of file Atoms.h.

bool PLMD::Atoms::energyHasBeenSet
private

Definition at line 65 of file Atoms.h.

double PLMD::Atoms::forceOnEnergy
private

Definition at line 90 of file Atoms.h.

std::vector<Vector> PLMD::Atoms::forces
private

Definition at line 51 of file Atoms.h.

unsigned PLMD::Atoms::forcesHaveBeenSet
private

Definition at line 70 of file Atoms.h.

std::vector<int> PLMD::Atoms::fullList
private

Definition at line 77 of file Atoms.h.

std::vector<int> PLMD::Atoms::gatindex
private

Definition at line 93 of file Atoms.h.

std::map<std::string,std::vector<AtomNumber> > PLMD::Atoms::groups
private

Definition at line 73 of file Atoms.h.

std::vector<double> PLMD::Atoms::masses
private

Definition at line 52 of file Atoms.h.

bool PLMD::Atoms::massesHaveBeenSet
private

Definition at line 67 of file Atoms.h.

double PLMD::Atoms::md_energy
private

Definition at line 59 of file Atoms.h.

MDAtomsBase* PLMD::Atoms::mdatoms
private

Definition at line 79 of file Atoms.h.

bool PLMD::Atoms::MDnaturalUnits
private

Definition at line 87 of file Atoms.h.

Units PLMD::Atoms::MDUnits
private

Definition at line 83 of file Atoms.h.

int PLMD::Atoms::natoms
private

Definition at line 49 of file Atoms.h.

bool PLMD::Atoms::naturalUnits
private

Definition at line 86 of file Atoms.h.

Pbc& PLMD::Atoms::pbc
private

Definition at line 56 of file Atoms.h.

PlumedMain& PLMD::Atoms::plumed
private

Definition at line 81 of file Atoms.h.

std::vector<Vector> PLMD::Atoms::positions
private

Definition at line 50 of file Atoms.h.

unsigned PLMD::Atoms::positionsHaveBeenSet
private

Definition at line 66 of file Atoms.h.

double PLMD::Atoms::timestep
private

Definition at line 89 of file Atoms.h.

Units PLMD::Atoms::units
private

Definition at line 84 of file Atoms.h.

Tensor PLMD::Atoms::virial
private

Definition at line 57 of file Atoms.h.

bool PLMD::Atoms::virialHasBeenSet
private

Definition at line 71 of file Atoms.h.

std::vector<ActionWithVirtualAtom*> PLMD::Atoms::virtualAtomsActions
private

Definition at line 54 of file Atoms.h.


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