next up previous contents index
Next: Parallel calculations : *PARALL Up: General input to DALTON Previous: End of General input:

 

General: *MINIMIZE

 

This submodule is driver for geometry optimizations, although we note that the *WALK   module contains another second-order gometry optimization driver- . The *MINIMIZE   module contains both first and second-order methods for energy    minimization (geometry optimization). Most of the Hessian updating  schemes were taken from ref.[63] and [8]. The implementation of redundant internal coordinates  follows the work done by Peng et al. []. In addition to this, several keywords for VRML visualization are included [64].

.1STORD  

Use default first-order method . This means that the BFGS update will  be used, and the optimization carried out in redundant internal coordinates . Same effect as the combination of the two keywords .BFGS   and .REDINT  .

.2NDORD  

Use default second-order method . The level-shifted Newton method and Cartesian coordinates  are used. Identical to specifying the two keywords .NEWTON   and .CARTES  .

.BAKER  

Activates the convergence criteria of Baker [65]. The minimum is then said to be found, when the largest element of the gradient vector (in Cartesian or redundant internal coordinates) falls below 3.0D-4 and either the energy change from the last iteration is less than 1.0D-6 or the largest element of the predicted step vector is less 3.0D-4.

.BFGS  

Specifies the use of a first-order method  with the Broyden-Fletcher-Goldfarb-Shanno (BFGS) update  formula for optimization. This is the preferred first-order method.

.CARTES  

Indicates that Cartesian coordinates should be used in the optimization. This is the default for second-order methods.

.CONDIT  

READ(LUCMD,*) ICONDI

Set the number of convergence criteria  that should be fulfilled before convergence occurs. There are three different convergence thresholds, one for the energy , one for the gradient norm  and one for the step norm . The possible values for this variable is therefore between 1 and 3. Default is 2. The three convergence thresholds can be adjusted with the keywords .ENERGY  , .GRADIE   and .STEP T  .

.DFP  

Specifies that a first-order  method with the Davidon-Fletcher-Powell (DFP) update  formula should be used for optimization.

.DISPLA  

READ(LUCMD,*) DISPLA

Read one more line containing the norm of the displacement vector to be used during numerical evaluation of the molecular gradient, as is needed when doing geometry optimizations with CI or MP2 wave functions. Default is tex2html_wrap_inline9443 a.u.

.ENERGY  

READ(LUCMD,*) THRERG

Set the convergence threshold for the energy. This is one of the three convergence thresholds  (the keywords .GRADIE   and .STEP T   control the other two). Default value is the maximum of 1.0D-6 and two times the threshold for the wave function gradient.

.GRADIE  

READ(LUCMD,*) THRGRD

Set the convergence threshold for the gradient norm. This is one of the three convergence thresholds (the keywords .ENERGY   and .STEP T   control the other two). Default value is the maximum of 1.0D-6 and two times the threshold for the wave function gradient.

.GRDINI  

Specifies that the Hessian  should be reinitialized every time the norm of the gradient is larger than norm of the gradient two iterations earlier. This keyword should only be used when it's difficult to obtain a good approximation to the Hessian during optimization. Only applies to first-order methods .

.HESFIL  

Specifies that the initial Hessian  should be read from the file DALTON.HES. This applies to first-order methods, and the Hessian in the file must have the correct dimensions. This option overrides other options for the initial Hessian.

Each time a Hessian is calculated or updated , it's written to this file. If an optimization is interrupted, it can be restarted with the last geometry and the Hessian in DALTON.HES, minimizing the loss of information. Another useful possibility, is to transfer the Hessian from a calculation on the same molecule with another (smaller) basis. Finally, one can go in and edit the file directly to set up a specific forcefield.

.INIRED  

Specifies that the initial Hessian  should be diagonal in redundant internal coordinates, and it is then transformed to Cartesian coordinates. This only applies to first-order optimizationsindexfirst-order optimization in Cartesian coordinates .

.INITEV  

READ(LUCMD,*) EVLINI

The default initial Hessian  for first-order minimizations  is the identity matrix when Cartesian coordinates are used, and a diagonal matrix when redundant internal coordinates are used. If .INITEV   is used all the diagonal elements (and therefore the eigenvalues) are set equal to the value EVLINI. This option only has effect when first-order methods are used and .INITHE   and .HESFIL   are non-present.

.INITHE  

Specifies that the initial Hessian  should be calculated (analytical Hessian), thus yielding a first step that is identical to second-order methods. This provides an excellent starting point for first-order methods, but should only be used when the Hessian can be calculated within a reasonable amount of time. It has only effect for first-order methods and overrides the keywords .INITEV   and .INIRED  . It has no effect when .HESFIL   has been specified.

.INTERA  

Specifies a interactive run . The energy, gradient norm , step length  and Hessian index  is then written to the unit LUERR(=0) in each iteration, allowing easy monitoring of the optimization.

.MAX IT  

READ(LUCMD,*) ITRMAX

Read the maximum number of geometry iterations . Default value is 25.

.MAX RE  

READ(LUCMD,*) MAXREJ

Read maximum number of rejected steps  in each iterations, default is 5.

.NEWTON  

Specifies that a second-order level-shifted Newton method should be used for optimization. This is the default method.

.NOBREA  

Disables breaking of symmetry . The geometry will be optimized within the given symmetry, even if a non-zero Hessian index is found. The default is to let the symmetry be broken until a minimum is found with a Hessian index  of zero. This option only has effect when second-order methods are used.

.NOREIN  

When first-order methods are used, the Hessian  is reinitialized every time the Hessian index  becomes non-zero (due to negative eigenvalues). This guarantees that the Hessian describes a minimum, but valuable information gathered in the Hessian may be lost.

