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

colvarcomp.h File Reference

#include "colvarmodule.h"
#include "colvar.h"
#include "colvaratoms.h"
#include "colvar_arithmeticpath.h"
#include <map>

Go to the source code of this file.

Compounds

class  colvar::azpathCV
class  colvar::aspathCV
class  colvar::CartesianBasedPath
class  colvar::alch_Flambda
class  colvar::alch_lambda
class  colvar::cartesian
class  colvar::alpha_angles
 \brief Colvar component: alpha helix content of a contiguous segment of 5 or more residues, implemented as a sum of Ca-Ca-Ca angles and hydrogen bonds (colvarvalue::type_scalar type, range [0:1]). More...

class  colvar::angle
 \brief Colvar component: angle between the centers of mass of three groups (colvarvalue::type_scalar type, range [0:PI]). More...

class  colvar::cvc
 \brief Colvar component (base class for collective variables) A colvar::cvc object (or an object of a cvc-derived class) implements the calculation of a collective variable, its gradients and any other related physical quantities that depend on microscopic degrees of freedom. No restriction is set to what kind of calculation a colvar::cvc object performs (usually an analytical function of atomic coordinates). The only constraints are that:
- The value is calculated by the \link calc_value() \endlink method, and is an object of \link colvarvalue \endlink class. This provides a transparent way to treat scalar and non-scalar variables alike, and allows an automatic selection of the applicable algorithms. - The object provides an implementation \link apply_force() \endlink to apply forces to atoms. Typically, one or more \link colvarmodule::atom_group \endlink objects are used, but this is not a requirement for as long as the \link colvar::cvc \endlink object communicates with the simulation program. <b> If you wish to implement a new collective variable component, you should write your own class by inheriting directly from \link colvar::cvc \endlink, or one of its derived classes (for instance, \link colvar::distance \endlink is frequently used, because it provides useful data and function members for any colvar based on two atom groups).</b> The steps are: \par 1. Declare the new class as a derivative of \link colvar::cvc \endlink in the file \link colvarcomp.h \endlink 2. Implement the new class in a file named colvarcomp_<something>.cpp 3. Declare the name of the new class inside the \link colvar \endlink class in \link colvar.h \endlink (see "list of available components") 4. Add a call for the new class in colvar::init_components()/ (file:
colvar.cpp).
More...


