#include <coor.h>
Inheritance diagram for sc::IntMolecularCoor:
Public Methods | |
IntMolecularCoor (StateIn &) | |
IntMolecularCoor (Ref< Molecule > &mol) | |
IntMolecularCoor (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
virtual | ~IntMolecularCoor () |
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 void | form_coordinates (int keep_variable=0)=0 |
Actually form the variable and constant internal coordinates from the simple internal coordinates. | |
virtual int | all_to_cartesian (const Ref< Molecule > &, RefSCVector &internal) |
Like to_cartesians(), except all internal coordinates are considered, not just the variable ones. | |
virtual int | all_to_internal (const Ref< Molecule > &, RefSCVector &internal) |
Like to_internal(), except all internal coordinates are considered, not just the variable ones. | |
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 |
virtual void | print_variable (std::ostream &=ExEnv::out0()) const |
virtual void | print_constant (std::ostream &=ExEnv::out0()) const |
int | nconstrained () |
Returns the number of constrained coordinates. | |
Protected Methods | |
void | form_K_matrix (RefSCDimension &dredundant, RefSCDimension &dfixed, RefSCMatrix &K, int *&is_totally_symmetric) |
virtual void | init () |
This is called by the constructors of classes derived from IntMolecularCoor. More... | |
virtual void | new_coords () |
Allocates memory for the SetIntCoor's used to store the simple and internal coordinates. | |
virtual void | read_keyval (const Ref< KeyVal > &) |
Reads the KeyVal input. | |
Protected Attributes | |
Ref< IntCoorGen > | generator_ |
RefSCDimension | dim_ |
RefSCDimension | dvc_ |
Ref< SetIntCoor > | variable_ |
Ref< SetIntCoor > | constant_ |
Ref< SetIntCoor > | fixed_ |
Ref< SetIntCoor > | watched_ |
Ref< IntCoor > | followed_ |
Ref< SetIntCoor > | bonds_ |
Ref< SetIntCoor > | bends_ |
Ref< SetIntCoor > | tors_ |
Ref< SetIntCoor > | outs_ |
Ref< SetIntCoor > | extras_ |
Ref< SetIntCoor > | all_ |
int | update_bmat_ |
int | only_totally_symmetric_ |
double | symmetry_tolerance_ |
double | simple_tolerance_ |
double | coordinate_tolerance_ |
double | cartesian_tolerance_ |
double | scale_bonds_ |
double | scale_bends_ |
double | scale_tors_ |
double | scale_outs_ |
int | nextra_bonds_ |
int * | extra_bonds_ |
int | given_fixed_values_ |
int | decouple_bonds_ |
int | decouple_bends_ |
int | max_update_steps_ |
double | max_update_disp_ |
int | form_print_simples_ |
int | form_print_variable_ |
int | form_print_constant_ |
int | form_print_molecule_ |
|
The KeyVal constructor.
|
|
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 in sc::SymmMolecularCoor. |
|
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. Reimplemented in sc::SymmMolecularCoor. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |