Difference for src/colvarbias_meta.C from version 1.18 to 1.19

version 1.18version 1.19
Line 1
Line 1
 /// -*- c++ -*- // -*- c++ -*-
  
 #include <iostream> #include <iostream>
 #include <sstream> #include <sstream>
Line 25
Line 25
 #include "colvarbias_meta.h" #include "colvarbias_meta.h"
  
  
 colvarbias_meta::colvarbias_meta() colvarbias_meta::colvarbias_meta(char const *key)
   : colvarbias(),   : colvarbias(key),
     new_hills_begin(hills.end()),     new_hills_begin(hills.end()),
     state_file_step(0)     state_file_step(0)
 { {
 } }
  
  
 colvarbias_meta::colvarbias_meta(std::string const &conf, char const *key) int colvarbias_meta::init(std::string const &conf)
   : colvarbias(conf, key), 
     new_hills_begin(hills.end()), 
     state_file_step(0) 
 { {
   if (cvm::n_abf_biases > 0)   colvarbias::init(conf);
     cvm::log("Warning: running ABF and metadynamics together is not recommended unless applyBias is off for ABF.\n"); 
    provide(f_cvb_history_dependent);
  
   get_keyval(conf, "hillWeight", hill_weight, 0.01);   get_keyval(conf, "hillWeight", hill_weight, 0.0);
   if (hill_weight == 0.0)   if (hill_weight > 0.0) {
     cvm::log("Warning: hillWeight has been set to zero, "     enable(f_cvb_apply_force);
              "this bias will have no effect.\n");   } else {
      cvm::error("Error: hillWeight must be provided, and a positive number.\n", INPUT_ERROR);
    }
  
   get_keyval(conf, "newHillFrequency", new_hill_freq, 1000);   get_keyval(conf, "newHillFrequency", new_hill_freq, 1000);
    if (new_hill_freq > 0) {
      enable(f_cvb_history_dependent);
    }
  
   get_keyval(conf, "hillWidth", hill_width, std::sqrt(2.0 * PI) / 2.0);   get_keyval(conf, "hillWidth", hill_width, std::sqrt(2.0 * PI) / 2.0);
    cvm::log("Half-widths of the Gaussian hills (sigma's):\n");
    for (size_t i = 0; i < colvars.size(); i++) {
      cvm::log(colvars[i]->name+std::string(": ")+
               cvm::to_str(0.5 * colvars[i]->width * hill_width));
    }
  
   {   {
     bool b_replicas = false;     bool b_replicas = false;
Line 59
Line 67
       comm = single_replica;       comm = single_replica;
   }   }
  
    // This implies gradients for all colvars
    enable(f_cvb_apply_force);
  
   get_keyval(conf, "useGrids", use_grids, true);   get_keyval(conf, "useGrids", use_grids, true);
  
   if (use_grids) {   if (use_grids) {
Line 68
Line 79
     expand_grids = false;     expand_grids = false;
     size_t i;     size_t i;
     for (i = 0; i < colvars.size(); i++) {     for (i = 0; i < colvars.size(); i++) {
        colvars[i]->enable(f_cv_grid);
       if (colvars[i]->expand_boundaries) {       if (colvars[i]->expand_boundaries) {
         expand_grids = true;         expand_grids = true;
         cvm::log("Metadynamics bias \""+this->name+"\""+         cvm::log("Metadynamics bias \""+this->name+"\""+
Line 80
Line 92
     get_keyval(conf, "keepHills", keep_hills, false);     get_keyval(conf, "keepHills", keep_hills, false);
     if (! get_keyval(conf, "writeFreeEnergyFile", dump_fes, true))     if (! get_keyval(conf, "writeFreeEnergyFile", dump_fes, true))
       get_keyval(conf, "dumpFreeEnergyFile", dump_fes, true, colvarparse::parse_silent);       get_keyval(conf, "dumpFreeEnergyFile", dump_fes, true, colvarparse::parse_silent);
     get_keyval(conf, "saveFreeEnergyFile", dump_fes_save, false);     if (get_keyval(conf, "saveFreeEnergyFile", dump_fes_save, false, colvarparse::parse_silent)) {
        cvm::log("Option \"saveFreeEnergyFile\" is deprecated, "
     for (i = 0; i < colvars.size(); i++) {                "please use \"keepFreeEnergyFiles\" instead.");
       colvars[i]->enable(colvar::task_grid); 
     }     }
      get_keyval(conf, "keepFreeEnergyFiles", dump_fes_save, dump_fes_save);
  
     hills_energy           = new colvar_grid_scalar(colvars);     hills_energy           = new colvar_grid_scalar(colvars);
     hills_energy_gradients = new colvar_grid_gradient(colvars);     hills_energy_gradients = new colvar_grid_gradient(colvars);
Line 152
Line 164
              ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+".\n");              ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+".\n");
  
   save_delimiters = false;   save_delimiters = false;
    return COLVARS_OK;
 } }
  
  
Line 253
Line 266
 } }
  
  
 cvm::real colvarbias_meta::update() int colvarbias_meta::update()
 { {
   if (cvm::debug())   if (cvm::debug())
     cvm::log("Updating the metadynamics bias \""+this->name+"\""+     cvm::log("Updating the metadynamics bias \""+this->name+"\""+
Line 544
Line 557
                  ", hills forces = "+cvm::to_str(colvar_forces)+".\n");                  ", hills forces = "+cvm::to_str(colvar_forces)+".\n");
     }     }
  
   return bias_energy;   return COLVARS_OK;
 } }
  
  
Line 851
Line 864
         // add this replica to the registry         // add this replica to the registry
         cvm::log("Metadynamics bias \""+this->name+"\""+         cvm::log("Metadynamics bias \""+this->name+"\""+
                  ": accessing replica \""+new_replica+"\".\n");                  ": accessing replica \""+new_replica+"\".\n");
         replicas.push_back(new colvarbias_meta());         replicas.push_back(new colvarbias_meta("metadynamics"));
         (replicas.back())->replica_id = new_replica;         (replicas.back())->replica_id = new_replica;
         (replicas.back())->replica_list_file = new_replica_file;         (replicas.back())->replica_list_file = new_replica_file;
         (replicas.back())->replica_state_file = "";         (replicas.back())->replica_state_file = "";


Legend:
Removed in v.1.18 
changed lines
 Added in v.1.19



Made by using version 1.53 of cvs2html