Collective Variables Module - Developer Documentation
|
Adiabatic Bias MD. More...
#include <colvarbias_abmd.h>
Public Member Functions | |
colvarbias_abmd (char const *key) | |
virtual int | init (std::string const &conf) |
Parse config string and (re)initialize. More... | |
virtual int | update () |
virtual std::string const | get_state_params () const |
Write the values of specific mutable properties to a string. More... | |
virtual int | set_state_params (std::string const &conf) |
Read the values of specific mutable properties from a string. More... | |
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... | |
![]() | |
colvarbias_ti (char const *key) | |
virtual int | init (std::string const &conf) |
Parse config string and (re)initialize. More... | |
virtual int | init_grids () |
virtual int | update () |
virtual int | update_system_forces (std::vector< colvarvalue > const *subtract_forces) |
virtual std::string const | get_state_params () const |
Write the values of specific mutable properties to a string. More... | |
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_stream & | write_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_stream & | read_state_data (cvm::memory_stream &is) |
Read all mutable data not already set by set_state_params() from an unformatted stream. More... | |
virtual int | write_output_files () |
Write any output files that this bias may have (e.g. PMF files) More... | |
![]() | |
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. | |
colvar * | variables (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_stream & | write_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_stream & | read_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) |
cvm::memory_stream & | write_state_data_key (cvm::memory_stream &os, std::string const &key, bool header=true) |
std::istream & | read_state_data_key (std::istream &is, std::string const &key) |
cvm::memory_stream & | read_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_stream & | write_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_stream & | read_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 () |
![]() | |
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) |
![]() | |
int | param_exists (std::string const ¶m_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 ¶m_name) |
Pointer to the parameter param_name. | |
virtual void const * | get_param_grad_ptr (std::string const ¶m_name) |
Pointer to the gradient of parameter param_name. | |
virtual cvm::real | get_param (std::string const ¶m_name) |
Value of the parameter param_name (must be a scalar) | |
virtual int | set_param (std::string const ¶m_name, void const *new_value) |
Set the named parameter to the given value. More... | |
![]() | |
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) |
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. | |
Protected Attributes | |
cvm::real | ref_val = 0. |
Location of the moving wall. | |
bool | ref_initialized = false |
Has ref_val already been set? | |
cvm::real | stopping_val = 0. |
Value of the reference where it stops moving. | |
bool | decreasing = false |
Is the target moving down? | |
cvm::real | k = 0. |
Restraint force constant. | |
![]() | |
std::vector< colvarvalue > | ti_system_forces |
Forces exerted from the system to the associated variables. | |
std::shared_ptr< colvar_grid_gradient > | ti_avg_forces |
Averaged system forces. | |
std::shared_ptr< colvar_grid_count > | ti_count |
Histogram of sampled data. | |
std::vector< int > | ti_bin |
![]() | |
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< colvarvalue > | colvar_values |
Up to date value of each colvar. | |
std::vector< colvarvalue > | colvar_forces |
Current forces from this bias to the variables. | |
std::vector< colvarvalue > | previous_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_scalar * | biasing_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 |
![]() | |
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_mode > | key_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) | |
![]() | |
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. | |
![]() | |
int | time_step_factor |
std::vector< feature_state > | feature_states |
List of the states of all features. | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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_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_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 void | delete_features () |
![]() | |
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... | |
![]() | |
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. | |
![]() | |
std::string | description |
![]() | |
static std::vector< feature * > | cvb_features |
Implementation of the feature list for colvarbias. | |
![]() | |
static const char *const | white_space = " \t" |
Accepted white space delimiters, used in key_lookup() | |
![]() | |
enum | key_set_mode { key_not_set = 0 , key_set_user = 1 , key_set_default = 2 } |
How a keyword has been set. | |
![]() | |
enum | feature_type { f_type_not_set , f_type_dynamic , f_type_user , f_type_static } |
Enum of possible feature types. | |
![]() | |
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. | |
![]() | |
colvarparams () | |
Default constructor. | |
virtual | ~colvarparams () |
Default destructor. | |
void | register_param (std::string const ¶m_name, void *param_ptr) |
Register the given parameter. | |
void | register_param_grad (std::string const ¶m_name, colvarvalue *param_grad_ptr) |
Register the gradient of the given parameter. | |
![]() | |
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. | |
Adiabatic Bias MD.
|
virtual |
Write the values of specific mutable properties to a string.
Reimplemented from colvarbias_ti.
|
virtual |
Parse config string and (re)initialize.
Reimplemented from colvarbias_ti.
|
virtual |
Read the values of specific mutable properties from a string.
Reimplemented from colvarbias_ti.
|
virtual |
Retrieve colvar values and calculate their biasing forces Some implementations may use calc_energy() and calc_forces()
Reimplemented from colvarbias_ti.
|
virtual |
Output quantities such as the bias energy to the trajectory file.
Reimplemented from colvarbias.
|
virtual |
Write a label to the trajectory file (comment line)
Reimplemented from colvarbias.