Collective Variables Module - Developer Documentation
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
colvarbias_abf Class Reference

ABF bias. More...

#include <colvarbias_abf.h>

Inheritance diagram for colvarbias_abf:
Inheritance graph
[legend]
Collaboration diagram for colvarbias_abf:
Collaboration graph
[legend]

Public Member Functions

 colvarbias_abf (char const *key)
 Constructor for ABF bias.
 
int init (std::string const &conf) override
 Initializer for ABF bias. More...
 
 ~colvarbias_abf () override
 Default destructor for ABF bias. More...
 
int update () override
 Per-timestep update of ABF bias. More...
 
std::ostream & write_state_data (std::ostream &os) override
 Write all mutable data not already written by get_state_params() to a formatted stream. More...
 
cvm::memory_streamwrite_state_data (cvm::memory_stream &os) override
 Write all mutable data not already written by get_state_params() to an unformatted stream. More...
 
std::istream & read_state_data (std::istream &is) override
 Read all mutable data not already set by set_state_params() from a formatted stream. More...
 
cvm::memory_streamread_state_data (cvm::memory_stream &is) override
 Read all mutable data not already set by set_state_params() from an unformatted stream. More...
 
int write_output_files () override
 Write any output files that this bias may have (e.g. PMF files) More...
 
int calc_energy (std::vector< colvarvalue > const *values) override
 Calculate the bias energy for 1D ABF. More...
 
- Public Member Functions inherited from colvarbias
int add_colvar (std::string const &cv_name)
 Add a new collective variable to this bias.
 
size_t num_variables () const
 How many variables are defined for this bias.
 
std::vector< colvar * > * variables ()
 Access the variables vector.
 
colvarvariables (int i) const
 Access the i-th variable.
 
virtual int update ()
 
virtual bool can_accumulate_data ()
 
virtual int calc_energy (std::vector< colvarvalue > const *values)
 
virtual int calc_forces (std::vector< colvarvalue > const *values)
 
int communicate_forces ()
 Send forces to the collective variables.
 
virtual int end_of_step ()
 Carry out operations needed before next step is run.
 
virtual int change_configuration (std::string const &conf)
 Load new configuration - force constant and/or centers only. More...
 
virtual cvm::real energy_difference (std::string const &conf)
 Calculate change in energy from using alternate configuration. More...
 
virtual int bin_num ()
 Give the total number of bins for a given bias. More...
 
virtual int current_bin ()
 Calculate the bin index for a given bias. More...
 
virtual int bin_count (int bin_index)
 
virtual int local_sample_count (int radius)
 Return the average number of samples in a given "radius" around current bin. More...
 
virtual int replica_share ()
 
virtual size_t replica_share_freq () const
 Report the frequency at which this bias needs to communicate with replicas. More...
 
virtual void analyze ()
 Perform analysis tasks.
 
 colvarbias (char const *key)
 Constructor.
 
virtual int init (std::string const &conf)
 Parse config string and (re)initialize. More...
 
virtual int init_dependencies ()
 Initialize dependency tree. More...
 
virtual int reset ()
 Set to zero all mutable data.
 
virtual int clear ()
 Delete everything.
 
virtual int clear_state_data ()
 Delete only the allocatable data (save memory) More...
 
virtual ~colvarbias ()
 Destructor.
 
virtual std::string const get_state_params () const
 Write the values of specific mutable properties to a string. More...
 
int check_matching_state (std::string const &conf)
 Check the name of the bias vs. the given string, set the matching_state flag accordingly.
 
virtual int set_state_params (std::string const &state_conf)
 Read the values of specific mutable properties from a string. More...
 
virtual std::ostream & write_state_data (std::ostream &os)
 Write all mutable data not already written by get_state_params() to a formatted stream. More...
 
virtual cvm::memory_streamwrite_state_data (cvm::memory_stream &os)
 Write all mutable data not already written by get_state_params() to an unformatted stream. More...
 
virtual std::istream & read_state_data (std::istream &is)
 Read all mutable data not already set by set_state_params() from a formatted stream. More...
 
virtual cvm::memory_streamread_state_data (cvm::memory_stream &is)
 Read all mutable data not already set by set_state_params() from an unformatted stream. More...
 
std::ostream & write_state_data_key (std::ostream &os, std::string const &key, bool header=true) const
 
cvm::memory_streamwrite_state_data_key (cvm::memory_stream &os, std::string const &key, bool header=true) const
 
