Sie sind auf Seite 1von 32

U NIVERSITY OF N EWCASTLE

S CHOOL OF C HEMISTRY

Introduction to NBO Analysis and


Visualization
J. P. Hagon

Revision: 1.0 11th November 2014

C ONTENTS

Introduction
The NBO Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2

Performing NBO Calculations


Gaussian and NBO . . . . . . . . . . . . . . . . . .
Performing NBO3 Calculations in Gaussian 09
Gaussian 09 and NBO6 Link-Free Connectivity
External NBO6 Calculations Using Gaussian 09
GAMESS and NBO . . . . . . . . . . . . . . . . . .
NBO6 Calculations Using GAMESS . . . . . .

.
.
.
.
.
.

3
3
3
7
7
8
8

.
.
.
.

10
13
14
15
16

.
.
.
.

18
18
19
21
26

Visualization Using xorbplot


Identifying Atoms and Basis Orbitals . . . . . . .
Plotting NBOs with xorbplot . . . . . . . . . . .
Comparing Orbitals: Plot Stacking . . . . . . . .
Producing a Postscript Graphic File with xorbplot
Visualization & Analysis with NBO6pro
Preparing the Archive File for NBO6pro . . . .
Processing the archive file in NBO6pro . . . . .
Advanced Orbital Visualization with NBO6pro
Rendering 3D Surface Contour Plots . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

Visualization & Analysis Using Linux Tools


27
The Linux NBO Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Using gennbo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
NBO Analysis with JmolNBO and Jmol . . . . . . . . . . . . . . . . . . . . . . . . 28
References and Acknowledgements

31

School of Chemistry

NBO Calculations and Analysis

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].

The NBO Program


For many years, the standard way to perform NBO analysis has been via the NBO program,
a package (currently at version 6.0 and referred to as NBO6) which has been developed over
many years at the University of Wisconsin [7]. There are three ways in which the NBO program
is used:
 As a standalone program. The input to the program being generated by a supporting
electronic structure system (ESS) such as Gaussian. Most ESS packages which support
NBO analysis can operate in this way. This mode however, does not provide access to all
features of NBO analysis because for some calculations the ESS and NBO program need
to exchange data dynamically.
 As a semi-integrated, part of an ESS. In this mode, the ESS can talk to the NBO program via a published protocol often referred to as link-free connectivity. This approach
is highly portable, need not require recompilation of the supporting ESS and gives access
to all NBO functionality.
 As a fully-integrated part of an ESS. This usually requires having access to the source
code of both the ESS system and the NBO program and linking the two programs together
tightly at the source code level. This mode of operation is being superceded by the more
portable link-free connectivity approach.
From a user point of view, there is no difference between full integration and link-free connectivity. Both methods produce NBO analyis output as part of the standard output of the
supporting ESS.

School of Chemistry

NBO Calculations and Analysis

P ERFORMING NBO C ALCULATIONS


In this section, we show how to perform NBO calculations using Gaussian and GAMESS. We
provide a brief introduction to basic NBO calculations and visualizations. A detailed list of
NBO keywords is contained in the NBO3 Manual[5] available in PDF format at:
http://www.ncl.ac.uk/chemistry/internal/it/qc/docs/nbo_manual.pdf.
and also the NBO6 Manual[6] at:
http://www.ncl.ac.uk/chemistry/internal/it/qc/docs/nbo6ab_man.pdf.

Gaussian and NBO


Gaussian can be compiled to include pre-NBO6 functionality if access to the appropriate source
code is available. Failing this, all recent versions of Gaussian have NBO3.1 as a compiled-in
part of the package. NBO3.1 is now very old but nevertheless has much of the functionality
of more recent NBO versions. the most recent version of Gaussian 09 (which is installed on
POPLE) has link-free connectivity with NBO6.
Even without full-integration or link-free connectivity, it is possible to do a subset of NBO6
analysis with Gaussian if you have the external, commercially-available packages, NBO6pro
for Windows or gennbo for linux.

Performing NBO3 Calculations in Gaussian 09


