MPQC 2.3.1

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes
sc::SymmMolecularCoor Class Reference

The SymmMolecularCoor class derives from IntMolecularCoor. More...

`#include <coor.h>`

Inheritance diagram for sc::SymmMolecularCoor:

List of all members.

## Public Member Functions

| SymmMolecularCoor (Ref< Molecule > &mol)
| SymmMolecularCoor (StateIn &)
| SymmMolecularCoor (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.
void | form_coordinates (int keep_variable=0)
| Actually form the variable and constant internal coordinates from simple internal coordinates.
void | guess_hessian (RefSymmSCMatrix &hessian)
| Form the approximate hessian.
RefSymmSCMatrix | inverse_hessian (RefSymmSCMatrix &)
| Invert the hessian.
Ref< NonlinearTransform > | change_coordinates ()
| This overrides MoleculeCoor's change_coordinates and might transform to a new set of coordinates.
void | print (std::ostream &=ExEnv::out0()) const
| Print the coordinate.

## Protected Member Functions

void | init ()
| This is called by the constructors of classes derived from IntMolecularCoor.

## Protected Attributes

int | change_coordinates_
int | transform_hessian_
double | max_kappa2_

## Detailed Description

The SymmMolecularCoor class derives from IntMolecularCoor.

It provides a unique set of totally symmetric internal coordinates. Giving an MolecularEnergy object a coor is usually the best way to optimize a molecular structure. However, for some classes of molecules SymmMolecularCoor doesn't work very well. For example, enediyne can cause problems. In these cases, cartesian coordinates (obtained by not giving the MolecularEnergy object the coor keyword) might be better or you can manually specify the coordinates that the SymmMolecularCoor object uses with the variable keyword (see the IntMolecularCoor class description).

## Constructor & Destructor Documentation

sc::SymmMolecularCoor::SymmMolecularCoor | ( | const Ref< KeyVal > & |  | ) |

The KeyVal constructor.

       <dl>

       <dt><tt>change_coordinates</tt><dd> If true, the quality of the
       internal coordinates will be checked periodically and if they are
       beginning to become linearly dependent a new set of internal
       coordinates will be computed.  The default is false.

       <dt><tt>max_kappa2</tt><dd> A measure of the quality of the
       internal coordinates.  Values of the 2-norm condition,

, larger than max_kappa2 are considered linearly dependent. The default is 10.0.

`transform_hessian` If true, the hessian will be transformed every time the internal coordinates are formed. The default is true.

## Member Function Documentation

Ref<NonlinearTransform> sc::SymmMolecularCoor::change_coordinates | ( |  | ) | `[virtual]`

This overrides MoleculeCoor's change_coordinates and might transform to a new set of coordinates.

Reimplemented from sc::MolecularCoor.

void sc::SymmMolecularCoor::form_coordinates | ( | int | keep_variable = `0` | ) | `[virtual]`

Actually form the variable and constant internal coordinates from simple internal coordinates.

Implements sc::IntMolecularCoor.

void sc::SymmMolecularCoor::init | ( |  | ) | `[protected, virtual]`

This is called by the constructors of classes derived from IntMolecularCoor.

It initialized the lists of simple internal coordinates, and then calls the form_coordinates() member.

Reimplemented from sc::IntMolecularCoor.

void sc::SymmMolecularCoor::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::IntMolecularCoor.

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

- coor.h