From HPC users
Jump to navigationJump to search


The NBO program performs the analysis of a many-electron molecular wavefunction in terms of localized electron-pair bonding units. For licensing reasons it is available for use only for members of the AG Molecular Chemistry of Prof. T. Müller.

In the following the basic usage of NBO6 on the local HPC cluster is explained. There is also an extensive documentation available on how to use NBO6 in general. Pleas note, that examples in this documentation may need to be adapted to the HPC cluster as explained below.

Using NBO as a stand-alone tool

The first thing that needs to be done is, as usual, to load the necessary modules:

module load gcc/4.8.1 nbo/6.0

In order to use NBO as standalone you need an input file. An example can be obtained with this command (module must be loaded):

cp $NBO6DIR/ch3nh2.47 .

This will copy the example input file to your current directory. The example can be run on the login host (as it runs less than a second) with the command:

gennbo ch3nh2

After that, a file named ch4nh2.nbo should appear and it contains the output of the NBO analysis. Larger problems should of course use the job submission of the SGE as usual. A complete job script could look like this:


### the following lines are used by SGE to determine your job requirements
### you may want to modify the requested resources, e.g. h_vmem or h_rt,
### if you need more memory or run time (respectively)
#$ -S /bin/bash
#$ -cwd
#$ -l h_rt=1:00:0
#$ -l h_vmem=1500M
#$ -l h_fsize=10G
#$ -N NBO6
#$ -j n

### maybe useful to receive emails when a job begins (b) and has finished (e)
### (to activate change email address and remove extra # in the next 2 lines)
##$ -m be
##$ -M your.name@uni-oldenburg.de

### here the actual job script begins
### you may want to modify this part according to your needs
### the script expect input files in the directory from where you submitted
### the job and any output will appear in that directory as well, however
### some files may not show up until the job has finished
echo Job started on `date`   # put a time stamp in log file

# load module orca
module load gcc/4.8.1 nbo/6.0

# settings (here you need to make your own modifications)
MODEL=ch3nh2     # MODEL is the basename for all files

# run nbo as standalone
gennbo $MODEL

echo Job finished on `date`   # put a time stamp in log file


Note that running NBO by executing the command gennbo will automatically delete any existing previous output file. Be careful when naming your models or input files.

Using NBO together with Gaussian 09

If you are using Gaussian 09 Rev. D.01, NBO can be called from Gaussian by choosing the right options in the input file. An example can be obtained with these commands (not sure if the second one is needed):

cp $NBO6DIR/tests/gaussian/ch3nh2.g09 ./ch3nh2.com
cp $NBO6DIR/tests/gaussian/ch3nh2.g09 .

After that you can call Gaussian directly:

g09 ch3nh2

This will create a log file which includes the results from the NBO analysis. Refer the Gaussian 09 documentation for creating a job script for this example (in the job script you would use g09run <input-file> as usual instead of g09). Do not forget to include an extra line to load the modules for NBO 6.0 as explained above.

Users request NBO6 analysis using Gaussian keywords of the following forms:

   pop=nbo6             -- default NBO6 analysis, no $NBO input
   pop=nbo6read         -- NBO6 analysis with $NBO input
   pop=nbo6del          -- NBO6 analysis with deletions
   pop=(nbo6,savenbos)  -- default NBO6 analysis, save NBOs,
      sorted by energy, on the checkpoint file
   pop=(nbo6,savenlmos) -- default NBO6 analysis, save NLMOs on
      the checkpoint file

Note that these keywords are analogous to the pop=nbo, pop=nboread, etc. keywords that are used to run the old NBO 3.1 analysis (Link 607) of G09.

Some Technical Details

By default, the NBO6 distribution is configured to handle up to the following numbers of atoms, basis functions, shells, and exponents:

                   maximum number of atoms =  500
         maximum number of basis functions = 5000
   maximum number of basis function shells = 2000
maximum number of basis function exponents = 5000

NBO6 is also configured to use up to 100 MWords of dynamically allocated memory (~760MB).

Please contact Scientific Computing if these limits are too restrictive for your purposes.