std::istream & read_state_data_key (std::istream &is, std::string const &key)
 
cvm::memory_streamread_state_data_key (cvm::memory_stream &is, std::string const &key)
 
std::ostream & write_state (std::ostream &os)
 Write the bias configuration to a formatted stream.
 
cvm::memory_streamwrite_state (cvm::memory_stream &os)
 Write the bias configuration to an unformatted stream.
 
std::istream & read_state (std::istream &is)
 Read the bias configuration from a formatted stream.
 
cvm::memory_streamread_state (cvm::memory_stream &is)
 Read the bias configuration from an unformatted stream.
 
int write_state_prefix (std::string const &prefix)
 Write the bias state to a file with the given prefix.
 
int write_state_string (std::string &output)
 Write the bias state to a string.
 
int read_state_prefix (std::string const &prefix)
 Read the bias state from a file with this name or prefix.
 
int read_state_string (char const *buffer)
 Read the bias state from this string buffer.
 
virtual std::ostream & write_traj_label (std::ostream &os)
 Write a label to the trajectory file (comment line) More...
 
virtual std::ostream & write_traj (std::ostream &os)
 Output quantities such as the bias energy to the trajectory file. More...
 
virtual int setup_output ()
 (Re)initialize the output files (does not write them yet) More...
 
virtual int write_output_files ()
 Write any output files that this bias may have (e.g. PMF files) More...
 
virtual int write_state_to_replicas ()
 If this bias is communicating with other replicas through files, send it to them. More...
 
cvm::real get_energy ()
 
virtual const std::vector< feature * > & features () const
 Implementation of the feature list accessor for colvarbias. More...
 
virtual std::vector< feature * > & modify_features ()
 
- Public Member Functions inherited from colvarparse
 colvarparse ()
 Default constructor.
 
 colvarparse (const std::string &conf)
 Constructor that stores the object's config string.
 
void clear ()
 Set the object ready to parse a new configuration string.
 
void set_string (std::string const &conf)
 Set a new config string for this object.
 
 ~colvarparse () override
 Default destructor.
 
std::string const & get_config () const
 Get the configuration string (includes comments)
 
int check_keywords (std::string &conf, char const *key)
 Check that all the keywords within "conf" are in the list of allowed keywords; this will invoke strip_values() first and then loop over all words.
 
void clear_keyword_registry ()
 Use this after parsing a config string (note that check_keywords() calls it already)
 
bool get_keyval (std::string const &conf, char const *key, int &value, int const &def_value=0, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, size_t &value, size_t const &def_value=0, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, long &value, long const &def_value=0, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, cvm::step_number &value, cvm::step_number const &def_value=0, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::string &value, std::string const &def_value=std::string(""), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, cvm::real &value, cvm::real const &def_value=0.0, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, cvm::rvector &value, cvm::rvector const &def_value=cvm::rvector(), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, cvm::quaternion &value, cvm::quaternion const &def_value=cvm::quaternion(), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, colvarvalue &value, colvarvalue const &def_value=colvarvalue(colvarvalue::type_notset), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, bool &value, bool const &def_value=false, Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< int > &values, std::vector< int > const &def_values=std::vector< int >(0, 0), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< size_t > &values, std::vector< size_t > const &def_values=std::vector< size_t >(0, 0), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< long > &values, std::vector< long > const &def_values=std::vector< long >(0, 0), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< std::string > &values, std::vector< std::string > const &def_values=std::vector< std::string >(0, std::string("")), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< cvm::real > &values, std::vector< cvm::real > const &def_values=std::vector< cvm::real >(0, 0.0), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< cvm::rvector > &values, std::vector< cvm::rvector > const &def_values=std::vector< cvm::rvector >(0, cvm::rvector()), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< cvm::quaternion > &values, std::vector< cvm::quaternion > const &def_values=std::vector< cvm::quaternion >(0, cvm::quaternion()), Parse_Mode const parse_mode=parse_normal)
 
bool get_keyval (std::string const &conf, char const *key, std::vector< colvarvalue > &values, std::vector< colvarvalue > const &def_values=std::vector< colvarvalue >(0, colvarvalue(colvarvalue::type_notset)), Parse_Mode const parse_mode=parse_normal)
 
bool key_lookup (std::string const &conf, char const *key, std::string *data=nullptr, size_t *save_pos=nullptr)
 Low-level function for parsing configuration strings; automatically adds the requested keyword to the list of valid ones. More...
 
