Loading [MathJax]/extensions/tex2jax.js
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
PLMD::Torsion Class Reference

Class to compute torsional angles. More...

#include <Torsion.h>

Public Member Functions

double compute (const Vector &v1, const Vector &v2, const Vector &v3) const
 Compute the angle between the projections of v1 and v3 on the plane orthogonal to v2.
 
double compute (const Vector &v1, const Vector &v2, const Vector &v3, Vector &d1, Vector &d2, Vector &d3) const
 This is the version which also computes the derivatives wrt the arguments.
 

Detailed Description

Class to compute torsional angles.

I define it as a class even if it does not contain anything. The reason is that in the future I would like to extend it to contain options about how the calculation should be done. So, for now use it as Torsion t; double angle=t.compute(v1,v2,v3); I know it is a bit misleading. If we really do not need to store "options" inside the Torsion class, we can remove it later and write compute as a static function.

Member Function Documentation

◆ compute() [1/2]

double PLMD::Torsion::compute ( const Vector & v1,
const Vector & v2,
const Vector & v3 ) const

Compute the angle between the projections of v1 and v3 on the plane orthogonal to v2.

To have a "normal" definition (= plumed1), use it as compute(r01,r12,r23); See ColvarTorsion for a practical usage...

◆ compute() [2/2]

double PLMD::Torsion::compute ( const Vector & v1,
const Vector & v2,
const Vector & v3,
Vector & d1,
Vector & d2,
Vector & d3 ) const

This is the version which also computes the derivatives wrt the arguments.


The documentation for this class was generated from the following files: