Contents


Deprecated: please see new documentation site.



Introduction

"Gaussian 09 is the latest in the Gaussian series of programs. It provides state-of-the-art capabilities for electronic structure modeling. Gaussian 09 is licensed for a wide variety of computer systems. All versions of Gaussian 09 contain every scientific/modeling feature, and none imposes any artifical limitations on calculations other than your computing resources and patience."

Version and availability

Gaussian is a commercial software, therefore only users from an institution that has purchased a license can use Gaussian on that LONI institute's machine. Gaussian 09 is available on Eric (Tezpur, Pandora & Pelican- LSU users) and Bluedawg & Painter (LaTech users). LSU has the TCP Linda license thus LSU users can run Gaussian using Linda (distributed memory mode).

Usage

In order to use Gaussian 09, one needs to add the soft key to their .soft file. You can look up the softenv key for this by the command

 softenv -k gaussian

Depending on the system you are on, you may see other entries, such as Gaussian 03 and Gaussview. The next step is to take this soft key "+gaussian-09" and add it to your ~/.soft file and "resoft".

Important Note: If you have used Gaussian 03, make sure you delete the Gaussian 03 soft key in your .soft file. Additionally, if you had set any Gaussian 03 variables in your shell system initialization files (i.e. .bashrc; .cshrc) be sure to remove those entries. This will cause unexpected errors and could cause your simulation to crash.

There has been some good improvements in G09 over G03. For instance, in one's input file the Link 0 keywords, %NProcL, %NProcLinda, and %NProc, are not used anymore. By default, one Linda worker is started on each node. Additional Lindaworkers can be started via %Lindaworkers, but for the vast majority of Gaussian simulations this is not needed, if you would like to know more, please consult the manual.

Single Node Submission

Now, in one's input file, you only have to specify the total number of shared processors with %NProcs. See below for example.

  
%chk=water.chk
%NProcs =8 

# HF/6-31G(d)     

water energy              Title section

0   1            
O  -0.464   0.177   0.0
H  -0.464   1.137   0.0
H   0.441  -0.143   0.0

To submit a Gaussian job, you will need a PBS submission script like the one below. Make sure to edit it to reflect your allocation and directories used.

# @ shell= /bin/tcsh
# @ initialdir= . 
# @ class = XXXX
# @ notification = never 
# @ requirements = (Arch == "Power5")
# @ output = /work/default/$USER/this.out
# @ error = /work/default/$USER/this.err
# @ job_type = parallel
# @ tasks_per_node = 8 
# @ node = 1 
# @ environment = COPY_ALL 
# @ network.MPI = sn_single,shared,US
# @ queue

cd /work/default/$USER

g09  water.inp 

Then, submit your job:

 llsubmit g09.cmd

Multi-node Job Submission

There are two methods in which one can use Gaussian with Linda across multiple nodes. This is done by manipulating the %lindaworkers Link 0 command. Here is a brief on this new command.

%LindaWorkers=node1[:#procs],node2[:#procs]

%LindaWorkers=Johnny:4, Cash:2 Will spawn 1 –4 way SMP worker on Johnny and 1 –2 way SMP worker on Cash. A couple notes, 1) [:#procs] is optional if all nodes are equal. 2) One can modify this information to use only 1 SMP node. You would be using %LindaWorkers=1, which is the default value.


1) The first method uses a submission script and the standard G'09 input file. In one's input file, there must be a Link 0 command of "%lindaworkers=LINDA" Below is the submission script.

# @ shell= /bin/tcsh
# @ initialdir= . 
# @ class = XXXX
# @ notification = never 
# @ requirements = (Arch == "Power5")
# @ output = /work/default/$USER/this.out
# @ error = /work/default/$USER/this.err
# @ job_type = parallel
# @ tasks_per_node = 4 
# @ node = 2 
# @ environment = COPY_ALL 
# @ network.MPI = sn_single,shared,US
# @ queue

### Get Linda Nodes
foreach node (`echo $LOADL_PROCESSOR_LIST`)
  echo $node >> tmp_file
end
set nodelist=`sort -u tmp_file`

set LINDA=`echo $nodelist | awk '{for (i=1;i<=NF;i++){if (i == NF){printf "%s",$i} else {printf "%s%s",$i,","}}}'``

cd  /PATH/TO/INPUT
cat INPUT_FILE.inp | sed "s/LINDA/$LINDA/" >temp$$.inp
g09 < temp$$.inp > OUTPUT_FILE.log
rm -f temp$$.inp

In this submission manner, one creates a temporary input file, named temp$$.inp (where $$ is a variable index of the job ID).

In the sample input above, INPUT_FILE.inp, the Link 0 directives should be

%chk=/work/default/$USER/g09.chk
%mem=16mw
%nprocs=4
%lindaworkers=LINDA
(rest of input)

2) Working with the %lindaworkers command, one can insert their input file into the submission script. In the below example, the variable $LINDA is set and properly name-mangled for the input file.

# @ shell= /bin/tcsh
# @ initialdir= . 
# @ class = XXXX
# @ notification = never 
# @ requirements = (Arch == "Power5")
# @ output = /work/default/$USER/this.out
# @ error = /work/default/$USER/this.err
# @ job_type = parallel
# @ tasks_per_node = 4 
# @ node = 2 
# @ environment = COPY_ALL 
# @ network.MPI = sn_single,shared,US
# @ queue

### Get Linda Nodes
foreach node (`echo $LOADL_PROCESSOR_LIST`)
  echo $node >> tmp_file
end
set nodelist=`sort -u tmp_file`

set LINDA=`echo $nodelist | awk '{for (i=1;i<=NF;i++){if (i == NF){printf "%s",$i} else {printf "%s%s",$i,","}}}'``

cd /work/default/$USER
# Change this line to reflect your input file and output file
g09 <<END > gaussian.log
%mem=16mw
%nprocs= 4
%lindaworkers=$LINDA
#p rb3lyp/3-21g force test scf=novaracc
Valinomycinforce2
0,1
O,-1.3754834437,-2.5956821046,3.7664927822
… rest of input …
<< Gaussian's typical ending blank line >>
END

The execution line, "g09 <<END > gaussian.log " means the following

Everything after '<< ' to 'END' is taken as regular Gaussian input and direct output '>' to output file gaussian.log

References

For common Gaussian problems please see, https://docs.loni.org/wiki/Gaussian_Common_Problems

The Gaussian Manual is available on line.


Users may direct questions to sys-help@loni.org.

Powered by MediaWiki