ICoord Class Reference

#include <icoord.h>

Collaboration diagram for ICoord:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void update_bfgs ()
void update_bfgsp (int makeHint)
void update_bofill ()
void save_hess ()
double getR (int i)
void make_Hint ()
void Hintp_to_Hint ()
int davidson_H (int neigen)
int ic_create ()
 creates the internal coordinates
int ic_create_nobonds ()
int mm_grad ()
int mm_grad (ICoord shadow)
int grad_to_q ()
 Transforms the gradient in Cartesian representation to delocalized internal coordinate representation.
int ic_to_xyz ()
 back transforms from delocalized IC representation to Cartesian represention
int ic_to_xyz_opt ()
int grad_init (string infilename, int ncpu, int run, int rune, int use_knnr, int q1)
int get_tangent ()
int distance_matrix_ic (ICoord ic1, ICoord ic2)
int union_ic (ICoord ic1, ICoord ic2)
int copy_ic (ICoord ic1)
void write_ic (string filename)
int read_ics (string filename)
int opt ()
int opt (string xyzfile, ICoord shadow)
int opt (string xyzfile)
void opt_constraint (double *C)
double opt_a (int nnewb, int *newb, int nnewt, int *newt, string xyzfile_string, int nsteps)
double opt_b (string xyzfile_string, int nsteps)
 optimizes the node to the minimum without a constraint
double opt_c (string xyzfile_string, int nsteps, double *C, double *C0)
 Optimizes the node subject to a constraint, nsteps times.
double opt_r (string xyzfile_string, int nsteps, double *C, double *C0, double *D, int type)
double opt_eigen_ts (string xyzfile_string, int nsteps, double *C, double *C0)
void update_ic ()
void mm_init ()
int bmat_alloc ()
int bmat_free ()
int bmatp_finite ()
int bmatp_create ()
 forms the original B matrix
int bmatp_to_U ()
 Diagonalizes G to form U.
int bmat_create ()
 Determines q the components of the molecular geometry in the DI space. Also forms the active B matrix.
int bond_exists (int b1, int b2)
int bond_num (int b1, int b2)
int angle_num (int b1, int b2, int b3)
int tor_num (int b1, int b2, int b3, int b4)
int hpair (int a1, int a2)
int h2count ()
int same_struct (double *xyz)
int init (string xyzfile)
int init (int natoms, string *anames, int *anumbers, double *xyz)
int alloc (int size)
int reset (int natoms, string *anames, int *anumbers, double *xyz)
int reset (double *xyz)
void print_q ()
void print_ic ()
void print_bonds ()
void print_xyz ()
void print_xyz_save (string filename)
void print_xyz_save (string xyzfile_string, double energy)
double distance (int i, int j)
double angle_val (int i, int j, int k)
double torsion_val (int i, int j, int k, int l)
void freemem ()
int create_prima (int nnodes, int nbonds, int nangles, int ntor, double **tangents)
void save_hesspu (string filename)
void save_hessp (string filename)
void read_hessp (string filename)
void read_hessxyz (string filename, int write)

Public Attributes

int revertOpt
Gradient grad1
string printout
double FMAG
double OPTTHRESH
double MAXAD
double DMAX
double DMIN0
double SCALEQN0
double SCALEQN
double V0
int * frozen
double farBond
int isTSnode
int nneg
int newHess
int optCG
int do_bfgs
int noptdone
double path_overlap
int path_overlap_n
double path_overlap_e_g
int nicd
int nicd0
double * bondd
double * anglev
double * torv
double * torv0
double * torfix
double * imptorv
int ** bonds
int nbonds
int ** angles
int nangles
int ** torsions
int ntor
double * grad
double * gradq
double * pgradq
double * gradqprim
double * pgradqprim
double * dq0
double * dqm1
double * dqprim
double * Hint
double * Hintp
double * Hinv
double * q
int useExactH
int isOpt
int stage1opt
double pgradrms
double gradrms
int isDavid
int id
int pid
int natoms
double * coords
double * coordsts
double * coords0
string * anames
int * anumbers
int * coordn
int nimptor
string runends
string runend2
double * bmatp
double * Ut
double * Ut0
int use_constraint
int ridge

Private Member Functions

