Scanning tunneling microscopy (STM) plots
Creating STM plots (STM)
The STM keyword generates plots comparable to those obtained in scanning tunneling microscopy (STM) experiments:
STM [CURRENT [curr.r]HEIGHT [hei.r]] [TOP top.r]
[{CELLCELLS} nx.i ny.i] [NPTS n1.i n2.i]
[LINE x0.r y0.r x1.r y1.r npts.i]
The STM keyword should be applied only to systems meeting the following requirements:

The system is a slab, possibly with molecules adsorbed onto one or both faces.

The slab and the corresponding vacuum are perpendicular to one of the crystallographic axes (a, b, or c). The two angles related to the perpendicular axis must be right. For instance, a typical situation is one where a and b form a hexagonal cell in the plane, and c is perpendicular to the slab. The angles related to c (alpha and beta) must both have 90 degrees.

The slab has two faces: one with vacuum above and one below. Only the face with vacuum above it will be used (i.e. critic2 will scan in the positive vacuum direction).

The STM plot calculation uses the reference field.
The STM keyword uses the popular TersoffHamann approximation, in which the observed current is proportional to the local density of states at the Fermi level:
\[\begin{equation} I \approx V \rho_{\rm loc}({\bf r},V) \end{equation}\]where \(I\) is the current, \(V\) is the bias voltage, and \(\rho_{\rm loc}\) is the local density of states at \(E_F\):
\[\begin{equation} \rho_{\rm loc}({\bf r},V) = \sum_{ {\bf k},n}^{E_FeV\to E_F} \psi_{ {\bf k},n}({\bf r})^2 \end{equation}\]where the sum runs only over the oneelectron states that have energies between \(E_FeV\) and \(E_F\).
To use the STM keyword, the reference field must be the local density
of states at the Fermi level \(\rho_{\rm loc}\) calculated by your
quantum chemistry package of choice. For instance, in Quantum
ESPRESSO, a Gaussian cube file containing the LDOS can be obtained by
using plot_num=5
and a sample_bias
equal to the bias voltage (in
Ry!).
There are two main modes of operation in STM: constant current and constant height. In constant current mode, the tip is allowed to move vertically in a way that the current through it is constant. This results in a map of tip height as a function of displacement over the surface. In the constant height mode, the height is kept fixed and the STM plot represents the current across the tip.
Critic2 can generate plots for both STM operation modes. In the
constant current mode, selected with the keyword CURRENT, the plot
represents the height of the tip relative to the top of the surface,
in angstrom. The height corresponds to a constant current given by an
LDOS equal to curr.r
(default: 0.001 a.u.), so the plot is
essentially the height of the LDOS=curr.r
isosurface as a function
of the displacement over the surface.
In CURRENT plots, the height is calculated relative to the top of the
surface, which is taken as the coordinate in the vacuum direction of
the last atom before the vacuum. The position of the top of the
surface, which affects only the length scale on the plot and not the
shape of the plot itself, can be changed with the TOP keyword. The
top.r
value corresponds to the fractional coordinate in the vacuum
direction of the height to which the constantcurrent plot will be
referred. For instance, to refer the constantcurrent plot to the
center of the slab, use TOP 0.5
. The CURRENT keyword is the default
if no CURRENT or HEIGHT is given.
The HEIGHT keyword selects the constantheight mode plot. In this mode
of operation the LDOS, which is proportional to the current across the
tip, is plotted at a constant height over the surface. The
hei.r
option to HEIGHT is the fractional coordinate along the
perpendicular axis of the plot plane. By default, critic2 uses the
fractional coordinate corresponding to the last atom before the
vacuum plus one bohr into the vacuum.
The CELL (or CELLS) keyword controls the number of unit cells plotted
in each inplane crystallographic direction (default: 1 1
). The
number of points plotted in each inplane unit cell is given by the
NPTS keyword (n1.i
and n2.i
). By default, critic2 uses the number
of grid points in each of those directions if the reference field is a
grid, or 51x51 points if not. If a grid is used, letting critic2 use
the grid geometry (by not using NPTS) is strongly recommended because
it is cheaper and accurate.
On output, two files will be written. The <root>_stm.dat
file
contains the 2D data for the STM signal on the selected plane. The
<root>_stm.gnu
file is an example script that generates a plot
similar to those found in the literature.
The LINE keyword makes critic2 plot a line containing the STM
information (either height or current) instead of a plane. The line
goes from (x0.r
y0.r
) to (x1.r
y1.r
), in fractional
coordinates for the inplane crystallographic axes. npts.i
points
along the line are calculated. The output file is
<root>_stm_line.dat
.
The current implementation of STM has benefited from the code and the guidance kindly provided by Enrico Benassi (see the THANKS file).