#include <coor.h>
Inheritance diagram for sc::IntMolecularCoor:
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
generator
decouple_bonds
decouple_bends
max_update_disp
max_update_steps
update_bmat
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.