Compute Canada

Gamess

Please note: The FAQ pages at the HPCVL website are continuously being revised. Some pages might pertain to an older configuration of the system. Please let us know if you encounter problems or inaccuracies, and we will correct the entries.

This is an introduction to the usage of the electronic-structure code "Gamess" on the HPCVL clusters. It is meant as an initial pointer to more detailed information, and to get started. It does not replace study of the manual.

What is Gamess?

What is Gamess?

The "General Atomic and Molecular Electronic Structure System" (GAMESS) is a quantum chemistry software package that was assembled from various older codes (in particular, HONDO) by M. Dupuis, D. Spangler, and J. J. Wendoloski of the National Resources for Computations in Chemistry (NRCC). The code has undergone great changes since then and is maintained now by the Gordon Research Group at Iowa State University.

Gamess performs a great many of standard quantum chemical calculations. These include:

    1. RHF, UHF, ROHF, GVB, or MCSCF self-consistent calculations.
    2. CI or MP2 corrections to the energy.
    3. Semi-empirical MNDO, AM1, or PM3 methods.
    4. Analytic energy gradients for SCF, MP2 or CI.
    5. Geometry optimizations, saddle point searches, and vibrational frequencies.
    6. Intrinsic reaction paths, gradient extremal curves, and dynmic reaction coordinates.
    7. Many molecular properties, such as densities, electrostatic potentials, dipole moments, etc.
    8. Modelling of solvent effects and electric fields.

For a complete list of capabilities of GAMESS, consult this table or download the Gamess documentation.

The present version of Gamess is described in
General Atomic and Molecular Electronic Structure System; M.W.Schmidt, K.K.Baldridge, J.A.Boatz, S.T.Elbert, M.S.Gordon, J.H.Jensen, S.Koseki, N.Matsunaga, K.A.Nguyen, S.Su, T.L.Windus, M.Dupuis, J.A.Montgomery; J. Comput. Chem. 14, 1347-1363 (1993) and
Advances in electronic structure theory: GAMESS a decade later; M.S.Gordon, M.W.Schmidt pp. 1167-1189 in Theory and Applications of Computational Chemistry: the first forty years; C.E.Dykstra, G.Frenking, K.S.Kim, G.E.Scuseria (editors), Elsevier, Amsterdam, 2005.

Where is the program located?

The program resides in /opt/gamess and is called gamess.01.x. You also find some test examples in this directory, which are useful to get an idea of the input format for the program. You are not allowed to copy the executable or any part of the distribution onto your local machine. However you can easily obtain the program yourself. See the GAMESS source code distribution page .

How do I set my account up for running Gamess?

Unlike other programs, no special setup is needed to run Gamess. All environment variables etc. are set with an execution script that will be described in the next section. However, it is a good idea to put the directory with the Gamess program into the path, i.e. set the PATH environment variable:

 setenv PATH "/opt/gamess/Feb22-2006-R2/64bit:"$PATH (for csh)  
export PATH="/opt/gamess/Feb22-2006-R2/64bit:"$PATH
(for bash)

This is for the 64bit default version of the program. Gamess can also be set up using the usepackage utility, simply by typing

use gamess 

Now you're ready to roll.

How do I run Gamess?

Before you can access the Gamess executables and run the program, you have to read the license agreement that exists between the Gamess distributors and HPCVL. You also have to sign a statement that you have done so, and return it to us (see here for more information).

To run Gamess, a script file rungms is used. This file resides in the same directory as the gamess.01.x executable. Assuming that the home of the script file and executable is in your path, all you need to do is type

rungms case_name n_procs

where case_name is the name of the input file (file extension is assumed to be .inp and must not be specified), and n_procs stands for the number of processes to be used in a parallel Gamess run. If n_procs=1 a serial run will be performed. Due to internal limitations of the present Gamess version, the maximum value for n_procs is eight (8). The script rungms sets a scratch space directory to /scratch/$USER and all temporary files and intermediate output will be placed in that directory. Make sure that you copy files that you will need later on from there before running Gamess again with the same case_name, as it will likely fail otherwise.

Like most programs, Gamess requires an input (.inp) file that describes the system (usually a molecule) for which the calculation will be performed, specifies the level of calculation (eg, CISD), and provides other necessary information (starting orbitals, basis sets, required properties, etc). The format of the input is considerably more demanding than the one required for Gaussian (another widely used electronic-structure program), and much less information is hidden inside of defaults. This makes Gamess a very flexible program, but increases the risk of doing something wrong. Careful study of example input files and the documentation is required to run Gamess successfully. This is particularly true for CI or CAS-SCF calculations.

Once an input file is prepared, you will have to make the decision if you want to run Gamess in serial or in parallel mode. Gamess supports the use of multiple processors. However, the scaling (ie, the efficiency of parallel processing) varies with the type of calculation and the systems. We suggest you perform a small test calculation of the same type as your production calculation (eg, with a minimal basis set), and rerun it several times with a varying number of processors. Compare the timings and use the maximum number of processors that yield acceptable scaling for your production calculation.

Gamess has to be run via the Grid Engine, which is a load-balancing program that submits batch jobs to low-load processors on the cluster cluster. To learn more about this program, click here. A Gamess job is submitted to the Grid Engine in the form of an execution script. Download a template for such a script here.

In the template, just replace all entries enclosed in by the proper values. The lines starting with "#$ -o" and "#$ -e" define the standard output and standard error files, respectively. Note that all lines starting with "#$" are directives for the Grid Engine, and will be interpreted when the script is submitted to that program. The "#$ -V" and "#$ -cwd" instruct the executing shell of the script to inherit the environment of the calling shell (for instance the path), and set the starting directory to the current working directory, repsectively. You also need to specify the name of the input file just like in an interactive run. The input file is supposed to have "file extension" .inp and reside in the same directory as the Grid Engine script. The extension should not be specified. The number of processes is specified in the "#$ -pe" line, which instructs the Grid Engine to allocate the proper number of CPUs for your run. You do not have to specify it separately in the rungms command line, because Grid Engine sets the environment variable$NSLOTS properly.

We assume your Grid Engine script is called gamess.csh. The script is submitted to GridEngine by typing

qsub gamess.csh

No further specification of the output is necessary, since this is done inside the script and handled by GridEngine.

Where can I get further information?

Gamess is not a simple program to run. It requires careful study of the input format, and a certain degree of knowledge about the "nuts and bolts" of computational quantum chemistry. It is impossible to use the program efficiently without reading the user documentation, which can be downloaded here. There is an official Gamess homepage with some information about capabilities of program, donloading a copy yourself, and the history of Gamess. 

HPCVL also provides support for the usage of programs that are installed on its clusters. You can get in touch with us via our contact page or by sending email to help@hpcvl.org

Are there licensing issues with Gamess?

In short, no. Gamess (US) is distributed with a very liberal registration policy. In fact, you can obtain your own copy of the program. The Gamess maintainers require that you register and that you do not redistribute the code. Gamess is a very portable program, and will run on IBM PC's (Windows), MacIntoshes, a variety of Unix platforms (including Linux), and your Palm Pilot (just kidding).

However, like with all licensed software on HPCVL computers, we require our users to read the agreement that exists between the owners of Gamess and HPCVL. If you want to use Gamess, you will have to read through the following license agreement, and then sign a statement that you have read and understood the agreement and will abide by it as a user of our facilities. Please return it to us by fax or mail. You will then be included in a Unix group that allows you access to the program.