Public Types | Public Member Functions | Private Attributes | List of all members
PLMD::FlexibleBin Class Reference

#include <FlexibleBin.h>

Public Types

enum  AdaptiveHillsType { none, diffusion, geometry }
 

Public Member Functions

 FlexibleBin (int type, ActionWithArguments *paction, double const &d, std::vector< double > &sigmamin, std::vector< double > &sigmamax)
 a constructor that takes the pointer of the action that contains it More...
 
void update (bool nowAddAHill)
 update the average (always for diffusion) or calculate the geom covariance ( only when do_when_zero is zero) More...
 
std::vector< double > getMatrix () const
 
std::vector< double > getInverseMatrix () const
 Calculate the matrix of (dcv_i/dx)*(dcv_j/dx)^-1 that is needed for the metrics in metadynamics. More...
 

Private Attributes

const int type
 
ActionWithArgumentspaction
 
double sigma
 
std::vector< double > variance
 
std::vector< double > average
 
std::vector< double > sigmamin
 
std::vector< double > sigmamax
 
std::vector< bool > limitmax
 
std::vector< bool > limitmin
 

Member Enumeration Documentation

Enumerator
none 
diffusion 
geometry 

Constructor & Destructor Documentation

PLMD::FlexibleBin::FlexibleBin ( int  type,
ActionWithArguments paction,
double const &  d,
std::vector< double > &  sigmamin,
std::vector< double > &  sigmamax 
)

a constructor that takes the pointer of the action that contains it

Member Function Documentation

vector< double > PLMD::FlexibleBin::getInverseMatrix ( ) const

Calculate the matrix of (dcv_i/dx)*(dcv_j/dx)^-1 that is needed for the metrics in metadynamics.

vector< double > PLMD::FlexibleBin::getMatrix ( ) const
void PLMD::FlexibleBin::update ( bool  nowAddAHill)

update the average (always for diffusion) or calculate the geom covariance ( only when do_when_zero is zero)

Update the flexible bin in case of diffusion based: update at every step in case of gradient based: update only when you add the hill.

Member Data Documentation

std::vector<double> PLMD::FlexibleBin::average
private
std::vector<bool> PLMD::FlexibleBin::limitmax
private
std::vector<bool> PLMD::FlexibleBin::limitmin
private
ActionWithArguments* PLMD::FlexibleBin::paction
private
double PLMD::FlexibleBin::sigma
private
std::vector<double> PLMD::FlexibleBin::sigmamax
private
std::vector<double> PLMD::FlexibleBin::sigmamin
private
const int PLMD::FlexibleBin::type
private
std::vector<double> PLMD::FlexibleBin::variance
private

The documentation for this class was generated from the following files: