psi::extrema::coord_base_carts Class Reference

Cartesian information needed for all coordinate representations. More...

#include <coord_base.h>

Inheritance diagram for psi::extrema::coord_base_carts:

psi::extrema::coord_base psi::extrema::internals psi::extrema::deloc psi::extrema::zmat

Public Member Functions

 coord_base_carts ()
 Reads cartesian info. /*---------------------------------------------------------------------------.

Protected Member Functions

virtual void print_carts (double conv)
 Prints cartesians.
virtual void print_c_grads ()
 Prints cartesian gradients (Hartree/Bohr).
void read_file11 ()
 Reads cartesian gradients from file11.
virtual void write_chkpt ()
 Writes cartesians to file 30.

Protected Attributes

int num_atoms
int num_entries
double * carts
double * c_grads
double * masses
char * symmetry
char ** e_names

Detailed Description

Cartesian information needed for all coordinate representations.

All coordinate representations are formed from the basic cartesian coordinates and gradients read from chkpt and file11. This basic information is read and stored in this class.

Definition at line 22 of file coord_base.h.


Member Function Documentation

void coord_base_carts::print_carts ( double  conv  )  [protected, virtual]

Prints cartesians.

Parameters:
conv conversion factor; either 1.0 for bohr or _bohr2angstroms for angstroms

Reimplemented in psi::extrema::zmat.

Definition at line 156 of file coord_base_carts.cc.

References carts, e_names, free_matrix(), init_matrix(), and num_entries.

Referenced by psi::extrema::internals::back_transform(), and psi::extrema::deloc::optimize().

00156                                                 {
00157 
00158     int i, j;
00159     double **temp;
00160 
00161     temp = init_matrix(num_entries,3);
00162     for(i=0;i<num_entries;++i) 
00163         for(j=0;j<3;++j) 
00164             temp[i][j] = carts[3*i+j]*conv;
00165     if(conv==1.0)
00166         fprintf(outfile,"\n  Cartesian Coordinates (bohr):\n");
00167     else
00168         fprintf(outfile,"\n  Cartesian Coordinates (angstroms):\n");
00169      fprintf(outfile,"                       x              y         ");
00170     fprintf(outfile,"       z\n");
00171     fprintf(outfile,"                --------------- --------------- ");
00172     fprintf(outfile,"---------------\n");
00173     for(i=0;i<num_entries;++i)
00174         fprintf(outfile,"  %12s  %15.10lf %15.10lf %15.10lf\n",
00175                 e_names[i], temp[i][0], temp[i][1], temp[i][2]);
00176     free_matrix(temp,num_entries);
00177 
00178     return;
00179 }


Field Documentation

int psi::extrema::coord_base_carts::num_atoms [protected]

number of atoms

Definition at line 28 of file coord_base.h.

Referenced by coord_base_carts(), psi::extrema::deloc::deloc(), psi::extrema::coord_base::grad_test(), read_file11(), psi::extrema::zmat::write_chkpt(), write_chkpt(), and psi::extrema::zmat::zmat().

int psi::extrema::coord_base_carts::num_entries [protected]

number of atoms + dummy atoms

Definition at line 28 of file coord_base.h.

Referenced by psi::extrema::internals::B_row_angle(), psi::extrema::internals::B_row_bond(), psi::extrema::internals::B_row_tors(), psi::extrema::internals::back_transform(), psi::extrema::internals::compute_A(), psi::extrema::zmat::compute_B(), psi::extrema::internals::compute_G(), coord_base_carts(), psi::extrema::deloc::deloc(), psi::extrema::coord_base::grad_test(), psi::extrema::internals::grad_trans(), psi::extrema::internals::mem_alloc(), psi::extrema::internals::print_B(), psi::extrema::zmat::print_c_grads(), print_c_grads(), psi::extrema::zmat::print_carts(), print_carts(), psi::extrema::zmat::print_internals(), psi::extrema::zmat::write_chkpt(), psi::extrema::zmat::zmat(), psi::extrema::coord_base::~coord_base(), and psi::extrema::internals::~internals().

double* psi::extrema::coord_base_carts::carts [protected]

cartesian coordinate array

Definition at line 32 of file coord_base.h.

Referenced by psi::extrema::internals::back_transform(), psi::extrema::zmat::compute_B(), coord_base_carts(), psi::extrema::zmat::print_carts(), print_carts(), psi::extrema::zmat::write_chkpt(), write_chkpt(), and psi::extrema::zmat::zmat().

double * psi::extrema::coord_base_carts::c_grads [protected]

cartesian gradient array

Definition at line 32 of file coord_base.h.

Referenced by coord_base_carts(), psi::extrema::coord_base::grad_test(), psi::extrema::internals::grad_trans(), psi::extrema::zmat::print_c_grads(), print_c_grads(), read_file11(), and psi::extrema::zmat::zmat().

double * psi::extrema::coord_base_carts::masses [protected]

masses array, should be member of coord_base class, but it's read in with cartesian info

Definition at line 32 of file coord_base.h.

Referenced by psi::extrema::zmat::compute_B(), coord_base_carts(), psi::extrema::deloc::deloc(), and read_file11().

char* psi::extrema::coord_base_carts::symmetry [protected]

symmetry from input.dat or chkpt

Definition at line 37 of file coord_base.h.

char** psi::extrema::coord_base_carts::e_names [protected]

element names (no dummy atoms)

Definition at line 38 of file coord_base.h.

Referenced by coord_base_carts(), print_c_grads(), and print_carts().


The documentation for this class was generated from the following files:
Generated on Wed Feb 13 16:36:15 2008 for PSI by  doxygen 1.5.4