A Guide To Simulation of STM Images and Spectra From First Principles: bSKAN 3.6
A Guide To Simulation of STM Images and Spectra From First Principles: bSKAN 3.6
W. A. Hofer
Surface Science Research Centre,
The University of Liverpool, Liverpool L69 3BX
1 Versions 9
1.1 Additions version 3.6 (2005) . . . . . . . . . . . . . . . . . . . . . 9
1.2 Additions version 3.5 (2004) . . . . . . . . . . . . . . . . . . . . . 9
1.3 Additions version 3.4 (2004) . . . . . . . . . . . . . . . . . . . . . 9
1.4 Additions version 3.3 (2003) . . . . . . . . . . . . . . . . . . . . . 10
1.5 Additions version 3.1 (2003) . . . . . . . . . . . . . . . . . . . . . 10
1.6 Additions version 2.1 (2000) . . . . . . . . . . . . . . . . . . . . . 10
1.7 Original version 1.0 (1999) . . . . . . . . . . . . . . . . . . . . . . 10
2 Introduction 11
2.1 Suitability and systems . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Help utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Keywords and input . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Input errors . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Copyright and license issues . . . . . . . . . . . . . . . . . . . . . 12
3 THEORETICAL BACKGROUND 15
3.1 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Bardeen approach . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Scattering method . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Topographic mode . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 Spectroscopies . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Interfaces to DFT programs . . . . . . . . . . . . . . . . . . . . . 21
4 INSTALLATION 23
4.1 Parallel version . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Input features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 PROGRAM EXECUTION 25
6 TOPOGRAPHIES 27
6.1 Tersoff-Hamann method . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.1 Possible errors . . . . . . . . . . . . . . . . . . . . . . . . 28
3
4 CONTENTS
7 SPECTROSCOPIES 31
7.1 Tersoff-Hamann model . . . . . . . . . . . . . . . . . . . . . . . . 31
7.2 Bardeen method . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.3 Magnetic surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4 Differential Spectroscopy . . . . . . . . . . . . . . . . . . . . . . . 32
8 EVALUATION 35
8.0.1 Creating current maps and current contours . . . . . . . . 35
8.1 Corrugation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 Two dimensional maps in parallel planes . . . . . . . . . . . . . . 36
8.3 I/V spectra of a surface . . . . . . . . . . . . . . . . . . . . . . . 36
8.4 Magnetic calculations . . . . . . . . . . . . . . . . . . . . . . . . 36
9 FILES 39
9.1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.2 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10 KEYWORDS 41
10.1 METHOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.1.1 TERSOFF-HAMANN . . . . . . . . . . . . . . . . . . . . 41
10.1.2 STERSOFF . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.1.3 NUMERICAL . . . . . . . . . . . . . . . . . . . . . . . . 42
10.1.4 SPECTROSCOPY . . . . . . . . . . . . . . . . . . . . . . 42
10.1.5 FORCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.1.6 WAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.2 SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.2.1 ANTIFERROMAGNETIC . . . . . . . . . . . . . . . . . 43
10.2.2 AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2.3 BIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2.4 CELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.2.5 DELTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.2.6 FERROMAGNETIC . . . . . . . . . . . . . . . . . . . . . 45
10.2.7 GRIDPOINTS . . . . . . . . . . . . . . . . . . . . . . . . 45
10.2.8 HOLLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.2.9 LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.2.10 NKELDYSH . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.2.11 NSPECTRUM . . . . . . . . . . . . . . . . . . . . . . . . 46
10.2.12 PIVOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.2.13 TOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.2.14 ZVACUUM . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.3 EVALUATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.3.1 CURRENT . . . . . . . . . . . . . . . . . . . . . . . . . . 48
CONTENTS 5
10.3.2 CORRUGATION . . . . . . . . . . . . . . . . . . . . . . . 49
10.3.3 MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.3.4 PLOTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11 Spectroscopy evaluations 51
12 WAVEFUNCTIONS 53
13 Geometry files 55
6 CONTENTS
Preface
This guide is intended as a hands on manual for the execution of bSKAN 3.6, an
optimized and parallel code to simulate STM topographies and spectroscopies
from first principles. The program is an open source package, it can be used
free of charge. However, use of the program is limited to users complying with
two conditions: (i) Acknowledgement of the source; and (ii) feeding back all
improvements made to the code to the original author. These conditions are
mandatory, and users who are found not to comply with these rules will be
excluded from future releases. The program requires a minimum of 2GHz pro-
cessors, with a memory of no less than 1GB. In parallel mode it has been tested
for up to 64 processors. The memory requirement for high level computations
of systems of medium size is about 200-500 MB.
SKAN b 7
8 CONTENTS
Chapter 1
Versions
9
10 CHAPTER 1. VERSIONS
Introduction
The program bSKAN is written in modular form and in the current imple-
mentation in Fortran 90. In contrast to Fortran 77 this allows to use derived
memory structures like types, which in turn make the allocation of memory, the
transfer of data, and the handling of large and complex structures much easier.
For example, the whole package is programmed without a single common block,
and all sizeable memory is allocated during runtime.
The main programming challenge was the reduction of operations. As the
wavefunctions are given in a two dimensional Fourier grid of typically more than
one hundred components, the integration involves handling of matrices of ten
thousand components. This can only be accomplished in a reasonable timescale
if all steps are highly optimized.
At present, and in a serial implementation, the program is a able to calculate
a single gridpoint of the STM tip position in timescales of typically less than
one minute, which makes the calculation of detailed images in high resolution
possible within a few hours. In parallel execution e.g. on a SGI R10000 cluster,
we have calculated the spectrum of one point on a magnetic surface, mapped
with 3000 k-points in the IBZ, using a model tip with 400 k-points around the
centre of the Brillouin zone, and an energy grid from -1V to +1V of 101 points
in less than four hours. The program in this case uses about 2GB of memory.
11
12 CHAPTER 2. INTRODUCTION
systems are analyzed), and (ii) whether the experimental range is reasonable for
perturbation methods (here, as a rule of thumb, we are limited to a maximum
of about 5-10nA on metals for low voltages). Within this range the calculations
should be generally safe and easy to perform.
• The energy range of eigenvalues is smaller than the energy range of the
calculation. Remedy: go back to the DFT calculation where the STM
wavefunctions were created and increase the energy interval.
• The k-points of either surface or tip do not cover the IBZ of the first
Brillouin zone. This can be intended, if for example only a limited region
of the IBZ is considered, or it can be an error, if the k-point sampling is
incomplete. Remedy: check and if necessary change the k-point sampling
in the DFT calculation.
THEORETICAL
BACKGROUND
STM theory, like STM experiment, has a history of at least twenty years, from
the earliest papers of Binnig and Rohrer [6, 7, 8] on the origin of the instru-
ments precision to the theoretical models of Büttiker and Landauer [9], Tersoff
and Hamann [10, 11], Chen [12, 13], Sautet and Joachim [14], or Flores [15, 16].
Basically, there are two different philosophies concerning the importance of dif-
ferent effects on STM images and spectra:
On the one hand, it was thought that the scattering process itself contains
the main physical parameters determining the images. This is reflected in all
scattering approaches, where the exact electronic structure of the two surfaces
is commonly treated in a very rudimentary fashion.
On the other hand, it is thought that the scattering process, due to the
large timescales involved (the interval from one tunneling electron to the next is
typically larger than picoseconds), makes a scattering approach redundant, as
long as the electronic structures of the two surfaces are well described. bSKAN
follows the second line of argument. The wavefunctions of both surfaces are
determined by highly precise density functional calculations, while the transi-
tion process is described by perturbation theory. The theoretical model goes
back to Bardeen’s treatment of a metal-insulator-metal junction [17], and it
has been used in the last years for a wide range of materials from metals and
magnetic overlayers to semiconductors and molecules adsorbed on metals and
semiconductors. For a review see [2].
3.1 Method
3.1.1 Bardeen approach
Within the Bardeen approach to tunneling the current between a surface and a
tip is described by the sum over surface and tip states as follows:
15
16 CHAPTER 3. THEORETICAL BACKGROUND
¯ Z ¯2
4πe X ¯ h̄2
¯ ∗ ∗ ¯
¯
I= [f (Eµ ) − f (Eν + eV )] ¯− dS (χν ∇ψµ − ψµ ∇χν )¯
h̄ µ,ν 2m S
δ (Eν − Eµ + eV ) (3.1)
Here, ψ is the wavefunction of the single electron state (in DFT Kohn-
Sham state) of the surface, χ a single electron state of the tip, f is the Fermi
distribution function, the bias voltage between surface and tip equals V , and
the integration surface is assumed to be in the vacuum region. The key variable
in this relation is the integral over the separation surface, which is called the
tunneling matrix element Mµν . It is defined by:
Z
Mµν = dS (χ∗ν ∇ψµ − ψµ ∇χ∗ν ) (3.2)
S
The matrix element is a scalar quantity, which is equivalent to the overlap
of the vacuum wavefunctions of surface and tip. To implement this approach
within the periodic systems typical for groundstate DFT calculations, the fol-
lowing points have to be considered:
than 1 pm, which is about the resolution of todays best instruments. Given
the usual size of systems in DFT (topographies on metals: 10-40 k-points in
the IBZ, six to eight symmetry operations, expansion up to 200 G-vectors), a
point by point integration over the separation surface is ruled out for practical
reasons. Therefore an additional assumption is made in bSKAN: The separa-
tion surface is a plane located in the middle between the tip and the surface.
In this case the integration for a single Fourier component can be performed
analytically, provided the region of the surface is limited. This is generally the
case, if the tip consists not of a plane surface, but a surface with an attached
microtip of one to a few atoms and one or more layers. It is established opinion
today that such a tip is used in all high resolution scans. For calculated model
tips under these assumptions see [2].
Here, f denotes the Fermi distribution function, GR(A) (E) is the retarded
(advanced) Green’s function of the barrier, and ΓS , ΓT are the surface and
tip contacts, respectively. They correspond to the difference of retarded and
advanced self energy terms of surface and tip; we define them by their relation
to the spectral function AS(T ) of the surface (tip):
h i
AS(T ) (E) = i GR A R A
S(T ) (E) − GS(T ) (E) = GS(T ) (E)ΓS(T ) (E)GS(T ) (E) (3.4)
The multiple scattering formalism can be evaluated in real space, with the
18 CHAPTER 3. THEORETICAL BACKGROUND
R(A)
X ψk (r1 )ψ ∗ (r2 )
k
GS (r1 , r2 , E) = (3.5)
E − Ek + (−)iη
k
R(A)
X χi (r1 )χ∗ (r2 )
i
GT (r1 , r2 , E) = (3.6)
i
E − E i + (−)i²
3.2 Implementation
3.2.1 Topographic mode
The method is implemented in the program in the following way: first the lattice
parameters of surface and tip are read in and the two lattices are expanded over
the full Brillouin zone. Then a rectangular grid covering the surface unit cell is
set up. The matrix elements MG,G0 are calculated by analytically integrating
the plane wave components over the surface of the tip unit cell:
Z
MGS GT = dS exp i(GS − GT )r GS/T = kk + Gk (3.9)
S
For a given position R of the STM tip the matrix elements are multiplied
by the phase of the surface wavefunctions:
3.2.2 Spectroscopies
Initially, spectroscopy functionality was built into the code by an additional
loop over bias voltage. In this case the obtained results were topographies for
every given bias voltage in a bias interval, e.g. from -1V to +1V. A comparison
with experimental spectra (dI/DV spectra) was then simulated by a numerical
differentiation of I(V) for every single point of the surface. The method proved
to have several methodical problems:
1. The change of occupation numbers near the Fermi level due to the Fermi
distribution function always shows up as a distinct spike in the spectrum.
2. The number of layers of the surface and tip electronic structure deter-
mines the spacing of eigenvalues and thus the ensuing spectrum (minimum
number for noble metals about 23 layers). This is close to impossible to
20 CHAPTER 3. THEORETICAL BACKGROUND
calculate for the tip electronic structure, because the tip requires a very
large unit cell of at least eight atoms per plane.
3. The ensuing I(V) curve and its numerical derivative do not allow a clear
identification of surface and tip contributions and make it very difficult,
if differences to experimental spectra are observed, to improve the repre-
sentation.
For these methodical reasons the frontal attack of the problem was finally
given up, after a large number of trial calculations on Fe, Cr, Mn/Fe systems
and Cu, Ag, and Au surface states. Instead, the program now contains a com-
prehensively differential approach to the problem. The details of the theoretical
analysis and the new approach are published in [4]. For the present purpose
the relevant result is that the differential spectrum dI/dV is directly calculated
and written to a file, which contains the dI/dV map for a defined surface grid.
From this spectrum the I(V) map is obtained by integration. The incremental
change in the current due to a change of bias from V to V + dV is:
X X
dI = |M (ψi1 , χk1 )| + |M (ψi2 , χk2 )| (3.12)
i1 k1 i2 k 2
where the eigenvalues of surface Ei1(2) and tip Ek1(2) states are within the
intervals:
Here, EF denotes the Fermi level of surface and tip system, respectively.
Then the total spectrum contains equally two distinct contributions due to the
bandstructure of the surface and the tip system:
The files containing the two separate contributions to the spectrum and the
sum of these contributions. It is therefore possible to identify the origin of a
feature in the spectrum and determine, whether it is due to the surface or the tip
electronic structure. In general we find that surfaces with a very low density of
states at the Fermi level lead to spectra with features unique of the surface. This
is for example true for semiconductor surfaces. For metal surfaces we find that
this is not the case and the ensuing spectra will show up both bandstructures. In
this case there are two options to obtain a reliable result: (i) Limit the analysis
to the surface contribution alone, which maps to the states at the Fermi level
of the tip; or (ii) or increase the number of layers and the precision of the tip
3.3. INTERFACES TO DFT PROGRAMS 21
INSTALLATION
23
24 CHAPTER 4. INSTALLATION
advice for MPI implementation. The parallel compilation, as provided for the
computer environment the code has been running so far, can be seen in the
makefiles. The location of the libraries will invariably vary, as will the compiler
used (for example, I used a PGF90 compiler on Linux 2.7.2 clusters, built from
AMD Athlon processors). The makefile therefore has to be modified. Again,
this is best done in cooperation with the computer administrators.
PROGRAM EXECUTION
25
26 CHAPTER 5. PROGRAM EXECUTION
Chapter 6
TOPOGRAPHIES
In topographic mode an STM scans across the surface while the tunneling cur-
rent is kept constant. This could be mimicked by a suitable feedback within the
program. However, the feedback algorithm is tricky to program and convergence
then becomes a major issue. Therefore it was decided to compute a complete 3D
matrix of tunneling currents on the surface. This is still manageable, computa-
tionally, and it makes the program substantially simpler. The vertical extension
depends on the input files, generally all z values of the smaller file are included.
If, for example, the WAVSAMPLE file includes 50 z-values, and the WAVTIP
file 100, then only the first 50 gridpoints of the tip electronic structure are
included in the calculation. bSKAN provides two different routines:
27
28 CHAPTER 6. TOPOGRAPHIES
NKELDYSH = 1
ZVACUUM = 11.2
The program in this case sets up a surface grid, computes the matrix of
integrated Fourier components, and determines the eigenvalues to be included
before looping over the surface grid. The time needed for a gridpoint scales
nearly linearly with the bias voltage, since this determines the number of in-
cluded states. For low bias scans on metal surfaces it is commonly in the range
of seconds, for semiconductors the duration is considerably higher and can be as
long as a few minutes. The program produces the usual output files OUTSCAN
and CURMAT, and in addition a formatted file CURSAVE, which should be
saved, since binary files like CURMAT do not always port easily from one sys-
tem to the other. By playing around with different model tips it can be seen
that the Bardeen integration makes tunneling topographies tip dependent to
quite a high degree. This means that the inclusion of the tip adds an additional
dimension in the comparison between experiments and simulations. A good
agreement between them requires that the experimental input (current, bias
voltage), and output (corrugation, shape of a structure) agrees with the input
and output in the simulation.
SPECTROSCOPIES
In the spectroscopic mode the STM tip is stabilized at a point above the surface,
this point is usually described by a bias voltage/current combination. After sta-
bilization the feedback loop is disengaged, and the bias voltage ramped from a
lower limit to an upper limit. The current/voltage curves in this case look rather
bland, but their first and second derivatives contain information about the sur-
face electronic structure (e.g. surface states on (111) noble metals or (100)
iron) and the dynamic changes due to electron-electron and electron-phonon in-
teractions. Within bSKAN a spectroscopy is a topography over a range of bias
voltages. This makes it possible to study not only the spectroscopies at fixed
points of the surface, but also to study their change with the STM tip position,
which in turn can yield valuable information about local electronic properties.
31
32 CHAPTER 7. SPECTROSCOPIES
consists of three files. OUTSCAN gives, as usual, the information about the
system and the tunneling parameters as well as the included states. The files
CURSPEC and CURSAVE contain the current matrix for all local and energy
gridpoints, the faster loop in this case runs over the energies.
at a given point of the Brillouin zone reflects this limitation. (ii) The number
of two dimensional k-points is also limited, which reduces the precision of the
bandstructure map also in two dimensions.
34 CHAPTER 7. SPECTROSCOPIES
Chapter 8
EVALUATION
8.1 Corrugation
The main information contained in an STM image is the corrugation height, or
the difference of the vertical position of the STM tip between a hollow site and
an on top site. This information can be extracted from the current matrix with
the commands:
CORRUGATION
TOP = 0.0 0.0
HOLLOW = 0.5 0.5
The first keyword defines the task, the other keywords define the position of
the ion and the hollow site. The file written is called PLOTCOR, it contains
the z-dependent current values at both sites, the apparent barrier height due to
the current decay, and the corrugation value in Å.
35
36 CHAPTER 8. EVALUATION
current planes. For tunneling spectra the names of the input files to merge are
CURSFM and CURSAFM, apart from that, the procedure is identical.
38 CHAPTER 8. EVALUATION
Chapter 9
FILES
All input and output files are written in capital letters. The first two or three
letters generally specify the information contained. For example, all files related
to the Kohn-Sham states begin with WAV-, files describing the geometry with
A-, input parameters are contained in files named IN-, the output in files OUT-.
Current maps are stored in CUR- files, while plots generally are called PLOT
or PLT.
9.1 Input
Note that we make a difference between essential files (which are necessary for
every run) and non-essential ones (which are usually optional). The input files
are described in Table 13.1 at the end of the guide. The keywords used in
INSCAN file are found in chapter KEYWORDS. For more details on wavefunc-
tions and geometry input files, see chapters WAVEFUNCTIONS and Geometry
files, respectively.
9.2 Output
Output files are either for information on the run, contain the simulation data,
or contain an extracted sample of the simulation data for visualizing. They are
described in Table 13.2
39
40 CHAPTER 9. FILES
Chapter 10
KEYWORDS
The program only uses the first three characters of a keyword, the rest is omitted.
In the following table these essential characters are given in capitals. The list of
essential keywords and their usage can be printed out by executing the program
with only one line in the INSCAN file:
HELP
The current keywords are described in Table 13.3.
10.1 METHOD
10.1.1 TERSOFF-HAMANN
The Tersoff-Hamann method is standard in many DFT simulations, where the
charge within an energy window can be integrated and displayed. The difference
between the bSKAN implementation and DFT implementations is:
1. The surface unit cell is arbitary and can be changed by the keyword CELL
= X Y, which allows in principle to compute an area of multiple unit cells
2. The surface unit cell does not have to be rectangular, while the computed
unit cell is always rectangular. This is an advantage for visualisation
programs like OpenDx
3. The bias dependency can be included from the formulation found for the
first order scattering approach by setting NKELDYSH = 0 (zero order
scattering) or NKELDYSH = 1 (first order scattering).
The line in the INSCAN file has the format:
TERSOFF-HAMANN
10.1.2 STERSOFF
The differential spectrum in this case is calculated with the same model, the bias
dependency for the zero and first order scattering approximation is included via
41
42 CHAPTER 10. KEYWORDS
the NKELDYSH switch. The spectrum can be extended over the whole unit
cell with arbitrary resolution, which allows to compare differential spectra with
locally resolved spectroscopy experiments. The advantages are the same as for
TH spectroscopies.
The line in the INSCAN file has the format:
STERSOFF = V1 V2
here V1 and V2 describe the lower and upper limit of the spectrum. Note
that the bias interval is assumed to contain the zero bias value.
10.1.3 NUMERICAL
Bardeen topographies are based on the wavefunctions of surface and tip; it is
assumed that the z-grid of both systems is equally spaced (0.1 a.u) and that
the distance from the surface nuclei at a given gridpoint i is roughly the same
for surface and tip systems (symmetric setup). The advantage of Bardeen to-
pographies is that they include the electronic structure of the tip explicitly; for
topographies, where typically only a limited number of states around the Fermi
level contributes to the tunneling current, this leads to effects like contrast inver-
sion or contrast changes due to different tip models, a feature well documented
in STM experiments. The bias dependency of the current can be included by
changing NKELDYSH from -1 (the default) to 1 (the first order approximation
in the scattering approach).
The line in the INSCAN file has the format:
NUMERICAL
10.1.4 SPECTROSCOPY
Bardeen spectroscopies include surface and tip electronic structures. The method
is described to some extent in the methods chapter, it is based on differential
increments of the current due to a differential change of the bias voltage. In this
case the dI/dV values are written to a file and then integrated from the point of
zero bias. It is therefore essential that zero bias is included in the calculation.
The binary files CURDSPEC and CURSPEC contain three separate values: one
for the contributions from the surface bandstructure mapped onto the tip Fermi
level, one from the contributions of the tip bandstructure, mapped onto the
Fermi level of the surface, and the sum of the two values.
The line in the INSCAN file has the format:
SPECTROSCOPY = V1 V2
As in the previous cases the bias dependency in the calculation is included
with an appropriate switch NKELDYSH.
10.1.5 FORCE
From version 3.5 the chemical interactions have been included in the simulation
routines. To correct a given CURMAT file for interactions, one needs first to
determine the harmonic constant of surface atoms, and the Wigner Seitz radius
10.2. SETUP 43
of surface and tip atoms. The ratio between current and interaction energy is
parametrized with respect to the Wigner Seitz radii, the parametrization has
the form (see PRL 91, 036803 (2003)):
The harmonic constants, the distance between nuclei and vacuum boundary of
surface and tip, as well as the lateral position of surface atom and tip apex
are needed to be given in the file INFORCE. At present, the program can only
account for primitive surface cells (one atom only). Then the current values in
CURMAT are used as the basis for a calculation of a file CURMATF, which
contains the currents, corrected for displacement of the surface atoms.
The line in the INSCAN file:
FORCES = T
The default is FORCES = F.
10.1.6 WAVE
Sometimes it is desirable to plot the decay characteristics of a single surface
state. The functionality is provided in the program, in this case the charge
density of a single state, defined by its energy eigenvalue, is plotted for the
on-top position of the unit cell.
The line in the INSCAN file:
WAVE = Ek [htr]
The energy eigenvalue has to be defined precisely enough, so that only a
single state is chosen.
10.2 SETUP
The setup of the calculation involves, apart from the chosen method, the follow-
ing parameters: bias voltage, bias dependency, scan area, thermal broadening,
ferromagnetic and antiferromagnetic transitions, absolute Fermi level, energy
and local resolution of the scan.
10.2.1 ANTIFERROMAGNETIC
In magnetic systems the vector of magnetization will have a direction in space,
which means that spin is no longer isotropic. In this case the calculation of
two separate scans, one with FERROMAGNETIC, the other with ANTIFER-
ROMAGNETIC ordering allows to simulate STM scan on magnetic systems,
where the angle between surface and tip magnetization vectors is used as an in-
put in the subsequent evaluation runs. In non-magnetic systems this parameter
is ignored.
The line in the INSCAN file:
ANTIFERROMAGNETIC
The default in a scan is ferromagnetic ordering of surface and tip states.
44 CHAPTER 10. KEYWORDS
10.2.2 AREA
The tip unit cell is typically made up of a film with a single atomic or a pyramid
apex. This geometry guarantees that the amplitude of the wavefunctions at the
edges of the tip unit cell are negligible compared to the amplitude at the apex.
In this case an integration over the tip unit cell of the overlap of surface and tip
wavefunctions, as required in the Bardeen method, contains mainly the overlap
at the tip apex. The integration area is usually the whole tip unit cell. This is
also the default in every simulation. However, it may be necessary to check the
convergency of an obtained result with respect to the integration area. In this
case the area has to be explicitly specified in units of the tip lattice vectors A1
and A2 . Note that the tip unit cell always has to be at least rectangular.
The line in the INSCAN file:
AREA = a1 a2
The default in every calculation is AREA = 1.0 1.0
10.2.3 BIAS
Setting the bias voltage for a topography simulation, or setting the bias voltage
for evaluation of a spectrum. In the first case the bias voltage either defines the
energy interval for the summation of surface charge (Tersoff-Hamann), or the
shift of Fermi levels of surface and tip systems (Bardeen). In the second case
also the CURRENT value has to be defined; in this case the BIAS/CURRENT
couple defines the setpoint of an STS simulation, as it does in experimental
spectra.
The line in the INSCAN file has the format:
BIAS = Vb
Note that negative bias ranges correspond to tunneling from filled surface
states into empty tip states, positive bias ranges lead to tunneling from empty
tip states into surface states.
10.2.4 CELL
The scan area depends on the symmetry of the surface (see further down) and
the input CELL. For rectangular lattices the variation of the parameter CELL
allows to scan across more than one unit cell. However, since the lateral res-
olution of the scan will be reduced, it is usually more efficient to scan across
a single unit cell and to evaluate the ensuing current matrix over more than
one unit cell. In this case the resolution is retained, while the ensuing constant
current contours still cover a wider area.
The line in the INSCAN file:
CELL = c1 c2
The default in every calculation is CELL = 1.0 1.0
10.2. SETUP 45
10.2.5 DELTA
Defines the broadening σ for the approximation of the delta functional by a
Gaussian in the simulations. The difference between the energy values of surface
and tip states in a scan is calculated and the probability of the transition scaled
with a Gaussian distribution with halfwidth σ. This only applies to topography
simulations, in spectroscopies the energy interval in the differential changes is
commonly small enough (around 20mV) so that this probability is set to one.
The line in the INSCAN file:
DELTA = σ [eV]
The default value in a scan is 100meV.
10.2.6 FERROMAGNETIC
In magnetic systems the vector of magnetization will have a direction in space,
which means that spin is no longer isotropic. In this case the calculation of
two separate scans, one with FERROMAGNETIC, the other with ANTIFER-
ROMAGNETIC ordering allows to simulate STM scan on magnetic systems,
where the angle between surface and tip magnetization vectors is used as an in-
put in the subsequent evaluation runs. In non-magnetic systems this parameter
is ignored.
The line in the INSCAN file:
FERROMAGNETIC
The default in a scan is FERROMAGNETIC ordering of surface and tip
states.
10.2.7 GRIDPOINTS
The lateral resolution in most experimental scans is in the range of 0.1 - 0.2
Å. This means that a typical unit cell of about 3 Å width, can be resolved
by about thirty discrete points of a scan. A simulated scan will scale with the
number of calculated points, so it is generally advisable to limit this number to
the experimentally sensible. The number is defined by the intervals along the
longest axis of the surface scan area. For quadratic unit cells, this leads to the
same number of intervals in both directions, for oblique or hexagonal cells, the
number of intervals in the shorter direction are calculated by the program.
The line in the INSCAN file:
GRIDPOINTS = N
The default is set to GRIDPOINTS = 31. Note that it is possible to do
spectroscopies with only a single gridpoint. In this case the point chosen will
be the point defined by the TOP position (see further down).
10.2.8 HOLLOW
The hollow position in the unit cell in units of the lattice vectors. This cor-
responds usually to the position of surface atoms. The input is used in spec-
46 CHAPTER 10. KEYWORDS
troscopy calculations of a single point. Apart from that it only plays a role in
evaluations.
The line in the INSCAN file:
HOLLOW = t1 t2
The default is set to HOLLOW = 0.5 0.5
10.2.9 LIMITS
Depending on the thermal environment the upper and lower limits of the bias
interval are not sharp but thermally broadened. The keyword LIMITS allows
to adjust the range according to thermal conditions. For room temperature
scans the usual limits will be about 50meV. Note that this parameter is ignored
in spectroscopy, since in this case the differential contributions from one bias
interval to the next is the decisive result of a simulation.
The line in the INSCAN file has the format:
LIMITS = L1 L2
Note also that L1 will be generally negative and L2 positive.
10.2.10 NKELDYSH
The NKELDYSH switch controls whether the scattering approach is used for
calculating the tunneling current, see section on Scattering method. It is highly
recommended to use the zero or first order scattering method for all cases dealing
with non-zero bias, in order to handle the bias dependency correctly.
NKELDYSH = n
where n means the following:
10.2.11 NSPECTRUM
In spectroscopy runs the bias range is divided in a number of intervals, the dif-
ferential changes are computed separately for every interval. It is recommended
that the energy resolution is about 20-50mV. This is sufficient for tunneling
spectroscopy in the ambient regime, down to about 150 Kelvin. For very low
temperature spectra the surface bandstructure cannot be resolved with sufficient
resolution (required are about 1meV), in this case interpolation routines for the
bandstructure have to be developed. This part of spectroscopy is currently
under development.
The line in the INSCAN file:
NSPECTRUM = N
10.3. EVALUATION 47
10.2.12 PIVOT
The keyword is part of a group of three keywords, specifying the scan area. The
PIVOT point is the lower left point of every scan. Its default is PIVOT = -0.5
-0.5, so that the zero point of the surface unit cell is in the middle of the scan.
Note that the units given in PIVOT are units of the lattice vectors A1 and A2
of the surface.
The line in the INSCAN file:
PIVOT = p1 p2
The default in every calculation is PIVOT = -0.5 -0.5
10.2.13 TOP
The on-top position in the unit cell in units of the lattice vectors. This cor-
responds usually to the position of surface atoms. The input is used in spec-
troscopy calculations of a single point. Apart from that it only plays a role in
evaluations.
The line in the INSCAN file:
TOP = t1 t2
The default is set to TOP = 0.0 0.0
10.2.14 ZVACUUM
The vacuum boundary is compulsory to be given for every evaluations in units
of Å as
ZVACUUM = z
The default value is
ZVACUUM = 0.0
which, in turn, results an error message. It should be noted that using
wavefunctions from VASP it is the first value after the STM command in the
INCAR file.
10.3 EVALUATION
bSKAN provides a variety of methods to analyze the data gained in STM/STS
simulations. Generally, it was sought to provide an interface to standard and
open source visualization software. The OpenDX program, which can be down-
loaded free of charge from [Link] is compatible with most of the
output.
The most important command line for an evaluation is
48 CHAPTER 10. KEYWORDS
10.3.1 CURRENT
In this case a line can either be:
CURRENT = Ival
or
CURRENT = 0.0
In the first case the evaluation routines search for a current value, which at
the defined BIAS will match Ival . Since the current range in the simulation
depends on the z-range, it is not guaranteed that Ival is part of the result. In
this case the program stops with an errormessage, typically:
CURRENT VALUE NOT FOUND
In this case a line in the OUTSCAN file should specify the minimum and
maximum current value in the simulation. Note that closed current contours
exist only for a limited range of values, so that even though the program writes
a file PLOTCON, the contour may contain holes. The values in the file are
the x, y, and z values of a given Ival contour. They can easily be plotted with
standard utilities, e.g. gnuplot.
In the second case, if Ival = 0.0, the whole three dimensional current map
will be written to a file CURRENT, which contains the current in three nested
loops.
The evaluation routine produces a file which looks exactly like the CHGCAR
files in VASP, with the only differences (i) the z-extension of the lattice, which
is now the z-range of the simulation; (ii) the z-values of the atoms, which are
10.3. EVALUATION 49
now generally negative, since the atoms are below the vacuum boundary. This
file can now either be directly visualized by OpenDX, or the atomic positions
and the current values are combined into three separate OpenDX script files,
with a utility programmed by David Bowler at UCL. In any case the resulting
image looks like (for +2V/50pA on Si(111)) the image shown in Fig. 10.1.
10.3.2 CORRUGATION
It is generally advisable to compute the full current map and to determine the
difference in apparent height for different points on the surface from the plot
routines e.g. OpenDx. However, in simple cases, e.g. on flat metal surfaces,
the corrugation can also be calculated from the difference in apparent height of
two specific points. These points are defined as the TOP and the HOLLOW
position, given in direct lattice coordinates. Here it has to be taken care that
both points are actually part of the surface grid. If they are not, then the nearest
points to the defined ones will be computed by the program automatically. The
input for a corrugation calculation is:
CORRUGATION = T
TOP = xT yT
HOLLOW = xH yH
The output file, PLOTCOR contains apart from the current values at top
and hollow position also the apparent barrier height, defined as the 0.95 the
logarithmic derivative of the current for both positions.
10.3.3 MERGE
For magnetic systems the program calculates the current and spectra depending
on the angle between the surface and tip magnetization vectors. In this case two
separate calculations need to be performed: one with ferromagnetic ordering,
FERROMAGNETIC
and one with antiferromagnetic ordering for the electron transition from
surface to tip. The two current or spectrum maps need to be renamed: the
CURMAT from a ferromagnetic calculation becomes CURFM, the CURMAT
from the antiferromagnetic calculation becomes CURAFM. For spectral maps
the corresponding names are CURSFM and CURSAFM. After the two maps
have been calculated, they can be merged by
MERGE = T
PHI = φ
This creates a new CURMAT or CURSPEC file containing the maps for the
chosen angle φ. This file can then be evaluated in the usual manner
10.3.4 PLOTS
Even though it is generally better to obtain the full current map it is sometimes
necessary to look at the current values at horizontal planes above the surface.
In this case the necessary input is:
50 CHAPTER 10. KEYWORDS
PLOTS = N
FPLOT = FILE
ZPLOT = z1 z2 ... zN
The program then creates N files, the filenames are F ILE.001 to F ILE.N ,
containing the current values in a horizontal plane, specified by the values
ZPLOT.
Chapter 11
Spectroscopy evaluations
A full three dimensional map of all the differential contributions dI(x, y, z, eV )/dV
is probably the most complete information about a surface electronic structure
one can have. From version 3.6 bSKAN is able to compute such a map and to
extract the data in a variety of different manners. From a practical point of
view the information, which can be compared to experimental data is usually:
2. A two dimensional I(V ) or a dI(V )/dV map over a certain region of the
surface; every gridpoint at the surface given by its unique values.
51
52 CHAPTER 11. SPECTROSCOPY EVALUATIONS
input. And the output written to PLTSTAT contains the statistical average of
I(V ) and dI(V )/dV values over a two dimensional plane.
The default in evaluations is STATISTICAL = F, in this case the program
writes the separate two dimensional maps to separate files. Here, the convention
is that the dI/dV maps are written to files
[Link]
where xxx is the bias index. The integrated differential currents are written
to files
[Link]
The integrated files are somewhat different than the files one could obtain
by performing a straightforward topography simulation. This is due to the
approximations used in differential spectroscopy. However, the difference should
in general be minor.
In addition, the program writes in both cases a file PLOTSPC, which con-
tains the graph for the spectrum at the TOP position.
Chapter 12
WAVEFUNCTIONS
The format of the wavefunction files used in bSKAN is roughly: (i) a header
giving the scale, the lattice vectors, the number of spins, k-points, maximum
eigenvalues, G-vectors, and z-gridpoints; (ii) for each k-point the position (re-
ciprocal lattice) and the weight, as well as the number of bands and G-vectors;
(iii) the complex amplitudes for each Fourier component at the z-gridpoints in
the vacuum. The first few lines of a typical WAVSAMPLE (WAVTIP) file are
shown in Table 13.4.
The first line is a comment, the next three lines define the surface lattice.
Line one and two give the lattice vectors in the surface plane, line three has only
one element, defining the distance between the first z gridpoint of the amplitudes
and the core of the surface atoms. The next three lines define the electronic
structure of the system: Fermi level, the number of spins, k-points, z-values, G-
vectors (reciprocal lattice vector for the 2dim expansion of the wavefunctions),
and eigenvalues. Then for every k-point the file contains first the coordinates
(in reciprocal space), and the weight of the k-point. Then for every eigenstate
at this point the expansion in reciprocal lattice vectors with their complex and
z dependent amplitudes.
53
54 CHAPTER 12. WAVEFUNCTIONS
Chapter 13
Geometry files
The geometry files ASAMPLE and ATIP contain the atomic positions of the
surface and the tip, respectively in the same format as the CONTCAR file
in VASP simulations ([Link]/vasp/). The first line is a comment
line. The following four lines define the three dimensional repeated unit cell
in the calculation. The next line defines the number of atoms of each species
followed by a line irrelevant for bSKAN, and the final line before the atomic
positions in direct coordinates is:
Direct
It is important to note that cartesian coordinates do not work. It is also
important that the scale (the second line of the file) is equal to unity.
The header of an ASAMPLE (ATIP) file thus looks roughly like:
THIS LINE IS A COMMENT LINE
1.000000000000000
13.5340237999999990 0.0000000000000000 0.0000000000000000
0.0000000000000000 9.5700000000000002 0.0000000000000000
0.0000000000000000 0.0000000000000000 25.0000000000000000
90 2 2
Selective dynamics
Direct
0.1666666666642058 0.0000000000000000 0.0000000000000000 F F F
0.5000000000000000 0.0000000000000000 0.0000000000000000 F F F
0.8333333333357941 0.0000000000000000 0.0000000000000000 F F F
55
56 CHAPTER 13. GEOMETRY FILES
Bibliography
[5] K. Palotas and W. A. Hofer, J. Phys: Condens. Mat. 17, 2705 (2005).
[6] G. Binnig and H. Rohrer, Helv. Phys. Acta 55, 726 (1982).
[7] G. Binnig, H. Rohrer, C. Gerber, and E. Weibel, Appl. Phys. Lett. 40, 178
(1982).
[8] G. Binnig, H. Rohrer, C. Gerber, and E. Weibel, Phys. Rev. Lett. 49, 57
(1982).
[9] M. Büttiker, Y. Imry, R. Landauer, and S. Pinhas, Phys. Rev. B 31, 6207
(1985).
[10] J. Tersoff and D. R. Hamann, Phys. Rev. Lett. 50, 1998 (1985).
57
58 BIBLIOGRAPHY