ResourcesSoftwareApplicationsChemistryMaterials Science Mathematics Visualization Climate (restricted) |
Gaussian 03Gaussian 03 is a connected series of programs for performing semi-empirical, density functional theory and ab initio molecular orbital calculations.
Setup and Access for Gaussian 03The modules package controls access to software. To use the default version of Gaussian 03, include the line: % module load g03 in your .profile.ext or .login.ext files, or type this command whenever you want to access Gaussian for a single session. Access RestrictionsGaussian is available to the general user community at NERSC subject to the License To Use Agreement between U.C. Regents, Lawrence Berkeley National Lab and Gaussian Inc. This agreement restricts use of the Gaussian software in that NERSC may only "provide to third parties who are not directly or indirectly engaged in competition with Gaussian access to the binary code of the Software." You must certify that this condition is met by using the g03_register command one time. A NERSC consulting trouble ticket will be generated and you will be provided access in a timely manner. Running Gaussian 03Gaussian can be run interactively using the command: % g03 <input >output & Running in batchTo submit a job to the batch scheduler, you can use the llgauss command, or make a batch file as shown below: llgauss [-j job_name] [-t time] [-p priority] [-n no. of procs.] [-m procs per node] [-o output] input where:
At this point, llgauss prompts for what to do next:
Writing your own batch scriptIf you prefer to write your own batch script, rather than have llgauss generate one, the following are useful templates for a serial job. The first is for Loadleveler (bassi), the lower for PBS (jacquard).
#@job_name=t1 #@output=$(job_name).o$(jobid) #@error=$(job_name).e$(jobid) #@job_type=parallel #@network.MPI=sn_all,shared,us #@total_tasks=1 #@node=1 #@class=debug #@wall_clock_limit=0:30:00 #@environment = COPY_ALL #@queue mkdir $SCRATCH/g03/$LOADL_STEP_ID cd $SCRATCH/g03/$LOADL_STEP_ID module load g03 g03 < $HOME/g_tests/T/t1.inx > $HOME/g_tests/T/t1.out ls -l
#!/bin/ksh -l #PBS -l nodes=1:ppn=1,walltime=06:00:00 #PBS -N t1 #PBS -j oe #PBS -q batch #PBS -V mkdir $SCRATCH/g03/$PBS_JOBID cd $SCRATCH/g03/$PBS_JOBID module load g03 g03 < $HOME/g_tests/T/t1.inx > $HOME/g_tests/T/t1.out ls -l For a parallel job, use the following forms:
#@job_name=t1 #@output=$(job_name).o$(jobid) #@error=$(job_name).e$(jobid) #@job_type=parallel #@network.MPI=sn_all,shared,us #@total_tasks=16 #@node=2 #@class=regular #@wall_clock_limit=6:00:00 #@environment = COPY_ALL #@queue mkdir $SCRATCH/g03/$LOADL_STEP_ID cd $SCRATCH/g03/$LOADL_STEP_ID module load g03 g03l < $HOME/g_tests/T/t1.inx > $HOME/g_tests/T/t1.out ls -l
#!/bin/ksh -l #PBS -l nodes=16:ppn=2,walltime=06:00:00 #PBS -N t1 #PBS -j oe #PBS -q batch #PBS -V mkdir $SCRATCH/g03/$PBS_JOBID cd $SCRATCH/g03/$PBS_JOBID module load g03 g03l < $HOME/g_tests/T/t1.inx > $HOME/g_tests/T/t1.out ls -l NOTE
An alternative strategy to giving explicit paths for input and output is to copy input to $SCRATCH at the beginning of the run and then copy output to permanent storage at the end of the job. Files and Disk UsageTemporary Files, Location and NamingBy default all unformatted files produced by Gaussian (e.g. checkpoint, read-write or integral files) will be written into the directory specified by the environment variable GAUSS_SCRDIR. For serial jobs, this is normally set to your temporary work directory, $SCRATCH on the IBM SP. For parallel jobs (started with g03l) it is set to your current directory. You can save the checkpoint file by using the "link 0" command %chk. This can be useful if you want to retrieve geometries, density matrices etc., from an old run. These commands must appear before all other input, and are used to customize the environment in which the Gaussian program runs. For example: %Chk=water #RHF/6-31G water energy 0 1 O H 1 1.0 H 1 1.0 2 105.0 will create a checkpoint file named water.chk in the current directory. The checkpoint file can be specified with a directory, %Chk=/scratch/scratchdirs/jcarter/water in which case the file is created with that absolute pathname. Amount of Disk SpaceSome types of calculation can dynamically change algorithm depending on the amount of scratch disk space available. This can be set with the MaxDisk keyword. MemoryThe link 0 directive %mem can be used to specify how much memory can be used; if this is absent a default of 8Mw is used (this is greater than the interactive limit). For example: %Chk=c3f8 %mem=12mw #MP2/6-311g(2d1f) freq c3f8 mp2 frequency 0 1 ... The Gaussian executables take up about 6mw of memory. On the IBM SP, a batch job has exclusive use of a node. Most nodes have 16Gb of memory, with about 15.5GB usable by applications. Usually, 16 Gaussian tasks will run per node, so a memory limit of about 950MB is about as much as you can expect to run well. For SCF and MP2 calculations involving high angular momentum functions, consult the following table for an estimate of basic memory requirements and add 4 times the number of basis functions squared.
For frequency calculations, the freqmem utility gives an estimate of the amount of memory needed to efficiently form the second derivatives. The form of the command is: freqmem natoms nbasis r|u c|d functions where natoms is the number of atoms; nbasis the number of basis functions; r or u indicates an rhf or uhf wavefunction; c or d indicates a conventional (disk based) or direct calculation; and functions is a string which list all angular momentum types in the basis set, e.g. spdf. Multi-processor JobsThe distributed-memory parallel version of Gaussian for the IBM SP uses the Linda software to coordinate and transfer data. Before you can run Gaussian 03 in parallel, you must create a file called ".rhosts" in your home directory. The file should contain a single line: + username where username is your username. The file should have no read/write/execute permissions set for group or other. You should use the "%nproclinda=num" link 0 keyword to request the number of processors. This number should equal the number requested from Loadleveler. See Running in batch on the IBM SP for more details. For example: %Chk=c3f8 %mem=12mw %nproclinda=16 #MP2/6-311g(2d1f) freq c3f8 mp2 frequency 0 1 ... The following job types can be executed in parallel:
RestartLong running Gaussian jobs are vulnerable to machine crashes, this section outlines some tips on recovering as much of your intermediate data as possible. Gaussian CheckpointingGaussian can restart the following calculations provided the checkpoint file is saved. See the Files section above on how to do this. If you have used the template script above, you should alter it to return to the temporary directory that contains the Gaussian files: #@job_name=t1_restart #@output=$(job_name).o$(jobid) #@error=$(job_name).e$(jobid) #@job_type=serial #@class=regular #@wall_clock_limit=6:00:00 #@queue cd $SCRATCH/g03/<directory created during first run> module load g03 g03 < $HOME/g_tests/T/t1_restart.inx > $HOME/g_tests/T/t1_restart.out ls -l Most often, the only input required in the restart input file is the the route specification. For example, if the original input is as follows: %Chk=h2o2 %mem=12mw #P HF/6-31g OPT hooh hf optimization 0 1 ... The restart input should be: %Chk=h2o2 %mem=12mw #P HF/6-31g OPT Exceptions to this are noted in the table below.
HelpThe Gaussian Inc. website has a detailed description of the electronic structure methods available in Gaussian, a set of example calculations and a list of frequently asked questions. The Gaussian 03 Online Manual is particularly useful. FAQ
Contact NERSC consultants with any questions regarding Gaussian 03. If necessary, problems will be forwarded to Gaussian Inc. for analysis. |
![]() |
Page last modified: Sat, 09 Feb 2008 00:46:59 GMT Page URL: http://www.nersc.gov/nusers/resources/software/apps/chemistry/g03/ Web contact: webmaster@nersc.gov Computing questions: consult@nersc.gov Privacy and Security Notice |
![]() |