#include <coord_base.h>

Protected Member Functions | |
| coord_base () | |
| Coord_base constructor. | |
| ~coord_base () | |
| Destructor. Memory is freed and io is stopped. | |
| void | mem_alloc () |
| Allocates memory. | |
| void | parse_input () |
| Parses input for info common to all coordinate types. | |
| void | print_Hi () |
| prints inverse of hessian matrix. | |
| void | print_H () |
| prints hessian matrix. | |
| virtual void | read_opt () |
| Reads from opt.dat(). | |
| virtual void | write_opt () |
| Writes to opt.dat(). | |
| void | update_Hi () |
| Updates inverse hessian. | |
| void | grad_test () |
| Tests for convergence of cartesian gradients. | |
| virtual void | initial_Hi ()=0 |
| Derived classes must provide a inverse Hessian guess function. | |
| void | H_test () |
| Computes hessian and its eigenvalues. | |
Protected Attributes | |
| int | iteration |
| int | num_coords |
| int | grad_max |
| int | print_lvl |
| int | do_deriv |
| int | do_opt |
| int | angle_abort |
| double * | coords |
| double * | grads |
| double * | atomic_nums |
| double ** | Hi |
| double * | coords_old |
| double * | grads_old |
| double ** | Hi_old |
| double * | coord_write |
| const char * | update |
| char ** | felement |
The coord_base class contains data and functions common to all coordinate types. All coordinate types derive from this class. Member data includes generic coordinates and gradients, cartesians and cartesian gradients, a generic Hessian, information form previous iterations ("old" variables), and basic user suppied parameters. Generic functions for coordinate data manipulations are members of this class.
"generic" variables hold values and no information regarding coordinates to which they correspond. Classes deriving from this class determine the actual coordinate type and are responsible for proper handling of these variables.
| coord_base::coord_base | ( | ) | [protected] |
Coord_base constructor.
Parses input
| void coord_base::mem_alloc | ( | ) | [protected] |
Allocates memory.
Must be called once number of optimized coordinates is determined.
Reimplemented in psi::extrema::internals.
| void coord_base::read_opt | ( | ) | [protected, virtual] |
Reads from opt.dat().
Reads previous coordinates, gradients, and hessian inverse from opt.dat.
| void coord_base::write_opt | ( | ) | [protected, virtual] |
Writes to opt.dat().
Writes coordinates, gradients, and hessian inverse to opt.dat.
| void coord_base::update_Hi | ( | ) | [protected] |
Updates inverse hessian.
Interface for math_tools update functions.
int psi::extrema::coord_base::iteration [protected] |
current iteration
int psi::extrema::coord_base::num_coords [protected] |
number of coordinates which are actually optimized
int psi::extrema::coord_base::grad_max [protected] |
max allowable gradient is 10^-(grad_max)
int psi::extrema::coord_base::print_lvl [protected] |
print level
int psi::extrema::coord_base::do_deriv [protected] |
are we doing derivatives
int psi::extrema::coord_base::do_opt [protected] |
are we doing optimization
int psi::extrema::coord_base::angle_abort [protected] |
die if bad angle
double* psi::extrema::coord_base::coords [protected] |
generic coordinate array
double * psi::extrema::coord_base::grads [protected] |
generic gradient array
double * psi::extrema::coord_base::atomic_nums [protected] |
atomic numbers
double ** psi::extrema::coord_base::Hi [protected] |
generic inverse hessian matrix
double * psi::extrema::coord_base::coords_old [protected] |
generic coordinates from previous iteration
double * psi::extrema::coord_base::grads_old [protected] |
generic gradients from previous iteration
double ** psi::extrema::coord_base::Hi_old [protected] |
generic hessian inverse
double * psi::extrema::coord_base::coord_write [protected] |
holds coordinate values prior to optimization step until opt.dat is written
const char* psi::extrema::coord_base::update [protected] |
char** psi::extrema::coord_base::felement [protected] |
the full list of element names (including dummy atoms)
1.5.6