23 #include "core/ActionRegister.h"
31 namespace multicolvar{
80 static void registerKeywords(
Keywords& keys );
83 virtual double compute(
const unsigned& j );
89 PLUMED_REGISTER_ACTION(Distances,
"DISTANCES")
92 MultiColvar::registerKeywords( keys );
94 keys.use(
"MEAN"); keys.use(
"MIN"); keys.use(
"LESS_THAN"); keys.use(
"DHENERGY");
95 keys.use(
"MORE_THAN"); keys.use(
"BETWEEN"); keys.use(
"HISTOGRAM"); keys.use(
"MOMENTS");
96 keys.add(
"atoms-1",
"GROUP",
"Calculate the distance between each distinct pair of atoms in the group");
97 keys.add(
"atoms-2",
"GROUPA",
"Calculate the distances between all the atoms in GROUPA and all "
98 "the atoms in GROUPB. This must be used in conjuction with GROUPB.");
99 keys.add(
"atoms-2",
"GROUPB",
"Calculate the distances between all the atoms in GROUPA and all the atoms "
100 "in GROUPB. This must be used in conjuction with GROUPA.");
117 const double value=distance.
modulo();
118 const double invvalue=1.0/value;
void readAtoms(int &natoms)
Read in all the keywords that can be used to define atoms.
Vector getSeparation(const Vector &vec1, const Vector &vec2) const
Get the separation between a pair of vectors.
double modulo() const
Compute the modulo.
Class implementing fixed size vectors of doubles.
void checkRead()
Check if Action was properly read.
void readVesselKeywords()
Complete the setup of this object (this routine must be called after construction of ActionWithValue)...
void addCentralAtomDerivatives(const unsigned &iatom, const Tensor &der)
Add derivatives to the central atom position.
static TensorGeneric< n, n > identity()
return an identity tensor
This class holds the keywords and their documentation.
#define PLUMED_MULTICOLVAR_INIT(ao)
void addBoxDerivatives(const Tensor &)
Add some derivatives to the virial.
This class is used to bring the relevant information to the Action constructor.
void addAtomsDerivatives(const int &, const Vector &)
Add some derivatives for an atom.
const Vector & getPosition(unsigned) const
Get the position of atom iatom.
This is the abstract base class to use for creating distributions of colvars and functions thereof...
Provides the keyword DISTANCES
Vector getCentralAtom()
Get the position of the central atom.
bool isPeriodic()
Returns the number of coordinates of the field.
virtual double compute(const unsigned &j)
Actually compute the colvar.