All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Functions | Variables
PLMD Namespace Reference

Namespaces

 analysis
 
 bias
 
 cltools
 
 colvar
 
 config
 
 crystallization
 
 function
 
 generic
 
 manyrestraints
 
 mapping
 
 molfile
 
 multicolvar
 
 secondarystructure
 
 setup
 
 vatom
 
 vesselbase
 

Classes

class  Action
 Base class for all the input Actions. More...
 
class  ActionAtomistic
 Action used to create objects that access the positions of the atoms from the MD code. More...
 
class  ActionOptions
 This class is used to bring the relevant information to the Action constructor. More...
 
class  ActionPilot
 This is used to create PLMD::Action objects that are run with some set frequency. More...
 
class  ActionRegister
 Register holding all the allowed keywords. More...
 
class  ActionSet
 std::vector containing the sequence of Action to be done. More...
 
class  ActionSetup
 Action used to create a PLMD::Action that do something during setup only e.g. More...
 
class  ActionWithArguments
 This is used to create PLMD::Action objects that take the output from some other Action as input. More...
 
class  ActionWithValue
 Used to create a PLMD::Action that has some scalar or vectorial output that may or may not have some derivatives. More...
 
class  ActionWithVirtualAtom
 Inherit from here if you are calculating the position of a virtual atom (eg a center of mass) More...
 
class  Angle
 Class to compute angles. More...
 
class  ArgumentOnlyDistance
 
class  AtomNumber
 Simple class to store the index of an atom. More...
 
class  Atoms
 Class containing atom related quantities from the MD code. More...
 
class  BiasRepresentation
 this class implements a general purpose class that aims to provide a Grid/list transparently add gaussians to a bias More...
 
class  BiasWeight
 
class  CH3Shifts
 Provides the keyword CH3SHIFTS More...
 
class  CInterpolation
 
class  Citations
 Class taking care of bibliography. More...
 
class  CLTool
 This is the abstract base class to use for implementing new command line tool, within it there is information as to how to go about implemneting a new tool. More...
 
class  CLToolMain
 Class providing cmd() access to command line tools. More...
 
class  CLToolOptions
 
class  CLToolRegister
 Same as ActionRegister, but for CLTools. More...
 
class  Colvar
 This is the abstract base class to use for implementing new collective variables, within it there is information as to how to go about implementing a new CV. More...
 
class  Communicator
 Class containing wrappers to MPI. More...
 
class  CS2Backbone
 Provides the keyword CS2BACKBONE More...
 
class  DLLoader
 Class taking care of dynamic loading. More...
 
class  DRMSD
 
class  DynamicList
 A class for storing a list that changes which members are active as a function of time. More...
 
class  EuclideanDistance
 
class  Exception
 Class to deal with Plumed runtime errors. More...
 
class  ExchangePatterns
 
class  FakeFrame
 
class  FileBase
 Base class for dealing with files. More...
 
class  FlexibleBin
 
class  GREX
 
class  Grid
 
class  HistogramBead
 A class for calculating whether or not values are within a given range using : \( \sum_i \int_a^b G( s_i, \sigma*(b-a) ) \). More...
 
class  IFile
 Class for input files. More...
 
class  IMD
 Provides the keyword IMD More...
 
class  InterpolateBicubic
 
class  InterpolateCubic
 
class  Kearsley
 
class  KernelFunctions
 
class  Keywords
 This class holds the keywords and their documentation. More...
 
class  LatticeReduction
 Class implementing algorithms for lattice reduction. More...
 
class  LinkCells
 A class for doing link cells. More...
 
class  Log
 Class containing the log stream. More...
 
class  Matrix
 This class stores a full matrix and allows one to do some simple matrix operations. More...
 
class  MatrixSquareBracketsAccess
 Utility class to add [][] access. More...
 
class  MDAtomsBase
 Class containing interface to MDAtomsTyped. More...
 
class  MDAtomsTyped
 Class containing the pointers to the MD data It is templated so that single and double precision versions coexist IT IS STILL UNDOCUMENTED. More...
 
class  MetricRegister
 
class  MolDataClass
 This class provides information on various kinds of molecules for instance the kinds of residues that are in a protein the atoms involved in the backbone of a particular residue etc. More...
 
class  MPI_Comm
 Surrogate of MPI_Comm when MPI library is not available. More...
 
class  MPI_Datatype
 Surrogate of MPI_Datatype when MPI library is not available. More...
 
class  MPI_Request
 Surrogate of MPI_Request when MPI library is not available. More...
 
