VLJ_CONFIG

VLJ_CONFIG allows to set several configuration parameters for the tensor-LEED optimization using the viperleed-jax plugin. These parameters control global settings around the calculation of the amplitude changes and the optimization process.

Syntax:

VLJ_CONFIG = recalc_ref_t_matrices True  ! use re-calculated t-matrices
VLJ_CONFIG = precondition False          ! do not use preconditioning

Multiple parameters can be set on the right-hand side, separated by commas.

Available setting are:

  • precondition: When using a two-phase optimization strategy (e.g. CMA-ES followed by SLSQP, see VLJ_ALGO), this flag controls whether the \(R\)-factor surface for the second phase is preconditioned using the covariance matrix estimated by CMA-ES. This is based on the idea that the covariance matrix in CMA-ES in the limit of many generations approaches the inverse of the local Hessian matrix of the sampled function [28].

    Preconditioning can help improve the convergence of the second phase optimization. Default: True.

  • recalc_ref_t_matrices: If True, re-calculate the t-matrices for the reference structure, else use the t-matrices as read in from the tensor files (calculated in the Reference calculation). The t-matrix calculation in viperleed-jax is uses different (more efficient and accurate) algorithms than the TensErLEED reference calculation. This leads to slightly different results for the t-matrices of the reference structure. Since the calculation of amplitude changes uses the differences between the t-matrices of the reference structure and the perturbed structure, this can lead to slightly different results for the amplitude and thus the \(R\)-factor. Default: False.

  • t-leed-l_max: Cutoff value of the angular momentum quantum number \(\ell\) to be used in the tensor-LEED calculation. Default: Use the highest value used in the reference calculation (as determined by LMAX and PHASESHIFT_EPS).

  • use_symmetry (experimental): Toggle whether to use the advanced symmetry based calculation of t-matrices and propagtors. This can significantly improve performance. Default: True.

  • occ_norm: Select the method used to normalize occupational parameters that ensures the total occupation of all elements on one site is \(\leq 1\). Available options are:

    • mirror: If the total occupation is larger than 1, mirror the occupation parameters on the \(\sum_i c_i = 1\) (hyper-)plane.

    • project: If the total occupation is larger than 1, project the occupation parameters onto the \(\sum_i c_i = 1\) (hyper-)plane.

    Default: mirror.

  • preoptimize_v0r: If True, the initial guess for the offset of the real part of the inner potential \(V_0r\) is sampled and optimized on the main optimization. The \(R\)-factor is very sensitive to \(V_0r\). Pre-optimizing this parameter can help find a better starting point for the proceeding optimization.

    If the search segment is executed without a reference calculation during the same run, and no pre-optimization is done, the \(R\)-factor at of the initial guess may be artificially high, since no information about the correct shift of \(V_0r\) is available.

    Default: True.