Next: 3.8 what='scf_dos'
Up: 3. Input variables
Previous: 3.6 what='scf_bands'
Contents
With this option the code makes a self-consistent calculation followed
by a band structure calculation as with the option
what='scf_bands', but it assumes
that the cell contains a slab with surfaces perpendicular to the
z
direction. Therefore the two-dimensional Bravais lattice of the surface
is identified and the default path is chosen on the two-dimensional
Brillouin zone.
There are three options: Plot of the projected band structure (PBS);
plot of the bands of the slab; plot of the bands of the slab above the
projected band structure (the Fermi energies are aligned). In the first
case the code computes several paths
of k-points parallel to the surface (at different k
z
) and does
not plot the individual bands but selects the energy regions in which
there are bulk states. The second case is similar to a standard band plot.
The default path contains only k-points parallel to the
surface (with k
z = 0
). The third case assumes that the projected band
structure has been already calculated and the information to plot it
can be found on the file flpbs. For the rest it is
similar to case two. For each direction, bands belonging to different
irreducible representations of the point co-group of k can be plotted
in the same panel or on different panels.
This option is controlled by the following variables:
lprojpbs: When .TRUE. the projected band structure (PBS) is
calculated if nkz > 1 otherwise it is read from file.
Usually this variable is .TRUE.. Set it to .FALSE. if
you do not want to see the PBS, or if you want to see
the bands of a bulk projected on the surface Brillouin
zone without the PBS.
Default: logical .TRUE. (forced to .FALSE. if what is
not 'scf_2d_bands')
nkz: The number of k_z values used for the PBS plot.
If lprojpbs is .FALSE. a plot of the bulk bands projected
on the surface Brillouin zone is produced.
Default: integer 4 (forced to 1 if what is not
'scf_2d_bands').
gap_thr: minimum size (in eV) of the gaps in the PBS.
Default: real 0.1 eV
sym_divide: When .TRUE. the bands belonging to different
irreducible representations are plotted in different
panels. This option can be controlled by variables
specified in the path (see below).
Default: logical .FALSE.
identify_sur: When .TRUE. the surface bands are searched
and identified on the surface band structure.
Default: logical .FALSE.
dump_states: If .TRUE. and identify_sur is .TRUE. dump
on the file 'dump/state_k_#' the planar averages of
the density (and in the noncollinear case also of
the magnetization density) of each state. One file for
each k point is produced and # is the number of
the k points. (Use with a small number of k points
or it might create quite large files).
Default: logical .FALSE.
sur_layers: The number of surface layers on which we add
the charge density of each state to check if it is
a surface state.
Default: integer 2
sur_thr: the threshold (in percentage) of the charge
density that must be on the surface layers to
identify a state as a surface state.
Default: calculated from the actual charge density
values of the states.
sp_min : minimum distance between layers. Two atoms
form different layers only if their distance along
z is larger than this number. Should be smaller
than the interplanar distance (in a.u.) written by
the tool gener_3d_slab.
Default: real 2.0 a.u.
subtract_vacuum: if .TRUE. the charge density of each
state on vacuum is subtracted (to remove the vacuum
states that are confused with surface states)
Default: .TRUE.
force_bands: when .TRUE. the bands are plotted in any case.
Used to plot the bulk bands on top of the PBS,
mainly for debugging.
Default: logical .FALSE.
only_bands_plot: if the files with the bands, the
representations, the pbs and the projections are already
on files, this option allows to change the parameters of
the plot (such as the maximum energy or sur_thr) and
do another plot without any additional calculation. If the
files are missing and this variable is .TRUE. an error
occurs.
Default: logical .FALSE.
flpbs: the name of the file that contains the information on
the projected band structure.
Default: character(len=*) 'output_pbs'
flprojlayer: the name of the file that contains the information
of the projection of the charge density of each state on
each layer. Calculated only when identify_sur is .TRUE..
Default: character(len=*) 'output_projlayer'
The bands and the gnuplot scripts are saved on the same files that would
be used with the option what='scf_bands'.
This option is not yet available for lsda calculations.
Number of tasks for this option: 1. Image parallelization is
not useful with this option.
By default the symmetry separation is not carried out. The code plots the
bands of the slab on the same panel with a different color for each
representation as in the bulk band structure plot (color refer to the
representations of the slab point co-group of k).
In order to plot in different panels the different representations
the user can specify sym_divide= .TRUE..
By default this option is disabled and its use is rather tricky.
In order to use it you must indicate explicitly the
path on the two dimensional Brillouin zone using the option
q_in_band_form=.TRUE.. Close to the
starting point of a given line you indicate the number of
representations for that line (
0
means all representations) and which ones.
For instance for a
(111)
surface of an fcc metal in the direction
2#2 - 3#3
you may
want to plot separately the states even or odd with respect to the mirror
plane perpendicular to the surface that contains the
2#2 - 3#3
line.
In order to do so you can specify the path as follows:
5
gG 30 0
K 30 0
M 30 1 1
gG 30 1 2
M 1 0
The representations to plot are indicated by their numbers
(in this case
1
or
2
).
The number of the representation and the point co-group of each
k-point can be found in the output of thermo_pw.
These representation numbers refer to the point co-group of each
k-point in the slab when you plot the slab band structures and
to the point co-group of each k-point in the bulk when you plot
a PBS. Some particular values of
kz
, such as
kz = 0
might have a point co-group in the bulk different from the
point co-group of a point with a generic
kz
but in this
case the representations are transformed into those of the smaller
group using the group-subgroup relationships and
the symmetry descent of the irreducible representations
(only when sym_divide=.TRUE.). The representations of the
smaller point co-group have to be used in the PBS input.
In general, the point co-group of a k-point
4#4 = (5#5, kz)
with component
5#5
parallel to the surface
and a generic
kz
in the bulk is different
from the point co-group of a k-point
4#4 = (5#5, 0)
in the slab. Moreover, experimentally one cannot consider symmetries
of the slab that exchange the two surfaces, and therefore the
point co-group a k-point
4#4 = (5#5, 0)
on the surface
is a subgroup of the point co-group of
4#4 = (5#5, 0)
on the slab. The point co-group
4#4 = (5#5, kz)
in the bulk does not contain operations that exchange
kz
with
- kz
but it might be larger than the point co-group of
4#4 = (5#5, 0)
on the surface because
it might contain symmetries of the bulk that require fractional translations
perpendicular to the surface that are not symmetries neither of the slab nor of
the surface.
The point co-group of a given k-point
4#4 = (5#5, 0)
on the surface can be found by removing from the corresponding slab
point co-group the
operations that exchange the two surfaces. It is also the group formed
from the intersection of the point co-group of
4#4 = (5#5, 0)
in the slab and of the point
4#4 = (5#5, kz)
in the bulk.
It is the user responsibility to specify the same number of panels
for the PBS and for the slab calculation and to assure that the
representations plotted in each panel correspond to each other.
Returning to the example of the
(111)
surface of an fcc, in the direction
2#2 - 6#6
the slab has
C2
symmetry about the
x
-axis, a symmetry
that the surface has not. Therefore you can plot with two different colors
the bands that belong to the
A
or
B
representations of the slab,
(states even or odd with respect to a
180o
rotation about
the
x
axis, an operation that exchanges the two surfaces)
but you cannot separate the PBS into even or odd states with respect to
the
C2
symmetry. You might specify two different panels with the
A
or
B
bands in each, but the PBS in the two panels will be the same.
On the contrary, for a k-point along the
2#2 - 3#3
direction,
the point co-group has the
Cs
symmetry both for the slab and for
the surface, so you can separate both the PBS
and the surface states in two different panels.
There is no input variable to control or change the colors or style of the
plot. To change the defaults you can modify directly the gnuplot
script, it is written in such a way that a change of a few variables can
control the entire plot.
Next: 3.8 what='scf_dos'
Up: 3. Input variables
Previous: 3.6 what='scf_bands'
Contents
2024-09-24