There are two ways to set up a Gaussian run to perform NBO3 calculations:
(i) using the pop=(nbo,savenbo) option. This instructs Gaussian to perform a basic NBO
calculation and save the NBO orbitals in the output for later visualization with GaussView;
(ii) using the pop=nboread option followed by a $nbo ... $end block at the end of the
input file. NBO keywords can then be placed in this block.
Of these two methods, the latter is more versatile, but the former is easier to use, particularly
for the quick production of 3D surface contour plots of the NBO orbitals.
Using pop=(nbo,savenbo)

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

NBO Calculations and Analysis

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

1 2 1.0 3 1.0 4 1.0


2
3
4

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.

NBO Calculations and Analysis

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

here we see the standard NBO classification of orbitals:


CR is an atomic core state: the atom to which this state is associated is printed alongside;
BD is a bonding orbital: the pair of atoms which are associated with this orbital are printed
alongside;
LP is a lone pair: the associated atom is printed alongside;
RY* is a Rydberg state essentially a high-lying unoccupied core atomic state: the associated atom is printed alongside;
BD* is an anti-bonding orbital: the pair of atoms which are associated with this orbital are
printed alongside.
Note that NBOs are generally not listed in order of energy as standard MOs usually are. To
visualize these NBOs one simply opens the checkpoint file with GaussView and opens the
Molecular Orbital Editor window as shown in Figure 2.
Some of the NBO energies (levels 1115) are incorrectly listed as 1000.00000 in the
Molecular Orbital Editor window. This seems to be a bug in GaussView because the energies are correctly tabulated in the log file. Another thing to watch out for is the fact that in
the Molecular Orbital Editor window, the orbitals are numbered sequentially in order of energy. As pointed out earlier, this is not the order in which they are listed and numbered in the
Gaussian log file!
Using pop=nboread

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

NBO Calculations and Analysis

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

NBO Calculations and Analysis

1 2 1.0 3 1.0 4 1.0


2
3
4
$nbo PLOT FILE=ammonia $end

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.

Gaussian 09 and NBO6 Link-Free Connectivity


Users request NBO6 analysis using the following Gaussian keywords:
Keyword
pop=nbo6
pop=nbo6read
pop=nbo6del
pop=(nbo6,savenbos)
pop=(nbo6,savenlmos)
a

Type of NBO Analysis


default NBO6 analysis, no $NBO input
NBO6 analysis with $NBO input
NBO6 analysis with deletions
default NBO6 analysis, save NBOs in checkpoint file.
default NBO6 analysis, save NLMOs in checkpoint filea .

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.

External NBO6 Calculations Using Gaussian 09


It is possible to perform NBO6 analysis in Gaussian 09, even without link-free connectivity.
However, you will need an external NBO6 analysis program such as NBO6pro (which is available only for Windows systems) or gennbo (which runs under linux and is installed on POPLE).
NBO6pro is a suite of NBO analysis programs which includes NBOView, an extended and
modernized version of xorbplot. NBO6pro can be ordered via the NBO6 web site[8]. NBOView
is capable of producing colour plots of NBO isosurfaces something which is not possible
with xorbplot.
7

School of Chemistry

NBO Calculations and Analysis

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

$nbo archive file=formamide $end


This file will still result in basic NBO 3.1 output in the Gaussian log file but the important thing
is that it will make Gaussian create an NBO archive file. This file always has a file extension
.47. The bit before the extension can be specified via a file=<prefix> option to the archive
directive. Ironically, these archive files cannot be read by xorbplot. Note also that the archive
file is always created with upper-case letters, no matter what you specify in the file=<prefix>
option.
After running the above job (which takes just a few seconds) you should have a file called
FORMAMIDE.47 in the same folder from which the Gaussian program was run. This archive file
can now be used by any modern NBO analysis program, all of which are designed to work with
NBO archive files. In this way you can indirectly perform NBO6 analysis using Gaussian.
Note that there are some types of NBO analysis that cannot be performed in this way (such
as $DEL delections) because they require full two-way interaction between NBO and the ESS.

