|
Collective Variables Module - Developer Documentation
|


Public Member Functions | |
| virtual int | init (std::string const &conf) |
| virtual void | calc_value () |
| Calculate the variable. | |
| virtual void | calc_gradients () |
| Calculate the atomic gradients, to be reused later in order to apply forces. | |
| virtual void | apply_force (colvarvalue const &force) |
| Apply the collective variable force, by communicating the atomic forces to the simulation program (Note: the ft member is not altered by this function). | |
| Public Member Functions inherited from colvar::cvc | |
| std::string | function_type () const |
| String identifier for the type of collective variable. | |
| cvc () | |
| Constructor. | |
| cvc (colvarmodule *cvmodule_in) | |
| virtual | ~cvc () |
| Destructor. | |
| virtual int | init_gpu () |
| Initialize GPU data. | |
| int | init_dependencies () override |
| Initialize dependency tree. | |
| int | setup () |
| After construction, set data related to dependency handling. | |
| virtual const std::vector< feature * > & | features () const override |
| Implementation of the feature list accessor for colvar. | |
| virtual std::vector< feature * > & | modify_features () override |
| virtual std::vector< std::vector< int > > | get_atom_lists () |
| Get vector of vectors of atom IDs for all atom groups. | |
| virtual void | read_data () |
| Obtain data needed for the calculation for the backend. | |
| virtual int | read_data_gpu () |
| virtual int | calc_value_gpu () |
| virtual int | calc_value_after_gpu () |
| CPU-side calculation after the graph in add_calc_value_node is done on GPU. | |
| virtual int | calc_gradients_gpu () |
| virtual int | calc_gradients_after_gpu () |
| CPU-side calculation after the graph in add_calc_gradients_node is done on GPU. | |
| void | calc_fit_gradients () |
| Calculate the atomic fit gradients. | |
| int | calc_fit_gradients_gpu () |
| virtual void | debug_gradients () |
| Calculate finite-difference gradients alongside the analytical ones, for each Cartesian component. | |
| virtual void | collect_gradients (std::vector< int > const &atom_ids, std::vector< cvm::rvector > &atomic_gradients) |
| Calculate atomic gradients and add them to the corresponding item in gradient vector May be overridden by CVCs that do not store their gradients in the classic way, see dihedPC. | |
| virtual void | calc_force_invgrads () |
| Calculate the total force from the system using the inverse atomic gradients. | |
| virtual int | calc_force_invgrads_gpu () |
| virtual int | calc_force_invgrads_after_gpu () |
| CPU-side calculation after the graph in add_calc_force_invgrads_node is done on GPU. | |
| virtual void | calc_Jacobian_derivative () |
| Calculate the divergence of the inverse atomic gradients. | |
| virtual int | calc_Jacobian_derivative_gpu () |
| virtual int | calc_Jacobian_derivative_after_gpu () |
| CPU-side calculation after the graph in add_calc_Jacobian_derivative_node is done on GPU. | |
| virtual int | debug_gradients_gpu () |
| Calculate finite-difference gradients alongside the analytical ones, for each Cartesian component on GPU. | |
| const cudaEvent_t & | get_event (event_type type) const |
| Getter of a specific CUDA event. | |
| colvarvalue const & | value () const |
| Return the previously calculated value. | |
| colvarvalue const & | total_force () const |
| Return the previously calculated total force. | |
| colvarvalue const & | Jacobian_derivative () const |
| Return the previously calculated divergence of the inverse atomic gradients. | |
| virtual int | begin_apply_force_from_cpu_to_gpu () |
| Function to clean the staged atom group forces. | |
| virtual cvm::real | dist2 (colvarvalue const &x1, colvarvalue const &x2) const |
| virtual colvarvalue | dist2_lgrad (colvarvalue const &x1, colvarvalue const &x2) const |
| Gradient(with respect to x1) of the square distance (can be redefined to transparently implement constraints, symmetries and periodicities). | |
| virtual colvarvalue | dist2_rgrad (colvarvalue const &x1, colvarvalue const &x2) const |
| Gradient(with respect to x2) of the square distance (can be redefined to transparently implement constraints, symmetries and periodicities). | |
| virtual void | wrap (colvarvalue &x_unwrapped) const |
| Wrap value (for periodic/symmetric cvcs). | |
| void | register_atom_group (cvm::atom_group *ag) |
| Store a pointer to new atom group, and list as child for dependencies. | |
| virtual colvarvalue const * | get_param_grad (std::string const ¶m_name) |
| Pointer to the gradient of parameter param_name. | |
| virtual int | set_param (std::string const ¶m_name, void const *new_value) override |
| Set the named parameter to the given value. | |
| void | set_value (colvarvalue const &new_value, bool now=false) |
| Public Member Functions inherited from colvardeps | |
| colvardeps (object_t type_in) | |
| colvardeps (object_t type_in, colvarmodule *cvmodule_in) | |
| object_t | get_object_type () const |
| void | init_gpu () |
| Function to initialize the GPU stream and event. | |
| virtual int | proxy_gpu_buffers_reallocated () |
| Function to call when proxy buffer pointers are changed (re-allocated). | |
| 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. | |
| const cudaStream_t & | get_stream () const |
| Get the GPU stream. | |
| bool | is_not_set (int id) |
| bool | is_dynamic (int id) |
| bool | is_static (int id) |
| bool | is_user (int id) |
| 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) |
| 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 | |
| std::vector< colvardeps * > | get_parents () const |
| Return the parents. | |
| std::vector< colvardeps * > | get_children () const |
| Return the children. | |
| Public Member Functions inherited from colvarparse | |
| colvarmodule * | get_cvmodule () |
| colvarparse (colvarmodule *cvmodule_in) | |
| Default constructor. | |
| 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. | |
| std::istream & | read_config_line (std::istream &is, std::string &line) |
| Reads a configuration line, adds it to config_string, and returns the stream. | |
| int | check_ascii (std::string const &conf) |
| Check that a config string contains non-ASCII characters. | |
| 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 ¶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). | |
Protected Attributes | |
| std::string | volmap_name |
| String identifier of the map object (as used by the simulation engine). | |
| int | volmap_id = -1 |
| Numeric identifier of the map object (as used by the simulation engine). | |
| int | volmap_index = -1 |
| Index of the map objet in the proxy arrays. | |
| cvm::atom_group * | atoms = nullptr |
| Group of atoms selected internally (optional). | |
| std::vector< cvm::real > | atom_weights |
| Weights assigned to each atom (default: uniform weights). | |
| Protected Attributes inherited from colvar::cvc | |
| std::vector< std::string > | function_types |
| Record the type of this class as well as those it is derived from. | |
| colvarvalue | x |
| Cached value. | |
| colvarvalue | x_old |
| Value at the previous step. | |
| colvarvalue | ft |
| Calculated total force (Note: this is calculated from the total atomic forces read from the program, subtracting fromt the "internal" forces of the system the "external" forces from the colvar biases). | |
| colvarvalue | jd |
| Calculated Jacobian derivative (divergence of the inverse gradients): serves to calculate the phase space correction. | |
| colvarvalue | lower_boundary |
| Location of the lower boundary (not defined by user choice). | |
| colvarvalue | upper_boundary |
| Location of the upper boundary (not defined by user choice). | |
| cvm::real | width = 0.0 |
| CVC-specific default colvar width (default: not provided). | |
| cvm::system_boundary_conditions | boundary_conditions |
| Boundary conditions for the system, copied from the engine when needed. | |
| std::array< cudaEvent_t, static_cast< int >(event_type::num_event_types)> | events = {} |
| Protected Attributes inherited from colvardeps | |
| int | time_step_factor = 1 |
| std::vector< feature_state > | feature_states |
| List of the states of all features. | |
| cudaStream_t | m_stream = 0 |
| GPU stream for the computations of this colvardeps. | |
| Protected Attributes inherited from colvarparse | |
| colvarmodule * | cvmodule = nullptr |
| 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). | |
| 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. | |
Additional Inherited Members | |
| Public Types inherited from colvar::cvc | |
| enum class | event_type { calc_value = 0 , calc_gradients , calc_force_invgrads , calc_Jacobian_derivative , num_event_types } |
| Public Types inherited from colvardeps | |
| enum class | object_t { atom_group , colvarcomp , colvar , colvarbias , undefined } |
| 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_smp , 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_support_gpu , f_cvc_require_cpu_buffers , 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 } |
| 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... | |
| Static Public Member Functions inherited from colvar::cvc | |
| 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. | |
| 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. | |
| Public Attributes inherited from colvar::cvc | |
| std::string | name |
| The name of the object (helps to identify this cvc instance when debugging). | |
| std::string | config_key |
| Keyword used in the input to denote this CVC. | |
| cvm::real | sup_coeff = 1.0 |
| Coefficient in the polynomial combination (default: 1.0). | |
| int | sup_np = 1 |
| Exponent in the polynomial combination (default: 1). | |
| cvm::real | period = 0.0 |
| Period of the values of this CVC (default: 0.0, non periodic). | |
| cvm::real | wrap_center = 0.0 |
| If the component is periodic, wrap around this value (default: 0.0). | |
| std::vector< cvm::atom_group * > | atom_groups |
| Pointers to all atom groups, to let colvars collect info e.g. atomic gradients. | |
| bool | b_try_scalable = true |
| Whether or not this CVC will be computed in parallel whenever possible. | |
| Public Attributes inherited from colvardeps | |
| object_t | my_type = object_t::undefined |
| std::string | description |
| 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 colvardeps | |
| enum | feature_type { f_type_not_set , f_type_dynamic , f_type_user , f_type_static } |
| Enum of possible feature types. | |
| 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 Member Functions inherited from colvar::cvc | |
| int | set_function_type (std::string const &type) |
| Set the value of function_type and its dependencies. | |
| int | update_description () |
| Update the description string based on name and type. | |
| cvm::atom_group * | parse_group (std::string const &conf, char const *group_key, bool optional=false) |
| Parse a group definition. | |
| virtual int | init_total_force_params (std::string const &conf) |
| Parse options pertaining to total force calculation. | |
| void | init_as_distance () |
| Set data types for a scalar distance (convenience function). | |
| void | init_as_angle () |
| Set data types for a bounded angle (0° to 180°). | |
| void | init_as_periodic_angle () |
| Set data types for a periodic angle (-180° to 180°). | |
| void | init_scalar_boundaries (cvm::real lb, cvm::real ub) |
| Set two scalar boundaries (convenience function). | |
| 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 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 ¶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. | |
| Static Protected Attributes inherited from colvar::cvc | |
| static std::vector< feature * > | cvc_features |
| Implementation of the feature list for colvar. | |
|
virtual |
Apply the collective variable force, by communicating the atomic forces to the simulation program (Note: the ft member is not altered by this function).
Note: multiple calls to this function within the same simulation step will add the forces altogether
| cvforce | The collective variable force, usually coming from the biases and eventually manipulated by the parent colvar object |
Reimplemented from colvar::cvc.
|
virtual |
Calculate the atomic gradients, to be reused later in order to apply forces.
Reimplemented from colvar::cvc.
|
virtual |
Calculate the variable.
Implements colvar::cvc.
|
virtual |
An init function should be defined for every class inheriting from cvc
| conf | Contents of the configuration file pertaining to this cvc |
Reimplemented from colvar::cvc.