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:
[legend]
Collaboration diagram for sc::CartMolecularCoor:
[legend]

## 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. More...
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. More...
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''. More...
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''. More...
virtual int | to_cartesian (RefSymmSCMatrix &cart, RefSymmSCMatrix &internal)
| Convert the internal coordinate Hessian `internal'' to Cartesian coordinates and copy the result to`cartesian''. More...
virtual int | to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &cart)
| Convert the Cartesian coordinate Hessian `cartesian'' to internal coordinates and copy the result to`internal''. More...
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''. More...
RefSymmSCMatrix | inverse_hessian (RefSymmSCMatrix &)
| Given an Hessian, return the inverse of that hessian. More...
Public Member Functions inherited from sc::MolecularCoor
| MolecularCoor (Ref< Molecule > &)
| MolecularCoor (StateIn &)
| MolecularCoor (const Ref< KeyVal > &)
| The KeyVal constructor. More...
RefSCDimension | dim_natom3 ()
| Returns a smart reference to an SCDimension equal to the number of atoms in the molecule times 3. More...
Ref< Molecule > | molecule () const
| Returns the molecule.
int | to_cartesian (const RefSCVector &internal)
| Given a set of displaced internal coordinates, update the cartesian coordinates of the Molecule contained herein. More...
virtual int | nconstrained ()
| Returns the number of constrained coordinates.
virtual Ref< NonlinearTransform > | change_coordinates ()
| When this is called, MoleculeCoor may select a new internal coordinate system and return a transform to it. More...
Ref< SCMatrixKit > | matrixkit () const
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...

## Protected Member Functions

virtual void | init ()
| Initializes the dimensions.

## Protected Attributes

RefSCDimension | dim_
Protected Attributes inherited from sc::MolecularCoor
Ref< Molecule > | molecule_
RefSCDimension | dnatom3_
Ref< SCMatrixKit > | matrixkit_
int | debug_

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

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

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_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_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 | ( | 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_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_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.

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

- coor.h