Namespaces | Classes | Typedefs | Functions | Variables
PLMD Namespace Reference

Namespaces

 adjmat
 
 analysis
 
 bias
 
 blas
 
 cltools
 
 colvar
 
 config
 
 crystallization
 
 dimred
 
 drr
 
 eds
 
 function
 
 generic
 
 gridtools
 
 h36
 Tiny namespace for hybrid36 format.
 
 isdb
 
 lapack
 
 lepton
 
 logmfd
 
 manyrestraints
 
 mapping
 
 molfile
 
 multicolvar
 
 pamm
 
 piv
 
 secondarystructure
 
 setup
 
 vatom
 
 ves
 
 vesselbase
 

Classes

class  Action
 Base class for all the input Actions. More...
 
class  ActionAnyorder
 
Action used to create a PLMD::Action that can go both before and after ActionSetup 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  ActionShortcut
 
Action used to create a command that expands to multiple PLMD::Action commands when read in during input 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  Brent1DRootSearch
 A class for doing parabolic interpolation and minimisation of 1D functions using Brent's method. More...
 
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  ConjugateGradient
 
class  DataFetchingObject
 
class  DataFetchingObjectTyped
 
class  Direction
 
class  DLLoader
 Class taking care of dynamic loading. More...
 
class  DotProductDistance
 
class  DRMSD
 
class  DynamicList
 
A class for storing a list that changes which members are active as a function of time. More...
 
class  ERMSD
 A class that implements ERMSD calculations. More...
 
class  EuclideanDistance
 
class  Exception
 
Class to deal with Plumed runtime errors. More...
 
class  ExceptionDebug
 Class representing a debug error (can only be thrown when using debug options) More...
 
class  ExceptionError
 Class representing a generic error. More...
 
class  ExchangePatterns
 
class  F1dim
 
class  FakeFrame
 
class  FileBase
 
Base class for dealing with files. More...
 
class  FlexibleBin
 
class  ForwardDecl
 Utility class for forward declaration of references. More...
 
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  IntermolecularDRMSD
 
class  IntramolecularDRMSD
 
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  LoopUnroller
 
Utiliy class for loop unrolling. More...
 
class  MahalanobisDistance
 
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  Minimise1DBrent
 A class for doing parabolic interpolation and minimisation of 1D functions using Brent's method. More...
 
class  MinimiseBase
 
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  MultiValue
 
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  OpenMP
 
struct  OpenMPVars
 
class  OptimalRMSD
 
class  Pbc
 
class  PDB
 Minimalistic pdb parser. More...
 
class  Plumed
 C++ wrapper for plumed. More...
 
class  PlumedHandle
 
Tiny local class to load a PLUMED kernel. More...
 
class  PlumedMain
 
Main plumed object. More...
 
class  PlumedMainInitializer
 Static object which registers Plumed. More...
 
class  ProbWeight
 
class  Random
 
