Energy Minimization Opcodes

In this section we describe the SDLP command, which explicitly searches for saddle-points, as well as commands associated with energy minimization.

The opcodes in this section are linked below:

MINI — MINImize the energy of a structure

CONV — minimization CONVergence criterion

MWRT — Minimization WRiTe

MTST — Minimization TeST

VIBR — visualize VIBRational modes

VBR2 — visualize ViBRational modes, 2nd version

RRHO — RRHO normal mode analysis

SDLP — SaDdLe Point search

MINI — MINImize the energy of a structure

Used after the READ command, and if used within a BGIN/END loop, will minimize the energy of all structures in the input file. If MULT is used then structures will be checked for duplication (see COMP) and any duplicates found will be eliminated from the output file. Stereochemistry is generally maintained during minimizations but strained systems can allow inversion of chirality especially if starting geometries are high in energy. If all the structures in the file are the same except for conformational differences, then CHIG commands can be used to save the stereochemistry (i.e., to reject any structure with a chiral center different from that found in the first structure in the input file).

The AUTO opcode can be used for automatic setup of MINI calculations.

If solvation is used in a minimization, the structure is minimized with analytical approximations to surface areas, but the final energies reported use accurate numerical areas.

If energies change substantially on reminimization or nonbonded updates, use the EXNB command to increase the nonbonded cutoff distances for electrostatics and van der Waals. Alternatively, update more frequently using arg7.

arg1

Minimization mode

< 0

Allow uphill motion, using method |arg1|; but implemented only for arg1=4 using no line search (arg2= 0). This facilitates saddle-point searches.

0

Steepest Descent with or without line searching (SD)—Not generally useful except for highly strained structures. Should be used with line searching (arg2 =1).

1

PR Conjugate Gradient (PRCG)—Best general method. [25]

3

OS Variable Metric (OSVM). One of the best variable metric methods. There is no built-in limit on the number of atoms in the molecule when using OSVM. [26]

4

Full Matrix NR (FMNR)—Best method for fully converging molecules. There is no built-in limit on the number of atoms in the molecule. Gradient must be small before using this method. Use with line searching if gradient >0.5 kJ/Å-mol.

9

Truncated Newton (TNCG)—Superb method for flexible structures. There is no limit on the number of atoms in the molecule when using TNCG. [27]. See arg6.

10

Limited Broyden-Fletcher-Goldfarb-Shanno (LBFGS)—LBFGS can be specified by MINI arg1=10. Experiments so far have not shown superiority of this method above all others; however, we expect to improve the implementation as time goes on, as we feel this method has great potential.

11

LTNCG—LTNCG is virtually identical to TNCG (MINI arg1=9), but it requires less memory and thus can be used on larger molecules. Differences between TNCG and LTNCG:

 

TNCG is effectively single precision, but LTNCG is fully double precision.

 

Because of the difference between the Hessian cutoff used by TNCG and LTNCG (see ARPK arg8), and the limited memory allowed for Hessian storage in LTNCG (see ARPK arg4), the sparse Hessian representation of TNCG and LTNCG might differ. Nevertheless, LTNCG gives practically identical results with TNCG on small to medium sized molecules (up to approx. 1000 atoms).

 

For molecules for which both TNCG and LTNCG can be used, TNCG is faster by a factor of approx. 1.5 to 2.

20

Use TNCG method if the number of unfixed atoms is less than 1000 and solvation is employed; otherwise use PRCG. Sets arg2 to 1.

arg2

Line searching protocol

0

Default line searching

1

For SD or FMNR or LBFGS, turns on line searching. Although LBFGS can be used with line search, it is not recommended in the current implementation.

 

For PRCG, selects 3-point line searcher (use with problematic structures)

 

For TNCG, selects original line searcher (try for problematic structures)

arg3

Maximum number of iterations

 

The default of 0 iterations may be used when the semantics of surrounding commands requires a MINI command but it is not desired to actually perform a minimization. When a minimization is run from MacroModel, arg3 is set to 500 by default. For PRCG and OSVM minimization methods, some small multiple of 3N steps often suffices, where N is the number of atoms in the system being simulated.

arg4

Energy code (see DEMX)

arg5

Step-size buffer

 

This variable, 1.0 by default (1.1 for PRCG), is used to increase or decrease the step size during minimization. If arg5>1, then convergence may be accelerated, but the procedure can also become unstable. If arg5<1, then convergence will be slowed, but the minimization may run more smoothly with problematic structures. With normal structures, however, the default value of 1.0 should be used.

 

