Geometry Optimization

Program name: intc
Input file name: intcin
Output file name: intcls
To see the full intc input documentation click here.

Program name: gdiis
Input file name: gdiisin
Output file name: gdiisls
To see the full gdiis input documentation click here.

Geometry Optimization

Geometry optimization is performed by means of the GDIIS algorithm (Csaszar and Pulay (1984)) using internal coordinates as defined by Fogarasi et al. (1992). They are computed automatically using the program intc and remain unchanged during the geometry optimization cycles. In case of standard molecules, intc does not require any user input. The definition of the internal coordinates and a standard set of diagonal force constants are stored in the file intcfl.

Special case: linear molecules
Use dummy atoms (one or two equivalent ones) to define a molecular plane. Dummy atoms (charge zero) have to be given from the very beginning in the basis set input and have to precede all hydrogen atoms. Program intc will create appropriate internal coordinates (lin1,lin2).

Program gdiis controls the geometry optimization. It reads the cartesian gradient and the cartesian geometry of the current iteration and transforms it to internal coordinates. A geometry optimization step is carried out and a new cartesian geometry is written to the file geom. This geometry is used in the next optimization cycle. Previous geometries and gradients are stored in file gdiisfl and are used by the GDIIS optimization procedure.

Convergence is controlled by the following key words (located in the gdiisin file):

cmax maximal coordinate change threshold
crms maximal coordinate square norm threshold
fmax maximal force threshold
frms maximal force square norm threshold

For details see the full documentation: gdiis.txt

The Hessian matrix plays a crucial role for the geometry optimization process. The signature of the matrix defines the order of the stationary point to be optimized. There are 3 possible sources, from where the gdiis program can take the Hessian matrix file:

  1. hessianinv file; this file has the format '(8f13.6)' and contains the inverse Hessian matrix.
  2. hessian file; this file has the format '(8f13.6)' and may be generated by a COLUMBUS calculation (see force constant calculation description), or can taken from other sources.
  3. intcfl file; is generated by colinp; only diagonal elements of the matrix of force constants are stored in this file.

At least one of the mentioned files has to exist and be present, (the intcfl file in the main directory, the hessian and hessianinv file in the WORK directory!). The previous list is ordered by priority. This means for example, if the hessianinv file does not exist, the gdiis program looks for the hessian file.

In general, the Hessian matrix is kept constant during the geometry iteration cycles. Only in case of optimization of minimum structures the Hessian can be updated using the BFGS method (Fletcher (1985)). If the starting geometry is expected to be close to the minimum structure, the use of the BFGS option is recommended.

Restricted geometry optimizations can be performed by keeping the current values of selected internal coordinates fixed. Insert manually a line

      fixc   n (Fortran format a4,i4)

for each coordinate to be fixed into the file gdiisin. The definition of internal coordinates can be found in the file intcfl. If one wants to have a special value for a fixed coordinate, the cartesian geometry (file geom) has to be modified accordingly.

Note, that for a saddle point calculation, gdiis works only well if the initial geometry is already close to the saddle point geometry. For global saddle point searches use the reduced gradient following (RGF) method.

Troubleshooting

In case that the geometry optimization does not converge it is recommended to restart the geometry optimization procedure. For that purpose

and start a new series of calculations by executing runc again.

Alternatively, the Hessian file may be modified directly. The easiest way is to change the values of the diagonal force constants given in the intcfl file. In order that this change is used by gdiis program, the WORK/hessian, WORK/hessianinv and WORK/gdiisfl files have to be removed initially. This method can also be used to create Hessians with a negative eigenvalue.

For additional informations on input see also the colinp description section.