Difference for src/colvarbias_alb.C from version 1.4 to 1.5

version 1.4version 1.5
Line 23
Line 23
  *  *
  */  */
  
 colvarbias_alb::colvarbias_alb(std::string const &conf, char const *key) : colvarbias_alb::colvarbias_alb(char const *key)
   colvarbias(conf, key), update_calls(0), b_equilibration(true) {   : colvarbias(key), update_calls(0), b_equilibration(true)
  {
  }
  
  
  int colvarbias_alb::init(std::string const &conf)
  {
    colvarbias::init(conf);
  
    provide(f_cvb_history_dependent);
  
   size_t i;   size_t i;
  
   // get the initial restraint centers   // get the initial restraint centers
Line 41
Line 51
   current_coupling.resize(colvars.size());   current_coupling.resize(colvars.size());
   coupling_rate.resize(colvars.size());   coupling_rate.resize(colvars.size());
  
    enable(f_cvb_apply_force);
  
   for (i = 0; i < colvars.size(); i++) {   for (i = 0; i < colvars.size(); i++) {
     colvar_centers[i].type(colvars[i]->value());     colvar_centers[i].type(colvars[i]->value());
Line 70
Line 81
   //we split the time between updating and equilibrating   //we split the time between updating and equilibrating
   update_freq /= 2;   update_freq /= 2;
  
   if (update_freq == 0)   if (update_freq <= 1)
     cvm::fatal_error("Error: must set updateFrequency to greater than 2.\n");     cvm::fatal_error("Error: must set updateFrequency to greater than 2.\n");
  
    enable(f_cvb_history_dependent);
  
   get_keyval(conf, "outputCenters", b_output_centers, false);   get_keyval(conf, "outputCenters", b_output_centers, false);
   get_keyval(conf, "outputGradient", b_output_grad, false);   get_keyval(conf, "outputGradient", b_output_grad, false);
   get_keyval(conf, "outputCoupling", b_output_coupling, true);   get_keyval(conf, "outputCoupling", b_output_coupling, true);
Line 98
Line 111
     }     }
   }   }
  
  
  
   if (!get_keyval(conf, "rateMax", max_coupling_rate, max_coupling_rate)) {   if (!get_keyval(conf, "rateMax", max_coupling_rate, max_coupling_rate)) {
     //set to default     //set to default
     for (i = 0; i < colvars.size(); i++) {     for (i = 0; i < colvars.size(); i++) {
Line 111
Line 122
   if (cvm::debug())   if (cvm::debug())
     cvm::log(" bias.\n");     cvm::log(" bias.\n");
  
    return COLVARS_OK;
 } }
  
 colvarbias_alb::~colvarbias_alb() { 
  
  colvarbias_alb::~colvarbias_alb()
  {
   if (cvm::n_rest_biases > 0)   if (cvm::n_rest_biases > 0)
     cvm::n_rest_biases -= 1;     cvm::n_rest_biases -= 1;
  
 } }
  
 cvm::real colvarbias_alb::update() { 
  int colvarbias_alb::update()
  {
  
   bias_energy = 0.0;   bias_energy = 0.0;
   update_calls++;   update_calls++;
Line 128
Line 142
   if (cvm::debug())   if (cvm::debug())
     cvm::log("Updating the adaptive linear bias \""+this->name+"\".\n");     cvm::log("Updating the adaptive linear bias \""+this->name+"\".\n");
  
  
  
  
   //log the moments of the CVs   //log the moments of the CVs
   // Force and energy calculation   // Force and energy calculation
   bool finished_equil_flag = 1;   bool finished_equil_flag = 1;
Line 224
Line 235
  
   }   }
  
   return bias_energy;   return COLVARS_OK;
  
 } }
  
  
Line 423
Line 433
 } }
  
  
 cvm::real colvarbias_alb::restraint_potential(cvm::real k,  const colvar* x,  const colvarvalue &xcenter) const cvm::real colvarbias_alb::restraint_potential(cvm::real k,
                                                colvar const *x,
                                                colvarvalue const &xcenter) const
 { {
   return k * (x->value() - xcenter);   return k * (x->value() - xcenter);
 } }
  
 colvarvalue colvarbias_alb::restraint_force(cvm::real k,  const colvar* x,  const colvarvalue &xcenter) const 
  colvarvalue colvarbias_alb::restraint_force(cvm::real k,
                                              colvar const *x,
                                              colvarvalue const &xcenter) const
 { {
   return k;   return k;
 } }
  
 cvm::real colvarbias_alb::restraint_convert_k(cvm::real k, cvm::real dist_measure) const 
  cvm::real colvarbias_alb::restraint_convert_k(cvm::real k,
                                                cvm::real dist_measure) const
 { {
   return k / dist_measure;   return k / dist_measure;
 } }


Legend:
Removed in v.1.4 
changed lines
 Added in v.1.5



Made by using version 1.53 of cvs2html