void structure_read (string xyzfile)
void alloc_mem ()
void make_bonds ()
void coord_num ()
void make_angles ()
void make_torsions ()
void make_frags ()
void bond_frags ()
void hbond_frags ()
void linear_ties ()
void h2o_torsions ()
void tm_ties ()
void make_imptor ()
void make_imptor_nobonds ()
int make_nonbond ()
void update_bonds ()
void update_angles ()
void update_torsion ()
void update_imptor ()
void update_nonbond ()
void create_xyz ()
double close_bond (int i)
double close_angle (int i)
double close_tor (int i)
double ffbondd (int i, int j)
double ffbonde (int i, int j)
double ffangled (int i, int j)
double ffanglee (int i, int j)
double fftord (int i, int j, int k, int l)
double fftore (int i, int j, int k, int l)
double fftorm (int i, int j, int k, int l)
double ffimptore (int i, int j, int k, int l)
double ffimptord (int i, int j, int k, int l)
int isTM (int anum)
void print_grad ()
void print_gradq ()
void bond_grad_all ()
void bond_grad_1 (int i, int j)
double bond_stretch (int i, int j)
void angle_grad_all ()
void angle_grad_1 (int i, int j, int k)
void torsion_grad_all ()
void torsion_grad_1 (int i, int j, int k, int l)
void imptor_grad_all ()
void imptor_grad_1 (int i, int j, int k, int l)
void vdw_grad_all ()
void vdw_grad_1 (int i, int j, double scale)
void update_ic_qn ()
void update_ic_eigen ()
void update_ic_eigen_h (double *C, double *D)
void update_ic_eigen_ts (double *C)
void walk_up ()
void force_notbonds ()
void bmatp_dqbdx (int a1, int a2, double *dqbdx)
void bmatp_dqadx (int a1, int a2, int a3, double *dqadx)
void bmatp_dqtdx (int a1, int a2, int a3, int a4, double *dqtdx)
void print_xyzf (ofstream xyzfile)
double prima_force ()
void lin_grad_1 (int i, int j, double scale)
void get_gm ()
void create_mwHint_EV (double *Lm, double *Lme)

Private Attributes

int g_inited
double * amasses
double * amasses3
double * dxm1
double dEpre
double smag
int ** imptor
int nfrags
int * frags
int max_bonds
int max_angles
int max_torsions
int max_imptor
int max_nonbond
int n_nonbond
int ** nonbond
double * nonbondd
int ixflag
double * ffR
double * ffeps
double * bmat
double * bmatti
int nnodes
double * prima
int * aprima
double * Cp
double mdist
char * sbuff
double * Gmh
double * Gmih

Member Function Documentation

int ICoord::alloc ( int  size  ) 
void ICoord::alloc_mem (  )  [private]
void ICoord::angle_grad_1 ( int  i,
int  j,
int  k 
) [private]
void ICoord::angle_grad_all (  )  [private]
int ICoord::angle_num ( int  b1,
int  b2,
int  b3 
)
double ICoord::angle_val ( int  i,
int  j,
int  k 
)
int ICoord::bmat_alloc (  ) 
int ICoord::bmat_create (  ) 

Determines q the components of the molecular geometry in the DI space. Also forms the active B matrix.

int ICoord::bmat_free (  ) 
int ICoord::bmatp_create (  ) 

forms the original B matrix

void ICoord::bmatp_dqadx ( int  a1,
int  a2,
int  a3,
double *  dqadx 
) [private]
void ICoord::bmatp_dqbdx ( int  a1,
int  a2,
double *  dqbdx 
) [private]
void ICoord::bmatp_dqtdx ( int  a1,
int  a2,
int  a3,
int  a4,
double *  dqtdx 
) [private]
int ICoord::bmatp_finite (  ) 
int ICoord::bmatp_to_U (  ) 

Diagonalizes G to form U.

