Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

colvar::dihedral Class Reference

\brief Colvar component: dihedral between the centers of mass of four groups (colvarvalue::type_scalar type, range [-PI:PI]). More...

#include <colvarcomp.h>

Inheritance diagram for colvar::dihedral:

colvar::cvc colvarparse colvardeps colvarparams List of all members.

Public Methods

 dihedral (std::string const &conf)
 Initialize by parsing the configuration. More...

 dihedral (cvm::atom const &a1, cvm::atom const &a2, cvm::atom const &a3, cvm::atom const &a4)
 \brief Initialize the four groups after four atoms. More...

 dihedral ()
virtual ~dihedral ()
virtual void calc_value ()
 \brief Calculate the variable. More...

virtual void calc_gradients ()
 \brief Calculate the atomic gradients, to be reused later in order to apply forces. More...

virtual void calc_force_invgrads ()
 \brief Calculate the total force from the system using the inverse atomic gradients. More...

virtual void calc_Jacobian_derivative ()
 \brief Calculate the divergence of the inverse atomic gradients. More...

virtual void apply_force (colvarvalue const &force)
 \brief 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
Parameters:
cvforce  The collective variable force, usually coming from the biases and eventually manipulated by the parent colvar object.
More...


virtual cvm::real dist2 (colvarvalue const &x1, colvarvalue const &x2) const
 Redefined to handle the 2*PI periodicity. More...

virtual colvarvalue dist2_lgrad (colvarvalue const &x1, colvarvalue const &x2) const
 Redefined to handle the 2*PI periodicity. More...

virtual colvarvalue dist2_rgrad (colvarvalue const &x1, colvarvalue const &x2) const
 Redefined to handle the 2*PI periodicity. More...

virtual void wrap (colvarvalue &x_unwrapped) const
 Redefined to handle the 2*PI periodicity. More...


Protected Attributes

cvm::atom_group * group1
 Atom group. More...

cvm::atom_group * group2
 Atom group. More...

cvm::atom_group * group3
 Atom group. More...

cvm::atom_group * group4
 Atom group. More...

cvm::rvector r12
 Inter site vectors. More...

cvm::rvector r23
 Inter site vectors. More...

cvm::rvector r34
 Inter site vectors. More...

bool b_1site_force
 \brief Compute total force on first site only to avoid unwanted coupling to other colvars (see e.g. Ciccotti et al., 2005). More...


Detailed Description

\brief Colvar component: dihedral between the centers of mass of four groups (colvarvalue::type_scalar type, range [-PI:PI]).

Definition at line 844 of file colvarcomp.h.


Constructor & Destructor Documentation

colvar::dihedral::dihedral std::string const &    conf
 

Initialize by parsing the configuration.

colvar::dihedral::dihedral cvm::atom const &    a1,
cvm::atom const &    a2,
cvm::atom const &    a3,
cvm::atom const &    a4
 

\brief Initialize the four groups after four atoms.

Definition at line 267 of file colvarcomp_angles.C.

References colvarmodule::atom_group, b_1site_force, colvardeps::enable, colvardeps::f_cvc_com_based, colvardeps::f_cvc_inv_gradient, colvardeps::f_cvc_Jacobian, group1, group2, group3, group4, colvar::cvc::init_as_periodic_angle, colvardeps::provide, colvar::cvc::register_atom_group, and colvar::cvc::set_function_type.

colvar::dihedral::dihedral  
 

Definition at line 291 of file colvarcomp_angles.C.

References colvardeps::enable, colvardeps::f_cvc_inv_gradient, colvardeps::f_cvc_Jacobian, colvardeps::f_cvc_periodic, colvar::cvc::init_as_periodic_angle, colvardeps::provide, and colvar::cvc::set_function_type.

virtual colvar::dihedral::~dihedral   [inline, virtual]
 

Definition at line 871 of file colvarcomp.h.


Member Function Documentation

void colvar::dihedral::apply_force colvarvalue const &    force [virtual]
 

\brief 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

Parameters:
cvforce  The collective variable force, usually coming from the biases and eventually manipulated by the parent colvar object.

Implements colvar::cvc.

Definition at line 442 of file colvarcomp_angles.C.

References force, group1, group2, group3, group4, and colvarvalue::real_value.

void colvar::dihedral::calc_force_invgrads   [virtual]
 

\brief Calculate the total force from the system using the inverse atomic gradients.

Reimplemented from colvar::cvc.

Definition at line 404 of file colvarcomp_angles.C.