class  colvar::distance
 \brief Colvar component: distance between the centers of mass of two groups (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::distance_vec
class  colvar::distance_dir
 \brief Colvar component: distance unit vector (direction) between centers of mass of two groups (colvarvalue::type_unit3vector type, range [-1:1]x[-1:1]x[-1:1]). More...

class  colvar::distance_z
 \brief Colvar component: projection of the distance vector along an axis(colvarvalue::type_scalar type, range (-*:*)). More...

class  colvar::distance_xy
 \brief Colvar component: projection of the distance vector on a plane (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::polar_phi
 \brief Colvar component: polar coordinate phi of a group (colvarvalue::type_scalar type, range [-180:180]). More...

class  colvar::polar_theta
 \brief Colvar component: polar coordinate theta of a group (colvarvalue::type_scalar type, range [0:180]). More...

class  colvar::distance_inv
 \brief Colvar component: average distance between two groups of atoms, weighted as the sixth power, as in NMR refinements(colvarvalue::type_scalar type, range (0:*)). More...

class  colvar::distance_pairs
 \brief Colvar component: N1xN2 vector of pairwise distances (colvarvalue::type_vector type, range (0:*) for each component). More...

class  colvar::dipole_magnitude
 \brief Colvar component: dipole magnitude of a molecule. More...

class  colvar::gyration
 \brief Colvar component: Radius of gyration of an atom group (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::inertia
 \brief Colvar component: moment of inertia of an atom group (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::inertia_z
 \brief Colvar component: moment of inertia of an atom group around a user-defined axis (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::eigenvector
 \brief Colvar component: projection of 3N coordinates onto an eigenvector(colvarvalue::type_scalar type, range (-*:*)). More...

class  colvar::dipole_angle
 \brief Colvar component: angle between the dipole of a molecule and an axis formed by two groups of atoms(colvarvalue::type_scalar type, range [0:PI]). More...

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

class  colvar::coordnum
 \brief Colvar component: coordination number between two groups (colvarvalue::type_scalar type, range [0:N1*N2]). More...

class  colvar::selfcoordnum
 \brief Colvar component: self-coordination number within a group (colvarvalue::type_scalar type, range [0:N*(N-1)/2]). More...

class  colvar::groupcoordnum
 \brief Colvar component: coordination number between two groups (colvarvalue::type_scalar type, range [0:N1*N2]). More...

class  colvar::h_bond
 \brief Colvar component: hydrogen bond, defined as the product of a colvar::coordnum and 1/2*(1-cos((180-ang)/ang_tol)) (colvarvalue::type_scalar type, range [0:1]). More...

class  colvar::dihedPC
 \brief Colvar component: dihedPC Projection of the config onto a dihedral principal component See e.g. Altis et al., J. Chem. Phys 126, 244111 (2007) Based on a set of 'dihedral' cvcs. More...

class  colvar::orientation
 \brief Colvar component: orientation in space of an atom group, with respect to a set of reference coordinates (colvarvalue::type_quaternion type, range [-1:1]x[-1:1]x[-1:1]x[-1:1]). More...

class  colvar::orientation_angle
 \brief Colvar component: angle of rotation with respect to a set of reference coordinates (colvarvalue::type_scalar type, range [0:PI)). More...

class  colvar::orientation_proj
 \brief Colvar component: cosine of the angle of rotation with respect to a set of reference coordinates (colvarvalue::type_scalar type, range [-1:1]). More...

class  colvar::tilt
 \brief Colvar component: projection of the orientation vector onto a predefined axis (colvarvalue::type_scalar type, range [-1:1]). More...

class  colvar::spin_angle
 \brief Colvar component: angle of rotation around a predefined axis (colvarvalue::type_scalar type, range [-PI:PI]). More...

class  colvar::euler_phi
class  colvar::euler_psi
class  colvar::euler_theta
class  colvar::rmsd
 \brief Colvar component: root mean square deviation (RMSD) of a group with respect to a set of reference coordinates; uses colvar::orientation to calculate the rotation matrix (colvarvalue::type_scalar type, range [0:*)). More...

class  colvar::componentDisabled
class  colvar::linearCombination
class  colvar::CVBasedPath
class  colvar::gspath
class  colvar::gzpath
class  colvar::gspathCV
class  colvar::gzpathCV
class  colvar::neuralNetwork
class  colvar::map_total

Defines

#define simple_scalar_dist_functions(TYPE)


Define Documentation

#define simple_scalar_dist_functions TYPE   
 

Value:

\
                                                                        \
  cvm::real colvar::TYPE::dist2(colvarvalue const &x1,                  \
                                colvarvalue const &x2) const            \
  {                                                                     \
    return (x1.real_value - x2.real_value)*(x1.real_value - x2.real_value); \
  }                                                                     \
                                                                        \
                                                                        \
  colvarvalue colvar::TYPE::dist2_lgrad(colvarvalue const &x1,          \
                                        colvarvalue const &x2) const    \
  {                                                                     \
    return 2.0 * (x1.real_value - x2.real_value);                       \
  }                                                                     \
                                                                        \
                                                                        \
  colvarvalue colvar::TYPE::dist2_rgrad(colvarvalue const &x1,          \
                                        colvarvalue const &x2) const    \
  {                                                                     \
    return this->dist2_lgrad(x2, x1);                                   \
  }                                                                     \

Definition at line 1882 of file colvarcomp.h.


Generated on Thu Mar 28 02:44:32 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002