std::istream & read_config_line (std::istream &is, std::string &line)
 Reads a configuration line, adds it to config_string, and returns the stream. More...
 
template<>
int _get_keyval_scalar_value_ (std::string const &key_str, std::string const &data, bool &value, bool const &)
 
template<>
int _get_keyval_scalar_novalue_ (std::string const &key_str, bool &value, Parse_Mode const &parse_mode)
 
- Public Member Functions inherited from colvarparams
int param_exists (std::string const &param_name)
 Whether the parameter param_name exists.
 
virtual std::vector< std::string > get_param_names ()
 Get a copy of the names of registered parameters.
 
virtual std::vector< std::string > get_param_grad_names ()
 Get a copy of the names of registered parameter gradients.
 
virtual void const * get_param_ptr (std::string const &param_name)
 Pointer to the parameter param_name.
 
virtual void const * get_param_grad_ptr (std::string const &param_name)
 Pointer to the gradient of parameter param_name.
 
virtual cvm::real get_param (std::string const &param_name)
 Value of the parameter param_name (must be a scalar)
 
virtual int set_param (std::string const &param_name, void const *new_value)
 Set the named parameter to the given value. More...
 
- Public Member Functions inherited from colvardeps
int get_time_step_factor () const
 returns time_step_factor
 
void init_feature (int feature_id, const char *description, feature_type type)
 Pair a numerical feature ID with a description and type.
 
bool is_not_set (int id)
 
bool is_dynamic (int id)
 
bool is_static (int id)
 
bool is_user (int id)
 
virtual const std::vector< feature * > & features () const =0
 
virtual std::vector< feature * > & modify_features ()=0
 
void add_child (colvardeps *child)
 
void remove_child (colvardeps *child)
 
void remove_all_children ()
 
bool is_enabled (int f=f_cv_active) const
 
bool is_available (int f=f_cv_active) const
 
void provide (int feature_id, bool truefalse=true)
 
void set_enabled (int feature_id, bool truefalse=true)
 Enable or disable, depending on flag value.
 
int enable (int f, bool dry_run=false, bool toplevel=true, bool error=false)
 
int disable (int f)
 
void free_children_deps ()
 
void restore_children_deps ()
 re-enable children features (to be used when object becomes active)
 
int decr_ref_count (int f)
 
virtual void do_feature_side_effects (int)
 
virtual int init_dependencies ()=0
 Initialize dependency tree for object of a derived class. More...
 
void require_feature_self (int f, int g)
 Make feature f require feature g within the same object.
 
void exclude_feature_self (int f, int g)
 Make features f and g mutually exclusive within the same object.
 
void require_feature_children (int f, int g)
 Make feature f require feature g within children.
 
void require_feature_alt (int f, int g, int h)
 Make feature f require either g or h within the same object.
 
void require_feature_alt (int f, int g, int h, int i)
 Make feature f require any of g, h, or i within the same object.
 
void require_feature_alt (int f, int g, int h, int i, int j)
 Make feature f require any of g, h, i, or j within the same object.
 
void print_state ()
 print all enabled features and those of children, for debugging
 
void check_enabled (int f, std::string const &reason) const
 Check that a feature is enabled, raising COLVARS_BUG_ERROR if not.
 

Private Member Functions

int update_system_force ()
 Calculate system force for all colvars.
 
int calc_biasing_force (std::vector< cvm::real > &force)
 Calulate the biasing force for the current bin.
 
cvm::real smoothing_factor (cvm::real weight)
 Calulate the smoothing factor to apply to biasing forces for given local count.
 
int replica_share () override
 
int replica_share_CZAR ()
 
size_t replica_share_freq () const override
 Report the frequency at which this bias needs to communicate with replicas. More...
 
int bin_num () override
 Give the total number of bins for a given bias. More...
 
int current_bin () override
 Calculate the bin index for a given bias. More...
 
int bin_count (int bin_index) override
 Give the count at a given bin index. More...
 
int local_sample_count (int radius) override
 Return the average number of samples in a given "radius" around current bin. More...
 
void write_gradients_samples (const std::string &prefix, bool close=true, bool local=false)
 
int read_gradients_samples ()
 Read human-readable FE gradients and sample count (if not using restart)
 
template<class T >
int write_grid_to_file (T const *grid, std::string const &name, bool close)
 Shorthand template used in write_gradient_samples()
 
