# sc::CartMolecularCoor Class Reference

The CartMolecularCoor class implements Cartesian coordinates in a way suitable for use in geometry optimizations. More...

`#include <coor.h>`

Inheritance diagram for sc::CartMolecularCoor:

List of all members.

## Public Member Functions

| CartMolecularCoor (Ref< Molecule > &mol)
| CartMolecularCoor (StateIn &)
| CartMolecularCoor (const Ref< KeyVal > &)
| The KeyVal constructor.
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.
virtual RefSCDimension | dim ()
| These implement the virtual functions inherited from MolecularCoor.
virtual int | to_cartesian (const Ref< Molecule > &, const RefSCVector &internal)
virtual int | to_internal (RefSCVector &internal)
| Fill in the vector ``internal'' with the current internal coordinates.
virtual int | to_cartesian (RefSCVector &cartesian, RefSCVector &internal)
| Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''.
virtual int | to_internal (RefSCVector &internal, RefSCVector &cartesian)
| Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''.
virtual int | to_cartesian (RefSymmSCMatrix &cart, RefSymmSCMatrix &internal)
| Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''.
virtual int | to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &cart)
| Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''.
virtual void | print (std::ostream &=ExEnv::out0()) const
| Print the coordinate.
virtual void | print_simples (std::ostream &=ExEnv::out0()) const
void | guess_hessian (RefSymmSCMatrix &hessian)
| Calculate an approximate hessian and place the result in ``hessian''.
RefSymmSCMatrix | inverse_hessian (RefSymmSCMatrix &)
| Given an Hessian, return the inverse of that hessian.

## Protected Member Functions

virtual void | init ()
| Initializes the dimensions.

## Protected Attributes

RefSCDimension | dim_

## Detailed Description

The CartMolecularCoor class implements Cartesian coordinates in a way suitable for use in geometry optimizations.

CartMolecularCoor is a SavableState has StateIn and KeyVal constructors. CartMolecularCoor is derived from MolecularCoor.

## Member Function Documentation

void sc::CartMolecularCoor::save_data_state | ( | StateOut & |  | ) | `[virtual]`

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::MolecularCoor.

virtual int sc::CartMolecularCoor::to_internal | ( | RefSCVector & | internal | ) | `[virtual]`

Fill in the vector ``internal'' with the current internal coordinates.

Note that this member will update the values of the variable internal coordinates.

Implements sc::MolecularCoor.

virtual int sc::CartMolecularCoor::to_cartesian | ( | RefSCVector & | cartesian,
|  | RefSCVector & | internal |
| ) |  |  | `[virtual]`

Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''.

Only the variable internal coordinate gradients are transformed.

Implements sc::MolecularCoor.

virtual int sc::CartMolecularCoor::to_internal | ( | RefSCVector & | internal,
|  | RefSCVector & | cartesian |
| ) |  |  | `[virtual]`

Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''.

Only the variable internal coordinate gradients are calculated.

Implements sc::MolecularCoor.

virtual int sc::CartMolecularCoor::to_cartesian | ( | RefSymmSCMatrix & | cartesian,
|  | RefSymmSCMatrix & | internal |
| ) |  |  | `[virtual]`

Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''.

Only the variable internal coordinate force constants are transformed.

Implements sc::MolecularCoor.

virtual int sc::CartMolecularCoor::to_internal | ( | RefSymmSCMatrix & | internal,
|  | RefSymmSCMatrix & | cartesian |
| ) |  |  | `[virtual]`

Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''.

Only the variable internal coordinate force constants are calculated.

Implements sc::MolecularCoor.

void sc::CartMolecularCoor::guess_hessian | ( | RefSymmSCMatrix & | hessian | ) | `[virtual]`

Calculate an approximate hessian and place the result in ``hessian''.

Implements sc::MolecularCoor.

RefSymmSCMatrix sc::CartMolecularCoor::inverse_hessian | ( | RefSymmSCMatrix & |  | ) | `[virtual]`

Given an Hessian, return the inverse of that hessian.

For singular matrices this should return the generalized inverse.

Implements sc::MolecularCoor.

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

- coor.h