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

Namespaces

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

Classes

class  Action
 Base class for all the input Actions. More...
 
class  ActionAnyorder
 
class  ActionAtomistic
 
class  ActionOptions
 This class is used to bring the relevant information to the Action constructor. More...
 
class  ActionPilot
 
class  ActionRegister
 Register holding all the allowed keywords. More...
 
class  ActionSet
 std::vector containing the sequence of Action to be done. More...
 
class  ActionSetup
 
class  ActionShortcut
 
class  ActionWithArguments
 
class  ActionWithValue
 
class  ActionWithVirtualAtom
 Class to add a single virtual atom to the system. More...
 
class  Angle
 
class  ArgumentOnlyDistance
 
class  AtomNumber
 
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  CLTool
 
class  CLToolMain
 Class providing cmd() access to command line tools. More...
 
class  CLToolOptions
 
class  CLToolRegister
 Same as ActionRegister, but for CLTools. More...
 
class  Colvar
 
class  Communicator
 
class  ConjugateGradient
 
class  DataFetchingObject
 
class  DataFetchingObjectTyped
 
class  Direction
 
class  DLLoader
 
class  DotProductDistance
 
class  DRMSD
 
class  DynamicList
 
class  ERMSD
 A class that implements ERMSD calculations. More...
 
class  EuclideanDistance
 
class  Exception
 
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  ExceptionTypeError
 Class representing a type error in the PLMD::Plumed interface. 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  GenericMolInfo
 
class  GREX
 
class  Grid
 
class  GridBase
 
class  HistogramBead
 
class  IFile
 
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
 
class  Log
 Class containing the log stream. More...
 
class  LoopUnroller
 
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
 
class  NormalizedEuclideanDistance
 
class  OFile
 
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  ProbWeight
 
class  Random
 
class  ReferenceArguments
 
class  ReferenceAtoms
 
class  ReferenceConfiguration
 
class  ReferenceConfigurationOptions
 
class  ReferenceValuePack
 
class  RMSD
 
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  SimpleRMSD
 
class  SingleDomainRMSD
 
class  SparseGrid
 
class  Stopwatch
 
class  Subprocess
 Class managing a subprocess. More...
 
class  SubprocessPid
 Small utility class, used to avoid inclusion of unistd.h> in a header file. More...
 
class  SwitchingFunction
 
class  TargetDist
 
class  TensorGeneric
 
class  TensorGenericAux
 Small class to contain local utilities. More...
 
class  Tools
 
class  Torsion
 
class  Tree
 
class  TypesafePtr
 
class  Units
 
class  Value
 
class  VectorGeneric
 
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
 
typedef VectorGeneric< 1 > Vector1d
 
typedef VectorGeneric< 2 > Vector2d
 
typedef VectorGeneric< 3 > Vector3d
 
typedef VectorGeneric< 4 > Vector4d
 
typedef VectorGeneric< 5 > Vector5d
 

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 dp2cutoff (6.25)
 
static bool dp2cutoffNoStretch ()
 
const double epsilon (std::numeric_limits< double >::epsilon())
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > extProduct (const VectorGeneric< n > &v1, const VectorGeneric< m > &v2)
 
static const char * getenvForceUnique () noexcept
 Use unique list of atoms to manipulate forces and positions. More...
 
static bool getenvMergeVectorsPriorityQueue () noexcept
 Use a priority_queue to merge unique vectors. More...
 
const std::map< std::string, std::string > & getModuleMap ()
 
static OpenMPVarsgetOpenMPVars ()
 
template<typename T >
static void getPointers (const TypesafePtr &p, const TypesafePtr &px, const TypesafePtr &py, const TypesafePtr &pz, unsigned maxel, T *&ppx, T *&ppy, T *&ppz, unsigned &stride)
 
bool indexed_lt (std::pair< Grid::index_t, double > const &x, std::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)
 
static bool isZero (const ExpressionTreeNode &node)
 