class  ReferenceArguments
 In many applications (e.g. More...
 
class  ReferenceAtoms
 In many applications (e.g. More...
 
class  ReferenceConfiguration
 Abstract base class for calculating the distance from a reference configuration. More...
 
class  ReferenceConfigurationOptions
 
class  ReferenceValuePack
 
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  RMSDCoreData
 this is a class which is needed to share information across the various non-threadsafe routines so that the public function of rmsd are threadsafe while the inner core can safely share information More...
 
class  RootFindingBase
 
class  SetupMolInfo
 
class  SimpleRMSD
 
class  SingleDomainRMSD
 
class  SparseGrid
 
class  Stopwatch
 
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  TensorGenericAux
 Small class to contain local utilities. 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 Tensor3d Tensor
 
typedef TensorGeneric< 1, 1 > Tensor1d
 
typedef TensorGeneric< 2, 2 > Tensor2d
 
typedef TensorGeneric< 3, 3 > Tensor3d
 
typedef TensorGeneric< 4, 4 > Tensor4d
 
typedef TensorGeneric< 5, 5 > Tensor5d
 
typedef Vector3d Vector
 Alias for three dimensional vectors. More...
 
typedef VectorGeneric< 1 > Vector1d
 Alias for one dimensional vectors. More...
 
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 VectorGeneric< 5 > Vector5d
 Alias for five dimensional vectors. More...
 

Functions

ActionRegisteractionRegister ()
 
void add (const Value &val1, Value *val2)
 
template<typename T >
void chol_elsolve (const Matrix< T > &M, const std::vector< T > &b, std::vector< T > &y)
 
template<typename T >
void cholesky (const Matrix< T > &A, Matrix< T > &B)
 
CLToolRegistercltoolRegister ()
 
void copy (const Value &val1, Value &val2)
 
void copy (const Value &val1, Value *val2)
 
VectorGeneric< 3 > crossProduct (const VectorGeneric< 3 > &v1, const VectorGeneric< 3 > &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)
 
template<unsigned n>
VectorGeneric< n > delta (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
TensorGeneric< 3, 3 > deriNorm (const VectorGeneric< 3 > &v1, const TensorGeneric< 3, 3 > &v2)
 
double determinant (const TensorGeneric< 3, 3 > &t)
 
template<typename T >
int diagMat (const Matrix< T > &A, std::vector< double > &eigenvals, Matrix< double > &eigenvecs)
 
template<unsigned n, unsigned m>
void diagMatSym (const TensorGeneric< n, n > &mat, VectorGeneric< m > &evals, TensorGeneric< m, n > &evec)
 
double distance (const Pbc &pbc, const std::vector< Value *> &vals, ReferenceConfiguration *ref1, ReferenceConfiguration *ref2, const bool &squared)
 
template<typename T >
dotProduct (const std::vector< T > &A, const std::vector< T > &B)
 Calculate the dot product between two vectors. More...
 
template<unsigned n>
double dotProduct (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
const double epsilon (std::numeric_limits< double >::epsilon())
 Very small non-zero number. More...
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > extProduct (const VectorGeneric< n > &v1, const VectorGeneric< m > &v2)
 
static OpenMPVarsgetOpenMPVars ()
 
bool indexed_lt (pair< Grid::index_t, double > const &x, pair< Grid::index_t, double > const &y)
 
TensorGeneric< 3, 3 > inverse (const TensorGeneric< 3, 3 > &t)
 
template<typename T >
int Invert (const Matrix< T > &A, Matrix< double > &inverse)
 
const double kBoltzmann (0.0083144621)
 Boltzman constant in kj/K. More...
 
template<typename T >
int logdet (const Matrix< T > &M, double &ldet)
 
template<unsigned n, unsigned m, unsigned l>
TensorGeneric< n, l > matmul (const TensorGeneric< n, m > &a, const TensorGeneric< m, l > &b)
 
template<unsigned n, unsigned m>
VectorGeneric< n > matmul (const TensorGeneric< n, m > &a, const VectorGeneric< m > &b)
 
template<unsigned n, unsigned m>
VectorGeneric< n > matmul (const VectorGeneric< m > &a, const TensorGeneric< m, n > &b)
 
template<unsigned n_>
double matmul (const VectorGeneric< n_ > &a, const VectorGeneric< n_ > &b)
 
template<unsigned n, unsigned m, unsigned l, unsigned i>
TensorGeneric< n, i > 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 > matmul (const TensorGeneric< n, m > &a, const TensorGeneric< m, l > &b, const VectorGeneric< l > &c)
 
template<unsigned n, unsigned m, unsigned l>
VectorGeneric< l > matmul (const VectorGeneric< n > &a, const TensorGeneric< n, m > &b, const TensorGeneric< m, l > &c)
 
template<unsigned n, unsigned m>
double matmul (const VectorGeneric< n > &a, const TensorGeneric< n, m > &b, const VectorGeneric< m > &c)
 
template<typename T >
void matrixOut (Log &ostr, const Matrix< T > &mat)
 
MetricRegistermetricRegister ()
 
template<unsigned n>
double modulo (const VectorGeneric< n > &v)
 
template<unsigned n>
double modulo2 (const VectorGeneric< n > &v)
 
template<typename U >
void mpi_gatherActiveMembers (Communicator &comm, std::vector< DynamicList< U > > &ll)
 
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 >
norm (const std::vector< T > &A)
 Calculate the dot product between a vector and itself. More...
 
bool operator!= (const AtomNumber &a, const AtomNumber &b)
 
template<typename T >
Matrix< T > operator* (T &v, const Matrix< T > &m)
 Multiply matrix by scalar. More...
 
template<unsigned n>
VectorGeneric< n > operator* (double s, const VectorGeneric< n > &v)
 
template<unsigned n>
VectorGeneric< n > operator* (const VectorGeneric< n > &v, double s)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator* (const TensorGeneric< n, m > &t1, double s)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator* (double s, const TensorGeneric< n, m > &t1)
 
template<unsigned n>
VectorGeneric< n > operator+ (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator+ (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
template<unsigned n>
VectorGeneric< n > operator- (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator- (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
template<unsigned n>
VectorGeneric< n > operator/ (const VectorGeneric< n > &v, double s)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator/ (const TensorGeneric< n, m > &t1, double s)
 
bool operator< (const AtomNumber &a, const AtomNumber &b)
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &sw)
 
std::ostream & operator<< (std::ostream &log, const Citations &cit)
 
std::ostream & operator<< (std::ostream &log, const CLToolRegister &ar)
 
std::ostream & operator<< (std::ostream &log, const ActionRegister &ar)
 
template<typename T >
Logoperator<< (Log &ostr, const Matrix< T > &mat)
 
template<class T >
OFileoperator<< (OFile &of, const T &t)
 Write using << syntax. More...
 
template<unsigned n>
std::ostream & operator<< (std::ostream &os, const VectorGeneric< n > &v)
 
template<unsigned n, unsigned m>
std::ostream & operator<< (std::ostream &os, const TensorGeneric< n, m > &t)
 
Logoperator<< (Log &ostr, const PDB &pdb)
 
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)
 
const double pi (3.141592653589793238462643383279502884197169399375105820974944592307)
 PI. More...
 
void product (const Value &val1, const Value &val2, Value &valout)
 
template<typename T >
int pseudoInvert (const Matrix< T > &A, Matrix< double > &pseudoinverse)
 
void quotient (const Value &val1, const Value &val2, Value *valout)
 
static const std::string & StopwatchEmptyString () noexcept
 Return an empty string. More...
 
static void testThrow (const char *what)
 Small utility just used in this file to throw arbitrary exceptions. More...
 
template<typename T >
void transpose (const Matrix< T > &A, Matrix< T > &AT)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > transpose (const TensorGeneric< m, n > &t)
 
TensorGeneric< 3, 3 > VcrossTensor (const VectorGeneric< 3 > &v1, const TensorGeneric< 3, 3 > &v2)
 
TensorGeneric< 3, 3 > VcrossTensor (const TensorGeneric< 3, 3 > &v2, const VectorGeneric< 3 > &v1)
 

Variables

static class PLMD::TensorChecks checks
 
static class PLMD::VectorChecks checks
 
const double epsilon =1e-14
 
static class PLMD::PlumedMainInitializer PlumedMainInitializerRegisterMe
 
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...
 

Function Documentation

◆ actionRegister()

ActionRegister& PLMD::actionRegister ( )
related

◆ add()

void PLMD::add ( const Value val1,
Value val2 
)

◆ chol_elsolve()

template<typename T >
void PLMD::chol_elsolve ( const Matrix< T > &  M,
const std::vector< T > &  b,
std::vector< T > &  y 
)

◆ cholesky()

template<typename T >
void PLMD::cholesky ( const Matrix< T > &  A,
Matrix< T > &  B 
)

◆ cltoolRegister()

CLToolRegister& PLMD::cltoolRegister ( )
related

◆ copy() [1/2]

void PLMD::copy ( const Value val1,
Value val2 
)

◆ copy() [2/2]

void PLMD::copy ( const Value val1,
Value val2 
)

◆ crossProduct()

VectorGeneric<3> PLMD::crossProduct ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline

v2 Only available for size 3

◆ dcrossDv1()

TensorGeneric<3,3> PLMD::dcrossDv1 ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline

◆ dcrossDv2()

TensorGeneric<3,3> PLMD::dcrossDv2 ( const VectorGeneric< 3 > &  v1,
const VectorGeneric< 3 > &  v2 
)
inline

◆ delta()

template<unsigned n>
VectorGeneric<n> PLMD::delta ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)

◆ deriNorm()

TensorGeneric<3,3> PLMD::deriNorm ( const VectorGeneric< 3 > &  v1,
const TensorGeneric< 3, 3 > &  v2 
)
inline

◆ determinant()

double PLMD::determinant ( const TensorGeneric< 3, 3 > &  t)
inline

◆ diagMat()

template<typename T >
int PLMD::diagMat ( const Matrix< T > &  A,
std::vector< double > &  eigenvals,
Matrix< double > &  eigenvecs 
)

◆ diagMatSym()

template<unsigned n, unsigned m>
void PLMD::diagMatSym ( const TensorGeneric< n, n > &  mat,
VectorGeneric< m > &  evals,
TensorGeneric< m, n > &  evec 
)

◆ distance()

double PLMD::distance ( const Pbc pbc,
const std::vector< Value *> &  vals,
ReferenceConfiguration ref1,
ReferenceConfiguration ref2,
const bool &  squared 
)

◆ dotProduct() [1/2]

template<typename T >
T PLMD::dotProduct ( const std::vector< T > &  A,
const std::vector< T > &  B 
)

Calculate the dot product between two vectors.

◆ dotProduct() [2/2]

template<unsigned n>
double PLMD::dotProduct ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)

◆ extProduct()

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::extProduct ( const VectorGeneric< n > &  v1,
const VectorGeneric< m > &  v2 
)

◆ getOpenMPVars()

static OpenMPVars& PLMD::getOpenMPVars ( )
static

◆ indexed_lt()

bool PLMD::indexed_lt ( pair< Grid::index_t, double > const &  x,
pair< Grid::index_t, double > const &  y 
)

◆ inverse()

TensorGeneric<3,3> PLMD::inverse ( const TensorGeneric< 3, 3 > &  t)
inline

◆ Invert()

template<typename T >
int PLMD::Invert ( const Matrix< T > &  A,
Matrix< double > &  inverse 
)

◆ logdet()

template<typename T >
int PLMD::logdet ( const Matrix< T > &  M,
double &  ldet 
)

◆ matmul() [1/8]

template<unsigned n, unsigned m, unsigned l>
TensorGeneric<n,l> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const TensorGeneric< m, l > &  b 
)

◆ matmul() [2/8]

template<unsigned n, unsigned m>
VectorGeneric<n> PLMD::matmul ( const TensorGeneric< n, m > &  a,
const VectorGeneric< m > &  b 
)

◆ matmul() [3/8]

template<unsigned n, unsigned m>
VectorGeneric<n> PLMD::matmul ( const VectorGeneric< m > &  a,
const TensorGeneric< m, n > &  b 
)

◆ matmul() [4/8]

template<unsigned n_>
double PLMD::matmul ( const VectorGeneric< n_ > &  a,
const VectorGeneric< n_ > &  b 
)

◆ matmul() [5/8]

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 
)

◆ matmul() [6/8]

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 
)

◆ matmul() [7/8]

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 
)

