User Tools

Site Tools


Simulation of STM and AFM images for a graphene nanoribbons adsorbed on a metallic substrate

connect to hypatia:
ssh -X
ssh -X hypatia
module load python/2.7.12 

go to your scratch directory:

cd /mnt/scratch/your_username

and copy there the tar file of the exercise:

cp /home/cpi/exercise_12.tar ./
tar -xvf exercise_12.tar
cd exercise_12

We consider two possible chemical terminations for a finite size 7-AGNR. In TASK_1 the ribbon is terminated with a C-H2 bonding while in TASK_2 the termination is C-H The additional H atom present at the termini of the ribbon of TASK_1 will suppress the spin polarized edge states that are evident in the ribbon of TASK_2


Have a look to the cp2k input file cp2k.inp used to obtain quickly the optimized geometry of a ribbon adsorbed on a Au substrate. The ribbon is modelled within DFTB (similar to tight binding) while the substrate is modelled via Embedded Atom Model. An empirical potential in teh form of C6/R^6 plus a pauli repulsion is added to couple the adsorbate/substrate systems.

Two geometry fiels are present: and The input needs both of them.

Have a look at the geometry of the system using ASE:

In [1]: from import read

In [2]: from ase.visualize import view

In [3]: s=read("")

In [4]: view(s)

In [5]: exit()
submit the geometry optimization run
qsub run

After completion of the optimization you should extract the final coordinates of the molecule and copy them in the STM directory to compute the KS orbitals and to ocmpute the STM images you can extract the coordinates running the following script:


Now go to the STM directory andsubmit the run script

qsub run

The program will compute the 10 highest and 10 lowest KS orbitals. You can produce a contour plot of each orbital on a plane ~2A above the ribbon running a pyhton script:


I will also show you how to visualize the orbitals with VMD.

To obtain teh stm images you have to combine different KS orbitals (depending on the bias voltage applied) into a single cube file:

qsub run_sumbias

you will then obtain a cube file for each desired bias voltage (see the script run_sumbias)

Now you can compuyte a constant current STM image runnong the script

qsub run_stm

Please note that we are simulating a molecule, we do not include the electrons of the substrate thus we have a disceret spectrum of energies and it is quite likely that for values of the bias voltage that fall in the HOMO-LUMO gap we will obtain an empty image

Now we can simulate for teh same ribbon a AFM image: Go the the AFM directory of TASK_1 copy there the file that you find in the STM directory and execute:


It will take ~ 5 minutes, then you will find a dir containing the AFM simulated image.


Repeat all the instructions of TASK_1 for the scripts present in the dir TASK_2

Be carefulhere we do a spin polarized simulation, we have to distinguish the three C atoms of one terminus of the ribbon from the three of the opposite terminus calling them C1 and C2.

When the file is created in the STM dir (after running ./ copy it immediateli to the AFM dir. Now, before executing the instructions for the STM dir edit the file and modify it in such a way that the first three C atoms will be labelled as C1 and the C atoms from 4 to 6 will be labelled as C2

  C1        6.0848407282        7.8280098155       21.6125989354
  C1        6.0865671686       12.7633436664       21.6071222309
  C1        6.1020007836       10.2957686990       21.6036624306
  C2       56.3447906713       10.2958157091       21.6033852713
  C2       56.3619529363        7.8280149623       21.6128774460
  C2       56.3601930737       12.7634261117       21.6063533886
  H         4.9837063610        7.8327959357       21.5912164696
  H         4.9855872642       12.7623732365       21.5844580428
Notice the difference between the images in TASK_2 and the images in TASK_1 In TASK_2 we have KS states localised at the termini of the ribbon. These states are suppressed by the addiitonal H atoms in TASK_1
exercises/2017_ethz_mmm/stm.txt · Last modified: 2017/05/25 14:27 by dpasserone