User Tools

Site Tools


Calculation of surface energies of Au


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.

  • Download all the necessary files for computing the surface energies of all 3 high symmetry faces of gold from from the wiki: (all inputs are commented) in your home directory and unzip it:
you@eulerX ~$ wget
you@eulerX ~$ unzip
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)


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

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 into

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 and 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


  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 into a new file
  5. Edit the file and remove one line each two on the two surfaces
  6. Check that the result is the same as in
  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!

exercises/2016_ethz_mmm/surface_au.txt · Last modified: 2016/03/11 12:02 by yakutovich