Arg5 behaves somewhat differently if FMNR is specified without line-searching (arg1=4, arg2=0). Then, by default (arg5=0.0), the algorithm takes its full step-size, which is the estimated distance to the minimum determined by a harmonic fit to the potential energy surface. This corresponds to the ordinary meaning of arg5 for other methods. This distance will be too great (for example, it may overshoot the minimum) unless one is already close to a minimum. If arg5 is nonzero for FMNR, its value is used as the maximum distance in angstroms that any atom can move in a single step. If the normal FMNR algorithm calls for a larger step, then all coordinate motions are scaled back by the ratio of the arg5 value to the maximum atomic displacement called for by the normal algorithm. Experimentation is usually called for to determine a good non-default value for arg5, but if the gradient at the start of FMNR has already been reduced to less than about 10 kJ mol-1 Å-1, a value in the range 0.1 to 1 Å is a good starting point. Provided the gradient is already reasonably low (for example, by virtue of an earlier conjugate-gradient minimization with “loose” convergence), this option permits convergence to a saddle point, since FMNR actually tends toward singularities of any sort, not just minima.

Note: This variable does not affect minimization when used for TNCG minimization (arg1=9) and the original line searcher (arg2=1).

arg6

TNCG Hessian cutoff

 

Default is 0.5 kJ mol−1Å− 2. Smaller values (e.g., 0.1, 0.01) slow down the iterations but improve the convergence properties of the method.

arg7

Maximum movement (Å) before nonbonded update

 

Set to a small number (e.g., 0.1) for frequent updates. Default (0.0) gives an update frequency which is a function of the van der Waals cutoff distance but is minimally 0.5 Å.

arg8

Reporting interval

0

(Default.) No intermediate reporting, unless DEBG 1 has been specified.

nn>0 If n is an integer, report the energy, RMS gradient, and the RMS atomic movement every n steps. If n is not an integer, then the maximum atomic movement and the maximum absolute gradient component are reported, in addition to the reporting of energy, RMS gradient, and the RMS atomic movement. Overrides reporting interval set by DEBG 1.

CONV — minimization CONVergence criterion

The minimizer uses the default derivative convergence criterion at a value of 0.05 kJ/Å-mol (ca 0.01 kcal/Å-mol) if no CONV command is used.

arg1

Type of criterion

0

Iterate until max number of iterations has been achieved.

1

Energy convergence, in kJ/mol.

2

Derivative convergence: RMS change in gradient, in kJ mol–1 Å–1 (default).

3

Movement convergence: RMS change in atom position, in Å.

arg2

Extent of convergence

0

1.0

1

0.1

n

10–n

arg5

Real number extent of convergence

 

Overrides arg2 value.

MWRT — Minimization WRiTe

Chained minimizations (on the same structure) can be run using the MWRT opcode. Following an MWRT command with arg1=0, information on the subsequent MINI commands is stored without actually performing them. After a second MWRT command with arg1=1, the optimizations begin at the next instance of a MINI command. The program performs all the previously stored MINI commands followed by the current MINI command sequentially, until convergence is attained (as defined by the CONV opcode). If convergence is obtained before the stored MINI commands are completed, the remaining MINI commands are skipped. This capability allows you, for example, to start a minimization with a steepest-descent minimizer and end with a full matrix Newton Raphson minimizer. MWRT can be used in conformational searches or multiple minimizations. A maximum of 11 MINI commands can be chained using this opcode.

arg1

Enable writing of MINI commands

0

Store MINI commands without doing minimizations until arg1 =1 is encountered.

1

Run stored minimizations starting at the next MINI command.

MTST — Minimization TeST

This command computes the first and second energy derivatives for a minimized structure and returns the first derivative root-mean-square value and test for imaginary vibrational modes, indicating whether the current structure is a minimum, a saddle point or something else. The procedure operates by counting the number of frequencies less than arg5 (default = 2 cm–1) beyond the lowest 6 which correspond to free translation and rotation in a minimized structure. Results are written to the log file.

Limitations:

  • MTST cannot be used during a MULT run.
  • MTST can only be used after a MINI command, unless DEBG 211 is used and MTST follows an ELST

    arg1

    Listing of vibrational frequencies

    0

    No listing.

    1

    Listing to .mmo file.

    arg5

    Lower limit for frequency reporting

     

    The lowest vibrational frequency considered to be a real vibrational mode (default 2.0 cm–1). Note that the 6 lowest frequencies are always skipped.

    VIBR — visualize VIBRational modes

