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, const std::vector< double > &sigmamax)
 a constructor that takes the pointer of the action that contains it More...
 
 FlexibleBin (int type, ActionWithArguments *paction, unsigned iarg, double const &d, std::vector< double > &sigmamin, const std::vector< double > &sigmamax)
 a constructor for 1D FlexBin (for PBMETAD) More...
 
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...
 
std::vector< double > getInverseMatrix (unsigned iarg) const
 Calculate the matrix of (dcv_i/dx)*(dcv_j/dx)^-1 that is needed for the metrics in metadynamics for PBMetaD like FlexBin. More...
 
std::vector< double > getMatrix () const
 
void update (bool nowAddAHill)
 update the average (always for diffusion) or calculate the geom covariance ( only when do_when_zero is zero) More...
 
void update (bool nowAddAHill, unsigned iarg)
 Update the flexible bin for PBMetaD like FlexBin in case of diffusion based: update at every step in case of gradient based: update only when you add the hill. More...
 

Private Attributes

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

Member Enumeration Documentation

◆ AdaptiveHillsType

Enumerator
none 
diffusion 
geometry 

Constructor & Destructor Documentation

◆ FlexibleBin() [1/2]

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

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

◆ FlexibleBin() [2/2]

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

a constructor for 1D FlexBin (for PBMETAD)

Constructure for 1D FB for PBMETAD.

Member Function Documentation

◆ getInverseMatrix() [1/2]

std::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.

◆ getInverseMatrix() [2/2]

std::vector< double > PLMD::FlexibleBin::getInverseMatrix ( unsigned  iarg) const

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

◆ getMatrix()

std::vector< double > PLMD::FlexibleBin::getMatrix ( ) const

◆ update() [1/2]

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.

◆ update() [2/2]

void PLMD::FlexibleBin::update ( bool  nowAddAHill,
unsigned  iarg 
)

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

Member Data Documentation

◆ average

std::vector<double> PLMD::FlexibleBin::average
private

◆ limitmax

std::vector<bool> PLMD::FlexibleBin::limitmax
private

◆ limitmin

std::vector<bool> PLMD::FlexibleBin::limitmin
private

◆ paction

ActionWithArguments* PLMD::FlexibleBin::paction
private

◆ sigma

double PLMD::FlexibleBin::sigma
private

◆ sigmamax

std::vector<double> PLMD::FlexibleBin::sigmamax
private

◆ sigmamin

std::vector<double> PLMD::FlexibleBin::sigmamin
private

◆ type

int PLMD::FlexibleBin::type
private

◆ variance

std::vector<double> PLMD::FlexibleBin::variance
private

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