Running Gaussian

This section describes the operating system commands required to execute Gaussian on Unix-based computer systems. See the additional instructions accompanying the program for the equivalent information for other operating systems. This discussion assumes that the program has already been installed.

Running Gaussian involves the following activities:

In this section, we will assume that a basic Gaussian input file has been created, and our discussion will examine the remaining three items on the list.

Specifying Scratch File Handling and Location

Gaussian uses several scratch files in the course of its computation. They include:

By default, these files are given a name generated from the process ID of the Gaussian process, and they are stored in the scratch directory, designated in the Preferences. You may also see files of the form name.inp in this directory. These are the internal input files used by the program. If the preference is unset, the location defaults to the current working directory of the Gaussian process.

By default, these files are deleted at the end of a successful run. However, you may wish to save the checkpoint file for later use in another Gaussian job, for use by a visualization program, to restart a failed job, and so on. This may be accomplished by naming the checkpoint file, providing an explicit name and/or location for it, via a %Chk command within the Gaussian input file. Here is an example:

%Chk=water

This command, which is placed at the beginning of the input file (before the route section) gives the checkpoint file the name water.chk, overriding the usual generated name and causing the file to be saved at job conclusion. In this case, the file will reside in the current directory. However, a command like this one will specify an alternate directory location as well as filename:

%Chk=c:\chem\scratch2\water

If disk space in the scratch directory is limited, but space is available elsewhere on the system, you may want to split the scratch files among several disk locations. The following commands allow you to specify the names and locations of the other scratch files:

%RWF=path    Read-Write file
%Int=path    Integral file
%D2E=path    Integral Derivative file

In general, the read-write file is by far the largest, and so it is the one for which an alternate location is most often specified.

Splitting Scratch Files Across Disks

Gaussian 09 can address single scratch files of up to 16 GB on 32-bit operating systems such as Windows and IA32 Linux. There is no need to split scratch files into 2 GB files. The 16 GB total scratch space limit is inherent in 32-bit integers, however, and splitting the scratch file will not overcome it.

An alternate syntax is provided for splitting the read-write file, the Integral file, and/or the Integral Derivative file among two or more disks (or file systems). Here is the syntax for the %RWF command:

%RWF=loc1,size1,loc2,size2, …

where each loc is a directory location or a file pathname, and each size is the maximum size for the file segment at that location. Gaussian will automatically generate unique filenames for any loc which specifies a directory only. On UNIX systems, directory specifications (without filenames) must include a terminal slash.

By default, the sizes are in units of words; the value may be followed by KB, MB or GB (without intervening spaces) to designate KB, MB or GB, respectively, or by KW, MW or GW to indicate units of kilowords, megawords or gigawords, respectively. Note that 1 MB = 10242 bytes = 1,048,576 bytes (not 1,000,000 bytes).

A value of -1 for any size parameter indicates that any and all available space may be used, and a value of 0 says to use the current size of an existing segment. -1 is useful only for the last file specified, for which it is the default.

For example, the following directive splits the read-write file across three disks:

%RWF=c:\dalton\s0\,4GB,e:\scratch\,3GB,f:\temp\s0\my_job,-1

The maximum sizes for the file segments are 4 GB, 3 GB, and unlimited, respectively. Gaussian will generate names for the first two segments, and the third will be given the name my_job. Note that the directory specifications include terminal slashes.

Saving and Deleting Scratch Files

By default, unnamed scratch files are deleted at the end of the Gaussian run, and named files are saved. The %NoSave command may be used to change this default behavior. When this directive is included in an input file, named scratch files whose directives appear in the input file before %NoSave will be deleted at the end of a run (as well as all unnamed scratch files). However, if the % directive naming the file appears after the %NoSave directive, the file will be retained. For example, these commands specify a name for the checkpoint file, and an alternate name and directory location for the read-write file, and cause only the checkpoint file to be saved at the conclusion of the Gaussian job:

%RWF=/chem/scratch2/water    Files to be deleted go here.
%NoSave
%Chk=water                   Files to be saved go here.

Note that all files are saved when a job terminates abnormally.

Controlling Memory Usage

The %Mem command controls the amount of dynamic memory to be used by Gaussian. By default, 256 MB (32MW) are used. This can be changed to n double-precision words by specifying:

%Mem=n

For example, the following command sets memory use to 320 million bytes:

%Mem=40000000

The value given to %Mem may also be followed by KB, KW, MB, MW, GB or GW (no intervening spaces) to denote other units. For example, the following command also sets the amount of dynamic memory to 1 GB:

%Mem=1GB

Even larger allocations may be needed for very large direct SCF calculations, at least 3N2 words, where N is the number of basis functions.

Warning: Requesting more memory than the amount of physical memory actually available on a computer system will lead to very poor performance.

If Gaussian is being used on a machine with limited physical memory, so that the default of 256 MB is not available, the default algorithms as well as the default memory allocation should be set appropriately during installation. See Efficiency Considerations for more details on using Gaussian efficiently.


Last updated on: 10 May 2009