22 #ifndef __PLUMED_core_ActionAtomistic_h
23 #define __PLUMED_core_ActionAtomistic_h
26 #include "tools/Tensor.h"
96 void parseAtomList(
const std::string&key,std::vector<AtomNumber> &t);
98 void parseAtomList(
const std::string&key,
const int num, std::vector<AtomNumber> &t);
102 void setForcesOnAtoms(
const std::vector<double>& forcesToApply,
unsigned ind=0 );
125 const std::set<AtomNumber> &
getUnique()
const;
Simple class to store the index of an atom.
const Vector & getPosition(int) const
Get position of i-th atom.
const double & getEnergy() const
Get energy.
static void registerKeywords(Keywords &keys)
Class implementing fixed size matrices of doubles.
Tensor & modifyVirial()
Get a reference to virial array.
Class implementing fixed size vectors of doubles.
AtomNumber getAbsoluteIndex(int i) const
Get the absolute index of an atom.
void error(const std::string &msg) const
Crash calculation and print documentation.
const std::vector< Vector > & getPositions() const
Get the array of all positions.
std::set< AtomNumber > unique
void parseAtomList(const std::string &key, std::vector< AtomNumber > &t)
Parse a list of atoms without a numbered keyword.
virtual void calculateNumericalDerivatives(ActionWithValue *a=NULL)
N.B.
Class containing atom related quantities from the MD code.
const Pbc & getPbc() const
Get reference to Pbc.
Used to create a PLMD::Action that has some scalar or vectorial output that may or may not have some ...
This class holds the keywords and their documentation.
This class is used to bring the relevant information to the Action constructor.
Action used to create objects that access the positions of the atoms from the MD code.
std::vector< Vector > positions
ActionAtomistic(const ActionOptions &ao)
void readAtomsFromPDB(const PDB &pdb)
Read in an input file containing atom positions and calculate the action for the atomic configuration...
Base class for all the input Actions.
std::vector< AtomNumber > indexes
double getCharge(int i) const
Get charge of i-th atom.
Vector pbcDistance(const Vector &, const Vector &) const
Compute the pbc distance between two positions.
void calculateAtomicNumericalDerivatives(ActionWithValue *a, const unsigned &startnum)
Numerical derivative routine to use when using Actions that inherit from BOTH ActionWithArguments and...
void requestAtoms(const std::vector< AtomNumber > &a)
Request an array of atoms.
std::vector< Vector > & modifyForces()
Get a reference to forces array.
const Tensor & getBox() const
Get position of i-th atom.
void setForcesOnAtoms(const std::vector< double > &forcesToApply, unsigned ind=0)
Add the forces to the atoms.
unsigned getNumberOfAtoms() const
Get number of available atoms.
std::vector< double > charges
const std::set< AtomNumber > & getUnique() const
double & modifyForceOnEnergy()
Get a reference to force on energy.
double getMass(int i) const
Get mass of i-th atom.
const std::vector< AtomNumber > & getAbsoluteIndexes() const
Get the vector of absolute indexes.
std::vector< Vector > forces
std::vector< double > masses