class  MPI_Status
 Surrogate of MPI_Status when MPI library is not available. More...
 
class  MultiDomainRMSD
 
class  MultiReferenceBase
 
class  NeighborList
 A class that implements neighbor lists from two lists or a single list of atoms. More...
 
class  NormalizedEuclideanDistance
 
class  OFile
 Class for output files. More...
 
class  OptimalAlignment
 A class that is intended to include or combine various optimal alignment algorithms. More...
 
class  OptimalRMSD
 
class  Pbc
 
class  PDB
 Minimalistic pdb parser. More...
 
class  Plumed
 C++ wrapper for plumed. More...
 
class  PlumedMain
 Main plumed object. More...
 
class  PlumedMainInitializer
 Static object which registers Plumed. More...
 
class  PointWiseMapping
 
class  ProbWeight
 
class  Random
 
class  RDC
 Provides the keyword RDC More...
 
class  ReferenceArguments
 In many applications (e.g. More...
 
class  ReferenceAtoms
 In many applications (e.g. More...
 
class  ReferenceConfiguration
 
class  ReferenceConfigurationOptions
 Abstract base class for calculating the distance from a reference configuration. More...
 
class  RMSD
 A class that implements RMSD calculations This is a class that implements the various infrastructure to calculate the RMSD or MSD respect a given frame. More...
 
class  RMSDBase
 
class  SetupMolInfo
 
class  SimpleRMSD
 
class  SingleDomainRMSD
 
class  SparseGrid
 
class  Stopwatch
 Class implementing stopwatch to time execution. More...
 
class  SwitchingFunction
 Small class to compure switching functions. More...
 
class  TargetDist
 
class  TensorChecks
 Small auxiliary class. More...
 
class  TensorGeneric
 Class implementing fixed size matrices of doubles. More...
 
class  Tools
 Empty class which just contains several (static) tools. More...
 
class  Torsion
 Class to compute torsional angles. More...
 
class  Units
 Small utility class that contains information about units. More...
 
class  Value
 A class for holding the value of a function together with its derivatives. More...
 
class  VectorChecks
 Small auxiliary class. More...
 
class  VectorGeneric
 Class implementing fixed size vectors of doubles. More...
 
class  WeightBase
 
class  WithCmd
 Base for classes with cmd() method. More...
 

Typedefs

typedef TensorGeneric< 2, 2 > Tensor2d
 
typedef TensorGeneric< 3, 3 > Tensor3d
 
typedef TensorGeneric< 4, 4 > Tensor4d
 
typedef Tensor3d Tensor
 
typedef VectorGeneric< 2 > Vector2d
 Alias for two dimensional vectors. More...
 
typedef VectorGeneric< 3 > Vector3d
 Alias for three dimensional vectors. More...
 
typedef VectorGeneric< 4 > Vector4d
 Alias for four dimensional vectors. More...
 
typedef Vector3d Vector
 Alias for three dimensional vectors. More...
 

Functions

ActionRegisteractionRegister ()
 
std::ostream & operator<< (std::ostream &log, const ActionRegister &ar)
 
CLToolRegistercltoolRegister ()
 
std::ostream & operator<< (std::ostream &log, const CLToolRegister &ar)
 
void copy (const Value &val1, Value &val2)
 
void copy (const Value &val1, Value *val2)
 
void add (const Value &val1, Value *val2)
 
void product (const Value &val1, const Value &val2, Value &valout)
 
void quotient (const Value &val1, const Value &val2, Value *valout)
 
MetricRegistermetricRegister ()
 
double distance (const Pbc &pbc, const std::vector< Value * > &vals, ReferenceConfiguration *ref1, ReferenceConfiguration *ref2, const bool &squared)
 
bool operator< (const AtomNumber &a, const AtomNumber &b)
 
bool operator> (const AtomNumber &a, const AtomNumber &b)
 
bool operator<= (const AtomNumber &a, const AtomNumber &b)
 
bool operator>= (const AtomNumber &a, const AtomNumber &b)
 
bool operator== (const AtomNumber &a, const AtomNumber &b)
 
bool operator!= (const AtomNumber &a, const AtomNumber &b)
 
std::ostream & operator<< (std::ostream &log, const Citations &cit)
 
template<typename U >
void mpi_gatherActiveMembers (Communicator &comm, std::vector< DynamicList< U > > &ll)
 
template<typename T >
dotProduct (const std::vector< T > &A, const std::vector< T > &B)
 Calculate the dot product between two vectors. More...
 
template<typename T >
norm (const std::vector< T > &A)
 Calculate the dot product between a vector and itself. More...
 
template<typename T >
Matrix< T > operator* (T &v, const Matrix< T > &m)
 Multiply matrix by scalar. More...
 
template<typename T >
void mult (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
 
template<typename T >
void mult (const Matrix< T > &A, const std::vector< T > &B, std::vector< T > &C)
 
template<typename T >
void mult (const std::vector< T > &A, const Matrix< T > &B, std::vector< T > &C)
 
template<typename T >
void transpose (const Matrix< T > &A, Matrix< T > &AT)
 
template<typename T >
Logoperator<< (Log &ostr, const Matrix< T > &mat)
 
template<typename T >
void matrixOut (Log &ostr, const Matrix< T > &mat)
 
template<typename T >
int diagMat (const Matrix< T > &A, std::vector< double > &eigenvals, Matrix< double > &eigenvecs)
 
template<typename T >
int pseudoInvert (const Matrix< T > &A, Matrix< double > &pseudoinverse)
 
template<typename T >
int Invert (const Matrix< T > &A, Matrix< double > &inverse)
 
template<typename T >
void cholesky (const Matrix< T > &A, Matrix< T > &B)
 
template<typename T >
void chol_elsolve (const Matrix< T > &M, const std::vector< T > &b, std::vector< T > &y)
 
template<typename T >
int logdet (const Matrix< T > &M, double &ldet)
 
template<class T >
OFileoperator<< (OFile &of, const T &t)
 Write using << syntax. More...
 
Logoperator<< (Log &ostr, const PDB &pdb)
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &sw)
 
template<unsigned n, unsigned m>
TensorGeneric< n, moperator+ (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, moperator- (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, moperator* (const TensorGeneric< n, m > &t1, double s)
 
template<unsigned n, unsigned m>
TensorGeneric< n, moperator* (double s, const TensorGeneric< n, m > &t1)
 
template<unsigned n, unsigned m>
TensorGeneric< n, moperator/ (const TensorGeneric< n, m > &t1, double s)
 
template<unsigned n, unsigned m, unsigned l>
TensorGeneric< n, lmatmul (const TensorGeneric< n, m > &a, const TensorGeneric< m, l > &b)
 
template<unsigned n, unsigned m>
VectorGeneric< nmatmul (const TensorGeneric< n, m > &a, const VectorGeneric< m > &b)
 
template<unsigned n, unsigned m>
VectorGeneric< nmatmul (const VectorGeneric< m > &a, const TensorGeneric< m, n > &b)
 
template<unsigned n, unsigned m, unsigned l, unsigned i>
TensorGeneric< n, imatmul (const TensorGeneric< n, m > &a, const TensorGeneric< m, l > &b, const TensorGeneric< l, i > &c)
 
template<unsigned n, unsigned m, unsigned l>
VectorGeneric< nmatmul (const TensorGeneric< n, m > &a, const TensorGeneric< m, l > &b, const VectorGeneric< l > &c)
 
template<unsigned n, unsigned m, unsigned l>
VectorGeneric< lmatmul (const VectorGeneric< n > &a, const TensorGeneric< n, m > &b, const TensorGeneric< m, l > &c)
 
double determinant (const TensorGeneric< 3, 3 > &t)
 
TensorGeneric< 3, 3 > inverse (const TensorGeneric< 3, 3 > &t)
 
template<unsigned n, unsigned m>
TensorGeneric< n, mtranspose (const TensorGeneric< m, n > &t)
 
template<unsigned n, unsigned m>
TensorGeneric< n, mextProduct (const VectorGeneric< n > &v1, const VectorGeneric< m > &v2)
 
TensorGeneric< 3, 3 > dcrossDv1 (const VectorGeneric< 3 > &v1, const VectorGeneric< 3 > &v2)
 
TensorGeneric< 3, 3 > dcrossDv2 (const VectorGeneric< 3 > &v1, const VectorGeneric< 3 > &v2)
 
const double epsilon (std::numeric_limits< double >::epsilon())
 Very small non-zero number. More...
 
const double kBoltzmann (0.0083144621)
 Boltzman constant in kj/K. More...
 
const double pi (3.141592653589793238462643383279502884197169399375105820974944592307)
 PI. More...
 
template<unsigned n>
VectorGeneric< noperator+ (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n>
VectorGeneric< noperator- (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n>
VectorGeneric< noperator* (double s, const VectorGeneric< n > &v)
 
template<unsigned n>
VectorGeneric< noperator* (const VectorGeneric< n > &v, double s)
 
template<unsigned n>
VectorGeneric< noperator/ (const VectorGeneric< n > &v, double s)
 
template<unsigned n>
VectorGeneric< ndelta (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n>
double dotProduct (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
double dotProduct (const VectorGeneric< 2 > &v1, const VectorGeneric< 2 > &v2)
 
double dotProduct (const VectorGeneric< 3 > &v1, const VectorGeneric< 3 > &v2)
 
double dotProduct (const VectorGeneric< 4 > &v1, const VectorGeneric< 4 > &v2)
 
VectorGeneric< 3 > crossProduct (const VectorGeneric< 3 > &v1, const VectorGeneric< 3 > &v2)
 
template<unsigned n>
double modulo2 (const VectorGeneric< n > &v)
 
template<unsigned n>
double modulo (const VectorGeneric< n > &v)
 

Variables

static const bool shareMassAndChargeOnlyAtFirstStep =true
 We assume that charges and masses are constant along the simulation Set this to false if you want to revert to the original (expensive) behavior. More...
 
static class
PLMD::PlumedMainInitializer 
RegisterMe
 
const double epsilon =1e-14
 
static class PLMD::TensorChecks checks
 
static class PLMD::VectorChecks checks
 

Function Documentation

ActionRegister& PLMD::actionRegister ( )
related
void PLMD::add ( const Value &  val1,
Value *  val2 
)
template<typename T >
void PLMD::chol_elsolve ( const Matrix< T > &  M,
const std::vector< T > &  b,
std::vector< T > &  y 
)
template<typename T >
void PLMD::cholesky ( const Matrix< T > &  A,
Matrix< T > &  B 
)
CLToolRegister& PLMD::cltoolRegister ( )
related
void PLMD::copy ( const Value &  val1,
Value &  val2 
)
void PLMD::copy ( const Value &  val1,
Value *  val2 
)
VectorGeneric<3> PLMD::crossProduct ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline

v2 Only available for size 3

TensorGeneric<3,3> PLMD::dcrossDv1 ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline
TensorGeneric<3,3> PLMD::dcrossDv2 ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline
template<unsigned n>
VectorGeneric<n> PLMD::delta ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)
double PLMD::determinant ( const TensorGeneric< 3, 3 > &  t)
inline
template<typename T >
int PLMD::diagMat ( const Matrix< T > &  A,
std::vector< double > &  eigenvals,
Matrix< double > &  eigenvecs 
)
double PLMD::distance ( const Pbc &  pbc,
const std::vector< Value * > &  vals,
ReferenceConfiguration *  ref1,
ReferenceConfiguration *  ref2,
const bool &  squared 
)
template<typename T >
T PLMD::dotProduct ( const std::vector< T > &  A,
const std::vector< T > &  B 
)

Calculate the dot product between two vectors.

template<unsigned n>
double PLMD::dotProduct ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)
double PLMD::dotProduct ( const VectorGeneric< 2 > &  v1,
const VectorGeneric< 2 > &  v2 
)
inline
double PLMD::dotProduct ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline
double PLMD::dotProduct ( const VectorGeneric< 4 > &  v1,
const VectorGeneric< 4 > &  v2 
)
inline
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::extProduct ( const VectorGeneric< n > &  v1,
const VectorGeneric< m > &  v2 
)
TensorGeneric<3,3> PLMD::inverse ( const TensorGeneric< 3, 3 > &  t)
inline
template<typename T >
int PLMD::Invert ( const Matrix< T > &  A,
Matrix< double > &  inverse 
)
template<typename T >
int PLMD::logdet ( const Matrix< T > &  M,
double &  ldet 
)
template<unsigned n, unsigned m, unsigned l>
TensorGeneric<n,l> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const TensorGeneric< m, l > &  b 
)
template<unsigned n, unsigned m>
VectorGeneric<n> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const VectorGeneric< m > &  b 
)
template<unsigned n, unsigned m>
VectorGeneric<n> PLMD::matmul ( const VectorGeneric< m > &  a,
const TensorGeneric< m, n > &  b 
)
template<unsigned n, unsigned m, unsigned l, unsigned i>
TensorGeneric<n,i> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const TensorGeneric< m, l > &  b,
const TensorGeneric< l, i > &  c 
)
template<unsigned n, unsigned m, unsigned l>
VectorGeneric<n> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const TensorGeneric< m, l > &  b,
const VectorGeneric< l > &  c 
)
template<unsigned n, unsigned m, unsigned l>
VectorGeneric<l> PLMD::matmul ( const VectorGeneric< n > &  a,
const TensorGeneric< n, m > &  b,
const TensorGeneric< m, l > &  c 
)
template<typename T >
void PLMD::matrixOut ( Log &  ostr,
const Matrix< T > &  mat 
)
MetricRegister & PLMD::metricRegister ( )
template<unsigned n>
double PLMD::modulo ( const VectorGeneric< n > &  v)
template<unsigned n>
double PLMD::modulo2 ( const VectorGeneric< n > &  v)
template<typename U >
void PLMD::mpi_gatherActiveMembers ( Communicator &  comm,
std::vector< DynamicList< U > > &  ll 
)
template<typename T >
void PLMD::mult ( const Matrix< T > &  A,
const Matrix< T > &  B,
Matrix< T > &  C 
)
template<typename T >
void PLMD::mult ( const Matrix< T > &  A,
const std::vector< T > &  B,
std::vector< T > &  C 
)
template<typename T >
void PLMD::mult ( const std::vector< T > &  A,
const Matrix< T > &  B,
std::vector< T > &  C 
)
template<typename T >
T PLMD::norm ( const std::vector< T > &  A)

Calculate the dot product between a vector and itself.

bool PLMD::operator!= ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
template<typename T >
Matrix<T> PLMD::operator* ( T &  v,
const Matrix< T > &  m 
)

Multiply matrix by scalar.

template<unsigned n>
VectorGeneric<n> PLMD::operator* ( double  s,
const VectorGeneric< n > &  v 
)
template<unsigned n>
VectorGeneric<n> PLMD::operator* ( const VectorGeneric< n > &  v,
double  s 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator* ( const TensorGeneric< n, m > &  t1,
double  s 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator* ( double  s,
const TensorGeneric< n, m > &  t1 
)
template<unsigned n>
VectorGeneric<n> PLMD::operator+ ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator+ ( const TensorGeneric< n, m > &  t1,
const TensorGeneric< n, m > &  t2 
)
template<unsigned n>
VectorGeneric<n> PLMD::operator- ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator- ( const TensorGeneric< n, m > &  t1,
const TensorGeneric< n, m > &  t2 
)
template<unsigned n>
VectorGeneric<n> PLMD::operator/ ( const VectorGeneric< n > &  v,
double  s 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator/ ( const TensorGeneric< n, m > &  t1,
double  s 
)
bool PLMD::operator< ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
std::ostream & PLMD::operator<< ( std::ostream &  log,
const Citations &  cit 
)

It writes on the ostream the list of all the bibliographic items prefixed with their reference number

std::ostream& PLMD::operator<< ( std::ostream &  os,
const Stopwatch &  sw 
)
std::ostream & PLMD::operator<< ( std::ostream &  log,
const CLToolRegister &  ar 
)
std::ostream & PLMD::operator<< ( std::ostream &  log,
const ActionRegister &  ar 
)
template<typename T >
Log& PLMD::operator<< ( Log &  ostr,
const Matrix< T > &  mat 
)
Log& PLMD::operator<< ( Log &  ostr,
const PDB &  pdb 
)
template<class T >
OFile& PLMD::operator<< ( OFile &  of,
const T &  t 
)

Write using << syntax.

Formatted output with << operator.

bool PLMD::operator<= ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
bool PLMD::operator== ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
bool PLMD::operator> ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
bool PLMD::operator>= ( const AtomNumber &  a,
const AtomNumber &  b 
)
inline
void PLMD::product ( const Value &  val1,
const Value &  val2,
Value &  valout 
)
inline
template<typename T >
int PLMD::pseudoInvert ( const Matrix< T > &  A,
Matrix< double > &  pseudoinverse 
)
void PLMD::quotient ( const Value &  val1,
const Value &  val2,
Value *  valout 
)
inline
template<typename T >
void PLMD::transpose ( const Matrix< T > &  A,
Matrix< T > &  AT 
)
template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::transpose ( const TensorGeneric< m, n > &  t)

Variable Documentation

class PLMD::TensorChecks PLMD::checks
static
class PLMD::VectorChecks PLMD::checks
static
const double PLMD::epsilon =1e-14
class PLMD::PlumedMainInitializer PLMD::RegisterMe
static
const bool PLMD::shareMassAndChargeOnlyAtFirstStep =true
static

We assume that charges and masses are constant along the simulation Set this to false if you want to revert to the original (expensive) behavior.