NAME
sc::SymmMolecularCoor -
The SymmMolecularCoor class derives from IntMolecularCoor.
SYNOPSIS
#include <coor.h>
Inherits sc::IntMolecularCoor.
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 MoleculeCoors 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. .IP "change_coordinates" 1c 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.
max_kappa2
A measure of the quality of the internal coordinates. Values of the
2-norm condition, $ppa_2$, 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.
Author
Generated automatically by Doxygen for MPQC from the source code.