GAMESS and NBO


The POPLE system has a version of GAMESS that provides link-free connectivity with NBO6.

NBO6 Calculations Using GAMESS


There is a version of GAMESS-US on the POPLE cluster which has full, built-in NBO6 support
via link-free connectivity. You must use the correct version of GAMESS in order to do NBO
calculations. This version is located in the directory:
/usr/local/gamess-us-nbo6/
so the appropriate rungms script is:
/usr/local/gamess-us-nbo6/rungms

School of Chemistry

NBO Calculations and Analysis

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

NBO Calculations and Analysis

V ISUALIZATION U SING xorbplot


xorbplot is the grandfather of NBO data analysis and visualization. Although cumbersome
by modern standards it is capable of producing some very nice output. It is available on the
POPLE system. In this tutorial, we will work with the files created in the previous Gaussian 09
ammonia example.
xorbplot has a text-based interface. We begin by typing xorbplot on the command line.
You will see a message followed by a prompt asking you to enter a filename. The name to enter
is the prefix (in this case AMMONIA) which was defined in the Gaussian input file. After entering
the prefix and hitting RETURN you should see the following screen:
Input filename for this job : AMMONIA
Files containing basis set info and transformation matrices:
AO
[AMMONIA.31]
PNAO [AMMONIA.32]
NAO [AMMONIA.33]
PNHO [AMMONIA.34]
NHO [AMMONIA.35]
PNBO [AMMONIA.36]
NBO [AMMONIA.37]
PNLMO[AMMONIA.38]
NLMO [AMMONIA.39]
MO
[AMMONIA.40]
AO density matrix [AMMONIA.41]
Basis label file [AMMONIA.46]

:
:
:
:
:
:
:
:
:
:
:
: N(ot available)

Are these entries OK? ([Y]/N) :


Note that NBO3.1 (the version integrated with Gaussian 09) does not produce a basis label file.
This is not critical but means that you will have to look up the basis labels in the Gaussian log
file. Alternatively you can try the nbolabel utility described later. After accepting the above
(by hitting RETURN) the screen will look like Figure 3.
The top line shows a row of commands. To get help on a particular command, type
HELP <CMD> at the Command: prompt. For example, HELP BAS produces:
HELP BASIS
Command

: BASIS

Abbreviate : B
Argument(s): SYMB

(basis set SYMB)

Explanation: Select/reset current basis set for ORB, CONT,


orbital selections.

10

School of Chemistry

NBO Calculations and Analysis

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

nonorthogonal basis AOs


preorthogonal NAOs
natural atomic orbitals
preorthogonal NHOs
natural hybrid orbitals
preorthogonal NBOs
natural bond orbitsls
preorthogonal NLMOs
natural localized molecular orbitals
canonical molecular orbitals
(a)lpha or (b)eta spin (open-shell only)

Press <CR> to continue...


