~ubuntu-branches/ubuntu/quantal/psicode/quantal

« back to all changes in this revision

Viewing changes to src/bin/optking/optking.txt

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2006-09-10 14:01:33 UTC
  • Revision ID: james.westby@ubuntu.com-20060910140133-ib2j86trekykfsfv
Tags: upstream-3.2.3
ImportĀ upstreamĀ versionĀ 3.2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
The actions of optking are controlled directly by command-line arguments passed
 
2
to it by psi3 or the user.  These are described in the man pages and at the top
 
3
of opt.cc.
 
4
 
 
5
The header files are organized as follows
 
6
internals.h
 
7
    This class contains pointers to sets of different kinds of internal
 
8
coordinates along with functions to set and get the number of each kind.
 
9
Its constructor function will read in all the simples present in the intco
 
10
section or construct them from distance criteria.
 
11
important member functions include:
 
12
  compute_internals(number of atoms, geometry) to compute values of simples
 
13
  compute_s(number of atoms, geometry) to compute values of all s-vectors
 
14
 
 
15
stretch.h
 
16
bend.h
 
17
torsion.h
 
18
out_of_plane.h
 
19
lin_bend.h
 
20
    These headers define the internal coordinate types and each contain
 
21
2 classes.  The simplest are in stretch.h:
 
22
    The first class is "stretch_class", which is a single stretch
 
23
containing the id number of the stretch, the atoms involved, the value
 
24
of the stretch, and the s-vectors for the stretch.  The second class is
 
25
"stretch_set", which contains a pointer to an array of stretches plus
 
26
the number of stretches present.
 
27
 
 
28
salc_set.h
 
29
    This header defines a salc_class, which includes a prefactor, a set of
 
30
coefficients and simple internal coordinate id numbers.  A salc_set
 
31
is an array of salc_class.  It has a constructor for all SALCS, symmetric
 
32
and asymmetric, and also a constructor for just those salcs in the "SYMM"
 
33
section of the INTCO section.
 
34
 
 
35
The basic startup algorithm goes as follows
 
36
 
 
37
1. See if user has specified zmat_simples as true and not provided an INTCO
 
38
section.  If so, copy simple internal coordinates directly from the z-mat in
 
39
the input to simple coordinates in intco.dat.
 
40
 
 
41
2. use "internals" constructor. This reads in all of the simples present
 
42
in intco section, OR generates simples based on distance criteria.
 
43
 
 
44
3. If "symm" vector is not already present, then
 
45
    if (delocalize == true), form delocalized coordinates from simple ones
 
46
    else use simple, redundant internal coordinates (copy simples into SYMM
 
47
       in intco.dat)
 
48
 
 
49
4. call salc_set constructor function.  With the argument "SYMM", this reads in
 
50
   all of the SALCS present in only the SYMM section of intco.dat
 
51