Gaussian 03 Online Manual
Last update: 2 October 2006

Specifying Non-Standard Routes

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.

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 below:

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.

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/9=1/99; 

The resulting sequence of program execution is illustrated below:

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.

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 two-phase route structure is used for numerical differentiation to produce frequencies or polarizabilities.

The route for Opt=Restart is basically just the main loop from the original optimization, with the special lines 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 occurrence of the overlay. For example, ExtraLinks=(L901) specifies that Link 901 is to be included in every occurrence 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 just 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 occurrence of overlay n.

Skip=M
Skip the first M overlays.

Use
Allows the user to request an alternative algorithm for certain phases of the calculation. Most of the options are for debugging; they are described in the Gaussian 03 Programmer's Reference.

See also the discussion of the %KJob Link 0 command.