next up previous contents index
Next: Force Constant Update Algorithms Up: Program Relax Previous: Purpose   Contents   Index

Optimization of General Coordinates

After gradients Gk have been calculated for coordinates qk in optimization cycle k, new coordinates (or basis set exponents) qk+1 can be obtained from the quasi-Newton update:

qk+1 = qk - FkGk    

where Fk is the inverse of an approximate force constant matrix Hk. This method would immediately converge to the equilibrium geometry if Fk would be the inverse of the exact force constant matrix and the force field would be quadratic. In real applications usually none of these requirements is fulfilled. Often only a crude approximation to the force constant matrix Hk is known. Sometimes a unit matrix is employed (which means coordinate update along the negative gradient with all coordinates treated on an equal footing).

The optimization of nuclear coordinates in the space of internal coordinates is the default task performed by relax and does not need to be enabled. Any other optimization task requires explicit specifications in data group $optimize, which takes several possible options:

$optimize options

internal on/off
Structure optimization in internal coordinates.
redundant on/off
Structure optimization in redundant coordinates.
cartesian on/off
Structure optimization in cartesian coordinates.
basis on/off
Optimization of basis set exponents, contraction coefficients, scaling factors.
global on/off
Optimization of global scaling factor for all basis set exponents.

Note: All options except internal are switched off by default, unless they have been activated explicitly by specifying on.

Some of the options may be used simultaneously, e.g.

Other options have to be used exclusively, e.g. The update of the coordinates may be controlled by special options provided in data group $coordinateupdate which takes as options:
Maximum total coordinate change (default: 0.3).
interpolate on/off
Calculate coordinate update by inter/extrapolation using coordinates and gradients of the last two optimization cycles (default: interpolate on) if possible.
statistics integer/off
Display optimization statistics for the integer previous optimization cycles. Without integer all available information will be displayed. off suppresses optimization statistics.
The following data blocks are used by program relax:
  1. Input data from gradient programs grad, rdgrad, egrad, rimp2, mpgrad, etc.:
    cartesian atomic coordinates and their gradients.
    exponents and scale factors and their gradients.
    global scale factor and its gradient.
  2. Input data from force constant program aoforce:
    cartesian atomic coordinates and their gradients.
    global scale factor and its gradient.
    the force constant matrix in the space of cartesian coordinates.
  3. Output data from program relax:
    cartesian atomic coordinates.
    exponents and scale factors.
    global scale factor.
For structure optimizations the use of (redundant) internal coordinates is recommended, see Section 4.0.6. Normally internal coordinates are not used for input or output by the electronic structure programs (dscf, mpgrad, etc.). Instead the coordinates, gradients, etc. are automatically converted to internal coordinates by relax on input and the updated positions of the nuclei are written in cartesians coordinates to the data group $coord. Details are explained in the following sections.
next up previous contents index
Next: Force Constant Update Algorithms Up: Program Relax Previous: Purpose   Contents   Index