.NOREIN   disables this reinitialization, relying on the optimization method to restore the Hessian to its correct structure (by locating the area near the minimum). This option is particularly useful in conjunction with the keyword .INITHE  , as it is not meaningful to calculate the Hessian at the initial geometry, then reset it to the identity matrix because some negative eigenvalue showed up.

.NOTRUS  

Turns off the trust radius , so that a full Newton step is taken in each iteration. This should be used with caution, as global convergence is no longer guaranteed. If long steps are desired, it is safer to adjust the initial trust radius and the limits for the actual/predicted energy ratio.

.PREOPT  

               READ(LUCMD,*) NUMPRE
               DO 144 I = 1, NUMPRE 
                  READ(LUCMD,*) PREBTX(I)
 144           CONTINUE

First we read the number of basis sets  that should be used for preoptimization , then we read those basis set names as strings. These sets will be used for optimization in the order they appear in the input. One should therefore place the smaller basis at the top. After the preoptimization, optimization is performed with the basis specified in the molecule input file.

.PRINT  

READ(LUCMD,*) IPRINT

Set print level for this module. Read one more line containing print level. Default value is 0.

.PSB  

Specifies that a first-order method  with the Powell-symmetric-Broyden (PSB)  update formula should be used for optimization.

.RANKON  

Specifies that a first-order method  with the rank one update  formula should be used for optimization.

.REDINT  

Specifies that redundant internal coordinates  should be used in the optimization. This is the default for first-order methods .

.REJINI  

Specifies that the Hessian should be reinitialized  after every rejected step , as a rejected step indicates that the Hessian models the true potential surface poorly. Only applies to first-order methods .

.SCHLEG  

Specifies that a first-order method  with Schlegel's updating scheme  [66] should be used. This makes use of all previous displacements and gradients, not just the last, to update the Hessian.

.SP BAS  

READ(LUCMD,*) SPBSTX

Read a string containing the name of a basis set. When the geometry has converged, a single-point energy will be calculated using this basis set .

.STEEPD  

Specifies that the first-order steepest descent   method should be used. No update is done on the Hessian, so the optimization will be guided by the gradient alone. The ``pure'' steepest descent method is obtained when the Hessian is set equal to the identity matrix. Each step will then be the negative of the gradient vector, and the convergence towards the minimum will be extremely slow. However, this option can be combined with other initial Hessians in Cartesian or redundant internal coordinates  , giving a method where the main feature is the lack of Hessian updates.

.STEP T  

READ(LUCMD,*) THRSTP

Set the convergence  threshold for the step norm. This is one of the three convergence thresholds (the keywords .ENERGY   and .GRADIE   control the other two). Default value is 1.0D-6.

.SYMTHR  

READ(LUCMD,*) THRSYM

Determines the gradient threshold for breaking of the symmetry . That is, if the index of the Hessian  is non-zero when the gradient norm drops below this value, the symmetry is broken to avoid unnecessary iterations within the wrong symmetry. This option only applies to second-order  methods and when the keyword .NOBREA   is not present. The default value of this threshold is 1.0D-3.

.TR FAC  

READ(LUCMD,*) TRSTIN, TRSTDE

Read two factors that will be used for increasing and decreasing the trust radius  respectively. Default values are 1.2D0 and 0.7D0.

.TR LIM  

READ(LUCMD,*) RTENBD, RTENGD, RTRJMN, RTRJMX

Read four limits for the ratio between the actual and predicted energies. This ratio indicates how good the step is, that is how accurately the the quadratic model describes the true energy surface. If the ratio is below RTRJMN or above RTRJMX, the step is rejected. With a ratio between RTRJMN and RTENBD, the step is considered bad an the trust radius  decreased to less than the step length. Ratios between RTENBD and RTENGD are considered satisfactory, the trust radius is set equal to the norm of the step. Finally ratios above RTENGD (but below RTRJMX) indicate a good step, and the trust radius is given a value larger than the step length. The amount the trust radius is increased or decreased can be adjusted with .TR FAC  . The default values of RTENBD, RTENGD, RTRJMN and RTRJMX are 0.4D0, 0.8D0, 0.1D0 and 3.0D0 respectively.

.TRUSTR  

READ(LUCMD,*) TRSTRA

Set initial trust radius  for calculation. This will also be the maximum step length for the first iteration. The trust radius is updated after each iteration depending on the ratio between predicted and actual energy change. The default trust radius is 0.5D0.

.VISUAL  

Specifies that the molecule should be visualized  , writing a VRML file of the molecular geometry. No optimization will be performed when this keyword is given. See also related keywords .VR-BON   and .VR-EIG  .

.VRML  

Specifies that the molecule should be visualized  . VRML files describing both the initial and final geometry will be written (as initial.wrl and final.wrl). The file final.wrl is updated in each iteration, so that it always reflects the latest geometry. See also related keywords .VR-BON   and .VR-EIG  .

.VR-BON  

Only has effect together with .VRML   or .VISUAL  . Specifies that the VRML files should include bonds  between nearby atoms  . The bonds are drawn as grey cylinders, making it easier to see the structure of the molecule. If .VR-BON   is omitted, only the spheres representing the different atoms will be drawn.

.VR-EIG  

Only has effect together with .VRML   or .VISUAL    ´indexeigenvector. Specifies that the eigenvectors of the molecule (that is the eigenvectors of the Hessian, which differs from the normal modes as they are not mass-scaled) should be visualized. These are written to the files eigv_###.wrl.


next up previous contents index
Next: Parallel calculations : *PARALL Up: General input to DALTON Previous: End of General input:

Kenneth Ruud
Sat Apr 5 10:26:29 MET DST 1997