◆ matmul() [8/8]

template<unsigned n, unsigned m>
double PLMD::matmul ( const VectorGeneric< n > &  a,
const TensorGeneric< n, m > &  b,
const VectorGeneric< m > &  c 
)

◆ matrixOut()

template<typename T >
void PLMD::matrixOut ( Log ostr,
const Matrix< T > &  mat 
)

◆ metricRegister()

MetricRegister & PLMD::metricRegister ( )

◆ modulo()

template<unsigned n>
double PLMD::modulo ( const VectorGeneric< n > &  v)

◆ modulo2()

template<unsigned n>
double PLMD::modulo2 ( const VectorGeneric< n > &  v)

◆ mpi_gatherActiveMembers()

template<typename U >
void PLMD::mpi_gatherActiveMembers ( Communicator comm,
std::vector< DynamicList< U > > &  ll 
)

◆ mult() [1/3]

template<typename T >
void PLMD::mult ( const Matrix< T > &  A,
const Matrix< T > &  B,
Matrix< T > &  C 
)

◆ mult() [2/3]

template<typename T >
void PLMD::mult ( const Matrix< T > &  A,
const std::vector< T > &  B,
std::vector< T > &  C 
)

◆ mult() [3/3]

template<typename T >
void PLMD::mult ( const std::vector< T > &  A,
const Matrix< T > &  B,
std::vector< T > &  C 
)