template<typename OST >
OST & write_state_data_template_ (OST &os)
 Generic stream writing function (formatted and not)
 
template<typename IST >
IST & read_state_data_template_ (IST &is)
 Generic stream readingx function (formatted and not)
 

Private Attributes

std::vector< std::string > input_prefix
 Base filename(s) for reading previous gradient data (replaces data from restart file)
 
bool update_bias
 Adapt the bias at each time step (as opposed to keeping it constant)?
 
bool hide_Jacobian
 
bool b_integrate
 Integrate gradients into a PMF on output.
 
size_t full_samples
 Number of samples per bin before applying the full biasing force.
 
size_t min_samples
 Number of samples per bin before applying a scaled-down biasing force.
 
cvm::step_number history_last_step
 Latest absolute time step at which history files were written.
 
bool b_czar_window_file
 Write CZAR output file for stratified eABF (.zgrad)
 
size_t history_freq
 Number of timesteps between recording data in history files (if non-zero)
 
UIestimator::UIestimator eabf_UI
 Umbrella Integration estimator of free energy from eABF.
 
bool b_UI_estimator
 Run UI estimator?
 
bool b_CZAR_estimator
 Run CZAR estimator?
 
int pabf_freq
 Frequency for updating pABF PMF (if zero, pABF is not used)
 
int integrate_iterations
 Max number of CG iterations for integrating PMF at startup and for file output.
 
cvm::real integrate_tol
 Tolerance for integrating PMF at startup and for file output.
 
int pabf_integrate_iterations
 Max number of CG iterations for integrating PMF at on-the-fly pABF updates.
 
cvm::real pabf_integrate_tol
 Tolerance for integrating PMF at on-the-fly pABF updates.
 
bool cap_force
 Cap the biasing force to be applied? (option maxForce)
 
std::vector< cvm::realmax_force
 Maximum force to be applied.
 
std::vector< int > bin
 Current bin in sample grid.
 
std::vector< int > force_bin
 Current bin in force grid.
 
std::vector< int > z_bin
 Cuurent bin in "actual" coordinate, when running extended Lagrangian dynamics.
 
gradient_t system_force
 Measured instantaneous system force.
 
std::shared_ptr< colvar_grid_gradientgradients
 n-dim grid of free energy gradients
 
std::shared_ptr< colvar_grid_countsamples
 n-dim grid of number of samples
 
std::shared_ptr< integrate_potentialpmf
 n-dim grid of pmf (dimension 1 to 3)
 
std::shared_ptr< colvar_grid_gradientz_gradients
 n-dim grid: average force on "real" coordinate for eABF z-based estimator
 
std::shared_ptr< colvar_grid_countz_samples
 n-dim grid of number of samples on "real" coordinate for eABF z-based estimator
 
std::shared_ptr< colvar_grid_gradientczar_gradients
 n-dim grid containing CZAR estimatr of "real" free energy gradients
 
std::shared_ptr< integrate_potentialczar_pmf
 n-dim grid of CZAR pmf (dimension 1 to 3)
 
bool shared_on
 
size_t shared_freq
 
cvm::step_number shared_last_step
 
std::unique_ptr< colvar_grid_gradientlast_gradients
 
std::shared_ptr< colvar_grid_countlast_samples
 
std::unique_ptr< colvar_grid_gradientz_gradients_in
 
std::shared_ptr< colvar_grid_countz_samples_in
 
std::shared_ptr< colvar_grid_gradientlocal_gradients
 
std::shared_ptr< colvar_grid_countlocal_samples
 
std::unique_ptr< integrate_potentiallocal_pmf
 
std::shared_ptr< colvar_grid_gradientglobal_z_gradients
 
std::shared_ptr< colvar_grid_countglobal_z_samples
 
std::shared_ptr< colvar_grid_gradientglobal_czar_gradients
 
std::shared_ptr< integrate_potentialglobal_czar_pmf
 

Additional Inherited Members

- Public Types inherited from colvarparse
enum  Parse_Mode {
  parse_null = 0 , parse_echo = (1<<1) , parse_echo_default = (1<<2) , parse_deprecation_warning = (1<<3) ,
  parse_silent = 0 , parse_required = (1<<16) , parse_override = (1<<17) , parse_restart = (1<<18) ,
  parse_normal = (1<<1) | (1<<2) | (1<<17) , parse_deprecated = (1<<1) | (1<<3) | (1<<17)
}
 How a keyword is parsed in a string. More...
 
