Skip to content

Preparations

The SALTED model

The Symmetry-Adapted Learning of Three-dimensional Electron Densities (SALTED) model was introduced in paper 10.1021/acs.jctc.1c00576, building on previous work for isolated systems 10.1021/acscentsci.8b00551. The real-space electron density is represented as a linear combination of products of numerical atom-centered orbitals, akin to a density fitting procedure. The density fitting coefficients are learned from a set of small reference structures using a Symmetry-Adapted Gaussian Process Regression model (SAGPR). SALTED has been applied to large molecular datasets by enhancing model optimization methods, as detailed in 10.1021/acs.jctc.2c00850. This tutorial is based on the improved SALTED model presented in this paper.

Additionally, the Symmetry-Adapted Learning of Three-dimensional Electron Responses (SALTER) model is derived from SALTED with a small, yet crucial, change to the descriptor. This adaptation enables the prediction of vector fields, like the electronic density response to external electric field. For more details, refer to 10.1063/5.0154710.

Linux only 🐧

FHI-aims and SALTED are only available on Linux OS. For Windows users, please use WSL or virtual machines.

Install FHI-aims

In principle please use recent versions of FHI-aims, and for this tutorial we will use the version 240403.

To install FHI-aims on your cluster or PC, you will need a FHI-aims licence and you can find further information here. Then you can follow the tutorial Basics of Running FHI-aims to install FHI-aims. The CMake file is important and you can find more information in the CMake Tutorial for Compiling FHI-aims (parallel version).

Install SALTED

You can find the SALTED code in GitHub. To install SALTED, please follow the project README, especially the dependencies section.

Editable python package

If you want to modify the SALTED code, you can install SALTED with the following command:

python -m pip install -e .

where -e means editable installation, which means you can modify the code and the changes will be reflected in the installed package. This is useful for looking into the code / debugging.