const double kBoltzmann (0.0083144621)
 
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, 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>
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, 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<unsigned n_>
double matmul (const VectorGeneric< n_ > &a, const VectorGeneric< n_ > &b)
 
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<unsigned n, unsigned m>
TensorGeneric< n, m > operator* (const TensorGeneric< n, m > &t1, double s)
 
template<unsigned n>
VectorGeneric< n > operator* (const VectorGeneric< n > &v, double s)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator* (double s, const TensorGeneric< n, m > &t1)
 
template<unsigned n>
VectorGeneric< n > operator* (double s, const VectorGeneric< n > &v)
 
template<typename T >
Matrix< T > operator* (T &v, const Matrix< T > &m)
 Multiply matrix by scalar. More...
 
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 > &v1, const VectorGeneric< n > &v2)
 
template<unsigned n, unsigned m>
TensorGeneric< n, m > operator/ (const TensorGeneric< n, m > &t1, double s)
 
template<unsigned n>
VectorGeneric< n > operator/ (const VectorGeneric< n > &v, double s)
 
bool operator< (const AtomNumber &a, const AtomNumber &b)
 
template<typename T >
Logoperator<< (Log &ostr, const Matrix< T > &mat)
 
Logoperator<< (Log &ostr, const PDB &pdb)
 
template<class T >
OFileoperator<< (OFile &of, const T &t)
 Write using << syntax. More...
 
std::ostream & operator<< (std::ostream &log, const ActionRegister &ar)
 
std::ostream & operator<< (std::ostream &log, const Citations &cit)
 
std::ostream & operator<< (std::ostream &log, const CLToolRegister &ar)
 
std::ostream & operator<< (std::ostream &os, const Stopwatch &sw)
 
template<unsigned n, unsigned m>
std::ostream & operator<< (std::ostream &os, const TensorGeneric< n, m > &t)
 
template<unsigned n>
std::ostream & operator<< (std::ostream &os, const VectorGeneric< n > &v)
 
template<class T >
Subprocessoperator<< (Subprocess &ep, const T &t)
 
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)
 
static __PLUMED_WRAPPER_ANONYMOUS_BEGIN bool PlumedGetenvExceptionsDebug () noexcept
 Retrieve PLUMED_EXCEPTIONS_DEBUG (internal utility). 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 bool SubprocessPidGetenvSignals () noexcept
 Retrieve PLUMED_ENABLE_SIGNALS. 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)
 
template<class T >
std::size_t typesafePtrSizeof ()
 
template<>
std::size_t typesafePtrSizeof< const void > ()
 
template<>
std::size_t typesafePtrSizeof< void > ()
 
static bool typesafePtrSkipCheck ()
 
TensorGeneric< 3, 3 > VcrossTensor (const TensorGeneric< 3, 3 > &v2, const VectorGeneric< 3 > &v1)
 
TensorGeneric< 3, 3 > VcrossTensor (const VectorGeneric< 3 > &v1, const TensorGeneric< 3, 3 > &v2)
 

Variables

const double dp2cutoffA =1.00193418799744762399
 
const double dp2cutoffB =-.00193418799744762399
 
const double epsilon =1e-14
 
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 
)

◆ dp2cutoff()

const double PLMD::dp2cutoff ( 6.  25)

◆ dp2cutoffNoStretch()

static bool PLMD::dp2cutoffNoStretch ( )
inlinestatic

◆ extProduct()

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

◆ getenvForceUnique()

static const char* PLMD::getenvForceUnique ( )
staticnoexcept

Use unique list of atoms to manipulate forces and positions.

A unique list of atoms is used to manipulate forces and positions in MPI parallel runs. In serial runs, this is done if convenient. The code currently contain some heuristic to decide if the unique list should be used or not. An env var can be used to override this decision. export PLUMED_FORCE_UNIQUE=yes # enforce using the unique list in serial runs export PLUMED_FORCE_UNIQUE=no # enforce not using the unique list in serial runs export PLUMED_FORCE_UNIQUE=auto # choose heuristically default: auto

