Beruflich Dokumente
Kultur Dokumente
S CHOOL OF C HEMISTRY
C ONTENTS
Introduction
The NBO Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
.
.
.
.
.
.
3
3
3
7
7
8
8
.
.
.
.
10
13
14
15
16
.
.
.
.
18
18
19
21
26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
School of Chemistry
I NTRODUCTION
Natural Bond Orbital (NBO) analysis is a useful tool enabling chemists to see an intuitive
picture of both electron orbitals and population analysis. The orbital picture is intuitive in the
sense that occupied orbitals are localized (in a valence bond type way) which is usually the way
that chemists think of bonding in molecules. An introduction to NBO concepts is given in [1].
For a complete introduction to NBO analysis, see [2]. A more advanced treatment is given in
[3].
School of Chemistry
Simply adding pop=(nbo,savenbo) in the route section of your Gaussian input file is all that
is required to enable NBO output in the log file and visualization of the NBO orbitals via
GaussView. In fact GaussView can be used to add these options when preparing an input file
via the calculation setup NBO tab as shown in Figure 1.
To illustrate this method we show a simple example a Gaussian calculation on an ammonia molecule. This system is ideal for NBO analysis as it has well-defined hybrid bonding
orbitals and a lone pair. We use the following GaussView-generated input file:
School of Chemistry
Figure 1: The NBO options tab in the Gaussian Calculation Setup window of GaussView
5. Selecting Full NBO and Save NBOs in the two drop-down selection lists adds the
pop=(nbo,savenbo) option to the route command.
%chk=ammonia.chk
# opt b3lyp/3-21g pop=(nbo,savenbo) geom=connectivity
Ammonia Opt
0 1
N
H
H
H
1
1
1
1.02156729
1.02156729
1.02156729
2
2
110.49059277
110.49059290
122.58759615
Information required to plot the NBO orbitals is saved in the checkpoint file. The NBO
summary data is listed in the log file. The log file gives the following NBO listing:
Natural Bond Orbitals (Summary):
Principal Delocalizations
NBO
Occupancy
Energy
(geminal,vicinal,remote)
====================================================================================
Molecular unit 1 (H3N)
1. BD (
1) N
1 - H
2
1.99902
-0.60979
2. BD (
1) N
1 - H
3
1.99902
-0.60979
3. BD (
1) N
1 - H
4
1.99902
-0.60979
4. CR (
1) N
1
1.99960
-14.04602 10(v),11(v),12(v)
5. LP (
1) N
1
1.99959
-0.25148
6. RY*(
1) N
1
0.00002
1.11144
7. RY*(
2) N
1
0.00000
1.20602
School of Chemistry
8.
9.
10.
11.
12.
13.
14.
15.
RY*(
3) N
1
0.00000
RY*(
4) N
1
0.00000
RY*(
1) H
2
0.00102
RY*(
1) H
3
0.00102
RY*(
1) H
4
0.00102
BD*(
1) N
1 - H
2
0.00022
BD*(
1) N
1 - H
3
0.00022
BD*(
1) N
1 - H
4
0.00022
------------------------------Total Lewis
9.99625 ( 99.9625%)
Valence non-Lewis
0.00066 ( 0.0066%)
Rydberg non-Lewis
0.00309 ( 0.0309%)
------------------------------Total unit 1
10.00000 (100.0000%)
Charge unit 1
0.00000
1.20602
2.23972
0.75147
0.75147
0.75147
0.41448
0.41448
0.41448
A much more versatile approach to performing NBO analysis is via the pop=nboread option
in the route section. This option is really a directive, telling Gaussian to read NBO specific
instructions at the end of the input file. These instructions are placed between $nbo and $end
delimiters. The NBO3 manual[5] contains a full description of the instructions that are possible
in the version of NBO (3.1) that is integrated with Gaussian 09. The manual can be downloaded
from the Chemistry School internal website at:
http://www.ncl.ac.uk/chemistry/internal/it/qc/docs/nbo_manual.pdf.
School of Chemistry
Figure 2: The Molecular Orbital Editor window of GaussView 5. This window automatically
shows NBO levels rather than standard MO levels when using the pop=(nbo,savenbo) option.
Inset right shows the lone-pair orbital (shown as 5 in the Molecular Orbital Editor window).
In this section we will look only at the same ammonia calculation as before. This will
be a standard NBO run which produces the same information in the log file as previously
but additionally produces data suitable for input into external NBO analysis and visualization
software such as Jmol, NBOpro and xorbplot which will be described in some detail later. The
Gaussian input file has two changes to the one listed previously:
(i) pop=(nbo,savenbo) is replaced by pop=nboread;
(ii) an extra section of directives for the NBO module which appears at the end of the input.
The listing below shows the full input file:
%chk=ammonia.chk
# opt b3lyp/3-21g pop=nboread geom=connectivity
Ammonia Opt
0 1
N
H
H
H
1
1
1
1.02156729
1.02156729
1.02156729
2
2
110.49059277
110.49059290
122.58759615
School of Chemistry
Note that it is not necessary to place any NBO directives in the $nbo...$end block. If
this block is empty, i.e. containing nothing between the $nbo and $end delimiters then the log
file output will be the same as before but no NBO molecular orbitals would be saved in the
checkpoint file and instead the Molecular Orbital Editor window would list the standard MOs
rather than the NBOs.
In the above example, there are two NBO instructions within the $nbo...$end block,
namely PLOT and FILE=ammonia. These instructions are related; the PLOT instruction tells
the NBO analysis module to produce data for input to a suitable NBO plotting program; the
FILE=ammonia instruction places the plotting data output in a series of files beginning with the
string AMMONIA. Note that this string is in capitals, even though the instruction had a lower case
prefix. In fact, the file prefix will always be in upper case, even if lower case was specified. A
successful run will then produce a series of files:
AMMONIA.31 AMMONIA.32 AMMONIA.33 AMMONIA.34 AMMONIA.35 AMMONIA.36
AMMONIA.37 AMMONIA.38 AMMONIA.39 AMMONIA.40 AMMONIA.41
These files are all in plain-text format and designed to be read by an NBO visualization program. Visualization and data analysis will be covered in a later section.
NBOs and NLMOs are sorted by energy when stored in the checkpoint file.
These keywords are similar to the standard ones for NBO3 analysis. In particular, the
pop=nbo6read instruction works in a similar way to the pop=nboread instruction described
in the previous section.
School of Chemistry
To illustrate the general procedure, we will use the molecule formamide (HCONH2 ) as an
example and do the Gaussian run on the POPLE system.
The Gaussian Input File
Since Gaussian is to be used only to produce an input file for the NBO6pro package, there are
very few modifications to be made. A pop=nboread directive is required, with an archive
directive in the NBO block at the end of the file. The listing below gives a typical example in
the case of formamide:
#rhf/3-21g pop=nboread
RHF/3-21G for formamide (H2NCHO)
0 1
H
H
N
C
O
H
-1.908544
-1.188060
-1.084526
0.163001
1.196265
0.140159
0.420906
-1.161135
-0.157315
0.386691
-0.246372
1.492269
0.000111
0.000063
0.000032
-0.000154
0.000051
0.000126
School of Chemistry
As an example, we will set up a calculation on the formamide molecule (HCONH2 ) and list a
typical input file for GAMESS:
$BASIS GBASIS=N21 NGAUSS=3 $END
$CONTRL SCFTYP=RHF RUNTYP=ENERGY $END
$NBO PLOT ARCHIVE FILE=formamide $END
$DATA
Formamide with NBO data
C1
H
1.0
-1.90900
H
1.0
-1.18800
N
7.0
-1.08500
C
6.0
0.16300
O
8.0
1.19600
H
1.0
0.14000
$END
0.42100
-1.16100
-0.15700
0.38700
-0.24600
1.49200
0.00000
0.00000
0.00000
-0.00000
0.00000
0.00000
Once an input file has been created, either by hand or via 3rd party tools such as Avogadro or
wxMacMolPlt, all that needs to be done to perform a full NBO6 analysis is to add the required
NBO6 instructions between the $NBO and $END block as shown above. Here, we have added
an extra keyword, ARCHIVE. This creates a so-called archive file which has the extension .47
(in this case FORMAMIDE.47). This file is very useful if you want to perform subsequent NBO
calculations and saves having to repeat the full quantum chemistry calculation later.
The full NBO ouput will be printed in the GAMESS output file although users may find
it easier to simply create NBO archive and plot files and use external tools such as gennbo
or NBO6pro to do the actual NBO calculations. Unlike Gaussian however, other generated
files (in this case the plot and archive files) are not created in the same directory in which the
calculation is run.
For an interactive run they are stored in the folder:
/scratch/$USER
where $USER is the username of the person who ran the calculation. If you need these files you
must remember to move them to a more suitable location.
For a batch queue run the files are stored by default in the batch queue temporary directory
for the particular run. This means that they are deleted at the end of the run! To make sure that
the files are saved, you should specify a full path name of a permanent directory as a prefix in
the NBO FILE directive. Something like this:
$NBO PLOT ARCHIVE FILE=/home/user/calculations/formamide/formamide1 $END
This would place all the files in the directory:
/home/user/calculations/formamide
and the files would have a prefix formamide1. So, for example, the archive file would have a
full path name of:
/home/user/calculations/formamide/formamide1.47
It is important that the directory for NBO output files exists! A good choice for this would be
the working directory for the calculation.
9
School of Chemistry
:
:
:
:
:
:
:
:
:
:
:
: N(ot available)
: BASIS
Abbreviate : B
Argument(s): SYMB
10
School of Chemistry
Figure 3: The xorbplot main menu after successfully reading the input data files.
AO
PNAO
NAO
PNHO
NHO
PNBO
NBO
PNLMO
NLMO
MO
a or b
DENSITY (DE) Create a contour diagram of the total molecular electron density (units: e )
in the current contour plane. This option is only available when the current BASIS is orthogonal. The density matrix is required in the list of input files. The result is displayed
on the screen and saved in STORAGE memory for use with SHOW, DRAW commands.
DRAW (DR) <i j k ...> Similar to SHOW command, but the result is written to a file that will
draw the image on a laser printer. DRAW output can be written as a HP LaserJet bitmap
11
School of Chemistry
file (JOBNAME.HPO), TechSet bitmap file (JOBNAME.TSO) or PostScript file (JOBNAME.PSO). You will be prompted for the desired resolution (75/100/150/300 dpi),
diagram size, orientation, and other details of the printed diagram.
LINES (LI) Select/reset contour intervals, line style, and other details of contour diagrams.
The user will be prompted for the first (outermost) contour, the contour step size (interval), and number of lines to be drawn. You can also select the dash length and space
length of dashed lines for negative contours.
LABEL (LA) Display list of orbital labels in the current BASIS. For (P)NAO, (P)NHO, (P)NBO,
or (P)NLMO sets, the labels correspond to those in the NBO output. Generic sequence
numbers are used to label MO sets, or sets for which no label info was provided.
ORBITAL (O) Create orbital amplitude profile for the requested orbital along the current
VECTOR direction, using the orbital numbering for the current BASIS set. For example, the command ORBITAL 24 draws a profile of the 24th NBO (if NBO is the
current BASIS) along the axis defined by the current VECTOR, and places the diagram
in STORAGE for use by SHOW, DRAW commands.
PLANE (P) Select/reset current plane for contour plots with ORB, DEN commands. You will
be prompted for:
3 atom numbers (i ,j ,k) which define the starting plane;
a fraction, P which defines the plotting area such that the origin is a fraction, P ,
between atoms i and j , i.e. at .1 P /i C Pj ; axis 1 is through the direction i ! j
and axis 2 passes through k;
2 rotation angles a and b such that axis 2 is rotated about axis 1 by an amount a (in
degrees) and axis 1 is rotated about axis 2 by an amount b;
xmin and xmax values (wrt specified origin);
xmin and xmax values (wrt specified origin);
grid size m,n.
SHOW(SH) <i j k ...> Draw the specified image(s) [from current STORAGE location(s)] (i j
k ...) on the screen. For example, the command "SHOW 2 4" plots the overlaid orbital
images from STORAGE locations 2 and 4 on the terminal screen.
SIGN (SI) Reset current sign (phase) of orbitals for plots produced by ORB or CONT commands. Note that this does not affect the diagrams already stored in memory.
STORAGE (ST) Print storage table summarizing the graphic images currently stored in memory. ORBPLOT stores up to 8 images in consecutive locations (if necessary, overwriting
earlier images the 9th image in location 1, the 10th in location 2, etc.). The table
shows the memory location (with pointer -> marking the newest entry), diagram type
(orbital/ contour/density), basis type (NAO, NBO, etc.), orbital number (in the NBO output numbering), and identification of the reference plane or vector for each stored image.
VECTOR (V) Select/reset current vector for plotting ORBITAL profiles. Distance along this
vector is plotted as the x coordinate, and orbital amplitude along the vector as the y
coordinate in the xy diagram. You will be prompted for:
12
School of Chemistry
P /i C P j;
Atom
you can restrict the search to NAOs by searching for the string:
NAO
Atom
13
School of Chemistry
Figure 4: xorbplot output. This figure does not actually show what you see on the screen although
it is a close approximation. it is actually a graphic file converted to PDF from Postscript generated
by the xorbplot DRAW command.
The plot is displayed in a window which doesnt disappear until you press RETURN. You
should then see an entry appear in the Storage list. We use this in the next section to produce
a plot file suitable for printing or including in a document.
A 1D plot of the orbital value along a line can be obtained with the ORB command. Typing
ORB 5 gives a 1D plot of the lone pair orbital. Again, you are prompted to enter two atoms to
define the line along which the plot is calculated. The default is [1,2] which is OK because
that goes through the Nitrogen (1) and Hydrogen (2). After viewing the plot on screen and then
pressing RETURN you will see two entries in the Storage list:
1. [C
*2. [O
5] NBO
5] NBO
5
5
The (*) indicates the most recent entry. Figure 5 shows what the line plot looks like. Note
that the plot is centered on the x-axis midway between the two atoms this is a consequence
of taking the default P D 0:5 value for the origin.
14
School of Chemistry
Figure 5: xorbplot 1D line output. This is the same lone-pair orbital as before with the Nitrogen
atom on the right. As with Figure 4 it is actually a graphic file converted to PDF from Postscript
generated by the xorbplot DRAW command.
Figure 6: xorbplot stacked output. In this case, two orbitals are plotted on top of each other,
facilitating analysis of various orbital interactions. In this case an interaction between a lone pair
and a orbital.
For pedagogical reasons, the so-called pre-orthogonal versions of natural orbitals (e.g. PNBOs, PNHOs, PNAOs) are generally preferred when comparing orbitals in this way. This is
because these orbital types are less influenced at a distance than pure natural orbitals, making
overlap much easier to visualize conceptually. For example, donor-acceptor overlap is often
easier to visualize using PNBOs rather than NBOs. For a more technical discussion of this see
the web link [7].
15
School of Chemistry
Postscript is a page description language which is a popular standard among high-end laser printers.
The preview bitmap is used to display the image on-screen but the high-quality vector image is used for
printing and conversion to pdf.
16
School of Chemistry
17
School of Chemistry
WITH
NBO6pro
In this section we will show how to use the Windows application NBO6pro to perform NBO
calculations and visualizations from an input NBO archive file created elsewhere. NBO6pro is
actually a suite of 4 programs:
NBOModel for creating and editing structures;
NBORun for performing an NBO calculation from an input NBO archive file;
NBOView for advanced visualization of NBO orbitals;
NBOSearch for quick browsing of NBO output data and simple visualization of NBO orbitals.
We will not look at NBOModel most users will use other tools to build input structures for
electronic structure systems. The visualization parts of NBO6pro are descended from xorbplot
and have a similar command syntax.
We will work with the archive file for formamide which was used in the Gaussian example
described earlier. The archive file contains a $NBO $END block into which you can type any
NBO6 commands you like.
NBAS=33
UPPER
BODM
$END
The first line gives general information about the number of atoms and basis functions. The
next line is a container for any NBO6 commands you wish to enter at this point. As an example,
lets add a PLOT command (required for orbital visualization) and a NRT command in order to
do some Natural Resonance Theory analysis. This is a good example, because NRT analysis
is not available in NBO3.1 and therefore cannot be carried out with the standard release of
Gaussian 09. The second line then becomes:
$NBO NRT PLOT $END
Before copying the file to your PC for processing by NBO6pro, it is advisable to convert it to a
DOS-formatted text file. This can be done on POPLE via the following command:
unix2dos <archive file>
Finally, you must copy the edited archive file to the NBO6pro folder on your PC yes, thats
right, you cant browse for the file within NBO6pro, the file is looked for (apparently) only in
one place the NBO6pro folder! Note that there is no reason why you cant do the editing
described above on the PC rather than on POPLE if you prefer but make sure you use a text
editor like Notepad rather than a word processor.
18
School of Chemistry
19
School of Chemistry
School of Chemistry
21
School of Chemistry
School of Chemistry
9] PNBO
N 3- C 4
If you type sh 1 the plot will be drawn without any prompting because the original parameters
are remembered. The 1 refers to the number on the left in the Storage list. The current storage
number is indicated with an asterisk.
The main problem with this plot is that it is not centred. What we will do now is try to both
centre the plot and zoom in a little. This involves redefining the plotting plane. To do this, type
pl at the NBOView command prompt. You will be prompted for the same parameters as in the
original plot, but just for the values concerned with defining the plane. We will keep the same
values as before except for the X and Y limits.
To zoom in we will need to change the total range on the X and Y axes to a lower number
than the default 6 units (the difference between C3 and 3). To this end we set the X range
23
School of Chemistry
24
School of Chemistry
9] PNBO
9] PNBO
N 3- C 4
N 3- C 4
You can display a particular plot from the Storage list by typing show <n> where <n> is the
list number. You might think that by typing show 1, the original un-zoomed, un-centred plot
will be displayed. This does not happen plots are always displayed with the current values
for the plane. The main use of the Storage list is to produce a series of plots of different
orbitals, rather than different views of the same orbital. This is annoying, but seems to be the
way that NBOView works.
As with xorbplot, you can produce hard copy by typing draw <n> at the NBOView command prompt and you will then be prompted for further information. Generally, for line drawings, Postscript gives the best quality. See the comments earlier about vector graphics preparation for inclusion into Word documents.
25
School of Chemistry
26
School of Chemistry
Using gennbo
An NBO archive (.47) file must be produced in exactly the same way as for NBO6pro, via a
line similar to this at the end of the Gaussian 09 input file:
$nbo archive file=<archive file prefix> $end
Once the archive file is prepared, you may need to edit it as before, by putting any extra instructions for the NBO system between the $NBO...$END block near the top of the file. Typically
this will include at least a PLOT directive so that orbitals can be visualized.
Then its simply a case of typing:
gennbo <archive file prefix>
on the command-line. Unless your molecule and basis set is very large, this typically takes
less than a minute and can be run interactively. A successful run should produce (at least) the
normal NBO output file ending in .nbo. If the PLOT directive was issued, then there will be a
set of plot files as well.
At this stage, the various output files could be copied to a PC and analyzed with NBOSearch
and NBOView in NBO6pro. In the next section, we describe an alternative means of analysis
using Jmol and JmolNbo
27
School of Chemistry
School of Chemistry
The generated file actually contains just two lines, in the above listing the \ character is used to
imply continuation on the same line. From this we might guess that changing nomesh to mesh
might produce a mesh surface rather than a continuous surface. The Jmol documentation[10]
should be consulted for further details.
For high-quality ray-traced output you can convert the image to POV-Ray format (see Figure
19) or export the image to a wide variety of bitmap formats.
29
School of Chemistry
Figure 18: Jmol: Display of an NBO orbital (after rescaling via mouse).
There are many other things that JmolNBO can do 2D contour plots, stacking of 2 orbitals in a single plot etc. Also, JmolNBO can be used to browse the NBO data (similar to
)NBOsearch, part of the NBO6pro suite. This can be done via the NBO Analysis tab on the
main JmolNBO screen as shown in Figure 15. Please consult the JmolNBO web site[11] for
further details.
30
School of Chemistry
R EFERENCES
AND
ACKNOWLEDGEMENTS
[1] Frank Weinhold and Clark R. Landis, Chemistry Education: Research and Practice in
Europe, 2001, 2(2), 91104.
[2] Frank Weinhold, Clark R. Landis,Discovering Chemistry with Natural Bond Orbitals, Wiley, 2012.
[3] Frank Weinhold, Clark R. Landis,Valency and Bonding: A Natural Bond Orbital DonorAcceptor Perspective, CUP, 2005.
[4] http://nbo6.chem.wisc.edu/.
[5] E. D. Glendening, A. E. Reed, J. E. Carpenter and F. Weinhold, NBO 3.0 Program Manual,
University of Wisconsin.
[6] F. Weinhold and E. D. Glendening (Eds), NBO 6.0 Program Manual, University of Wisconsin.
[7] NBO5 official web site. http://www.chem.wisc.edu/~nbo5/web_nbo.htm.
[8] NBO6 official web site. http://nbo6.chem.wisc.edu/.
[9] NBOpro6 Manual. http://nbo6.chem.wisc.edu/NBOPro6_man.pdf.
[10] Official Jmol web pages: http://jmol.sourceforge.net.
[11] Marcel Patek NBO utilities: http://www.marcelpatek.com/nbo/nbo.html.
Acknowledgements
Thanks to Dr Bruce Tattershall, Dr Simon Doherty and Ahmed Alwaaly for some useful discussions and feedback.
31