References colvardeps::f_cvc_one_site_total_force, colvar::cvc::ft, group1, group4, colvardeps::is_enabled, PI, r12, r23, r34, colvarvalue::real_value, and colvarmodule::sqrt.

void colvar::dihedral::calc_gradients   [virtual]
 

\brief Calculate the atomic gradients, to be reused later in order to apply forces.

Reimplemented from colvar::cvc.

Definition at line 330 of file colvarcomp_angles.C.

References colvarmodule::fabs, group1, group2, group3, group4, PI, r12, r23, and r34.

void colvar::dihedral::calc_Jacobian_derivative   [virtual]
 

\brief Calculate the divergence of the inverse atomic gradients.

Reimplemented from colvar::cvc.

Definition at line 435 of file colvarcomp_angles.C.

References colvar::cvc::jd.

void colvar::dihedral::calc_value   [virtual]
 

\brief Calculate the variable.

Implements colvar::cvc.

Definition at line 301 of file colvarcomp_angles.C.

References colvarmodule::atan2, colvardeps::f_cvc_pbc_minimum_image, group1, group2, group3, group4, colvardeps::is_enabled, PI, colvarmodule::position_distance, r12, r23, r34, colvarvalue::real_value, wrap, and colvar::cvc::x.

cvm::real colvar::dihedral::dist2 colvarvalue const &    x1,
colvarvalue const &    x2
const [virtual]
 

Redefined to handle the 2*PI periodicity.

Reimplemented from colvar::cvc.

Definition at line 460 of file colvarcomp_angles.C.

References colvarvalue::real_value.

colvarvalue colvar::dihedral::dist2_lgrad colvarvalue const &    x1,
colvarvalue const &    x2
const [virtual]
 

Redefined to handle the 2*PI periodicity.

Reimplemented from colvar::cvc.

Definition at line 469 of file colvarcomp_angles.C.

References colvarvalue::real_value.

colvarvalue colvar::dihedral::dist2_rgrad colvarvalue const &    x1,
colvarvalue const &    x2
const [virtual]
 

Redefined to handle the 2*PI periodicity.

Reimplemented from colvar::cvc.

Definition at line 478 of file colvarcomp_angles.C.

References colvarvalue::real_value.

void colvar::dihedral::wrap colvarvalue   x_unwrapped const [virtual]
 

Redefined to handle the 2*PI periodicity.

Reimplemented from colvar::cvc.

Definition at line 487 of file colvarcomp_angles.C.

References colvarvalue::real_value, and colvar::cvc::wrap_center.

Referenced by calc_value.


Member Data Documentation

bool colvar::dihedral::b_1site_force [protected]
 

\brief Compute total force on first site only to avoid unwanted coupling to other colvars (see e.g. Ciccotti et al., 2005).

Definition at line 862 of file colvarcomp.h.

Referenced by dihedral.

cvm::atom_group* colvar::dihedral::group1 [protected]
 

Atom group.

Definition at line 850 of file colvarcomp.h.

Referenced by apply_force, calc_force_invgrads, calc_gradients, calc_value, and dihedral.

cvm::atom_group* colvar::dihedral::group2 [protected]
 

Atom group.

Definition at line 852 of file colvarcomp.h.

Referenced by apply_force, calc_gradients, calc_value, and dihedral.

cvm::atom_group* colvar::dihedral::group3 [protected]
 

Atom group.

Definition at line 854 of file colvarcomp.h.

Referenced by apply_force, calc_gradients, calc_value, and dihedral.

cvm::atom_group* colvar::dihedral::group4 [protected]
 

Atom group.

Definition at line 856 of file colvarcomp.h.

Referenced by apply_force, calc_force_invgrads, calc_gradients, calc_value, and dihedral.

cvm::rvector colvar::dihedral::r12 [protected]
 

Inter site vectors.

Definition at line 858 of file colvarcomp.h.

Referenced by calc_force_invgrads, calc_gradients, and calc_value.

cvm::rvector colvar::dihedral::r23 [protected]
 

Inter site vectors.

Definition at line 858 of file colvarcomp.h.

Referenced by calc_force_invgrads, calc_gradients, and calc_value.

cvm::rvector colvar::dihedral::r34 [protected]
 

Inter site vectors.

Definition at line 858 of file colvarcomp.h.

Referenced by calc_force_invgrads, calc_gradients, and calc_value.


The documentation for this class was generated from the following files:
Generated on Tue Apr 23 04:25:12 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002