◆ getenvMergeVectorsPriorityQueue()

static bool PLMD::getenvMergeVectorsPriorityQueue ( )
staticnoexcept

Use a priority_queue to merge unique vectors.

export PLUMED_MERGE_VECTORS_PRIORITY_QUEUE=yes to use a priority_queue. Might be faster with some settings, but appears to not be in practice. This option is for testing and might be removed.

◆ getModuleMap()

const std::map< std::string, std::string > & PLMD::getModuleMap ( )

◆ getOpenMPVars()

static OpenMPVars& PLMD::getOpenMPVars ( )
static

◆ getPointers()

template<typename T >
static void PLMD::getPointers ( const TypesafePtr p,
const TypesafePtr px,
const TypesafePtr py,
const TypesafePtr pz,
unsigned  maxel,
T *&  ppx,
T *&  ppy,
T *&  ppz,
unsigned &  stride 
)
static

◆ indexed_lt()

bool PLMD::indexed_lt ( std::pair< Grid::index_t, double > const &  x,
std::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 
)

◆ isZero()

static bool PLMD::isZero ( const ExpressionTreeNode node)
static

◆ 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, 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() [3/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() [4/8]

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

◆ matmul() [5/8]

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

◆ matmul() [6/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() [7/8]

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

◆ matmul() [8/8]

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

◆ 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<unsigned n, unsigned m>
TensorGeneric<n,m> PLMD::operator* ( const TensorGeneric< n, m > &  t1,
double  s 
)

◆ operator*() [2/5]

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

◆ operator*() [3/5]

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

◆ operator*() [4/5]

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

◆ operator*() [5/5]

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

Multiply matrix by scalar.

◆ operator+() [1/2]

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

◆ operator+() [2/2]

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

◆ operator-() [1/2]

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

◆ operator-() [2/2]

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator<()

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

◆ operator<<() [1/10]

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

◆ operator<<() [2/10]

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

◆ operator<<() [3/10]

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

Write using << syntax.

Formatted output with << operator.

◆ operator<<() [4/10]

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

◆ operator<<() [5/10]

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<<() [6/10]

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

◆ operator<<() [7/10]

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

◆ operator<<() [8/10]

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

◆ operator<<() [9/10]

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

◆ operator<<() [10/10]

template<class T >
Subprocess& PLMD::operator<< ( Subprocess ep,
const T &  t 
)

◆ 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

◆ PlumedGetenvExceptionsDebug()

static __PLUMED_WRAPPER_ANONYMOUS_BEGIN bool PLMD::PlumedGetenvExceptionsDebug ( )
inlinestaticnoexcept

Retrieve PLUMED_EXCEPTIONS_DEBUG (internal utility).

This function should not be used by external programs. It is defined as 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.

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

◆ SubprocessPidGetenvSignals()

static bool PLMD::SubprocessPidGetenvSignals ( )
inlinestaticnoexcept

Retrieve PLUMED_ENABLE_SIGNALS.

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)

◆ typesafePtrSizeof()

template<class T >
std::size_t PLMD::typesafePtrSizeof ( )

◆ typesafePtrSizeof< const void >()

template<>
std::size_t PLMD::typesafePtrSizeof< const void > ( )
inline

◆ typesafePtrSizeof< void >()

template<>
std::size_t PLMD::typesafePtrSizeof< void > ( )
inline

◆ typesafePtrSkipCheck()

static bool PLMD::typesafePtrSkipCheck ( )
inlinestatic

◆ VcrossTensor() [1/2]

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

◆ VcrossTensor() [2/2]

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

Variable Documentation

◆ dp2cutoffA

const double PLMD::dp2cutoffA =1.00193418799744762399

◆ dp2cutoffB

const double PLMD::dp2cutoffB =-.00193418799744762399

◆ epsilon

const double PLMD::epsilon =1e-14

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