#include <coor.h>

Public Member Functions | |
| IntMolecularCoor (StateIn &) | |
| IntMolecularCoor (Ref< Molecule > &mol) | |
| IntMolecularCoor (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. | |
| 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. | |
| 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''. | |
| 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''. | |
| virtual int | to_cartesian (RefSymmSCMatrix &cart, RefSymmSCMatrix &internal) |
| Convert the internal coordinate Hessian ``internal'' to Cartesian coordinates and copy the result to ``cartesian''. | |
| virtual int | to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &cart) |
| Convert the Cartesian coordinate Hessian ``cartesian'' to internal coordinates and copy the result to ``internal''. | |
| 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 Member Functions | |
| 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. | |
| 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.
variable
followed
fixed
watched
have_fixed_values
extra_bonds
and
specify the atoms which are bound in extra bond
. The extra_bonds keyword should only be needed for weakly interacting fragments, otherwise all the needed bonds will be found.
generator
decouple_bonds
decouple_bends
max_update_disp
max_update_steps
update_bmat
matrix, which is using to do the conversion. The default is false.
only_totally_symmetric
simple_tolerance
cartesian_tolerance
form:print_simple
form:print_variable
form:print_constant
form:print_molecule
scale_bonds
scale_bends
scale_tors
scale_outs
symmetry_tolerance
coordinate_tolerance
| virtual void sc::IntMolecularCoor::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 in sc::SymmMolecularCoor.
| virtual void sc::IntMolecularCoor::new_coords | ( | ) | [protected, virtual] |
Allocates memory for the SetIntCoor's used to store the simple and internal coordinates.
| void sc::IntMolecularCoor::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.
Reimplemented in sc::SymmMolecularCoor, and sc::RedundMolecularCoor.
| virtual void sc::IntMolecularCoor::form_coordinates | ( | int | keep_variable = 0 |
) | [pure virtual] |
Actually form the variable and constant internal coordinates from the simple internal coordinates.
Implemented in sc::SymmMolecularCoor, and sc::RedundMolecularCoor.
| virtual int sc::IntMolecularCoor::all_to_cartesian | ( | const Ref< Molecule > & | , | |
| RefSCVector & | internal | |||
| ) | [virtual] |
Like to_cartesians(), except all internal coordinates are considered, not just the variable ones.
| virtual int sc::IntMolecularCoor::all_to_internal | ( | const Ref< Molecule > & | , | |
| RefSCVector & | internal | |||
| ) | [virtual] |
Like to_internal(), except all internal coordinates are considered, not just the variable ones.
| virtual RefSCDimension sc::IntMolecularCoor::dim | ( | ) | [virtual] |
| virtual int sc::IntMolecularCoor::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::IntMolecularCoor::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::IntMolecularCoor::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::IntMolecularCoor::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::IntMolecularCoor::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.