sc::LinOPSimpleCo Class Reference

    The LinOPSimpleCo class describes an out-of-plane component of a linear

bend internal coordinate of a molecule. More...

`#include <simple.h>`

Inheritance diagram for sc::LinOPSimpleCo:
[legend]
Collaboration diagram for sc::LinOPSimpleCo:
[legend]

## 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. More...
| LinOPSimpleCo (const Ref< KeyVal > &)
| The KeyVal constructor. More...
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.
Public Member Functions inherited from sc::SimpleCo
| SimpleCo (int, const char *=0)
| This constructor takes an integer argument which is the number of atoms needed to describe the coordinate. More...
| SimpleCo (const Ref< KeyVal > &, int natom)
| The KeyVal constructor requires the number of atoms.
int | natoms () const
| Returns the number of atoms in the coordinate.
int | operator[] (int i) const
| Returns the index of the i'th atom in the coordinate.
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...
| SimpleCo (StateIn &)
virtual int | operator== (SimpleCo &)
int | operator!= (SimpleCo &u)
double | force_constant (Ref< Molecule > &)
| Returns an approximate force constant (a la Almlof).
void | update_value (const Ref< Molecule > &)
| Recalculates the value of the coordinate based on the geometry in the Molecule. More...
void | bmat (const Ref< Molecule > &, RefSCVector &bmat, double coef=1.0)
| Fill in a row of the B matrix.
virtual double | calc_force_con (Molecule &)=0
| Calculates an approximate force constant and returns it's value.
virtual double | calc_intco (Molecule &, double *=0, double=1)=0
| Calculate the value of the coordinate based on what's in Molecule. More...
void | print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) const
| Print the coordinate.
int | equivalent (Ref< IntCoor > &)
| Tests to see if two coordinates are equivalent to each other. More...
Public Member Functions inherited from sc::IntCoor
| IntCoor (StateIn &)
| IntCoor (const IntCoor &)
| IntCoor (const char *label=0)
| This constructor takes a string containing a label for the internal coordinate. More...
| IntCoor (const Ref< KeyVal > &)
| The KeyVal constructor. More...
virtual const char * | label () const
| Returns the string containing the label for the internal coordinate.
virtual double | value () const
| Returns the value of the coordinate in atomic units or radians.
virtual void | set_value (double)
| Sets the value of the coordinate in atomic units or radians.
virtual void | print (std::ostream &o=ExEnv::out0()) const
| Print information about the coordinate.
Public Member Functions inherited from sc::SavableState
SavableState & | operator= (const SavableState &)
void | save_state (StateOut &)
| Save the state of the object as specified by the StateOut object. More...
void | save_object_state (StateOut &)
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More...
virtual void | save_vbase_state (StateOut &)
| Save the virtual bases for the object. More...
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Additional Inherited Members

Static Public Member Functions inherited from sc::SavableState
static void | save_state (SavableState *s, StateOut &)
static SavableState * | restore_state (StateIn &si)
| Restores objects saved with save_state. More...
static SavableState * | key_restore_state (StateIn &si, const char *keyword)
| Like restore_state, but keyword is used to override values while restoring. More...
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
Protected Member Functions inherited from sc::SavableState
| SavableState (const SavableState &)
| SavableState (StateIn &)
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More...
Protected Attributes inherited from sc::SimpleCo
int | natoms_
int * | atoms
Static Protected Attributes inherited from sc::IntCoor
static double | bohr_conv
static double | radian_conv

## 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, , given as the keyword u, that is not colinear with either or must be provided, where , , and 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 , , and and their cartesian positions as , , and , the value of the coordinate, , is given by

## 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.

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

- simple.h