◆ norm()

template<typename T >
T PLMD::norm ( const std::vector< T > &  A)

Calculate the dot product between a vector and itself.

◆ operator!=()

bool PLMD::operator!= ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ operator*() [1/5]

template<typename T >
Matrix<T> PLMD::operator* ( T &  v,
const Matrix< T > &  m 
)

Multiply matrix by scalar.

◆ operator*() [2/5]

template<unsigned n>
VectorGeneric<n> PLMD::operator* ( double  s,
const VectorGeneric< n > &  v 
)

◆ operator*() [3/5]

template<unsigned n>
VectorGeneric<n> PLMD::operator* ( const VectorGeneric< n > &  v,
double  s 
)

◆ operator*() [4/5]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator* ( const TensorGeneric< n, m > &  t1,
double  s 
)

◆ operator*() [5/5]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator* ( double  s,
const TensorGeneric< n, m > &  t1 
)

◆ operator+() [1/2]

template<unsigned n>
VectorGeneric<n> PLMD::operator+ ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)

◆ operator+() [2/2]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator+ ( const TensorGeneric< n, m > &  t1,
const TensorGeneric< n, m > &  t2 
)

◆ operator-() [1/2]

template<unsigned n>
VectorGeneric<n> PLMD::operator- ( const VectorGeneric< n > &  v1,
const VectorGeneric< n > &  v2 
)

