#include <gstring.h>

Public Member Functions | |
| void | String_Method_Optimization () |
| void | reparam_and_getTangents_with_LST (double **fstring) |
| void | init (string infilename, string xyzfile) |
| void | init (string infilename, int runNum, int nprocs) |
| double | min_rms_structure_distance (double *struct1, double *struct2, int natoms) |
| void | print_string (int STEPS, double **allcoords, string xyzstring) |
| void | print_string_clump (int STEPS, double grad, double **allcoords, string xyzstring) |
| void | write_string_file (int iter) |
| void | write_SVfile (int iter) |
| void | write_geom_file (int iter) |
| void | shift_node (int nnOld, int nnNew) |
| void | build_fstring (double **fstring) |
Public Attributes | |
| double ** | allcoords |
Private Member Functions | |
| void | set_fsm_active (int nnR, int nnP) |
| void | growth_iters (int max_iter, double &totalgrad, double &gradrms, double endenergy, string strfileg, int &tscontinue, double gaddmax, int osteps, int oesteps, double **dqa, double *dqmaga, double **ictan) |
| void | opt_iters (int max_iter, double &totalgrad, double &gradrms, double endenergy, string strfileg, int &tscontinue, double gaddmax, int osteps, int oesteps, double **dqa, double *dqmaga, double **ictan, int finder, int climber, int do_tp, int &tp) |
| int | isomer_init (string isofilename) |
| void | set_ssm_bonds (ICoord &ic1) |
| double | get_ssm_dqmag (double bdist) |
| int | past_ts () |
| Checks if string is past_ts. Used by SSM. | |
| int | find_peaks (int type) |
| Finds peaks, used by opt_iters to know which node to climb. | |
| int | find_uphill (double cutoff) |
| void | trim_string () |
| void | trim_string (int nextmin) |
| int | add_linear () |
| int | break_planes_ssm (ICoord ic1) |
| void | get_eigenv_bofill () |
| void | get_eigenv_finite (int enode) |
| calls get_eigenv_finite after constructing tangent | |
| void | get_eigenv_finite (int enode, double **ictan) |
| modifies hessian using RP direction | |
| void | starting_string (double *dq, int nnodes) |
| Grows the initial nodes for SE and DE. nnodes is 4 for DE and 3 for SE. | |
| void | starting_string_dm (double *dq) |
| int | addNode (int n1, int n2, int n3) |
| int | addCNode (int n1) |
| Add space node between n1-1 and n1. | |
| void | add_last_node (int type) |
| void | com_rotate_move (int iR, int iP, int iN, double ff) |
| void | scan_r (int eigen) |
| void | opt_tr () |
| void | opt_r () |
| void | opt_steps (double **dqa, double **ictan, int osteps, int oesteps) |
| int | knnr_vs_opt (int n) |
| void | ic_reparam_g (double **dqa, double *dqmaga) |
| reparametrizes the string along the constraint during the growth phase, only used by DE | |
| void | ic_reparam (double **dqa, double *dqmaga, int type) |
| reparametrizes the string along the constraint after the growth phase | |
| void | ic_reparam_h (double **dqa, double *dqmaga, int type) |
| void | ic_reparam_dm (double **dqa, double *dqmaga, int type) |
| void | ic_reparam_new (double **dqa, double *dqmaga, int type) |
| void | tangent_1 (double *ictan) |
| Calculates the DE internal coordinate tangent vector. | |
| double | tangent_1b (double *ictan) |
| bond tangent for SSM | |
| void | get_tangents_1 (double **dqa, double *dqmaga, double **ictan) |
| tangents pairwise, returns distance magnitudes also | |
| void | get_tangents_1e (double **dqa, double *dqmaga, double **ictan) |
| void | get_tangents_1g (double **dqa, double *dqmaga, double **ictan) |
| Finds the tangents during the growth phase. Tangents referenced to left or right during growing phase. | |
| void | get_tangents (double **dqa, double *dqmaga, double **ictan) |
| void | get_tangents_dm (double **dqa, double *dqmaga, double **ictan) |
| void | get_distances (double *dqmaga, double **ictan) |
| void | get_distances_dm (double *dqmaga, double **ictan) |
| int | close_dist_fix (int type) |
| int | check_close_dist (int n, double *dist, int *newbonds) |
| void | add_bonds (int nadd, int *newbonds) |
| void | add_angles (int nadd, int *newangles) |
| void | align_rxn () |
| void | align_string (ICoord ic1, ICoord ic2) |
| void | rotate_structure (double *xyz0, int *a) |
| void | print_em (int nmaxp) |
| void | set_prima (string pstring) |
| int | read_string (string stringfile, double **coordsn, double *energies) |
| void | print_string_clump_p (int STEPS, double grad, double **allcoords, string xyzstring) |
| int | twin_peaks () |
| int | find_ints () |
| void | ic_reparam_cut (int min, double **dqa, double *dqmaga, int type) |
| int | check_for_reaction_g (int type) |
| int | check_for_reaction (int &wts, int &wint) |
| void | general_init (string infilename) |
| void | parameter_init (string infilename) |
| void | structure_init (string xyzfile) |
| void | allelse_init () |
| void | restart_string (string pstring) |
Private Attributes | |
| int | isRestart |
| int | killcounter |
| int | ngrowth |
| int | growing |
| int | oi |
| int | endearly |
| int | bondfrags |
| int | isSSM |
| int | hessSSM |
| int | isFSM |
| int | use_exact_climb |
| int | ptsn |
| double | newclimbscale |
| int | nfound |
| int | nbond |
| int | nadd |
| int | nbrk |
| int | nangle |
| int | ntors |
| int * | bond |
| int * | add |
| int * | brk |
| int * | angles |
| double * | anglet |
| int * | tors |
| double * | tort |
| int | n0 |
| int | using_break_planes |
| int | natoms |
| int | ncpu |
| int | runNum |
| int | runend |
| string | runends |
| string | infile0 |
| double ** | coords |
| ICoord * | icoords |
| double ** | tangents |
| double ** | grads |
| double ** | perp_grads |
| int | climb |
| int | find |
| int | TSnode0 |
| int | cTSnode |
| double | lastdispr |
| double | xdist |
| int | nnew_bond |
| int * | new_bond |
| ICoord | bondsic |
| ICoord | newic |
| ICoord | intic |
| ICoord | int2ic |
| ICoord | newic_dm |
| ICoord | intic_dm |
| ICoord | int2ic_dm |
| int | ic_reparam_steps |
| int | pTSnode |
| double * | pTSnodecoords |
| int | nsplit |
| double * | V_profile |
| double | V0 |
| int * | active |
| int | nn |
| int | nnR |
| int | nnP |
| int | nnmax |
| int | nnmax0 |
| double | SCALING |
| int | INTERP_MODE |
| int | GROWD |
| string * | anames |
| int * | anumbers |
| double * | amasses |
| string | stringfilename |
| int | STEP_OPT_ITERS |
| int | MAX_OPT_ITERS |
| double | CONV_TOL |
| double | ADD_NODE_TOL |
| double | HESS_INIT |
| int | CHARGE |
| int | SPIN |
| double | NODE_SPACING |
| int | NUM_INTERP |
| int | NUM_STEPS |
| double | DQMAG_SSM_MAX |
| double | DQMAG_SSM_MIN |
| double | QDISTMAX |
| double | PEAK4_EDIFF |
| int | tstype |
| double | prodelim |
| int | lastOpt |
| int | initialOpt |
| int | gradJobCount |
| int | gradFailCount |
| Gradient | grad1 |
| void GString::add_angles | ( | int | nadd, | |
| int * | newangles | |||
| ) | [private] |
| void GString::add_bonds | ( | int | nadd, | |
| int * | newbonds | |||
| ) | [private] |
| void GString::add_last_node | ( | int | type | ) | [private] |
| int GString::add_linear | ( | ) | [private] |
| int GString::addCNode | ( | int | n1 | ) | [private] |
Add space node between n1-1 and n1.
| int GString::addNode | ( | int | n1, | |
| int | n2, | |||
| int | n3 | |||
| ) | [private] |
Adds a node between n1 and n3. In SE, n2 is nnmax-1 arbitrarily because the added node is not "between" any node.
| void GString::align_rxn | ( | ) | [private] |
| void GString::allelse_init | ( | ) | [private] |
| int GString::break_planes_ssm | ( | ICoord | ic1 | ) | [private] |
| void GString::build_fstring | ( | double ** | fstring | ) |
| int GString::check_close_dist | ( | int | n, | |
| double * | dist, | |||
| int * | newbonds | |||
| ) | [private] |
| int GString::check_for_reaction | ( | int & | wts, | |
| int & | wint | |||
| ) | [private] |
| int GString::check_for_reaction_g | ( | int | type | ) | [private] |
| int GString::close_dist_fix | ( | int | type | ) | [private] |
| void GString::com_rotate_move | ( | int | iR, | |
| int | iP, | |||
| int | iN, | |||
| double | ff | |||
| ) | [private] |
| int GString::find_ints | ( | ) | [private] |
| int GString::find_peaks | ( | int | type | ) | [private] |
Finds peaks, used by opt_iters to know which node to climb.
| int GString::find_uphill | ( | double | cutoff | ) | [private] |
| void GString::general_init | ( | string | infilename | ) | [private] |
| void GString::get_distances | ( | double * | dqmaga, | |
| double ** | ictan | |||
| ) | [private] |
| void GString::get_distances_dm | ( | double * | dqmaga, | |
| double ** | ictan | |||
| ) | [private] |
| void GString::get_eigenv_bofill | ( | ) | [private] |
| void GString::get_eigenv_finite | ( | int | enode, | |
| double ** | ictan | |||
| ) | [private] |
modifies hessian using RP direction
| void GString::get_eigenv_finite | ( | int | enode | ) | [private] |
calls get_eigenv_finite after constructing tangent
| double GString::get_ssm_dqmag | ( | double | bdist | ) | [private] |
| void GString::get_tangents | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
| void GString::get_tangents_1 | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
tangents pairwise, returns distance magnitudes also
| void GString::get_tangents_1e | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
| void GString::get_tangents_1g | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
Finds the tangents during the growth phase. Tangents referenced to left or right during growing phase.
| void GString::get_tangents_dm | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
| void GString::growth_iters | ( | int | max_iter, | |
| double & | totalgrad, | |||
| double & | gradrms, | |||
| double | endenergy, | |||
| string | strfileg, | |||
| int & | tscontinue, | |||
| double | gaddmax, | |||
| int | osteps, | |||
| int | oesteps, | |||
| double ** | dqa, | |||
| double * | dqmaga, | |||
| double ** | ictan | |||
| ) | [private] |
Optimization and add node driver for SE and DE during growth phase. max_iter is the max number of iterations for the entire calculation (growth and optimiazation)
| void GString::ic_reparam | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| int | type | |||
| ) | [private] |
reparametrizes the string along the constraint after the growth phase
rtype==0 using average
| void GString::ic_reparam_cut | ( | int | min, | |
| double ** | dqa, | |||
| double * | dqmaga, | |||
| int | type | |||
| ) | [private] |
| void GString::ic_reparam_dm | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| int | type | |||
| ) | [private] |
| void GString::ic_reparam_g | ( | double ** | dqa, | |
| double * | dqmaga | |||
| ) | [private] |
reparametrizes the string along the constraint during the growth phase, only used by DE
| void GString::ic_reparam_h | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| int | type | |||
| ) | [private] |
| void GString::ic_reparam_new | ( | double ** | dqa, | |
| double * | dqmaga, | |||
| int | type | |||
| ) | [private] |
| void GString::init | ( | string | infilename, | |
| int | run, | |||
| int | nprocs | |||
| ) |
initializes starting variables related to the string.xyz file, ISOMERS file, nprocs, etc.
| void GString::init | ( | string | infilename, | |
| string | xyzfile | |||
| ) |
| int GString::isomer_init | ( | string | isofilename | ) | [private] |
| int GString::knnr_vs_opt | ( | int | n | ) | [private] |
| double GString::min_rms_structure_distance | ( | double * | struct1, | |
| double * | struct2, | |||
| int | natoms | |||
| ) |
| void GString::opt_iters | ( | int | max_iter, | |
| double & | totalgrad, | |||
| double & | gradrms, | |||
| double | endenergy, | |||
| string | strfileg, | |||
| int & | tscontinue, | |||
| double | gaddmax, | |||
| int | osteps, | |||
| int | oesteps, | |||
| double ** | dqa, | |||
| double * | dqmaga, | |||
| double ** | ictan, | |||
| int | finder, | |||
| int | climber, | |||
| int | do_tp, | |||
| int & | tp | |||
| ) | [private] |
Optimization driver for DE and SE during the optimization phase. climber=1 uses climbing image, finder=1 finds the exact TS
| void GString::opt_r | ( | ) | [private] |
| void GString::opt_steps | ( | double ** | dqa, | |
| double ** | ictan, | |||
| int | osteps, | |||
| int | oesteps | |||
| ) | [private] |
Optimizes each active node. osteps is the number of optimization steps for the nodes oesteps is the number of eigenvector following steps for the TS
| void GString::opt_tr | ( | ) | [private] |
| void GString::parameter_init | ( | string | infilename | ) | [private] |
| int GString::past_ts | ( | ) | [private] |
Checks if string is past_ts. Used by SSM.
| void GString::print_em | ( | int | nmaxp | ) | [private] |
| void GString::print_string | ( | int | STEPS, | |
| double ** | allcoords, | |||
| string | xyzstring | |||
| ) |
| void GString::print_string_clump | ( | int | STEPS, | |
| double | grad, | |||
| double ** | allcoords, | |||
| string | xyzstring | |||
| ) |
| void GString::print_string_clump_p | ( | int | STEPS, | |
| double | grad, | |||
| double ** | allcoords, | |||
| string | xyzstring | |||
| ) | [private] |
| int GString::read_string | ( | string | stringfile, | |
| double ** | coordsn, | |||
| double * | energies | |||
| ) | [private] |
| void GString::reparam_and_getTangents_with_LST | ( | double ** | fstring | ) |
| void GString::restart_string | ( | string | pstring | ) | [private] |
| void GString::rotate_structure | ( | double * | xyz0, | |
| int * | a | |||
| ) | [private] |
| void GString::scan_r | ( | int | eigen | ) | [private] |
| void GString::set_fsm_active | ( | int | nnR, | |
| int | nnP | |||
| ) | [private] |
| void GString::set_prima | ( | string | pstring | ) | [private] |
| void GString::set_ssm_bonds | ( | ICoord & | ic1 | ) | [private] |
| void GString::shift_node | ( | int | nnOld, | |
| int | nnNew | |||
| ) |
| void GString::starting_string | ( | double * | dq, | |
| int | nnodes | |||
| ) | [private] |
Grows the initial nodes for SE and DE. nnodes is 4 for DE and 3 for SE.
| void GString::starting_string_dm | ( | double * | dq | ) | [private] |
| void GString::String_Method_Optimization | ( | ) |
The main driver for DE and SE methods, growth and optimization. Can only be called after coordinates have been set.
| void GString::structure_init | ( | string | xyzfile | ) | [private] |
Reads xyz file defined from commnand line
| void GString::tangent_1 | ( | double * | ictan | ) | [private] |
Calculates the DE internal coordinate tangent vector.
| double GString::tangent_1b | ( | double * | ictan | ) | [private] |
bond tangent for SSM
| void GString::trim_string | ( | int | nextmin | ) | [private] |
| void GString::trim_string | ( | ) | [private] |
| int GString::twin_peaks | ( | ) | [private] |
| void GString::write_geom_file | ( | int | iter | ) |
| void GString::write_string_file | ( | int | iter | ) |
| void GString::write_SVfile | ( | int | iter | ) |
int* GString::active [private] |
int* GString::add [private] |
double GString::ADD_NODE_TOL [private] |
| double** GString::allcoords |
double* GString::amasses [private] |
string* GString::anames [private] |
int* GString::angles [private] |
double* GString::anglet [private] |
int* GString::anumbers [private] |
int* GString::bond [private] |
int GString::bondfrags [private] |
ICoord GString::bondsic [private] |
int* GString::brk [private] |
int GString::CHARGE [private] |
int GString::climb [private] |
double GString::CONV_TOL [private] |
double** GString::coords [private] |
int GString::cTSnode [private] |
double GString::DQMAG_SSM_MAX [private] |
double GString::DQMAG_SSM_MIN [private] |
int GString::endearly [private] |
int GString::find [private] |
Gradient GString::grad1 [private] |
int GString::gradFailCount [private] |
int GString::gradJobCount [private] |
double** GString::grads [private] |
int GString::GROWD [private] |
int GString::growing [private] |
double GString::HESS_INIT [private] |
int GString::hessSSM [private] |
int GString::ic_reparam_steps [private] |
ICoord* GString::icoords [private] |
string GString::infile0 [private] |
int GString::initialOpt [private] |
ICoord GString::int2ic [private] |
ICoord GString::int2ic_dm [private] |
int GString::INTERP_MODE [private] |
ICoord GString::intic [private] |
ICoord GString::intic_dm [private] |
int GString::isFSM [private] |
int GString::isRestart [private] |
int GString::isSSM [private] |
int GString::killcounter [private] |
double GString::lastdispr [private] |
int GString::lastOpt [private] |
int GString::MAX_OPT_ITERS [private] |
int GString::n0 [private] |
int GString::nadd [private] |
int GString::nangle [private] |
int GString::natoms [private] |
int GString::nbond [private] |
int GString::nbrk [private] |
int GString::ncpu [private] |
int* GString::new_bond [private] |
double GString::newclimbscale [private] |
ICoord GString::newic [private] |
ICoord GString::newic_dm [private] |
int GString::nfound [private] |
int GString::ngrowth [private] |
int GString::nn [private] |
int GString::nnew_bond [private] |
int GString::nnmax [private] |
int GString::nnmax0 [private] |
int GString::nnP [private] |
int GString::nnR [private] |
double GString::NODE_SPACING [private] |
int GString::nsplit [private] |
int GString::ntors [private] |
int GString::NUM_INTERP [private] |
int GString::NUM_STEPS [private] |
int GString::oi [private] |
double GString::PEAK4_EDIFF [private] |
double** GString::perp_grads [private] |
double GString::prodelim [private] |
int GString::ptsn [private] |
int GString::pTSnode [private] |
double* GString::pTSnodecoords [private] |
double GString::QDISTMAX [private] |
int GString::runend [private] |
string GString::runends [private] |
int GString::runNum [private] |
double GString::SCALING [private] |
int GString::SPIN [private] |
int GString::STEP_OPT_ITERS [private] |
string GString::stringfilename [private] |
double** GString::tangents [private] |
int* GString::tors [private] |
double* GString::tort [private] |
int GString::TSnode0 [private] |
int GString::tstype [private] |
int GString::use_exact_climb [private] |
int GString::using_break_planes [private] |
double GString::V0 [private] |
double* GString::V_profile [private] |
double GString::xdist [private] |
1.6.1