This command allows for the visualization of molecular vibrations. A file is created which can be read by the ePlayer facility in Maestro. See The ePlayer for instructions on using the ePlayer. For each mode in the file, the minimized structure comes first; then there are some number of frames (call it N) exploring the mode in one direction, 2N frames exploring it back in the other direction, and finally N additional frames exploring it “forward” again. Each mode is depicted in a different color (up to five). The trivial modes (determined by frequency, not counting) are skipped.

This command is allowed only if a MINI has been performed, unless DEBG 211 has been set.

arg1

First mode to animate

0

1 (default). Animate starting with the first mode.

> 0

First mode to animate instead of the default.

arg2

Last mode to animate

0

Only the mode specified by arg1 will be animated.

> 0

Last mode to animate. Animate the range of modes specified by arg1 and arg2.

arg3

Number of frames for 1/4 period

 

This number corresponds to N in the above command description.

0

10 (default).

N

For N>0, use this value instead of default.

arg4

Print level

0

Default: Only eigenvalues are printed in the .log file.

Eigenvalues and eigenvectors are printed in the .log file. Note that printing of eigenvectors generates copious output. This is only recommended as a debugging tool.

arg5

Amplitude (Å)

 

Distance the fastest-moving atom will move in the first N frames. Note that this has the same definition as the step size in LMCS.

0

1.0 (default).

> 0

Use this value instead of the default.

VBR2 — visualize ViBRational modes, 2nd version

This command allows for the visualization of molecular vibrations. A file is created which can be read by the ePlayer facility in Maestro. See The ePlayer for instructions on using the ePlayer. For each mode in the file, the minimized structure comes first; then there are some number of frames (call it N) exploring the mode in one direction, 2N frames exploring it back in the other direction, and finally N additional frames exploring it “forward” again. Each mode is depicted in a different color (up to five). The trivial modes (determined by frequency, not counting) are skipped.

VBR2 is virtually identical to the VIBR command, but VBR2 uses ARPACK and can be applied to a molecule of any size. There are two small differences:

  • The default amplitude is set to 5 Å in VBR2 in arg5 instead of 1 Å.

  • VBR2 also uses arg6, to specify a minimum eigenvalue, below which modes are considered to be trivial (ro-translational) and they are ignored.

    arg1

    First mode to animate

    0

    1 (default). Animate starting with the first mode.

    > 0

    Use this value as the first mode to animate instead of the default. Animate starting with the nth mode.

    arg2

    Last mode to animate

    0

    Only the mode specified by arg1 will be animated.

    > 0

    Use this value as the last mode to animate. Animate the range of modes specified by arg1 and arg2.

    arg3

    Number of frames for 1/4 period

     

    This number corresponds to N in the above command description.

    0

    10 (default).

    >0

    Use this value instead of the default.

    arg4

    Print level

    0

    Default: Only eigenvalues are printed in the .log file.

     

    Eigenvalues and eigenvectors are printed in the .log file. Note that printing of eigenvectors generates copious output. This is only recommended as a debugging tool.

    arg5

    Amplitude (Å)

     

    Distance the fastest-moving atom will move in the first N frames. Note that this has the same definition as the step size in LMCS.

    0

    5.0 (default).

    > 0

    Use this value instead of the default.

    arg6

    Minimum magnitude of eigenvalues of real vibrational modes

    0

    Default: 0.001.

    > 0

    Other value to be used.

    RRHO — RRHO normal mode analysis

RRHO stands for rigid-rotor, harmonic oscillator calculation of translational, rotational, and vibrational enthalpy, heat capacity, entropy, partition function, etc. These properties are written to the log file and to the output structure file as structure-level properties.

The vibrational calculation ignores vibrational frequencies below arg7 cm−1 (default 2.0). The rotational and translational calculations ignore the effects of fixing or freezing atoms. The vibrational contributions are affected by fixing or freezing. If no atoms are fixed or frozen, for a true minimum energy structure, there should be 6 such ignored frequencies in the range of −1.0 to 1.0 cm-1 corresponding to free translation and rotation. Any frequency substantially more negative indicates a maximum of some sort (e.g., a saddle point). We advise listing the vibrational frequencies (MTST command) to be sure that arg7 is appropriately set if there are more than 6 skipped frequencies or if there are any large negative (imaginary) frequencies.

