# sc_LinIPSimpleCo man page

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

## Synopsis

`#include <simple.h>`

Inherits **sc::SimpleCo**.

### Public Member Functions

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

This constructor takes a string containing a label, and three integers a, b, and d which give the indices of the atoms involved in the linear angle abc. **LinIPSimpleCo** (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 **LinIPSimpleCo** class describes an in-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, **LinIPSimpleCo** is used with a corresponding **LinOPSimpleCo**, 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_i$, 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 }] [ heta_i = pi - arccos ( bar{u}_{ab} cdot bar{u} ) - arccos ( bar{u}_{cb} cdot bar{u} )]

## Constructor & Destructor Documentation

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

This constructor takes a string containing a label, and three integers a, b, and d 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 in which distortion is measured. Atom numbering begins at atom 1, not atom 0.

### sc::LinIPSimpleCo::LinIPSimpleCo (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.