sc::ScaledTorsSimpleCo Class Reference

The ScaledTorsSimpleCo class describes an scaled torsion internal coordinate of a molecule. More...

#include <simple.h>

Inheritance diagram for sc::ScaledTorsSimpleCo:

sc::SimpleCo sc::IntCoor sc::SavableState sc::DescribedClass sc::RefCount sc::Identity List of all members.

Public Member Functions

 ScaledTorsSimpleCo (const ScaledTorsSimpleCo &)
 ScaledTorsSimpleCo (const char *refr, int, int, int, int)
 This constructor takes a string containing a label, and four integers a, b, c, and d which give the indices of the atoms involved in the torsion angle abcd.
 ScaledTorsSimpleCo (const Ref< KeyVal > &)
 The KeyVal constructor.
const char * ctype () const
 Always returns the string "TORS".
double radians () const
 Returns the value of the angle abc in radians.
double degrees () const
 Returns the value of the angle abc in degrees.
double preferred_value () const
 Returns the value of the angle abc in degrees.

Detailed Description

The ScaledTorsSimpleCo class describes an scaled torsion internal coordinate of a molecule.

The scaled torsion is more stable that ordinary torsions (see the TorsSimpleCo class) in describing situations where one of the torsions plane's is given by three near linear atoms.

Designating the four atoms as $a$, $b$, $c$, and $d$ and their cartesian positions as $\bar{r}_a$, $\bar{r}_b$, $\bar{r}_c$, and $\bar{r}_d$, the value of the coordinate, $\tau_s$, is given by

\[ \bar{u}_{ab} = \frac{\bar{r}_a - \bar{r}_b}{\| \bar{r}_a - \bar{r}_b \|}\]

\[ \bar{u}_{cb} = \frac{\bar{r}_c - \bar{r}_b}{\| \bar{r}_c - \bar{r}_b \|}\]

\[ \bar{u}_{cd} = \frac{\bar{r}_c - \bar{r}_d}{\| \bar{r}_c - \bar{r}_b \|}\]

\[ \bar{n}_{abc}= \frac{\bar{u}_{ab} \times \bar{u}_{cb}} {\| \bar{u}_{ab} \times \bar{u}_{cb} \|}\]

\[ \bar{n}_{bcd}= \frac{\bar{u}_{cd} \times \bar{u}_{cb}} {\| \bar{u}_{cd} \times \bar{u}_{cb} \|}\]

\[ s = \left\{ \begin{array}{ll} -1 & \mbox{if $(\bar{n}_{abc}\times\bar{n}_{bcd}) \cdot \bar{u}_{cb} > 0$} \\ 1 & \mbox{otherwise} \end{array} \right. \]

\[ \tau_s = s \sqrt{\left(1-(\bar{u}_{ab} \cdot \bar{u}_{cb}\right)^2) \left(1-(\bar{u}_{cb} \cdot \bar{u}_{cd}\right)^2)} \arccos ( - \bar{n}_{abc} \cdot \bar{n}_{bcd} )\]


Constructor & Destructor Documentation

sc::ScaledTorsSimpleCo::ScaledTorsSimpleCo ( const char *  refr,
int  ,
int  ,
int  ,
int   
)

This constructor takes a string containing a label, and four integers a, b, c, and d which give the indices of the atoms involved in the torsion angle abcd.

Atom numbering begins at atom 1, not atom 0.

sc::ScaledTorsSimpleCo::ScaledTorsSimpleCo ( const Ref< KeyVal > &   ) 

The KeyVal constructor.

This calls the SimpleCo keyval constructor with an integer argument of 4.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:23:48 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.