Specifying Non-Standard Routes
Last Update: 12/31/2000

 Description

If a combination of options or links is required which is drastically different than a standard route, then a complete sequence of overlays and links with associated options can be read in. The job-type input section begins with the line:

# NonStd

This is followed by one line for each desired overlay, in execution order, giving the overlay number, a slash, the desired options, another slash, the list of links to be executed, and finally a semicolon:

Ov/Opt=val,Opt=val,.../Link,Link,...;

For example:

7/5=3,7=4/2,3,16;

specifies a run through the links 702, 703, and 716 (in this order), with option 5 set equal to 3 and option 7 equal to 4 in each of the links. If all options have their default value, the line would be

7//2,3,16;

A further feature of the route specification is the jump number. This is given in parentheses at the end of the link list, just before the semicolon. It indicates which overlay line is executed after completion of the current overlay. If it is omitted, the default value is +0, indicating that the program will proceed to the next line in the list (skipping no lines). If the jump number is set to -4, on the other hand, as in

7//2,3,16(-4);

then execution will continue with the overlay specified four route lines back (not counting the current line).

This feature permits loops to be built into the route and is useful for optimization runs. An argument to the program chaining routine can override the jump. This is used during geometry optimizations to loop over a sequence of overlay lines until the optimization has been completed, at which point the line following the end of the loop is executed.

Note that non-standard routes are not generally created from scratch but rather are built by printing out and modifying the sequence produced by the standard route most similar to that desired. This can be accomplished most easily with the testrt utility.

 Examples

A Simple Route. The standard route:

# RHF/STO-3G

causes the following non-standard route to be generated:

1/29=10000/1;
2/10=1,12=2/2;
3/11=1,25=14,30=1/1,2,3,11,14;
4/7=1/1;
5//2;
6/7=2,8=2,9=2,10=2,19=1,28=1/1;
99/5=1,9=1/99;

The resulting sequence of programs is illustrated in Figure 1.

The basic sequence of program execution is identical to that found in any ab initio program, except that Link 1 (reading and interpreting the route section) precedes the actual calculation, and that Link 9999 (generating an archive entry) follows it. An AM1 single-point would be similar, except that only Link 301 (set up of basis set) would be included from overlay 3 and that Link 402 (code excerpted from the MOPAC program) would replace Link 502. Similarly, an MP4 single point has integral transformation (links 801 and 802) and the MP calculation (links 901, 909, 910, 911, 912, and 913) inserted after the population analysis and before Link 9999. Link 9999 automatically terminates the job step when it completes.

Figure 1. A Simple Route 00000031.gif

A Route Involving Loops. The standard route:

# RHF/STO-3G Opt

produces the following non-standard route:

1/10=7,29=10000/1,3;
2/10=1,12=2/2;
3/11=1,25=14,30=1/1,2,3,11,14;
4/7=1/1;
5//2;
6/7=2,8=2,9=2,10=2,28=1/1;
7/25=1,27=1,29=1/1,2,3,16;
1/10=7/3(1);
99//99;
2//2;
3/11=1,25=14,30=1/1,2,3,11,14;
4/5=5,7=1,16=2/1;
5//2;
7/27=1/1,2,3,16;
1//3(-5);
3/11=1,30=1,39=1/1,3;
6/7=2,8=2,9=2,10=2,28=1/1;
99/5=1,9=1/99;

The resulting sequence of program execution is illustrated in Figure 2. Several considerations complicate this route:

  • The first point of the optimization must be handled separately from later steps, since several actions must be performed only once. These include reading the initial Z-matrix and generating the initial orbitals.
  • There must be a loop over geometries, with the optimization program (in this case the Berny optimizer, Link 103) deciding whether another geometry was required or the structure has been optimized.

  • If a converged geometry is supplied, the program should calculate the gradients once, recognize that the structure is optimized, and quit.

  • Population analysis and orbital printing should be done only at the first and last points, not at the relatively uninteresting intermediate geometries.

The first point has been dealt with by having two basic sequences of integrals, guess, SCF, and integral derivatives in the route. The first sequence includes Link 101 (to read the initial geometry), Link 103 (which does its own initialization), and has options set to tell Link 401 to generate an initial guess. The second sequence uses geometries produced in Link 103 in the course of the optimization, and has options set to tell Link 401 to retrieve the wavefunction from the previous geometry as the initial guess for the next.

The forward jump on the eighth line has the effect that if Link 103 exits normally (without taking any special action) the following line (invoking Link 9999) is skipped. Normally, in this second invocation of Link 103 the initial gradient will be examined and a new structure chosen. The next link to be executed will be Link 202, which processes the new Z-matrix, followed by the rest of the second energy+gradient sequence, which constitutes the main optimization loop. If the second invocation of Link 103 finds that the geometry is converged, it exits with a flag which suppresses the jump, causing Link 9999 to be invoked by the following line and the job to complete.

Figure 2. Optimization Route 00000032.gif

Lines 10-15 form the main optimization loop. This evaluates the integrals, wavefunction, and gradient for the second and subsequent points in the optimization. It concludes with Link 103. If the geometry is still not converged, Link 103 chooses a new geometry and exits normally, causing the backward jump on line 15 to be executed, and the next line processed to be line 10, beginning a new cycle. If Link 103 finds that the geometry has converged, it exits and suppresses the jump, causing the concluding lines (16-18) to be processed.

The concluding line generates the multipole integrals at the final geometry for use in Link 601, which prints the final multipole moments as well as the orbitals and population analysis if so requested. Finally, Link 9999 generates the archive entry and terminates the job step.

Routes for AM1 optimizations are similar, with all but Link 301 omitted from the invocations of overlay 3, Link 402 replacing Link 501, and overlay 7 omitted (the MOPAC code in Link 402 computes the gradient information internally). MP and CI optimizations have the transformation and correlation overlays (8 and 9) and the post-SCF gradient overlays (11 and 10, in that order) inserted before overlay 7. The same 2-phase route structure is used for numerical differentiation to produce frequencies.

The route for Opt=Restart is basically just the main loop from the original optimization, with the special line s for the first step omitted. The second invocation of Link 103 is kept and does the actual restarting.

KEYWORDS RELATED TO NON-STANDARD ROUTES

ExtraLinks
Enables the inclusion of extra links in an otherwise standard route (the link names are specified as its options). They are always executed after all standard links in that occurence of the overlay. For example, ExtraLinks=(L901) specifies that link 901 is to be included in every occurence of overlay 9, after any links in that overlay would be executed anyway.

ExtraOverlays
Provides a mechanism for customizing a route which is somewhat intermediate between using ExtraLinks and reading in an entirely new non-standard route. When specified, the program expects one or more lines of input `after the blank line following the route section. These are overlay lines as described above. A blank line is then used to separate the last extra overlay line from the title section. The program will parse the standard route and add any extra overlay lines to the route just before the last overlay, Link 99 line: 99//99, generated in the standard route. This provides greater flexibility than the ExtraLinks keyword, since the user can provide new options to an additional link, instead of accepting those which happen to be already there for a given overlay.

Skip
This keyword allows the user to skip past a certain number of overlay lines in a standard route generated by the parser. It can be invoked in two ways:

Skip=Ovn Skip all overlays until the first occurence of overlay n.

Skip=M Skip the first M overlays

Use
Allows the user to request an alternatative algorithm for certain phrases of the calculation. Most of the options are for debugging; They are described in the Gaussian 98 Programmer's Reference.

See also the discussion of the %KJob Link 0 command

Return to TOC