# sc_LinOPSimpleCo man page

sc::LinOPSimpleCo — The **LinOPSimpleCo** class describes an out-of-plane component of a linear bend internal coordinate of a molecule.

## Synopsis

`#include <simple.h>`

Inherits **sc::SimpleCo**.

### Public Member Functions

**LinOPSimpleCo** (const **LinOPSimpleCo** &)**LinOPSimpleCo** (const char *refr, int, int, int, const **SCVector3** &u)

This constructor takes a string containing a label, and three integers a, b, and c which give the indices of the atoms involved in the linear angle abc. **LinOPSimpleCo** (const **Ref**< **KeyVal** > &)

The **KeyVal** constructor.

const char * **ctype** () const

Always returns the string 'LINIP'.

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.

### Additional Inherited Members

## Detailed Description

The **LinOPSimpleCo** class describes an out-of-plane component of a linear bend internal coordinate of a molecule.

The input is described in the documentation of its parent class **SimpleCo**. A vector, $bar{u}$, given as the keyword u, that is not colinear with either $bar{r}_a - bar{r}_b$ or $bar{r}_b - bar{r}_c$ must be provided, where $bar{r}_a$, $bar{r}_b$, and $bar{r}_c$ are the positions of the first, second, and third atoms, respectively.

Usually, **LinOPSimpleCo** is used with a corresponding **LinIPSimpleCo**, which is given exactly the same u.

Designating the three atoms as $a$, $b$, and $c$ and their cartesian positions as $bar{r}_a$, $bar{r}_b$, and $bar{r}_c$, the value of the coordinate, $ heta_o$, is given by

[ bar{u}_{ab} = ac{bar{r}_a - bar{r}_b}{ bar{r}_a - bar{r}_b }] [ bar{u}_{cb} = ac{bar{r}_b - bar{r}_c}{ bar{r}_c - bar{r}_b }] [ bar{n} = ac{bar{u} imes bar{u}_{ab}} { bar{u} imes bar{u}_{ab} }] [ heta_o = pi - arccos ( bar{u}_{ab} cdot bar{n} ) - arccos ( bar{u}_{cb} cdot bar{n} )]

## Constructor & Destructor Documentation

### sc::LinOPSimpleCo::LinOPSimpleCo (const char * refr, int, int, int, const SCVector3 & u)

This constructor takes a string containing a label, and three integers a, b, and c which give the indices of the atoms involved in the linear angle abc. The last argument, u, is a unit vector used to defined the direction perpendicular to the direction in which distortion is measured. Atom numbering begins at atom 1, not atom 0.

### sc::LinOPSimpleCo::LinOPSimpleCo (const Ref< KeyVal > &)

The **KeyVal** constructor. This calls the **SimpleCo** keyval constructor with an integer argument of 3.

## Author

Generated automatically by Doxygen for MPQC from the source code.