- Public Types inherited from colvardeps
enum  features_biases {
  f_cvb_active , f_cvb_awake , f_cvb_step_zero_data , f_cvb_apply_force ,
  f_cvb_bypass_ext_lagrangian , f_cvb_get_total_force , f_cvb_output_acc_work , f_cvb_history_dependent ,
  f_cvb_time_dependent , f_cvb_scalar_variables , f_cvb_calc_pmf , f_cvb_calc_ti_samples ,
  f_cvb_write_ti_samples , f_cvb_write_ti_pmf , f_cvb_scale_biasing_force , f_cvb_extended ,
  f_cvb_ntot
}
 
enum  features_colvar {
  f_cv_active , f_cv_awake , f_cv_apply_force , f_cv_gradient ,
  f_cv_collect_gradient , f_cv_collect_atom_ids , f_cv_fdiff_velocity , f_cv_total_force ,
  f_cv_total_force_calc , f_cv_total_force_current_step , f_cv_subtract_applied_force , f_cv_Jacobian ,
  f_cv_hide_Jacobian , f_cv_extended_Lagrangian , f_cv_external , f_cv_Langevin ,
  f_cv_output_energy , f_cv_output_value , f_cv_output_velocity , f_cv_output_applied_force ,
  f_cv_output_total_force , f_cv_lower_boundary , f_cv_upper_boundary , f_cv_hard_lower_boundary ,
  f_cv_hard_upper_boundary , f_cv_reflecting_lower_boundary , f_cv_reflecting_upper_boundary , f_cv_grid ,
  f_cv_runave , f_cv_corrfunc , f_cv_scripted , f_cv_custom_function ,
  f_cv_periodic , f_cv_single_cvc , f_cv_scalar , f_cv_linear ,
  f_cv_homogeneous , f_cv_multiple_ts , f_cv_ntot
}
 
enum  features_cvc {
  f_cvc_active , f_cvc_scalar , f_cvc_periodic , f_cvc_width ,
  f_cvc_lower_boundary , f_cvc_upper_boundary , f_cvc_explicit_atom_groups , f_cvc_gradient ,
  f_cvc_explicit_gradient , f_cvc_inv_gradient , f_cvc_Jacobian , f_cvc_one_site_total_force ,
  f_cvc_debug_gradient , f_cvc_pbc_minimum_image , f_cvc_com_based , f_cvc_scalable ,
  f_cvc_scalable_com , f_cvc_collect_atom_ids , f_cvc_ntot
}
 
enum  features_atomgroup {
  f_ag_active , f_ag_center , f_ag_center_origin , f_ag_rotate ,
  f_ag_fitting_group , f_ag_explicit_gradient , f_ag_fit_gradients , f_ag_atom_forces ,
  f_ag_scalable , f_ag_scalable_com , f_ag_collect_atom_ids , f_ag_ntot
}
 
- Static Public Member Functions inherited from colvarbias
static void delete_features ()
 
- Static Public Member Functions inherited from colvarparse
static std::string to_lower_cppstr (std::string const &in)
 Return a lowercased copy of the string.
 
static std::istream & getline_nocomments (std::istream &is, std::string &s)
 Works as std::getline() but also removes everything between a comment character and the following newline.
 
static int check_braces (std::string const &conf, size_t const start_pos)
 Check if the content of a config string has matching braces. More...
 
static int check_ascii (std::string const &conf)
 Check that a config string contains non-ASCII characters. More...
 
static void split_string (const std::string &data, const std::string &delim, std::vector< std::string > &dest)
 Split a string with a specified delimiter into a vector. More...
 
- Public Attributes inherited from colvarbias
std::string name
 Name of this bias.
 
std::string bias_type
 Keyword indicating the type of this bias.
 
std::string state_keyword
 Keyword used in state files (== bias_type most of the time)
 
int rank
 Track how many times a bias of this type was defined.
 
size_t output_freq
 Frequency for writing output files.
 
std::string output_prefix
 Use this prefix for all output files.
 
- Public Attributes inherited from colvardeps
std::string description
 
- Static Public Attributes inherited from colvarbias
static std::vector< feature * > cvb_features
 Implementation of the feature list for colvarbias.
 
- Static Public Attributes inherited from colvarparse
static const char *const white_space = " \t"
 Accepted white space delimiters, used in key_lookup()
 
