Calculation of surface energies of Au

TO USE THE FUNCTION LIBRARY (VERSION UP TO DATE) IN THE INTERACTIVE SHELL:

you@eulerX ~$ module load courses mmm vmd

you@eulerX ~$ mmm-init

In this exercise, we will build three small slabs based on the following figures; the cell is an orthorombic cell with repetition along z.

Figure out what is (in nearest neighbor units) the length of the three vectors Lx, Ly, Lz for the three high-symmetry surfaces.

Take the above table as reference for the orders of magnitude of surface energies.

you@eulerX ~$ wget http://www.cp2k.org/_media/exercises:2016_ethz_mmm:exercise_3.2.zip
you@eulerX ~$ unzip exercises:2016_ethz_mmm:exercise_3.2.zip
you@eulerX ~$ cd exercise_3.2

In principle all reconstructed phases should be with a lower surface energy, but this EAM potential fails for some of them. The input files are:

  1. 100_bulk.inp for determining the energy per atom in the bulk
  2. 100_unr.inp for the bulk termination (100)
  3. 100_rec.inp for the hexagonally reconstructed (100)
  4. 110_unr.inp for the (110) bulk termination
  5. 110_rec.inp for the (2×1) reconstruction
  6. 111.inp for the unreconstructed (111).

Before, however, to be able to run the cp2k program, we need to build the xyz files for all cases. First, we build the slabs, using this chain of commands (First assignment). Use for the following:

  1. (100) surface: use (in first neighbor units) LX LY LZ = ???????? ???????? 1.4142135 ; NX NY NZ = 4 5 5
  2. (110) surface: use (in first neighbor units) LX LY LZ = ???????? ???????? 1.0000000 ; NX NY NZ = 6 4 5
  3. (111) surface: use (in first neighbor units) LX LY LZ = ???????? ???????? 2.4494897 ; NX NY NZ = 4 3 3
  4. Find the correct values of lx ly for the three cases.
  5. use D = 2.885 (correct value for gold)

Example:

you@eulerxx $ m_lattice LX LY LZ NX NY NZ < 100.unit | m_xyzrescale D | m_xyzrefold 1 1 1 | m_xyzcenter 1 1 1 | m_xyzsort  > 100_unr.xyz
you@eulerxx $ m_lattice LX LY LZ NX NY NZ < 110.unit | m_xyzrescale D | m_xyzrefold 1 1 1 | m_xyzcenter 1 1 1 | m_xyzsort  > 110_unr.xyz
you@eulerxx $ m_lattice LX LY LZ NX NY NZ < 111.unit | m_xyzrescale D | m_xyzrefold 1 1 1 | m_xyzcenter 1 1 1 | m_xyzsort  > 111_unr.xyz

Substitute the LX LY LZ NX NY NZ and D by their appropriate values. As a result of the command execution you will obtain several slab structures. Open them with a text editor and get the unit cell parameters from the second line of each XYZ file. Use this parameters in the ABC section of the *inp files. Do not forget to ADD SOME VACUUM IN THE Z DIRECTION. Check with vmd that the cell is OK.

For the bulk case, simply copy 100_unr.xyz into 100_bulk.xyz

Run the cp2k code as

you@eulerxx $ bsub cp2k.popt -i 100_unr.inp -o 100_unr.out
you@eulerxx $ bsub cp2k.popt -i 110_unr.inp -o 110_unr.out
you@eulerxx $ bsub cp2k.popt -i 111_unr.inp -o 111_unr.out
you@eulerxx $ bsub cp2k.popt -i 100_bulk.inp -o 100_bulk.out

The compute_surf* scripts give an idea how to compute the surface energies.

In the next step, we work with 2 reconstructed surfaces given in the 100_rec.xyz and 110_rec.xyz files. For this calculations you will need to use the same unit cell parameters as for the corresponding unreconstracted surface structures that you have built previously.

you@eulerxx $ bsub cp2k.popt -i 100_rec.inp -o 100_rec.out
you@eulerxx $ bsub cp2k.popt -i 110_rec.inp -o 110_rec.out
Assignments:
  1. Mark surface energies and relaxations of the first 2-3 top layers (use vmd or editor)
  2. Try to color the surfaces in vmd in a way that makes the height evident (ask the assistant) and produce snapshots (render)
  3. Comment on the (2×1) reconstruction: what do you see?
  4. Copy the 110_unr.xyz into a new file 110_my_rec.xyz
  5. Edit the file and remove one line each two on the two surfaces
  6. Check that the result is the same as in 110_rec.xyz
  7. Plot the same slabs, but adding periodic images in vmd: remember pbc set { a b c 90 90 90 }.
Hint: you can save a configuration file in vmd and reuse it for a new sample! Ask the assistant!