You can also type the command in lower case, e.g. help bas. The documentation tells you
that commands can be abbreviated in the above example, BAS can be abbreviated to B. Hitting RET takes you back to the main menu. Note from the above that you can select from many
different orbitals including the usual MOs that Gaussian produces (the canonical molecular orbitals. This makes xorbplot more versatile than GaussViews native MO plotting functionality.
We now give a brief description of all available commands in xorbplot.
BAS(B) <basis> Select/reset current basis set for ORB, CONT, orbital selections.
CONTOUR (CO) <orb num> Create orbital contour diagram for the requested orbital, using
current BASIS and PLANE settings. Orbitals are numbered according to the ordering in
the NBO output. The result is shown on the screen and saved in STORAGE memory for
use with SHOW, DRAW commands.
3

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

NBO Calculations and Analysis

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

NBO Calculations and Analysis

 two atom numbers, i and j defining the vector direction;


 a fraction, P such that the origin is at .1

P /i C P j;

 xmin and xmax values (from origin defined by P );


 xmin and xmax values (for the orbital amplitude);
 the number of steps to use in constructing the plot (plot resolution).
The commands EXIT (E) and HELP (H) are self-explanatory.

Identifying Atoms and Basis Orbitals


To use xorbplot optimally, you need to know atom numbers and basis orbital numbers. There
are several tools to help you do this:
 Molden opened from a separate xterm or Gnome Terminal window can be used for this,
as can other tools such as GaussView or Avogadro. For example, using Molden, labels
can be displayed using the Label button, then Atom plus Number; the user can rotate
the system looking for the plane to use in xorbplot.
 A text editor such as vi or emacs can be used to search the Gaussian/NBO output file
for orbital numbers. Depending which orbitals youre interested in, you can search for
different text strings for different orbital types:
AO and NAO to find the list of atomic orbitals (AO) and natural atomic orbitals (NAO),
search for the string:
AO

Atom

you can restrict the search to NAOs by searching for the string:
NAO

Atom

NHO For natural hybrid orbitals, search for the string


NHO Fock matrix
should see a list of the NHOs.
NBO For the natural bond orbitals themselves, look for the string:
Natural Bond Orbitals (Summary):
 If you want to see a list of orbital numbers and a brief summary string via the LABEL
command in xorbplot then you will need to generate the missing file ending in .46 that
NBO3.1 fails to produce. A utility called nbolabel has been written to facilitate this.
Simply type:
nbolabel --prefix=<file_prefix> --logfile=<g09 log file>
and nbolabel will attempt to produce a file <file_prefix>.46 suitable for input into
xorbplot. Please report any bugs in nbolabel to jerry.hagon@ncl.ac.uk.

13

School of Chemistry

NBO Calculations and Analysis

Plotting NBOs with xorbplot


To illustrate the use of xorbplot we will take a look at the lone-pair NBO orbital (number 5
on the list shown previously). First we need to tell xorbplot that we want to plot NBOs (the
default is to plot AOs). We do this with the command B NBO. You should see the basis updated
accordingly on the right hand column of the main screen. We will first produce a contour plot
in the plane containing the N atom (atom 1) and one of the H atoms (atoms 24). We type
CON 5. Taking the default values for the three atoms defining the plane (1,2 and 3) and setting
P D 0 to put the origin on the N atom and taking defaults for other values prompted for we
obtain the plot shown in Figure 4.

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

NBO Calculations and Analysis

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.

Comparing Orbitals: Plot Stacking


Sometimes you may want to compare orbitals. The DRAW command allows this to be done
easily. You first produce two plots, one for each orbital and then issue the DRAW command like
this: DRAW I J where I and J are the appropriate numbers in the Storage list. The figure
below shows two stacked plots (from another system, not ammonia), one a lone pair and the
other a  orbital. Such plots are useful in examining donor-acceptor and other interactions of
chemical interest.

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

NBO Calculations and Analysis

Producing a Postscript Graphic File with xorbplot


Once you have created a contour plot or a line graph you can produce a Postscript file which
can subsequently be converted to other formats if desired. To produce a Postscript file of a
particular plot, type DRAW <stor number>. Figure 4 was produced with DRAW 1 and Figure
5 was produced with DRAW 2. Postscript is a vector format which means that the graphic can
(subject to the display or print drivers used) always be scaled to the optimum output resolution.
There are two defaults that you may wish to change when prompted by the DRAW command:
(i) when asked about putting the Y direction along the width of the paper, you may want
to say no (the default is yes) otherwise youll get a 90 rotated plot. This is particularly
obvious in the case of line plots. However, you can rotate the graphic later if you wish.
(ii) You may also not want to include a boundary box (outline) in the figure. Often this box
has a lot of redundant white space inside it but if not, the presence of the box prevents
easy auto-cropping. the outline was removed in Figures 4 and 5.
Once you have your Postscript file, what do you do with it? Most word processors and typesetters find pure Postscript difficult to handle we will deal with Word inclusion specifically
later.
pdfLATEX users on linux usually have available some simple tools which can quickly convert
the file to an embeddable PDF format. The procedure is as follows (assuming we start with a
file called ammonia.ps):
(i) Convert initial file to PDF format via the command ps2pdf ammonia.ps. This produces
a file called ammonia.pdf.
(ii) Crop the pdf file using the command pdfcrop ammonia.pdf.
Since this document was created with pdfLATEX on a linux system, the ps2pdf/pdfcrop procedure was used for Figures 4,5 and 6.
For generic inclusion into most Windows applications, a raster or bitmap format is generally required. Unfortunately, using a bitmap means that you will not have a graphic that can be
arbitrarily scaled without loss of quality, but it will be something that can be included in almost
any type of Windows document including Word. To produce your bitmap, first make a cropped
pdf file as described earlier. Then simply invoke the convert utility which is available on the
POPLE system:
convert ammonia.pdf ammonia.<ext>
where the file extension tells the convert utility what sort of bitmap to produce. PNG format is
recommended rather than JPG because PNG is designed for line and solid colour images rather
than photographic images.
The above approach could be used for inclusion in Word documents, but there is a better
way if top quality is desired. What you need to produce is a vector graphic file that Word
can deal with rather than a bitmap. This object can then be arbitrarily scaled in Word without
loss of quality. The only vector format that Word can deal with reasonably well is so-called
encapsulated Postscript with a preview bitmap .


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

NBO Calculations and Analysis

Follow this procedure, starting with a cropped pdf file:


(i) pdftops file1.pdf > file1.ps
(ii) ps2epsi file1.ps file1.eps
You will now have a graphic file called file1.eps which, when printed or converted to pdf
will have perfect rendering. Most of the above commands have numerous options to tweak the
output but the defaults work pretty well in most cases.
A script is provided on the POPLE system to automate the above procedures. The script is
called nboconvert and is run from the command line like this:
nboconvert --infile=nbo_file.ps --outfile=outfile.<ext>
where nbo_file.ps is the original Postscript file produced by xorbplot and outfile.<ext>
is the output file. The output format produced depends on the extension which can be one of
png, jpg, pdf or eps.

17

School of Chemistry

NBO Calculations and Analysis

V ISUALIZATION & A NALYSIS

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.

Preparing the Archive File for NBO6pro


It is recommended that you manually type all your required NBO6 commands into the archive
file. The file produced by the Gaussian formamide input file has the following lines at the top:
$GENNBO NATOMS=6
$NBO $END

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

NBO Calculations and Analysis

Figure 7: NBO6pro main screen.

Processing the archive file in NBO6pro


After copying the file to the NBO6pro folder on your PC, start up the NBO6pro executable by
double-clicking on the application file NBOPro6.exe. This should produce the NBO6pro main
screen:
This screen allows you to analyze the generated NBO data and generate quick visualizations
of NBO orbitals. Now select option 2 to process the FORMAMIDE archive file. You should be
prompted to select from two options, either [1] GenNBO or [2] ESS. ESS refers to an electronic
structure system. We want to do an NBO analysis, so select [1]. You should now see a list of
all archive files in the NBO6pro folder:
****** Select input JOB.47 file to run *****
(1) ch3nh2
(2) FORMAMIDE

Your choice ([1]-2)?


Type in 2 to select the formamide archive file. You will then see the following message:
Current $NBO keylist options in FORMAMIDE.47
$NBO NRT PLOT $END
New keyword(s) to include?
Do not type in any more keywords this seems to often result in corrupted NBO input! This
is why it was suggested earlier to type all your NBO commands in the archive file. Now hit
<RETURN> in response to the prompt and you will hopefully see the following:

19

School of Chemistry

NBO Calculations and Analysis

Running GenNBO for FORMAMIDE.47...


Job FORMAMIDE.47 completed; output to FORMAMIDE.nbo
Press <Enter> to continue...
Pressing <Enter> at this stage will take you back to the main screen. If you look in the
NBO6pro folder you should see several new files, all with the prefix FORMAMIDE. Most of them
are created by the PLOT keyword and have numeric extensions 3142 and 46. There is also an
NBO output file called FORMAMIDE.NBO.
At this stage we can sem-interactively explore the output and create some visualizations. In
this example we will show how to produce a surface contour plot of an orbital. First, from the
main menu, select option 4 to explore the NBO output. You will see the following prompt:
Press <ENTER> to select JOB (.nbo) file or H(elp):
Hitting <ENTER> gives another menu:
****** Select JOB *****
(1) ch3nh2
(2) FORMAMIDE

Your choice ([1]-2)?


As before, select 2 and you will be taken to the NBOsearch screen shown in Figure 8. If you
look at the top-right of the screen, you will see that, initially, the current orbital is the first
orbital (1). In this example, we will do some NBO orbital analysis, so we select 2 from the
menu which takes us to the Search NBO Output screen shown in Figure 9.

Figure 8: NBO6pro interactive search screen.


20

School of Chemistry

NBO Calculations and Analysis

Figure 9: Search NBO Output screen.


There are eight numeric choices listed on the Search NBO Output screen plus two further
options; J which allows you to switch to another NBO job file and O which allows you to
change the current orbital. First, we will change the current orbital by typing O followed by
<ENTER>. This produces a list of all NBO orbitals. In this example, we select orbital 9 which
is labelled as a bonding N 3- C 4 orbital. Once the orbital is selected, you are taken back to
the Search NBO Output screen where you should see that the current orbital is now orbital 9.
The first four numeric choices give you information about this orbital. For example, selecting 2 gives you the orbital population, in this case 1.99806. The results are listed in the panel
on the lower right of the Search NBO Output screen. Because we have performed an NRT
analysis, we also have access to this information via the numeric options 5 and 6.
The final two numeric options allow you to perform some visualization. Select option 7 to
visualize the current orbital. After a few seconds you should see a display similar to Figure 10.
The image is saved in a file called pic.bmp (Microsoft bitmap format) and is stored in the
NBO6pro folder. You may want to immediately move this file somewhere else because any
subsequent visualizations will overwrite this file without warning! Note also that the image is
not centred and you have no control over things such as lighting, isosurface value and viewing
direction. Fine control over visualization is covered in the next section.

Advanced Orbital Visualization with NBO6pro


In the previous section we saw that using the Search NBO Output screen enabled quick visualization of NBO orbitals. However it was not possible to control the output or fine-tune it. To
do this you need to select option 3 from the NBO6pro main screen. After selecting this option
and choosing the FORMAMIDE archive file, you are then prompted to accept the standard list of
plot files which should have been created during the NBO run. After accepting the plot file list
as being OK, you should see NBOView window shown in Figure 11.
This window provides a similar interface to that which we have already seen in xorbplot

21

School of Chemistry

NBO Calculations and Analysis

Figure 10: NBO orbital visualization output.

Figure 11: The NBOView window.


indeed NBOView is the modern successor to xorbplot. In this example, we will visualize the
same orbital as before, but now with some finer control. If you get stuck, you can type help
at the command prompt to get a list of all commands hitting <ENTER> then takes you back
to the command prompt. Ultimately though, the NBOpro6 manual[9] should be consulted for
reference.
First, we select the basis whose orbitals we want to visualize. In this case we select the
22

School of Chemistry

NBO Calculations and Analysis

pre-orthogonalized NBO basis by typing:


ba pnbo
To produce a rendered 3D surface contour plot of an orbital, we must first create and store a
view of the orbital via the PROFILE or CONTOUR command. First, we produce a contour plot
of orbital 9 by typing co 9 at the command prompt. You are then asked for numerous inputs:
three atom numbers these atom numbers define the plane of the contour a good idea to
have GaussView open at this time if you are in any doubt as to how the atoms are numbered! In this case we take the default values because this is a planar molecule.
fraction to locate origin The value 0.0 places the origin on the first atom and the value 1.0
places the origin on the second. Other values locate the origin accordingly, with AXIS
1 and AXIS 2 intersecting at the origin. The default value 0.5 puts the origin midway
between the first two atoms. You might need to experiment with this, but for this example
we take the default.
two rotation angles AXIS 2 is first rotated about AXIS 1 by the first rotation angle (in degrees). Then, AXIS 1 is rotated about AXIS 2 by the second rotation angle (in degrees).
Again, experimentation may be required, but we take the default here also.
shift of plane along normal The plane defined by AXIS 1 and AXIS 2 is shifted by a specified
number of angstroms toward the viewer. Again we take the default.
At this point a viewing plane has been defined. Next we need to define the spatial extent of the
plane and the quality of the resolution via a series of further prompts:
minimum and maximum X values these values are in ngstroms.
minimum and maximum Y values these values are in ngstroms.
number of steps NX and NY this determines the grid density and therefore the quality of the
contouring. A 25  25 grid is generally sufficient for contour diagrams of first-row compounds, but enhanced resolution (say, 50  50) may be necessary when the image has
ornate nodal features.
Select the defaults in these cases and hit <ENTER> to confirm the choices. We then see a contour
plot as illustrated in Figure 12. Hitting <ENTER> takes you back to the NBOView command
prompt. You should also see an entry in the Storage area (bottom right) labelled
*1. [C

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

NBO Calculations and Analysis

Figure 12: An NBOView contour plot.


to 2 W 2 by typing in -2,2 at the prompt thus setting the overall range to 4 units. It looks
like we need to shift the plot up a bit which would normally mean shifting both Y limits down.
However, it seems that the Y axis in NBOView is measured top to bottom, so we actually need
to shift the Y limits up! We try a range of 1 W 3 (which also gives an overall range of 4 units,
thus effecting the same zoom on both X and Y axes.
After typing in these values and hitting <ENTER>, you will return to the command prompt.
Now type co 9 to draw the new contour plot. You should see something like Figure 13.

24

School of Chemistry

NBO Calculations and Analysis

Figure 13: Improved NBOView contour plot.


After hitting <RETURN>, you will notice the Storage list now looks like this:
1. [C
*2. [C

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

NBO Calculations and Analysis

Rendering 3D Surface Contour Plots


Once you have an entry in the Storage list, you can
produce a colour, 3D surface plot by typing: vi <n>
You will be prompted for various parameters. Be
warned that changing the default dots per inch resolution often seems to result in NBOView crashing! The
best way to increase the quality of the plot (in terms of
pixel dimensions) is to change the plot width in inches
while keeping the default dots per inch resolution. Adjusting the camera distance can also help to avoid part
of the molecule straying beyond the boundary of the
image. Figure 14 shows an image generated in this
way. For further explanation of the various ray-tracing
parameters used, see the manual[9].
You can adjust lots of other parameters such as the
colour of the surface contours and lighting. Details on Figure 14: 3D rendered surface contour
how to do this are described in the NBOView documen- for formamide PNBO orbital 6.
tation.
Using NBOView is rather cumbersome, but with
practice it is possible to create some attractive, publication-quality plots. Like other parts of
the NBO6pro suite, it has some bugs which will hopefully be fixed in future versions most
of the bugs, however, can be overcome with a little experimentation.

26

School of Chemistry

NBO Calculations and Analysis

V ISUALIZATION & A NALYSIS U SING L INUX TOOLS


The main problem with NBO6pro is having to copy files over to a PC from the linux system on
which the main calculations are carried out. In this section, we show how to do all the analysis
on linux.

The Linux NBO Toolkit


There are three utilities required; two are freely-available and the third is a command-line
program which is custom-compiled from the NBO6 FORTRAN source code (which must be
bought seprately). These utilities are:
Jmol an open-source Java viewer for chemical structures in 3D. It is widely-used and supported. It can be run from the command-line or as a web browser applet and is available
on almost all platforms[10].
JmolNbo or officially, Jmol-NBO Visualization Helper is a graphical user interface, again
written in Java by Marcel Patek[11]. It can be used to browse NBO output files and also
produce input for Jmol. In this way, Jmol can be used to produce high-quality surface
contour plots of NBO orbitals.
gennbo a command-line script which reads an archive (.47) file generated from a Gaussian run
to produce a .nbo file and any associated plot files. It basically does the same job as the
NBORun option in NBO6pro. This version of gennbo has been compiled with twice the
normal memory limit, so can handle larger systems than NBORun. Furthermore, because
we have the source code, new customized versions can be produced which can increase
other limits. gennbo and its associated routines can be purchased via the NBO web site
[8].

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

NBO Calculations and Analysis

NBO Analysis with JmolNBO and Jmol


JmolNBO is a utility (with a graphical user interface) written in java by Marcel Patek[11]. The
idea is a simple one: calculate contours or surface contours for one or more orbitals and convert
everything into a format that can subsequently be read into Jmol via a special macro file .
Before doing anything else, you
should create the Jmol default macro
folder if it doesnt already exist. You can
do this by typing:
mkdir -p ~/.jmol/macros
You need to do this only once.
In this example, we use the familiar
formamide output files (this time generated with gennbo) which we worked
with earlier.
Typing jmolnbo on
the command-line should produce the
JmolNBO main screen shown in Figure
15.
Note first that unlike NBO6pro you
can actually browse for files there is
no requirement that the data files should
be in the same folder as the analysis software! Clicking on the browse Dir button, go to the appropriate folder and select the NBO file (the one ending .nbo).
After JmolNBO has recognised the NBO
data files, you should be able to select
from any of them via a simple file dropFigure 15: The JmolNbo main screen.
down as shown in Figure 16. The dropdown will list all available orbital plot
data.
Hovering the mouse over any input
box will pop up a short message explaining what the particular input box is for. As in a previous
example, we will take a look at orbital 9, which is a bonding orbital labelled as N 3- C 4. To
do this, type 9 into the NBOs box and make sure the Surfaces box is ticked. While you are
getting used to using JmolNBO, it is probably a good idea to also check the Write to default
Macro Directory? checkbox.
Now, clicking the Create button should create a single Jmol macro file in the default
folder:
<home folder>/.jmol/macros
If this folder doesnt exist, JmolNBO will pop up a warning, but will nevertheless try and create
it this doesnt always seem to work properly, which is why it was suggested earlier that you
create it manually. You should see a message something like this:
> 1 sPNBO .macro file(s) were created in directory:
/home/njph/.jmol/macros
28

School of Chemistry

NBO Calculations and Analysis

Figure 16: JmolNbo: a successful file read.

Figure 17: The top of the Jmol main screen.


This tells us that a Jmol macro file for a surface plot of an At this point we can exit JmolNBO
and start up Jmol by typing jmol on the command-line. The Jmol main screen should hopefully
appear and clicking on the Macros menu button should produce a list of macros.
If youve never created any macros before, all you should see are those macros created by
JmolNBO the names of the entries should be self-explanatory (see Figure 17). You can
clear the macros either by manual deletion or making sure the Clear default directory box is
checked prior to creating new macros. This will delete existing macros before creating new
ones.
In this example, there is just one macro entry corresponding to the 9th PNBO orbital we
selected earlier. Clicking on this produces a nice image of the orbital (Figure 18). Note that
useful information such as the orbital index, orbital label and orbital occupancy are displayed
top-left.
You can use the mouse to rotate and zoom the image. Many other properties can be adjusted
such as the size and thickness of atoms and bonds etc. The Jmol macro file can be easily edited
since it is a simple text file. Here is an example:
Title=s9_FORMAMIDE-PNBO
Script=reset; load /home/njph/g09/sd/FORMAMIDE.36; frame 1.1; mo 9;
mo color [247,255,71] [113,168,254]; label %a; set labelfront; \
background [255,255,255]; ; mo fill nomesh translucent 0.3;

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.


The macro file is essentially a set of commands to be interpreted by Jmol.

29

School of Chemistry

NBO Calculations and Analysis

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.

Figure 19: POV-ray rendering of an NBO orbital.

30

School of Chemistry

R EFERENCES

NBO Calculations and Analysis

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

Das könnte Ihnen auch gefallen