int ICoord::bond_exists ( int  b1,
int  b2 
)
void ICoord::bond_frags (  )  [private]
void ICoord::bond_grad_1 ( int  i,
int  j 
) [private]
void ICoord::bond_grad_all (  )  [private]
int ICoord::bond_num ( int  b1,
int  b2 
)
double ICoord::bond_stretch ( int  i,
int  j 
) [private]
double ICoord::close_angle ( int  i  )  [private]
double ICoord::close_bond ( int  i  )  [private]
double ICoord::close_tor ( int  i  )  [private]
void ICoord::coord_num (  )  [private]
int ICoord::copy_ic ( ICoord  ic1  ) 
void ICoord::create_mwHint_EV ( double *  Lm,
double *  Lme 
) [private]
int ICoord::create_prima ( int  nnodes,
int  nbonds,
int  nangles,
int  ntor,
double **  tangents 
)
void ICoord::create_xyz (  )  [private]
int ICoord::davidson_H ( int  neigen  ) 
double ICoord::distance ( int  i,
int  j 
)
int ICoord::distance_matrix_ic ( ICoord  ic1,
ICoord  ic2 
)
double ICoord::ffangled ( int  i,
int  j 
) [private]
double ICoord::ffanglee ( int  i,
int  j 
) [private]
double ICoord::ffbondd ( int  i,
int  j 
) [private]
double ICoord::ffbonde ( int  i,
int  j 
) [private]
double ICoord::ffimptord ( int  i,
int  j,
int  k,
int  l 
) [private]
double ICoord::ffimptore ( int  i,
int  j,
int  k,
int  l 
) [private]
double ICoord::fftord ( int  i,
int  j,
int  k,
int  l 
) [private]
double ICoord::fftore ( int  i,
int  j,
int  k,
int  l 
) [private]
double ICoord::fftorm ( int  i,
int  j,
int  k,
int  l 
) [private]
void ICoord::force_notbonds (  )  [private]
void ICoord::freemem (  ) 
void ICoord::get_gm (  )  [private]
int ICoord::get_tangent (  ) 
double ICoord::getR ( int  i  ) 
int ICoord::grad_init ( string  infilename,
int  ncpu,
int  run,
int  rune,
int  use_knnr,
int  q1 
)
int ICoord::grad_to_q (  ) 

Transforms the gradient in Cartesian representation to delocalized internal coordinate representation.

int ICoord::h2count (  ) 
void ICoord::h2o_torsions (  )  [private]
void ICoord::hbond_frags (  )  [private]
void ICoord::Hintp_to_Hint (  ) 
int ICoord::hpair ( int  a1,
int  a2 
)
int ICoord::ic_create (  ) 

creates the internal coordinates

int ICoord::ic_create_nobonds (  ) 
int ICoord::ic_to_xyz (  ) 

back transforms from delocalized IC representation to Cartesian represention

int ICoord::ic_to_xyz_opt (  ) 
void ICoord::imptor_grad_1 ( int  i,
int  j,
int  k,
int  l 
) [private]
void ICoord::imptor_grad_all (  )  [private]
int ICoord::init ( int  natoms,
string *  anames,
int *  anumbers,
double *  xyz 
)
int ICoord::init ( string  xyzfile  ) 
int ICoord::isTM ( int  anum  )  [private]
void ICoord::lin_grad_1 ( int  i,
int  j,
double  scale 
) [private]
void ICoord::linear_ties (  )  [private]
void ICoord::make_angles (  )  [private]
void ICoord::make_bonds (  )  [private]
void ICoord::make_frags (  )  [private]
void ICoord::make_Hint (  ) 
void ICoord::make_imptor (  )  [private]
void ICoord::make_imptor_nobonds (  )  [private]
int ICoord::make_nonbond (  )  [private]
void ICoord::make_torsions (  )  [private]
int ICoord::mm_grad ( ICoord  shadow  ) 
int ICoord::mm_grad (  ) 
void ICoord::mm_init (  ) 
int ICoord::opt ( string  xyzfile  ) 
int ICoord::opt ( string  xyzfile,
ICoord  shadow 
)
int ICoord::opt (  ) 
double ICoord::opt_a ( int  nnewb,
int *  newb,
int  nnewt,
int *  newt,
string  xyzfile_string,
int  nsteps 
)
double ICoord::opt_b ( string  xyzfile_string,
int  nsteps 
)

optimizes the node to the minimum without a constraint

double ICoord::opt_c ( string  xyzfile_string,
int  nsteps,
double *  C,
double *  C0 
)

Optimizes the node subject to a constraint, nsteps times.

void ICoord::opt_constraint ( double *  C  ) 

take constraint vector, project it out of all Ut orthonormalize vectors last vector becomes C (projection onto space)

