Constructing a Model of Carbon
Monoxide on a Ni(111) Surface
To construct a model of a surface we use the
example of carbon monoxide binding to a Ni(111)
surface. Since Ni has a fcc lattice like
Au we can begin with a model of Au(111). The relative magnitude of the lattice
parameters is Ni/Au = 0.864 so that we need to multiply the unit cell
parameters of our Au(111) PBC cell and all the atom coordinates in it by this
factor. You can do this using the
program cellvec_xyz.f. Use au_111_o.car
as the input file and write ni_111_o.car as the output file. you will also need
to change the names of the atom types in the file. To do this conveniently you may use the vi editor's global search and replace command. For example, to replace AU by NI type
:1,$s/AU/NI
inside
vi and you will see that all of the AU are replaced by NI. Note that UNIX is case sensitive and vi editor is as well.
You also need to replace Au by Ni etc.
Now you have an appropriate file to read into
InisightII. Since you will be modifying
atom types use the following (X-windows) version:
>insightII -axxess
The -axxess flag brings up insightII in an
X-windows mode.
In the unit cell you have loaded the oxygen
atoms are arranged in a (3 x 3)R30o
lattice. The side view of the lattice you
have loaded will have the following appearance (the colors may be different).

To make a CO molecule you will want to add one
atom and then change the identities of the atoms to make CO. To add an atom use
the trick of the Modify/Hydrogen command. The program will automatically add H atoms to
O. Now the appearance of the structure
is shown in the Figure below.

You will
want to delete the H atom closest to the nickel surface to obtain the result
shown in the Figure below.

To change the atom types use the Atom/Replace command.
Just select the new atom type from the periodic table that appears and
then click on the atom that you want to replace. The carbon is closest to the surface as shown
in the figure below.

Then use the Molecule/Put
command to save the file.
The geometry is not correct, but we will correct
it by running a geometry optimization using DMol3.