Difference for src/colvarcomp_angles.C from version 1.13 to 1.14

version 1.13version 1.14
Line 7
Line 7
 #include <cmath> #include <cmath>
  
  
  
 colvar::angle::angle(std::string const &conf) colvar::angle::angle(std::string const &conf)
   : cvc(conf)   : cvc(conf)
 { {
Line 85
Line 86
   group3->set_weighted_gradient(dxdr3);   group3->set_weighted_gradient(dxdr3);
 } }
  
  
 void colvar::angle::calc_force_invgrads() void colvar::angle::calc_force_invgrads()
 { {
   // This uses a force measurement on groups 1 and 3 only   // This uses a force measurement on groups 1 and 3 only
Line 107
Line 109
   return;   return;
 } }
  
  
 void colvar::angle::calc_Jacobian_derivative() void colvar::angle::calc_Jacobian_derivative()
 { {
   // det(J) = (2 pi) r^2 * sin(theta)   // det(J) = (2 pi) r^2 * sin(theta)
Line 129
Line 132
 } }
  
  
  simple_scalar_dist_functions(angle)
  
  
  
 colvar::dipole_angle::dipole_angle(std::string const &conf) colvar::dipole_angle::dipole_angle(std::string const &conf)
Line 235
Line 240
 } }
  
  
  simple_scalar_dist_functions(dipole_angle)
  
  
  
 colvar::dihedral::dihedral(std::string const &conf) colvar::dihedral::dihedral(std::string const &conf)
Line 453
Line 460
 } }
  
  
  // metrics functions for cvc implementations with a periodicity
  
  cvm::real colvar::dihedral::dist2(colvarvalue const &x1,
                                    colvarvalue const &x2) const
  {
    cvm::real diff = x1.real_value - x2.real_value;
    diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff));
    return diff * diff;
  }
  
  
  colvarvalue colvar::dihedral::dist2_lgrad(colvarvalue const &x1,
                                            colvarvalue const &x2) const
  {
    cvm::real diff = x1.real_value - x2.real_value;
    diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff));
    return 2.0 * diff;
  }
  
  
  colvarvalue colvar::dihedral::dist2_rgrad(colvarvalue const &x1,
                                            colvarvalue const &x2) const
  {
    cvm::real diff = x1.real_value - x2.real_value;
    diff = (diff < -180.0 ? diff + 360.0 : (diff > 180.0 ? diff - 360.0 : diff));
    return (-2.0) * diff;
  }
  
  
  void colvar::dihedral::wrap(colvarvalue &x) const
  {
    if ((x.real_value - wrap_center) >= 180.0) {
      x.real_value -= 360.0;
      return;
    }
  
    if ((x.real_value - wrap_center) < -180.0) {
      x.real_value += 360.0;
      return;
    }
  
    return;
  }


Legend:
Removed in v.1.13 
changed lines
 Added in v.1.14



Made by using version 1.53 of cvs2html