GAMESS 2023-02-01 User Guide
Overview
GAMESS (General Atomic and Molecular Electronic Structure System) is a comprehensive quantum chemistry package for ab initio molecular electronic structure calculations. GAMESS can perform a wide variety of calculations including Hartree-Fock (RHF, ROHF, UHF, GVB), DFT, MP2, CCSD(T), MCSCF, CI, and other methods.
Version: 2023-02-01 (February 1, 2023 R1) Category: Computational Chemistry Official Documentation: https://www.msg.chem.iastate.edu/gamess/
Note: This is not the latest version. GAMESS 2024 R2 (July 2024) is available. Contact your system administrator if you need the newer version.
Loading the Module
module load gamess/2023-02-01
Check loaded environment:
module list
which rungms
echo $GAMESS_HOME
Main Command
rungms
The primary command to run GAMESS calculations.
Syntax:
rungms input [version] [nprocs] [>& output]
Arguments:
- input: Input file name (with or without .inp extension)
- version: Version number (usually "00" for default build)
- nprocs: Number of processors to use (default: 1)
- output: Output file (redirect with >& output.log)
Example:
rungms water.inp 00 4 >& water.log
This runs water.inp using version 00 (default) with 4 processors, saving output to water.log.
Input File Format
GAMESS input files consist of different sections (groups) enclosed in $GROUP ... $END delimiters.
Basic Input Structure
! Water molecule single point energy calculation
$CONTRL SCFTYP=RHF RUNTYP=ENERGY $END
$SYSTEM TIMLIM=525600 MEMORY=1000000 $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END
$DATA
Water molecule
C1
O 8.0 0.0 0.0 0.0
H 1.0 0.0 0.757 0.586
H 1.0 0.0 -0.757 0.586
$END
Key Input Groups
$CONTRL - Control Parameters
$CONTRL
SCFTYP=RHF ! SCF type: RHF, ROHF, UHF, MCSCF, GVB
RUNTYP=ENERGY ! Run type: ENERGY, OPTIMIZE, SADPOINT, SURFACE, etc.
COORD=UNIQUE ! Coordinate type
ICHARG=0 ! Total molecular charge
MULT=1 ! Spin multiplicity
$END
$SYSTEM - System Resources
$SYSTEM
TIMLIM=525600 ! Time limit in minutes (525600 = 1 year)
MEMORY=1000000 ! Memory in words (1 word = 8 bytes)
MEMDDI=0 ! Distributed memory in MB (0 = auto)
$END
$BASIS - Basis Set
$BASIS
GBASIS=N31 ! Basis set: STO, N21, N31, N311, DZV, TZV, etc.
NGAUSS=6 ! Number of Gaussians
NDFUNC=1 ! Number of d polarization functions
NPFUNC=0 ! Number of p polarization functions (on H)
$END
Or use predefined basis sets:
$BASIS GBASIS=CCT $END ! cc-pVTZ
$BASIS GBASIS=ACCT $END ! aug-cc-pVTZ
$DATA - Geometry
$DATA
Title line
Point group (C1, Cs, Ci, C2, C2v, etc.)
Atom Charge X Y Z
...
$END
Common Calculation Types
Single Point Energy
$CONTRL SCFTYP=RHF RUNTYP=ENERGY $END
Geometry Optimization
$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE $END
$STATPT OPTTOL=0.0001 NSTEP=50 $END
Frequency Calculation
$CONTRL SCFTYP=RHF RUNTYP=HESSIAN $END
$FORCE METHOD=ANALYTIC $END
DFT Calculation
$CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=B3LYP $END
MP2 Energy
$CONTRL SCFTYP=RHF RUNTYP=ENERGY MPLEVL=2 $END
CCSD(T)
$CONTRL SCFTYP=RHF RUNTYP=ENERGY CCTYP=CCSD(T) $END
TDDFT (Excited States)
$CONTRL SCFTYP=RHF RUNTYP=ENERGY TDDFT=EXCITE DFTTYP=B3LYP $END
$TDDFT NSTATE=10 $END
Running on the Cluster
Interactive Job (Testing)
srun --nodes=1 --cpus-per-task=4 --mem=8G --time=1:00:00 --pty bash
module load gamess/2023-02-01
# Set scratch directory
export SCR=$TMPDIR
export USERSCR=$TMPDIR
rungms water.inp 00 4 >& water.log
Serial Job (1 core)
Create gamess_serial.sh:
#!/bin/bash
#SBATCH --job-name=gamess
#SBATCH --output=gamess_%j.out
#SBATCH --error=gamess_%j.err
#SBATCH --nodes=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=4G
#SBATCH --time=4:00:00
module purge
module load gamess/2023-02-01
# Use Slurm temporary directory
export SCR=$TMPDIR
export USERSCR=$TMPDIR
INPUT="water"
rungms ${INPUT}.inp 00 1 >& ${INPUT}.log
echo "GAMESS calculation completed"
Parallel SMP Job (Shared Memory)
Create gamess_smp.sh:
#!/bin/bash
#SBATCH --job-name=gamess_smp
#SBATCH --output=gamess_%j.out
#SBATCH --error=gamess_%j.err
#SBATCH --nodes=1
#SBATCH --cpus-per-task=16
#SBATCH --mem=32G
#SBATCH --time=24:00:00
module purge
module load gamess/2023-02-01
# Use Slurm temporary directory
export SCR=$TMPDIR
export USERSCR=$TMPDIR
INPUT="molecule"
NCPUS=${SLURM_CPUS_PER_TASK}
echo "Running GAMESS with ${NCPUS} cores"
rungms ${INPUT}.inp 00 ${NCPUS} >& ${INPUT}.log
echo "GAMESS calculation completed"
Submit:
sbatch gamess_smp.sh
DDI Parallel Job (Distributed Memory)
For multi-node calculations, GAMESS uses DDI (Distributed Data Interface):
#!/bin/bash
#SBATCH --job-name=gamess_ddi
#SBATCH --output=gamess_%j.out
#SBATCH --error=gamess_%j.err
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=16
#SBATCH --mem-per-cpu=2G
#SBATCH --time=24:00:00
module purge
module load gamess/2023-02-01
export SCR=$TMPDIR
export USERSCR=$TMPDIR
INPUT="large_molecule"
# Calculate total number of processors
NPROCS=$((SLURM_NNODES * SLURM_NTASKS_PER_NODE))
echo "Running GAMESS with ${NPROCS} cores across ${SLURM_NNODES} nodes"
rungms ${INPUT}.inp 00 ${NPROCS} >& ${INPUT}.log
echo "GAMESS calculation completed"
Note: DDI job requires proper rungms configuration. Check with your system administrator.
Scratch Space and Memory
Scratch Directories
GAMESS generates temporary files during calculation. Set these environment variables:
export SCR=$TMPDIR # Main scratch directory
export USERSCR=$TMPDIR # User scratch directory
In Slurm jobs, $TMPDIR is automatically set to node-local fast storage.
Memory Requirements
Set memory in input file ($SYSTEM group):
$SYSTEM
MEMORY=1000000 ! 1,000,000 words = 8 GB
$END
Memory allocation: - 1 word = 8 bytes - 1 GB = 125,000,000 words / 8 = 125000 words (in thousands) - 8 GB = 1,000,000 words (typical setting)
Best practice: Request 10-20% more memory in Slurm than specified in input file.
Output Files
GAMESS produces several files:
- input.log: Main output file with all calculation results
- input.dat: Punch file with final geometry, orbitals, etc.
- input.trj: Trajectory file (for optimization/IRC)
- input.rst: Restart file
- input.efp: Effective fragment potential file
- input.F##: Temporary scratch files (usually deleted)
Important Output Sections
Energy:
FINAL RHF ENERGY IS -76.0098830284 AFTER 9 ITERATIONS
Optimized Geometry:
ATOM ATOMIC COORDINATES (BOHR)
CHARGE X Y Z
Frequencies:
FREQUENCY: 1652.03 3810.23 3941.06 CM-1
Example Calculations
Example 1: Water Optimization with Frequencies
! Water optimization + frequencies
$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE $END
$SYSTEM TIMLIM=525600 MEMORY=1000000 $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END
$STATPT OPTTOL=0.0001 NSTEP=50 $END
$DATA
Water molecule optimization
C2v
O 8.0 0.0 0.0 0.0
H 1.0 0.757 0.0 0.586
$END
After optimization completes, run frequencies:
! Use optimized geometry from .dat file
$CONTRL SCFTYP=RHF RUNTYP=HESSIAN $END
$SYSTEM TIMLIM=525600 MEMORY=1000000 $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END
$DATA
Water frequencies
C2v
! Copy optimized geometry here
O 8.0 0.0 0.0 0.0
H 1.0 0.757 0.0 0.586
$END
Example 2: DFT Optimization (B3LYP)
! Ethanol optimization with B3LYP/6-31G(d)
$CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE DFTTYP=B3LYP $END
$SYSTEM TIMLIM=525600 MEMORY=2000000 $END
$BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 $END
$STATPT OPTTOL=0.0001 NSTEP=100 $END
$DATA
Ethanol
C1
C 6.0 0.0 0.0 0.0
C 6.0 1.522 0.0 0.0
O 8.0 2.098 1.297 0.0
H 1.0 -0.365 0.516 0.889
H 1.0 -0.365 -1.026 0.0
H 1.0 -0.365 0.516 -0.889
H 1.0 1.888 -0.516 0.889
H 1.0 1.888 -0.516 -0.889
H 1.0 2.841 1.297 0.0
$END
Example 3: TDDFT Excited States
! Formaldehyde excited states with TDDFT
$CONTRL SCFTYP=RHF RUNTYP=ENERGY TDDFT=EXCITE DFTTYP=B3LYP $END
$SYSTEM TIMLIM=525600 MEMORY=2000000 $END
$BASIS GBASIS=CCT $END
$TDDFT NSTATE=10 MULT=1 $END
$DATA
Formaldehyde excited states
C2v
C 6.0 0.0 0.0 0.0
O 8.0 0.0 0.0 1.220
H 1.0 0.930 0.0 -0.596
H 1.0 -0.930 0.0 -0.596
$END
Troubleshooting
"EXECUTION OF GAMESS TERMINATED ABNORMALLY"
- Check input file syntax
- Check memory allocation
- Review error messages in .log file
- Look for "FATAL ERROR" or "ERROR TERMINATION"
Insufficient Memory
Error: "MEMORY REQUEST EXCEEDS AVAILABLE MEMORY" - Increase MEMORY in $SYSTEM group - Request more memory in Slurm script - Use distributed memory (MEMDDI)
SCF Convergence Failure
Error: "SCF HAS NOT CONVERGED"
- Try different initial guess: $GUESS GUESS=HUCKEL $END
- Adjust convergence criteria: $SCF CONV=1.0E-05 $END
- Use DIIS: $SCF DIIS=.TRUE. $END
- Try damping: $SCF DAMP=.TRUE. DAMPCUT=0.5 $END
Geometry Optimization Not Converging
- Increase NSTEP in $STATPT
- Relax convergence:
OPTTOL=0.001 - Check for problematic coordinates
- Try different optimization method
DDI Communication Errors
- Check network connectivity
- Verify rungms script configuration
- Ensure firewall allows DDI communication
- Contact system administrator
Scratch Space Issues
Error: "INSUFFICIENT DISK SPACE"
- Check disk space: df -h $TMPDIR
- Clean up old scratch files
- Request more scratch space
- Use EXETYP=CHECK for disk estimate
Best Practices
- Always test with small basis sets first (STO-3G, 3-21G) before using large bases
- Use appropriate point group symmetry to reduce computational cost
- Set realistic TIMLIM in $SYSTEM (consider Slurm time limit)
- Monitor disk space - GAMESS can generate large scratch files
- Save .dat files - they contain restart information and optimized geometries
- Check convergence in output: energy, gradient, geometry changes
- Use $TMPDIR for scratch space in Slurm jobs
- For large calculations, estimate resources with small test jobs
- Document your calculations - save input, output, and key parameters
- Keep input files simple - complexity makes debugging harder
Memory and Disk Estimation
Memory Formula
Rough estimate for RHF/DFT: - Memory (GB) ≈ (Number of basis functions)² × 8 bytes / 10⁹
For 200 basis functions: ~200² × 8 / 10⁹ = 0.32 GB
Post-HF methods (MP2, CCSD) require significantly more memory.
Disk Space Formula
Rough estimate: - Disk (GB) ≈ Memory (GB) × 10 to 50
Large MCSCF/CI calculations can require 100+ GB of scratch space.
Useful Resources
Documentation Files
ls $GAMESS_HOME/docs-*.txt
docs-intro.txt: Introduction and overviewdocs-input.txt: Complete input documentationdocs-prog.txt: Programmer's guidedocs-refs.txt: Literature references
Online Resources
- Official Website: https://www.msg.chem.iastate.edu/gamess/
- Documentation: https://www.msg.chem.iastate.edu/gamess/documentation.html
- Mailing List: gamess-list@lists.simulations.iastate.edu
- Input Examples: $GAMESS_HOME/tests/
Citing GAMESS
If you publish results obtained with GAMESS, please cite:
"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.J.Su, T.L.Windus, M.Dupuis, J.A.Montgomery J. Comput. Chem. 14, 1347-1363 (1993)
Additional citations may be required for specific methods used.
Support
- Local Support: Contact your cluster system administrators
- GAMESS Forum: https://groups.google.com/g/gamess
- Documentation: Check $GAMESS_HOME/docs-*.txt files
- Test Cases: Run test cases in $GAMESS_HOME/tests/ directory
Version History
- 2023-02-01 (Current on this cluster): February 1, 2023 R1 release
- 2024 R2 (Latest available): July 15, 2024 release - contact admins for installation
See official website for complete release history and changes.
Installation Location: /sw/gamess/2023-02-01
Module File: /opt/modulefiles/gamess/2023-02-01.lua
Executables: gamess.00.x (version 00)
Run Script: rungms
Last Updated: 2025-10-12