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
VIBR — visualize VIBRational modes
VBR2 — visualize ViBRational modes, 2nd version
RRHO — RRHO normal mode analysis
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 |
|
11 |
LTNCG—LTNCG is virtually identical to TNCG ( |
|
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 |
|
|
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 |
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 |
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:
MTSTcannot be used during a MULT run.MTSTcan only be used after a MINI command, unless DEBG211is used andMTSTfollows an ELSTarg1
Listing of vibrational frequencies
0
No listing.
1
Listing to
.mmofile.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 |
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
VBR2in arg5 instead of 1 Å. -
VBR2also 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
.logfile.Eigenvalues and eigenvectors are printed in the
.logfile. 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 |
|
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 Å. |