Reference calculation
ViPErLEED, which is based on the TensErLEED package, follows the same
scheme as TensErLEED for the calculation of diffraction intensities. Taking the
reference structure (POSCAR file) and precomputed scattering
phase shifts (PHASESHIFTS file) as input, a so-called
reference calculation is performed. In the code, the reference calculation
is often shortened to refcalc
.
Following the reference calculation, a local structure optimization can be performed using the tensor-LEED approach. This is accomplished by running a delta-amplitude calculation and a structure search.
Reference calculation in ViPErLEED
The reference calculation in ViPErLEED is implemented as a smart wrapper
for the TensErLEED reference calculation and is called by setting RUN = 1
(see also the RUN parameter). Calculations for each energy step
(defined by THEO_ENERGIES) are (essentially) independent from one
another. Thus, the computation time scales roughly linearly with the total
number of energy steps.[1] Additionally, N_CORES energy steps for the
reference calculation are executed simultaneously.
Note
The reference calculation can be memory intensive for large unit cells. If using a large N_CORES value, make sure not to run into memory limitations.
For each energy step, ViPErLEED determines the angular-momentum quantum number
ℓmax at which the spherical-harmonics expansion can be truncated. See
parameters LMAX and PHASESHIFT_EPS for details.
ViPErLEED will then compile the required TensErLEED source files for all
required values of ℓmax at run time in temporary directories named
refcalc-compile_LMAX<lmax>
. A refcalc_compile_LMAX<lmax>.log
log file is stored in the SUPP/compile_logs
folder for each ℓmax value.
ViPErLEED will then go through all required energies from highest
to lowest, performing calculations in temporary directories named
refcalc-part_<energy>eV
. The output amplitudes, intensities
and tensors are stored in the work directory before further processing.
A log file containing messages emitted by the
ref-calc.f TensErLEED Fortran program can be found under
SUPP/refcalc-<timestamp>.log
.
Once the TensErLEED reference calculation has concluded, ViPErLEED collects all files, removes temporary directories, and combines the results into a THEOBEAMS.csv file. The calculated beams are also plotted for inspection in THEOBEAMS.pdf.
Finally, unless the tensor output was disabled via TENSOR_OUTPUT,
ViPErLEED collects the tensor files created by TensErLEED.
They are stored, in compressed form, in the Tensors
directory.