From 11de8dafe3e68e97671673840e79f34c8cfbf0af Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Fri, 16 Nov 2018 09:51:17 -0500 Subject: [PATCH] Update Colvars library to version 2018-11-16 Fixes several issues with running averages and time correlation function computations. Details are in: https://github.com/Colvars/colvars/issues/143 https://github.com/Colvars/colvars/issues/193 https://github.com/Colvars/colvars/pull/194 --- doc/src/PDF/colvars-refman-lammps.pdf | Bin 621342 -> 621677 bytes lib/colvars/colvar.cpp | 239 +++++++++++++++----------- lib/colvars/colvar.h | 18 +- lib/colvars/colvarbias.cpp | 6 + lib/colvars/colvarbias.h | 3 + lib/colvars/colvardeps.cpp | 3 + lib/colvars/colvarmodule.cpp | 43 ++++- lib/colvars/colvarmodule.h | 6 +- lib/colvars/colvars_version.h | 2 +- 9 files changed, 206 insertions(+), 114 deletions(-) diff --git a/doc/src/PDF/colvars-refman-lammps.pdf b/doc/src/PDF/colvars-refman-lammps.pdf index 4afeedccc87bb748bdc3fcb6eceb56d4004331c6..07d82544759e2c3fd3a98b45cff0afc3066f15b1 100644 GIT binary patch delta 65076 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, - (std::string("colvar")+cvm::to_str(cv->variables()->size()+1))); + (std::string("colvar")+cvm::to_str(cv->variables()->size()))); if ((cvm::colvar_by_name(this->name) != NULL) && (cvm::colvar_by_name(this->name) != this)) { @@ -63,9 +68,6 @@ int colvar::init(std::string const &conf) this->description = "colvar " + this->name; - kinetic_energy = 0.0; - potential_energy = 0.0; - error_code |= init_components(conf); if (error_code != COLVARS_OK) { return cvm::get_error(); @@ -260,7 +262,6 @@ int colvar::init(std::string const &conf) f_old.reset(); x_restart.type(value()); - after_restart = false; reset_bias_force(); @@ -282,8 +283,7 @@ int colvar::init(std::string const &conf) // Now that the children are defined we can solve dependencies enable(f_cv_active); - if (cvm::b_analysis) - parse_analysis(conf); + error_code |= parse_analysis(conf); if (cvm::debug()) cvm::log("Done initializing collective variable \""+this->name+"\".\n"); @@ -881,19 +881,7 @@ int colvar::parse_analysis(std::string const &conf) cvm::error("Error: runAveStride must be commensurate with the restart frequency.\n", INPUT_ERROR); } - get_keyval(conf, "runAveOutputFile", runave_outfile, - std::string(cvm::output_prefix()+"."+ - this->name+".runave.traj")); - - size_t const this_cv_width = x.output_width(cvm::cv_width); - cvm::proxy->backup_file(runave_outfile); - runave_os = cvm::proxy->output_stream(runave_outfile); - *runave_os << "# " << cvm::wrap_string("step", cvm::it_width-2) - << " " - << cvm::wrap_string("running average", this_cv_width) - << " " - << cvm::wrap_string("running stddev", this_cv_width) - << "\n"; + get_keyval(conf, "runAveOutputFile", runave_outfile, runave_outfile); } acf_length = 0; @@ -902,7 +890,6 @@ int colvar::parse_analysis(std::string const &conf) enable(f_cv_corrfunc); - std::string acf_colvar_name; get_keyval(conf, "corrFuncWithColvar", acf_colvar_name, this->name); if (acf_colvar_name == this->name) { cvm::log("Calculating auto-correlation function.\n"); @@ -918,8 +905,12 @@ int colvar::parse_analysis(std::string const &conf) } else if (acf_type_str == to_lower_cppstr(std::string("velocity"))) { acf_type = acf_vel; enable(f_cv_fdiff_velocity); - if (acf_colvar_name.size()) - (cvm::colvar_by_name(acf_colvar_name))->enable(f_cv_fdiff_velocity); + colvar *cv2 = cvm::colvar_by_name(acf_colvar_name); + if (cv2 == NULL) { + return cvm::error("Error: collective variable \""+acf_colvar_name+ + "\" is not defined at this time.\n", INPUT_ERROR); + } + cv2->enable(f_cv_fdiff_velocity); } else if (acf_type_str == to_lower_cppstr(std::string("coordinate_p2"))) { acf_type = acf_p2coor; } else { @@ -937,9 +928,7 @@ int colvar::parse_analysis(std::string const &conf) } get_keyval(conf, "corrFuncNormalize", acf_normalize, true); - get_keyval(conf, "corrFuncOutputFile", acf_outfile, - std::string(cvm::output_prefix()+"."+this->name+ - ".corrfunc.dat")); + get_keyval(conf, "corrFuncOutputFile", acf_outfile, acf_outfile); } return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); } @@ -1389,9 +1378,9 @@ int colvar::calc_colvar_properties() { if (is_enabled(f_cv_fdiff_velocity)) { // calculate the velocity by finite differences - if (cvm::step_relative() == 0) + if (cvm::step_relative() == 0) { x_old = x; - else { + } else { v_fdiff = fdiff_velocity(x_old, x); v_reported = v_fdiff; } @@ -1486,7 +1475,6 @@ cvm::real colvar::update_forces_energy() return 0.; } } - prev_timestep = cvm::step_relative(); // Integrate with slow timestep (if time_step_factor != 1) cvm::real dt = cvm::dt() * cvm::real(time_step_factor); @@ -1547,8 +1535,18 @@ cvm::real colvar::update_forces_energy() // bypass the extended Lagrangian mass) f += fb_actual; + if (cvm::debug()) + cvm::log("Done updating colvar \""+this->name+"\".\n"); + return (potential_energy + kinetic_energy); +} + + +int colvar::end_of_step() +{ + if (cvm::debug()) + cvm::log("End of step for colvar \""+this->name+"\".\n"); + if (is_enabled(f_cv_fdiff_velocity)) { - // set it for the next step x_old = x; } @@ -1556,9 +1554,9 @@ cvm::real colvar::update_forces_energy() f_old = f; } - if (cvm::debug()) - cvm::log("Done updating colvar \""+this->name+"\".\n"); - return (potential_energy + kinetic_energy); + prev_timestep = cvm::step_relative(); + + return COLVARS_OK; } @@ -1966,6 +1964,10 @@ std::ostream & colvar::write_restart(std::ostream &os) { os << "}\n\n"; + if (runave_os) { + cvm::main()->proxy->flush_output_stream(runave_os); + } + return os; } @@ -2075,55 +2077,61 @@ std::ostream & colvar::write_traj(std::ostream &os) return os; } + int colvar::write_output_files() { - if (cvm::b_analysis) { + int error_code = COLVARS_OK; + if (is_enabled(f_cv_corrfunc)) { if (acf.size()) { - cvm::log("Writing acf to file \""+acf_outfile+"\".\n"); - + if (acf_outfile.size() == 0) { + acf_outfile = std::string(cvm::output_prefix()+"."+this->name+ + ".corrfunc.dat"); + } + cvm::log("Writing correlation function to file \""+acf_outfile+"\".\n"); cvm::backup_file(acf_outfile.c_str()); std::ostream *acf_os = cvm::proxy->output_stream(acf_outfile); if (!acf_os) return cvm::get_error(); - write_acf(*acf_os); + error_code |= write_acf(*acf_os); cvm::proxy->close_output_stream(acf_outfile); } - - if (runave_os) { - cvm::proxy->close_output_stream(runave_outfile); - runave_os = NULL; - } } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + + return error_code; } // ******************** ANALYSIS FUNCTIONS ******************** -void colvar::analyze() +int colvar::analyze() { + int error_code = COLVARS_OK; + if (is_enabled(f_cv_runave)) { - calc_runave(); + error_code |= calc_runave(); } if (is_enabled(f_cv_corrfunc)) { - calc_acf(); + error_code |= calc_acf(); } + + return error_code; } inline void history_add_value(size_t const &history_length, - std::list &history, - colvarvalue const &new_value) + std::list &history, + colvarvalue const &new_value) { history.push_front(new_value); if (history.size() > history_length) history.pop_back(); } + inline void history_incr(std::list< std::list > &history, - std::list< std::list >::iterator &history_p) + std::list< std::list >::iterator &history_p) { if ((++history_p) == history.end()) history_p = history.begin(); @@ -2133,18 +2141,21 @@ inline void history_incr(std::list< std::list > &history, int colvar::calc_acf() { // using here an acf_stride-long list of vectors for either - // coordinates(acf_x_history) or velocities (acf_v_history); each vector can + // coordinates (acf_x_history) or velocities (acf_v_history); each vector can // contain up to acf_length values, which are contiguous in memory // representation but separated by acf_stride in the time series; // the pointer to each vector is changed at every step + colvar const *cfcv = cvm::colvar_by_name(acf_colvar_name); + if (cfcv == NULL) { + return cvm::error("Error: collective variable \""+acf_colvar_name+ + "\" is not defined at this time.\n", INPUT_ERROR); + } + if (acf_x_history.empty() && acf_v_history.empty()) { // first-step operations - colvar *cfcv = (acf_colvar_name.size() ? - cvm::colvar_by_name(acf_colvar_name) : - this); if (colvarvalue::check_types(cfcv->value(), value())) { cvm::error("Error: correlation function between \""+cfcv->name+ "\" and \""+this->name+"\" cannot be calculated, " @@ -2153,7 +2164,8 @@ int colvar::calc_acf() } acf_nframes = 0; - cvm::log("Colvar \""+this->name+"\": initializing ACF calculation.\n"); + cvm::log("Colvar \""+this->name+"\": initializing correlation function " + "calculation.\n"); if (acf.size() < acf_length+1) acf.resize(acf_length+1, 0.0); @@ -2182,41 +2194,31 @@ int colvar::calc_acf() break; } - } else { - - colvar *cfcv = (acf_colvar_name.size() ? - cvm::colvar_by_name(acf_colvar_name) : - this); + } else if (cvm::step_relative() > prev_timestep) { switch (acf_type) { case acf_vel: - if (is_enabled(f_cv_fdiff_velocity)) { - // calc() should do this already, but this only happens in a - // simulation; better do it again in case a trajectory is - // being read - v_reported = v_fdiff = fdiff_velocity(x_old, cfcv->value()); - } - calc_vel_acf((*acf_v_history_p), cfcv->velocity()); - // store this value in the history - history_add_value(acf_length+acf_offset, *acf_v_history_p, cfcv->velocity()); - // if stride is larger than one, cycle among different histories + history_add_value(acf_length+acf_offset, *acf_v_history_p, + cfcv->velocity()); history_incr(acf_v_history, acf_v_history_p); break; case acf_coor: calc_coor_acf((*acf_x_history_p), cfcv->value()); - history_add_value(acf_length+acf_offset, *acf_x_history_p, cfcv->value()); + history_add_value(acf_length+acf_offset, *acf_x_history_p, + cfcv->value()); history_incr(acf_x_history, acf_x_history_p); break; case acf_p2coor: calc_p2coor_acf((*acf_x_history_p), cfcv->value()); - history_add_value(acf_length+acf_offset, *acf_x_history_p, cfcv->value()); + history_add_value(acf_length+acf_offset, *acf_x_history_p, + cfcv->value()); history_incr(acf_x_history, acf_x_history_p); break; @@ -2225,18 +2227,14 @@ int colvar::calc_acf() } } - if (is_enabled(f_cv_fdiff_velocity)) { - // set it for the next step - x_old = x; - } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + return COLVARS_OK; } -int colvar::calc_vel_acf(std::list &v_list, - colvarvalue const &v) +void colvar::calc_vel_acf(std::list &v_list, + colvarvalue const &v) { - // loop over stored velocities and add to the ACF, but only the + // loop over stored velocities and add to the ACF, but only if the // length is sufficient to hold an entire row of ACF values if (v_list.size() >= acf_length+acf_offset) { std::list::iterator vs_i = v_list.begin(); @@ -2255,7 +2253,6 @@ int colvar::calc_vel_acf(std::list &v_list, acf_nframes++; } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); } @@ -2280,7 +2277,7 @@ void colvar::calc_coor_acf(std::list &x_list, void colvar::calc_p2coor_acf(std::list &x_list, - colvarvalue const &x) + colvarvalue const &x) { // same as above but with second order Legendre polynomial instead // of just the scalar product @@ -2301,20 +2298,46 @@ void colvar::calc_p2coor_acf(std::list &x_list, } -void colvar::write_acf(std::ostream &os) +int colvar::write_acf(std::ostream &os) { - if (!acf_nframes) - cvm::log("Warning: ACF was not calculated (insufficient frames).\n"); + if (!acf_nframes) { + return COLVARS_OK; + } + os.setf(std::ios::scientific, std::ios::floatfield); - os << "# Autocorrelation function for collective variable \"" - << this->name << "\"\n"; - // one frame is used for normalization, the statistical sample is - // hence decreased - os << "# nframes = " << (acf_normalize ? - acf_nframes - 1 : - acf_nframes) << "\n"; + os << "# "; + switch (acf_type) { + case acf_vel: + os << "Velocity"; + break; + case acf_coor: + os << "Coordinate"; + break; + case acf_p2coor: + os << "Coordinate (2nd Legendre poly)"; + break; + } + + if (acf_colvar_name == name) { + os << " autocorrelation function for variable \"" + << this->name << "\"\n"; + } else { + os << " correlation function between variables \"" // + << this->name << "\" and \"" << acf_colvar_name << "\"\n"; + } + + os << "# Number of samples = "; + if (acf_normalize) { + os << (acf_nframes-1) << " (one DoF is used for normalization)\n"; + } else { + os << acf_nframes << "\n"; + } + + os << "# " << cvm::wrap_string("step", cvm::it_width-2) << " " + << cvm::wrap_string("corrfunc(step)", cvm::cv_width) << "\n"; cvm::real const acf_norm = acf.front() / cvm::real(acf_nframes); + std::vector::iterator acf_i; size_t it = acf_offset; for (acf_i = acf.begin(); acf_i != acf.end(); ++acf_i) { @@ -2325,11 +2348,15 @@ void colvar::write_acf(std::ostream &os) (*acf_i)/(acf_norm * cvm::real(acf_nframes)) : (*acf_i)/(cvm::real(acf_nframes)) ) << "\n"; } + + return os.good() ? COLVARS_OK : FILE_ERROR; } -void colvar::calc_runave() +int colvar::calc_runave() { + int error_code = COLVARS_OK; + if (x_history.empty()) { runave.type(value().type()); @@ -2348,10 +2375,29 @@ void colvar::calc_runave() } else { - if ( (cvm::step_relative() % runave_stride) == 0) { + if ( (cvm::step_relative() % runave_stride) == 0 && + (cvm::step_relative() > prev_timestep) ) { if ((*x_history_p).size() >= runave_length-1) { + if (runave_os == NULL) { + if (runave_outfile.size() == 0) { + runave_outfile = std::string(cvm::output_prefix()+"."+ + this->name+".runave.traj"); + } + + size_t const this_cv_width = x.output_width(cvm::cv_width); + cvm::proxy->backup_file(runave_outfile); + runave_os = cvm::proxy->output_stream(runave_outfile); + runave_os->setf(std::ios::scientific, std::ios::floatfield); + *runave_os << "# " << cvm::wrap_string("step", cvm::it_width-2) + << " " + << cvm::wrap_string("running average", this_cv_width) + << " " + << cvm::wrap_string("running stddev", this_cv_width) + << "\n"; + } + runave = x; std::list::iterator xs_i; for (xs_i = (*x_history_p).begin(); @@ -2370,7 +2416,7 @@ void colvar::calc_runave() runave_variance *= 1.0 / cvm::real(runave_length-1); *runave_os << std::setw(cvm::it_width) << cvm::step_relative() - << " " + << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << runave << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) @@ -2381,6 +2427,7 @@ void colvar::calc_runave() } } + return error_code; } // Static members diff --git a/lib/colvars/colvar.h b/lib/colvars/colvar.h index 989d55124f..a67749d577 100644 --- a/lib/colvars/colvar.h +++ b/lib/colvars/colvar.h @@ -291,6 +291,9 @@ public: /// \brief Calculate the colvar's value and related quantities int calc(); + /// Carry out operations needed before next step is run + int end_of_step(); + /// \brief Calculate a subset of the colvar components (CVCs) currently active /// (default: all active CVCs) /// Note: both arguments refer to the sect of *active* CVCs, not all CVCs @@ -410,8 +413,9 @@ public: /// Read the analysis tasks int parse_analysis(std::string const &conf); + /// Perform analysis tasks - void analyze(); + int analyze(); /// Read the value from a collective variable trajectory file @@ -489,23 +493,23 @@ protected: acf_type_e acf_type; /// \brief Velocity ACF, scalar product between v(0) and v(t) - int calc_vel_acf(std::list &v_history, - colvarvalue const &v); + void calc_vel_acf(std::list &v_history, + colvarvalue const &v); /// \brief Coordinate ACF, scalar product between x(0) and x(t) /// (does not work with scalar numbers) void calc_coor_acf(std::list &x_history, - colvarvalue const &x); + colvarvalue const &x); /// \brief Coordinate ACF, second order Legendre polynomial between /// x(0) and x(t) (does not work with scalar numbers) void calc_p2coor_acf(std::list &x_history, - colvarvalue const &x); + colvarvalue const &x); /// Calculate the auto-correlation function (ACF) int calc_acf(); /// Save the ACF to a file - void write_acf(std::ostream &os); + int write_acf(std::ostream &os); /// Length of running average series size_t runave_length; @@ -521,7 +525,7 @@ protected: cvm::real runave_variance; /// Calculate the running average and its standard deviation - void calc_runave(); + int calc_runave(); /// If extended Lagrangian active: colvar energies (kinetic and harmonic potential) cvm::real kinetic_energy; diff --git a/lib/colvars/colvarbias.cpp b/lib/colvars/colvarbias.cpp index 29620fbee8..9363fcdcb6 100644 --- a/lib/colvars/colvarbias.cpp +++ b/lib/colvars/colvarbias.cpp @@ -236,6 +236,12 @@ void colvarbias::communicate_forces() } +int colvarbias::end_of_step() +{ + return COLVARS_OK; +} + + int colvarbias::change_configuration(std::string const &conf) { cvm::error("Error: change_configuration() not implemented.\n", diff --git a/lib/colvars/colvarbias.h b/lib/colvars/colvarbias.h index 083b9d7303..391826e79e 100644 --- a/lib/colvars/colvarbias.h +++ b/lib/colvars/colvarbias.h @@ -66,6 +66,9 @@ public: /// Send forces to the collective variables virtual void communicate_forces(); + /// Carry out operations needed before next step is run + virtual int end_of_step(); + /// Load new configuration - force constant and/or centers only virtual int change_configuration(std::string const &conf); diff --git a/lib/colvars/colvardeps.cpp b/lib/colvars/colvardeps.cpp index 80bd6670d3..d20ee6e55c 100644 --- a/lib/colvars/colvardeps.cpp +++ b/lib/colvars/colvardeps.cpp @@ -567,6 +567,9 @@ void colvardeps::init_cv_requires() { // Most features are available, so we set them so // and list exceptions below } + + feature_states[f_cv_fdiff_velocity].available = + cvm::main()->proxy->simulation_running(); } diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index 87b08b1ef8..d88a97a441 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -62,8 +62,6 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) use_scripted_forces = false; scripting_after_biases = false; - b_analysis = false; - colvarmodule::debug_gradients_step_size = 1.0e-07; colvarmodule::rotation::monitor_crossings = false; @@ -274,7 +272,12 @@ int colvarmodule::parse_global_params(std::string const &conf) } } - parse->get_keyval(conf, "analysis", b_analysis, b_analysis); + bool b_analysis = true; + if (parse->get_keyval(conf, "analysis", b_analysis, true, + colvarparse::parse_silent)) { + cvm::log("Warning: keyword \"analysis\" is deprecated: it is now set " + "to true; individual analyses are performed only if requested."); + } parse->get_keyval(conf, "debugGradientsStepSize", debug_gradients_step_size, debug_gradients_step_size, @@ -715,9 +718,7 @@ int colvarmodule::calc() error_code |= calc_biases(); error_code |= update_colvar_forces(); - if (cvm::b_analysis) { - error_code |= analyze(); - } + error_code |= analyze(); // write trajectory files, if needed if (cv_traj_freq && cv_traj_name.size()) { @@ -736,6 +737,8 @@ int colvarmodule::calc() write_output_files(); } + error_code |= end_of_step(); + return error_code; } @@ -1056,6 +1059,33 @@ int colvarmodule::analyze() } +int colvarmodule::end_of_step() +{ + if (cvm::debug()) { + cvm::log("colvarmodule::end_of_step(), step = "+cvm::to_str(it)+".\n"); + } + + for (std::vector::iterator cvi = variables_active()->begin(); + cvi != variables_active()->end(); + cvi++) { + cvm::increase_depth(); + (*cvi)->end_of_step(); + cvm::decrease_depth(); + } + + // perform bias-specific analysis + for (std::vector::iterator bi = biases.begin(); + bi != biases.end(); + bi++) { + cvm::increase_depth(); + (*bi)->end_of_step(); + cvm::decrease_depth(); + } + + return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); +} + + int colvarmodule::setup() { if (this->size() == 0) return cvm::get_error(); @@ -1895,7 +1925,6 @@ long colvarmodule::it = 0; long colvarmodule::it_restart = 0; size_t colvarmodule::restart_out_freq = 0; size_t colvarmodule::cv_traj_freq = 0; -bool colvarmodule::b_analysis = false; bool colvarmodule::use_scripted_forces = false; bool colvarmodule::scripting_after_biases = true; diff --git a/lib/colvars/colvarmodule.h b/lib/colvars/colvarmodule.h index 3d93798e0a..99b797627e 100644 --- a/lib/colvars/colvarmodule.h +++ b/lib/colvars/colvarmodule.h @@ -422,6 +422,9 @@ public: /// Perform analysis int analyze(); + /// Carry out operations needed before next step is run + int end_of_step(); + /// \brief Read a collective variable trajectory (post-processing /// only, not called at runtime) int read_traj(char const *traj_filename, @@ -546,9 +549,6 @@ public: /// Frequency for collective variables trajectory output static size_t cv_traj_freq; - /// \brief True if only analysis is performed and not a run - static bool b_analysis; - /// Frequency for saving output restarts static size_t restart_out_freq; /// Output restart file name diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index a37d264a20..bd84d077d7 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,5 +1,5 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2018-10-16" +#define COLVARS_VERSION "2018-11-16" // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: // https://github.com/colvars/colvars