Reflectivity Analysis
Reflectivity analysis for an overlayer on a substrate involves two types of runs:
(i) a "slab run" with the total slab consisting of one or more layers of the overlayer on one
or both sides of a substrate-slab consisting of typically 5 atomic layers of the substrate, with
this total slab surrounded on both sides by vacuum and then periodically repeated in a supercell
geometry; (ii) a "bulk run" consisting of the bulk substrate material, periodically repeated
in the usual way (i.e. without vacuum layers). For a given bulk run, there are often many slab runs
in which, e.g., the number of layers of the overlayer material, and/or the width of the vacuum
regions, are varied. For the case of reflectivity of a free-standing slab, then the bulk run
is not needed. Procedures for the two types of runs are provided below.
Bulk Run
-
Run WAVECAR-trim to split the WAVECAR file into its two spin
components: WAVECAR-s1 and WAVECAR-s2. Can also trim the number of
bands, but that's not necessary when using Euler (node n07) since
there's lots of memory. If have only a single spin channel, then don't
need to run WAVECAR-trim and can simply rename (or copy) WAVECAR to
WAVECAR-s1.
-
If desired can run PotPlot and plot the result to be sure that everything is normal,
but this step isn't necessary.
-
Put entry in efermi.dat, from prior VASP DOSCAR run (the run with k-points in all of x,y, and z directions).
-
Run ebands, to work out appropriate dimensions of arrays. Plot result and modify entry in efermi.dat if needed.
-
Run ebandsort, and plot resulting bands to be sure that the sorting and worked properly.
-
Run LDeval. Line 3 in the input file must be adjusted to correspond
to the z location (as fraction of unit cell) in bulk at which
wavefunctions will be matched to those in the slab, i.e. generally taken
to be on a layer of the bulk atoms.
Slab Run
-
Run WAVECAR-trim to split the WAVECAR file into its two spin
components: WAVECAR-s1 and WAVECAR-s2. Can also trim the number of
bands, but that's not necessary when using Euler (node n07) since
there's lots of memory. If have only a single spin channel, then don't
need to run WAVECAR-trim and can simply rename (or copy) WAVECAR to
WAVECAR-s1.
-
Run PotPlot, and plot result. Plot avpot.dat, and modify entry in evac.dat if needed.
- Run ebands, to work out appropriate dimensions of arrays.
- Run ebandsort, and plot resulting bands to be sure that the sorting
and worked properly. Band sorting is less important for the slab
computation compared to the bulk computation, so, at least tentatively,
analysis can proceed without perfect sorting.
- Run reflecSUB-pass1. Some entries in the input file that might need
adjusting are:
- lines 8,9 - z locations (as fraction of unit cell) in slab and bulk
computations at which to match wavefunctions
- lines 10,11 - starting z locations (as fraction of unit cell) for
comparison of slab and bulk wavefunctions; comparison is done over a z
distance corresponding to one bulk unit cell
- line 12 - z location (as fraction of unit cell) at which the potential
of the slab and bulk computations are compared. For the bulk, the
minimum potential over the unit cell is employed, so for the slab this
entry on line 12 must specify the location where the potential is
similarly a minimum, i.e., on a plane of substrate atoms in the slab.
- line 21 - name of output file from bulk LDeval computation
- line 27 - specifies operating system (very important)
- If gaps in bulk DOS exist, run reflecVAC-pass1. Some entries in the input
file that might need adjusting are:
- line 5 - z locations (as fraction of unit cell) in the slab at which the
substrate part of the slab begins and ends
- line 12 - this should not be zero, but it should a value
something like 0.3 (and possibly different values need to be tried).
This value adjusts the type of boundary condition such that these VAC results
can be utilized as input for the reflectivity analysis in the energy
regions where gaps in the DOC exist.
- Run reflec-pass2 for the SUB run, and if needed for the VAC run.
NOTE: if merging of SUB and VAC results are to be done (i.e. if there are
gaps in the bulk DOS of the substrate material), then after an
initial run of reflec-pass2 for both SUB and VAC, reflec-pass3 should
be run in order to properly determined the regions that will be merged (see
below). Then return to reflec-pass2 in order to complete the analysis of this
pass, namely, by adjust phases by adding or subtracting values of pi at specified
energies. These adjustments are put in the files phasecorrec-vac-s1,
phasecorrec-vac-s2, phasecorrec-sub-s1, and phasecorrec-sub-s2. By
continually adjusting the values in these files, rerunning reflec-pass2,
and plotting the phase results using phase.exg, one can figure out where
the additive factors of pi need to be inserted. If there are no gaps in
the bulk DOS, then the analysis is complete at this point, with the
other parameters in the reflec-pass2 input file specifying the inelastic
broadening (the broadened spectrum is always output from the pass2
analysis, whether or not it's actually needed).
- If there are gaps in the bulk DOS, then one must merge the SUB and
VAC results, with their respective phase adjustments, and possibly
including a few additional phase adjustments. The reflec-pass3 program does
that, and also applies the inelastic effects to produce the final
broadened spectum. When combining the SUB and VAC results, one must specify
starting and ending channels for each merged region, and there must be an identical
number of states in the respective regions. For this purpose, it may be necessary to
exlude some states from the VAC computations. The reflec-pass3 program automatically
determines these states that must to excluded, as a first step in the execution of the
program.
- If two spin channels are computed, then the final broadened
reflectivity results for the two spin channels can be averaged together
using the reflec-pass4 program.