sc::SymmMolecularCoor - The SymmMolecularCoor class derives from IntMolecularCoor.
Contents
Constructor & Destructor Documentation
sc::SymmMolecularCoor::SymmMolecularCoor(constRef<KeyVal>&)
The KeyVal constructor.
change_coordinates
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.
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).
Member Function Documentation
voidsc::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.
voidsc::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.
Name
sc::SymmMolecularCoor - The SymmMolecularCoor class derives from IntMolecularCoor.
Synopsis
#include <coor.h>
Inherits sc::IntMolecularCoor.
PublicMemberFunctionsSymmMolecularCoor (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.
RefSymmSCMatrixinverse_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.
ProtectedMemberFunctions
void init ()
This is called by the constructors of classes derived from IntMolecularCoor.
ProtectedAttributes
int change_coordinates_
int transform_hessian_
double max_kappa2_AdditionalInheritedMembers