- Protected Types inherited from colvarparse
enum  key_set_mode { key_not_set = 0 , key_set_user = 1 , key_set_default = 2 }
 How a keyword has been set.
 
- Protected Types inherited from colvardeps
enum  feature_type { f_type_not_set , f_type_dynamic , f_type_user , f_type_static }
 Enum of possible feature types.
 
- Protected Member Functions inherited from colvarparse
bool get_key_string_value (std::string const &conf, char const *key, std::string &data)
 Get the string value of a keyword, and save it for later parsing.
 
bool get_key_string_multi_value (std::string const &conf, char const *key, std::vector< std::string > &data)
 Get multiple strings from repeated instances of a same keyword.
 
template<typename TYPE >
bool _get_keyval_scalar_ (std::string const &conf, char const *key, TYPE &value, TYPE const &def_value, Parse_Mode const &parse_mode)
 Template for single-value keyword parsers.
 
template<typename TYPE >
bool _get_keyval_vector_ (std::string const &conf, char const *key, std::vector< TYPE > &values, std::vector< TYPE > const &def_values, Parse_Mode const &parse_mode)
 Template for multiple-value keyword parsers.
 
template<typename TYPE >
int _get_keyval_scalar_value_ (std::string const &key_str, std::string const &data, TYPE &value, TYPE const &def_value)
 Extract the value of a variable from a string.
 
template<typename TYPE >
int _get_keyval_scalar_novalue_ (std::string const &key_str, TYPE &value, Parse_Mode const &parse_mode)
 Handle the case where the user provides a keyword without value.
 
template<typename TYPE >
void mark_key_set_user (std::string const &key_str, TYPE const &value, Parse_Mode const &parse_mode)
 Record that the keyword has just been user-defined.
 
template<typename TYPE >
void mark_key_set_default (std::string const &key_str, TYPE const &def_value, Parse_Mode const &parse_mode)
 Record that the keyword has just been set to its default value.
 
void error_key_required (std::string const &key_str, Parse_Mode const &parse_mode)
 Raise error condition due to the keyword being required!
 
bool key_already_set (std::string const &key_str)
 True if the keyword has been set already.
 
void add_keyword (char const *key)
 Add a new valid keyword to the list.
 
void strip_values (std::string &conf)
 Remove all the values from the config string.
 
- Protected Member Functions inherited from colvarparams
 colvarparams ()
 Default constructor.
 
virtual ~colvarparams ()
 Default destructor.
 
void register_param (std::string const &param_name, void *param_ptr)
 Register the given parameter.
 
void register_param_grad (std::string const &param_name, colvarvalue *param_grad_ptr)
 Register the gradient of the given parameter.
 
- Protected Member Functions inherited from colvardeps
bool get_keyval_feature (colvarparse *cvp, std::string const &conf, char const *key, int feature_id, bool const &def_value, colvarparse::Parse_Mode const parse_mode=colvarparse::parse_normal)
 Parse a keyword and enable a feature accordingly.
 
- Protected Attributes inherited from colvarbias
std::vector< colvar * > colvars
 Pointers to collective variables to which the bias is applied; current values and metric functions will be obtained through each colvar object.
 
std::vector< colvarvaluecolvar_values
 Up to date value of each colvar.
 
std::vector< colvarvaluecolvar_forces
 Current forces from this bias to the variables.
 
std::vector< colvarvalueprevious_colvar_forces
 Forces last applied by this bias to the variables.
 
cvm::real bias_energy
 Current energy of this bias (colvar_forces should be obtained by deriving this)
 
bool b_output_energy
 Whether to write the current bias energy from this bias to the trajectory file.
 
bool has_data
 Whether this bias has already accumulated information (for history-dependent biases)
 
cvm::step_number state_file_step
 Step number read from the last state file.
 
bool matching_state
 Flag used to tell if the state string being read is for this bias.
 
colvar_grid_scalarbiasing_force_scaling_factors
 The biasing forces will be scaled by the factor in this grid if b_bias_force_scaled is true.
 
std::vector< int > biasing_force_scaling_factors_bin
 
- Protected Attributes inherited from colvarparse
std::string const keyword_delimiters_left
 Characters allowed immediately to the left of a kewyord.
 
std::string const keyword_delimiters_right
 Characters allowed immediately to the right of a kewyord.
 
std::list< std::string > allowed_keywords
 List of legal keywords for this object: this is updated by each call to colvarparse::get_keyval() or colvarparse::key_lookup()
 