◆ operator-() [2/2]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator- ( const TensorGeneric< n, m > &  t1,
const TensorGeneric< n, m > &  t2 
)

◆ operator/() [1/2]

template<unsigned n>
VectorGeneric<n> PLMD::operator/ ( const VectorGeneric< n > &  v,
double  s 
)

◆ operator/() [2/2]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator/ ( const TensorGeneric< n, m > &  t1,
double  s 
)

◆ operator<()

bool PLMD::operator< ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ operator<<() [1/9]

std::ostream& PLMD::operator<< ( std::ostream &  os,
const Stopwatch sw 
)

◆ operator<<() [2/9]

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

◆ operator<<() [3/9]

std::ostream & PLMD::operator<< ( std::ostream &  log,
const CLToolRegister ar 
)

◆ operator<<() [4/9]

std::ostream & PLMD::operator<< ( std::ostream &  log,
const ActionRegister ar 
)

◆ operator<<() [5/9]

template<typename T >
Log& PLMD::operator<< ( Log ostr,
const Matrix< T > &  mat 
)

◆ operator<<() [6/9]

template<class T >
OFile& PLMD::operator<< ( OFile of,
const T &  t 
)

Write using << syntax.

Formatted output with << operator.

◆ operator<<() [7/9]

template<unsigned n>
std::ostream& PLMD::operator<< ( std::ostream &  os,
const VectorGeneric< n > &  v 
)

◆ operator<<() [8/9]

template<unsigned n, unsigned m>
std::ostream& PLMD::operator<< ( std::ostream &  os,
const TensorGeneric< n, m > &  t 
)

◆ operator<<() [9/9]

Log& PLMD::operator<< ( Log ostr,
const PDB pdb 
)

◆ operator<=()

bool PLMD::operator<= ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ operator==()

bool PLMD::operator== ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ operator>()

bool PLMD::operator> ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ operator>=()

bool PLMD::operator>= ( const AtomNumber a,
const AtomNumber b 
)
inline

◆ product()

void PLMD::product ( const Value val1,
const Value val2,
Value valout 
)
inline

◆ pseudoInvert()

template<typename T >
int PLMD::pseudoInvert ( const Matrix< T > &  A,
Matrix< double > &  pseudoinverse 
)

◆ quotient()

void PLMD::quotient ( const Value val1,
const Value val2,
Value valout 
)
inline

◆ StopwatchEmptyString()

static const std::string& PLMD::StopwatchEmptyString ( )
inlinestaticnoexcept

Return an empty string.

Inline static so that it can store a static variable (for quicker access) without adding a unique global symbol to a library including this header file.

◆ testThrow()

static void PLMD::testThrow ( const char *  what)
static

Small utility just used in this file to throw arbitrary exceptions.

◆ transpose() [1/2]

template<typename T >
void PLMD::transpose ( const Matrix< T > &  A,
Matrix< T > &  AT 
)

◆ transpose() [2/2]

template<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::transpose ( const TensorGeneric< m, n > &  t)

◆ VcrossTensor() [1/2]

TensorGeneric<3,3> PLMD::VcrossTensor ( const VectorGeneric< 3 > &  v1,
const TensorGeneric< 3, 3 > &  v2 
)
inline

◆ VcrossTensor() [2/2]

TensorGeneric<3,3> PLMD::VcrossTensor ( const TensorGeneric< 3, 3 > &  v2,
const VectorGeneric< 3 > &  v1 
)
inline

Variable Documentation

◆ checks [1/2]

class PLMD::TensorChecks PLMD::checks
static

◆ checks [2/2]

class PLMD::VectorChecks PLMD::checks
static

◆ epsilon

const double PLMD::epsilon =1e-14

◆ PlumedMainInitializerRegisterMe

class PLMD::PlumedMainInitializer PLMD::PlumedMainInitializerRegisterMe
static

◆ shareMassAndChargeOnlyAtFirstStep

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.