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

Namespaces

 adjmat
 
 analysis
 
 bias
 
 blas
 
 cltools
 
 colvar
 
 config
 
 crystallization
 
 drr
 
 eds
 
 function
 
 generic
 
 gridtools
 
 h36
 Tiny namespace for hybrid36 format.
 
 isdb
 
 lapack
 
 lepton
 
 manyrestraints
 
 mapping
 
 molfile
 
 multicolvar
 
 secondarystructure
 
 setup
 
 vatom
 
 ves
 
 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  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  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  ExchangePatterns
 
class  F1dim
 
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  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  MultiReferenceBase
 
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  PlumedMain
 
Main plumed object. More...
 
class  PlumedMainInitializer
 Static object which registers Plumed. More...
 
class  PointWiseMapping
 
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 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)
 
const std::unordered_map< std::string, int > & clToolMainWordMap ()
 
CLToolRegistercltoolRegister ()
 
std::ostream & operator<< (std::ostream &log, const CLToolRegister &ar)
 
const std::unordered_map< std::string, int > & GREXWordMap ()
 
const std::unordered_map< std::string, int > & plumedMainWordMap ()
 
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)
 
bool indexed_lt (pair< Grid::index_t, double > const &x, pair< Grid::index_t, double > const &y)
 
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...
 
static OpenMPVarsgetOpenMPVars ()
 
Logoperator<< (Log &ostr, const PDB &pdb)
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &sw)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator+ (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator- (const TensorGeneric< n, m > &t1, const TensorGeneric< n, m > &t2)
 
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, unsigned m>
TensorGeneric< n, m > operator/ (const TensorGeneric< n, m > &t1, double s)
 
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)
 
double determinant (const TensorGeneric< 3, 3 > &t)
 
TensorGeneric< 3, 3 > inverse (const TensorGeneric< 3, 3 > &t)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > transpose (const TensorGeneric< m, n > &t)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > extProduct (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)
 
template<unsigned n, unsigned m>
std::ostream & operator<< (std::ostream &os, const TensorGeneric< n, m > &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)
 
TensorGeneric< 3, 3 > deriNorm (const VectorGeneric< 3 > &v1, const TensorGeneric< 3, 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< n > operator+ (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n>
VectorGeneric< n > operator- (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
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>
VectorGeneric< n > operator/ (const VectorGeneric< n > &v, double s)
 
template<unsigned n>
VectorGeneric< n > delta (const VectorGeneric< n > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n>
double dotProduct (const VectorGeneric< n > &v1, const VectorGeneric< n > &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)
 
template<unsigned n>
std::ostream & operator<< (std::ostream &os, 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
 
static const string Digits = "0123456789"
 
static const string Operators = "+-*/^"
 
static const bool LeftAssociative [] = {true, true, true, true, false}
 
static const int Precedence [] = {0, 0, 1, 1, 3}
 
static const Operation::Id OperationId [] = {Operation::ADD, Operation::SUBTRACT, Operation::MULTIPLY, Operation::DIVIDE, Operation::POWER}
 
const double epsilon =1e-14
 
static std::map< string, double > leptonConstants
 
static class PLMD::TensorChecks checks
 
static std::map< string, double > leptonConstants
 
static class PLMD::VectorChecks checks
 

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 
)

◆ clToolMainWordMap()

const std::unordered_map<std::string, int>& PLMD::clToolMainWordMap ( )

◆ 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 
)

◆ 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

◆ GREXWordMap()

const std::unordered_map<std::string, int>& PLMD::GREXWordMap ( )

◆ 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

◆ plumedMainWordMap()

const std::unordered_map<std::string, int>& PLMD::plumedMainWordMap ( )

◆ 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

◆ 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

◆ Digits

const string PLMD::Digits = "0123456789"
static

◆ epsilon

const double PLMD::epsilon =1e-14

◆ LeftAssociative

const bool PLMD::LeftAssociative[] = {true, true, true, true, false}
static

◆ leptonConstants [1/2]

std::map<string, double> PLMD::leptonConstants
static
Initial value:
= {
{"e", std::exp(1.0)},
{"log2e", 1.0/std::log(2.0)},
{"log10e", 1.0/std::log(10.0)},
{"ln2", std::log(2.0)},
{"ln10", std::log(10.0)},
{"pi", pi},
{"pi_2", pi*0.5},
{"pi_4", pi*0.25},
{"sqrt2", std::sqrt(2.0)},
{"sqrt1_2", std::sqrt(0.5)}
}
const double pi(3.141592653589793238462643383279502884197169399375105820974944592307)
PI.
return scale * sqrt(ssq)

◆ leptonConstants [2/2]

std::map<string, double> PLMD::leptonConstants
static
Initial value:
= {
{"e", std::exp(1.0)},
{"log2e", 1.0/std::log(2.0)},
{"log10e", 1.0/std::log(10.0)},
{"ln2", std::log(2.0)},
{"ln10", std::log(10.0)},
{"pi", pi},
{"pi_2", pi*0.5},
{"pi_4", pi*0.25},
{"sqrt2", std::sqrt(2.0)},
{"sqrt1_2", std::sqrt(0.5)}
}
const double pi(3.141592653589793238462643383279502884197169399375105820974944592307)
PI.
return scale * sqrt(ssq)

◆ OperationId

◆ Operators

const string PLMD::Operators = "+-*/^"
static

◆ Precedence

const int PLMD::Precedence[] = {0, 0, 1, 1, 3}
static

◆ RegisterMe

class PLMD::PlumedMainInitializer PLMD::RegisterMe
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.