If there are 3 or more noncollinear fixed or frozen atoms, net rotations and translations are not permitted and the first 6 modes correspond to either intrasystem vibrations or, in the case of fixed atoms, mixed intrasystem/restraining force vibrations. If frozen atoms are used and fixed atoms are not then the first 6 modes are purely intrasystem and thus should contribute to the vibrational terms. In such cases arg4 should be set to a value less than 0 to instruct the program not to automatically skip the first 6 vibrational modes (unless they are less than arg7 or 2 cm–1 if arg7 is 0).

RRHO can only be used after a MINI or ELST command. RRHO cannot be used with the MULT option or during a Monte Carlo conformational search.

The command can be used only on fully minimized structures having MAXFV or fewer atoms if vibration is being considered. For a discussion of MAXFV, see MacroModel Program Capacity.

arg1

Print mode

0

Summary of S, Cv, and G to log file (default).

1

Detailed listing of thermodynamic parameters to .mmo file and summary of S, Cv, and G to log file.

arg2

Calculation mode

0

Translation, rotation, and vibration (default)

1

Rotation and vibration only

2

Translation and rotation only

3

Translation and vibration only

4

Translation only

5

Rotation only

6

Vibration only

arg3

Symmetry number (default = 1)

arg4

Control over automatic mode elimination

0

Automatically skip the first 6 vibrational modes when calculating the vibrational contributions.

< 0

Do not automatically skip the first 6 vibrational modes. This value should be used if the system consists of frozen atoms plus unrestrained atoms.

arg5

Temperature (K) (default = 300.0)

arg6

Volume (liters) (default = 1.0)

 

This parameter defines the standard state (1 molar by default) for translational entropy calculations. Use of 22.4 gives a standard state corresponding to 1 atmosphere of pressure.

arg7

Lower limit for frequency reporting

 

Lowest vibrational frequency considered to be a real vibrational mode (default 2.0 cm–1). The six lowest frequencies are always skipped regardless of this setting.

SDLP — SaDdLe Point search

This is an implementation of mode-following saddle point search. For a detailed discussion of this topic, see Culot et al. [28]. This is the algorithm that initiated the development of the LMCS conformational search procedure. The basic idea of mode-following is to move uphill on the potential energy surface along a ravine starting at a minimum, toward a saddle point. The mathematical definition of a ravine is the so-called minimum energy path along which one degree of freedom is maximized while all the remaining degrees of freedom are minimized. The algorithmic implementation of mode-following is based on a coordinate transformation applied to the FMNR (MINI command, arg1=4) algorithm.

It can be shown that in a local coordinate system defined by the eigenvectors of the current Hessian during FMNR optimization, FMNR maximizes the energy along the eigenvectors with negative eigenvalues and minimizes the energy along the eigenvectors with positive eigenvalues. Mode-following is initiated by a short move along a selected low mode of the Hessian of a minimum-energy conformation. At the new point (slightly higher than the minimum energy point) the Hessian is reevaluated and its eigenvectors are calculated. The eigenvector which is most similar to the starting low-mode eigenvector, i.e., which has the largest overlap with it, is selected as the degree of freedom to be maximized.

Maximization is accomplished by taking a short FMNR step in the local coordinate system defined by the eigenvectors of the new Hessian, but following the selected eigenvector in the reverse (uphill) direction. This procedure is continued, iteratively, always following the ravine eigenvector uphill while following the remaining eigenvalues in their normal directions, until convergence to a saddle point is achieved. SDLP can follow multiple modes, and each mode is followed in both directions. DEBG 94 saves all the intermediate structures in the output structure file and colors each mode-following sequence differently for better visualization.

This command is allowed only if a MINI has been performed, unless DEBG 211 has been set.

arg1

First mode to follow

0

Default: 1 (i.e., the eigenvector of lowest frequency).

n>0

Start with the nth eigenvector.

arg2

Last mode to follow

0

Default: 1 (i.e., only follow a single mode).

n>0

Follow n modes.

arg3

Maximum steps

0

Default: 50 steps.

> 0

Maximum steps for saddle point search.

arg5

Maximum energy increase

0

Default: 100 kJ/mol.

> 0

Maximum energy increase [kJ/mol] above the starting energy minimum allowed during saddle point search. The search is aborted if this limit is exceeded.

arg6

Maximum coordinate movement

 

Maximum allowable change in any coordinate of the moving atoms. If the “natural” FMNR move would exceed this value, we would instead travel along the specified direction (eigenvector) only far enough to achieve this value.

0

Default: 0.1 Å.

> 0

Maximum allowed motion in Å.