std::map< std::string, key_set_modekey_set_modes
 Track which keywords have been already set, and how.
 
std::list< size_t > data_begin_pos
 List of delimiters for the values of each keyword in the configuration string; all keywords will be stripped of their values before the keyword check is performed.
 
std::list< size_t > data_end_pos
 List of delimiters for the values of each keyword in the configuration string; all keywords will be stripped of their values before the keyword check is performed.
 
std::string config_string
 Configuration string of the object (includes comments)
 
- Protected Attributes inherited from colvarparams
std::map< std::string, void const * > param_map
 Pointers to relevant parameters that may be accessed by other objects.
 
std::map< std::string, colvarvalue const * > param_grad_map
 Derivatives of the object with respect to internal parameters.
 
- Protected Attributes inherited from colvardeps
int time_step_factor
 
std::vector< feature_statefeature_states
 List of the states of all features.
 

Detailed Description

ABF bias.

Constructor & Destructor Documentation

◆ ~colvarbias_abf()

colvarbias_abf::~colvarbias_abf ( )
override

Default destructor for ABF bias.

Destructor.

Member Function Documentation

◆ bin_count()

int colvarbias_abf::bin_count ( int  bin_index)
overrideprivatevirtual

Give the count at a given bin index.

Reimplemented from colvarbias.

◆ bin_num()

int colvarbias_abf::bin_num ( )
overrideprivatevirtual

Give the total number of bins for a given bias.

Reimplemented from colvarbias.

◆ calc_energy()

int colvarbias_abf::calc_energy ( std::vector< colvarvalue > const *  values)
overridevirtual

Calculate the bias energy for 1D ABF.

Reimplemented from colvarbias.

◆ current_bin()

int colvarbias_abf::current_bin ( )
overrideprivatevirtual

Calculate the bin index for a given bias.

Reimplemented from colvarbias.

◆ init()

int colvarbias_abf::init ( std::string const &  conf)
overridevirtual

Initializer for ABF bias.

Reimplemented from colvarbias.

◆ local_sample_count()

int colvarbias_abf::local_sample_count ( int  radius)
overrideprivatevirtual

Return the average number of samples in a given "radius" around current bin.

Reimplemented from colvarbias.

◆ read_state_data() [1/2]

cvm::memory_stream & colvarbias_abf::read_state_data ( cvm::memory_stream is)
overridevirtual

Read all mutable data not already set by set_state_params() from an unformatted stream.

Reimplemented from colvarbias.

◆ read_state_data() [2/2]

std::istream & colvarbias_abf::read_state_data ( std::istream &  is)
overridevirtual

Read all mutable data not already set by set_state_params() from a formatted stream.

Reimplemented from colvarbias.

◆ replica_share()

int colvarbias_abf::replica_share ( )
overrideprivatevirtual

Reimplemented from colvarbias.

◆ replica_share_freq()

size_t colvarbias_abf::replica_share_freq ( ) const
overrideprivatevirtual

Report the frequency at which this bias needs to communicate with replicas.

Reimplemented from colvarbias.

◆ update()

int colvarbias_abf::update ( )
overridevirtual

Per-timestep update of ABF bias.

Update the FE gradient, compute and apply biasing force.

Compute the bias energy

Reimplemented from colvarbias.

◆ write_gradients_samples()

void colvarbias_abf::write_gradients_samples ( const std::string &  prefix,
bool  close = true,
bool  local = false 
)
private

Write human-readable FE gradients and sample count, and DX file in dim > 2

Parameters
localwrite grids contining replica-local data in shared ABF

◆ write_output_files()

int colvarbias_abf::write_output_files ( )
overridevirtual

Write any output files that this bias may have (e.g. PMF files)

Reimplemented from colvarbias.

◆ write_state_data() [1/2]

cvm::memory_stream & colvarbias_abf::write_state_data ( cvm::memory_stream os)
overridevirtual

Write all mutable data not already written by get_state_params() to an unformatted stream.

Reimplemented from colvarbias.

◆ write_state_data() [2/2]

std::ostream & colvarbias_abf::write_state_data ( std::ostream &  os)
overridevirtual

Write all mutable data not already written by get_state_params() to a formatted stream.

Reimplemented from colvarbias.

Member Data Documentation

◆ hide_Jacobian

bool colvarbias_abf::hide_Jacobian
private

Use normalized definition of PMF for distance functions? (flat at long distances) by including the Jacobian term separately of the recorded PMF


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