DOI: 10.48436/p4864-chr40
title: Supplementary Dataset for Structural Optimization in Tensor LEED Using a Parameter Tree and R-Factor Gradients

description: This archive contains raw data and results supplementing the paper "Structural Optimization in Tensor LEED Using a Parameter Tree and R-Factor Gradients", which introduces the viperleed-jax package. viperleed-jax is a modern and efficient implementation of structure optimization for quantitative low-energy electron diffraction (LEED-I(V)). It builds on the viperleed.calc Python package for LEED-I(V) calculations published previously.

For up-to-date information on viperleed.calc and viperleed-jax, see the project homepage at https://www.viperleed.org.

Data Structure

The archive contains the following files:

viperleed-jax-raw-data/├── Fe2O3_012_1x1/                                                <-- Fe2O3(1-102)-(1x1)│     ├── Fe2O3_viperleed-jax-CPU/│     │     └── ...│     ├── Fe2O3_viperleed-jax-GPU/│     │     └── ...│     ├── Fe2O3_TensErLEED/│     │     └── ...│     ├── Countour_plot_meshes/│     │     └── ...├── Ir_2x1_O/                                                              <-- Ir(100)-(2x1)O│     └── ...├── Pt25Rh75/                                                            <-- Pt25Rh75(100)-(3x1)O│     └── ...├── Pt_111_Te_10x10/                                             <-- Pt(111)-(10x10)Te│     ├── ...│     └── CMAES_result_Pt_10x10_from_displaced_LMAX_10.npz├── timing_benchmarks                                          <-- Timing benchmark results│     ├── timing_benchmarks_Fe2O3.csv│     ├── timing_benchmarks_Ir2x1O.csv│     ├── timing_benchmarks_Pt25Rh75.csv│     └── timing_benchmarks_Pt_10x10.csv└── README.md                                                       <-- This README fileFor reproducibility, the Python environment used for the calculations is provided in the included requirements.txt file.

Optimization of the Fe2O3(1-102)-(1x1) surface structure

Using viperleed-jax, a LEED-I(V) structure optimization was performed for the Fe2O3(1-102)-(1x1) surface. The optimization is performed in three segments, each consisting of one full-dynamic reference calculation and one tensor-LEED structure optimization. The optimization process is discussed in detail in the main text of the above-mentioned paper.

This system was also used to benchmark the performance of viperleed-jax on CPU and GPU hardware, and to compare it against the TensErLEED backend used previously in viperleed.calc. The optimization progress for these calculations can be found in the Fe2O3_012_1x1/ directory and the appropriate subdirectories. The top level of each subdirectory contains the final result.

Details of the optimization progress can be found in the history directory and in history.info. The countour plots shown in the main text were generated using the data in the Countour_plot_meshes/ directory.

Optimization of other surface structures

The archive further contains inputs and results for the optimization of three additional surface structures using viperleed-jax on GPU hardware, as discussed in the SI of the main paper. These structures are:

- Ir(100)-(2x1)O

- Pt25Rh75(100)-(3x1)O

- Pt(111)-(10x10)Te

For Ir(100)-(2x1)O and Pt25Rh75(100)-(3x1)O, the appropriate directories contain the input and output files, plus a step-by-step history as produced by viperleed .calc's bookkeeper utility. The top level of each directory contains the final result. Details of the optimization progress can be found in the history directory and in history.info.

The optimization progress for these calculations can be found in .npz files in the respective SUPP directories. .npz is a format for storing compressed array data by the Python Numpy library. See the Numpy documentation for more details.

For Pt(111)-(10x10)Te, due to the large size of the system, only the inputs and the .npz file containing the optimization progress are provided.

Timing benchmarks

The performance of viperleed-jax on GPU was benchmarked in the form of time needed to evaluate a single R-factor value and R-factor gradient, vs. the angular momentum cutoff used in the LEED-I(V) calculation. These benchmarks are provided in thetiming_benchmarks/ directory as .csv files, listing the cutoff used and the time taken for R-factor and gradient evaluation, as well as the time taken to just-in-time compile the JAX functions for the given cutoff.