double ICoord::opt_eigen_ts ( string  xyzfile_string,
int  nsteps,
double *  C,
double *  C0 
)
double ICoord::opt_r ( string  xyzfile_string,
int  nsteps,
double *  C,
double *  C0,
double *  D,
int  type 
)
double ICoord::prima_force (  )  [private]
void ICoord::print_bonds (  ) 
void ICoord::print_grad (  )  [private]
void ICoord::print_gradq (  )  [private]
void ICoord::print_ic (  ) 
void ICoord::print_q (  ) 
void ICoord::print_xyz (  ) 
void ICoord::print_xyz_save ( string  xyzfile_string,
double  energy 
)
void ICoord::print_xyz_save ( string  filename  ) 
void ICoord::print_xyzf ( ofstream  xyzfile  )  [private]
void ICoord::read_hessp ( string  filename  ) 
void ICoord::read_hessxyz ( string  filename,
int  write 
)
int ICoord::read_ics ( string  filename  ) 
int ICoord::reset ( double *  xyz  ) 
int ICoord::reset ( int  natoms,
string *  anames,
int *  anumbers,
double *  xyz 
)
int ICoord::same_struct ( double *  xyz  ) 
void ICoord::save_hess (  ) 
void ICoord::save_hessp ( string  filename  ) 
void ICoord::save_hesspu ( string  filename  ) 
void ICoord::structure_read ( string  xyzfile  )  [private]
void ICoord::tm_ties (  )  [private]
int ICoord::tor_num ( int  b1,
int  b2,
int  b3,
int  b4 
)
void ICoord::torsion_grad_1 ( int  i,
int  j,
int  k,
int  l 
) [private]
void ICoord::torsion_grad_all (  )  [private]
double ICoord::torsion_val ( int  i,
int  j,
int  k,
int  l 
)
int ICoord::union_ic ( ICoord  ic1,
ICoord  ic2 
)
void ICoord::update_angles (  )  [private]
void ICoord::update_bfgs (  ) 
void ICoord::update_bfgsp ( int  makeHint  ) 
void ICoord::update_bofill (  ) 
void ICoord::update_bonds (  )  [private]
void ICoord::update_ic (  ) 
void ICoord::update_ic_eigen (  )  [private]
void ICoord::update_ic_eigen_h ( double *  C,
double *  D 
) [private]
void ICoord::update_ic_eigen_ts ( double *  C  )  [private]
void ICoord::update_ic_qn (  )  [private]
void ICoord::update_imptor (  )  [private]
void ICoord::update_nonbond (  )  [private]
void ICoord::update_torsion (  )  [private]
void ICoord::vdw_grad_1 ( int  i,
int  j,
double  scale 
) [private]
void ICoord::vdw_grad_all (  )  [private]
void ICoord::walk_up (  )  [private]
void ICoord::write_ic ( string  filename  ) 

Member Data Documentation

double* ICoord::amasses [private]
double* ICoord::amasses3 [private]
string* ICoord::anames
double* ICoord::anglev
int* ICoord::aprima [private]
double* ICoord::bmat [private]
double* ICoord::bmatp
double* ICoord::bmatti [private]
double* ICoord::bondd
double* ICoord::coords
double* ICoord::coords0
double* ICoord::Cp [private]
double ICoord::dEpre [private]
double ICoord::DMAX
double ICoord::DMIN0
double* ICoord::dq0
double* ICoord::dqm1
double* ICoord::dqprim
double* ICoord::dxm1 [private]
double* ICoord::ffeps [private]
double* ICoord::ffR [private]
double ICoord::FMAG
int* ICoord::frags [private]
int ICoord::g_inited [private]
double* ICoord::Gmh [private]
double* ICoord::Gmih [private]
double* ICoord::grad
double* ICoord::gradq
double* ICoord::Hint
double* ICoord::Hintp
double* ICoord::Hinv
int** ICoord::imptor [private]
double* ICoord::imptorv
int ICoord::ixflag [private]
int ICoord::max_angles [private]
int ICoord::max_bonds [private]
int ICoord::max_imptor [private]
int ICoord::max_nonbond [private]
int ICoord::max_torsions [private]
double ICoord::MAXAD
double ICoord::mdist [private]
int ICoord::n_nonbond [private]
int ICoord::nfrags [private]
int ICoord::nnodes [private]
int** ICoord::nonbond [private]
double* ICoord::nonbondd [private]
double* ICoord::pgradq
double* ICoord::prima [private]
double* ICoord::q
char* ICoord::sbuff [private]
double ICoord::smag [private]
double* ICoord::torfix
double* ICoord::torv
double* ICoord::torv0
double* ICoord::Ut
double* ICoord::Ut0
double ICoord::V0

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Defines

Generated on 18 Dec 2016 by  doxygen 1.6.1