How to understand this CHANGELOG (and FHI-aims):
Here, we list an overview of recent changes in FHI-aims. A complete record is available directly through the FHI-aims GitLab. Every user is welcome and encouraged to gain access to the FHI-aims GitLab. The GitLab repository is also the location where bug fixes, improvements etc. will be made available.
A final general note: Please have a look at the growing Wiki in the FHI-aims GitLab. You’ll find helpful information about compiling and running FHI-aims: https://aims-git.rz-berlin.mpg.de/aims/FHIaims/-/wikis/home
AI guidelines
The FHI-aims AI guidelines were added to the source code. You can
find them in the file AIMS_AI_GUIDELINES.md.
They explain how AI tools may be used when working with or developing FHI-aims, how to protect the FHI-aims source code, and how to ensure that AI-assisted work complies with the FHI-aims license. They also address human responsibility for reviewing AI-generated suggestions and respecting third-party licenses when contributing code or other content.
The AI guidelines were discussed and decided by the aims-coordinators. This is the first version of the AI guidelines and we want to review and improve them over time. Thus, we appreciate any feedback you can give. Also, if something remains unclear or you have specific questions, please feel free to ask.
Changes since release version 260331
25 different authors among more than 180 merged MRs.
Relativistic Q4C Forces and Stress (Wentao Zhang)
- Added support for forces for relativistic Q4C calculations at the LDA and GGA level for periodic systems. (!2130, !2180). This also enabless structure relaxations with Q4C (!2303).
- Bugfix: update the frozen W matrices of q4c method in SCF iteration (!2282)
Magnetic Anisotropy Energy (Xingtao He)
- The Magnetic Anisotropy Energy (MAE) can be computed from the following set of keywords in control.in:
include_spin_orbit
calculate_mae .true.
mae_axis 1 1 0 0
mae_axis 2 0 0 1
This will compute the MAE based on the SOC corrected eigenvalues as the difference between the x axis and z axis.
- Note that the MAE needs a dense k-grid to get converged.
Grand-Canonical DFT (Brad Ayers)
- Constant-potential (grand-canonical) SCF: the electron number floats while the chemical potential is held at a target electrode potential; the headline energy becomes the grand potential Ω = E\(_{KS}\) - μN, reported alongside the canonical energy components at every iteration and in the final output (!2267).
- New keywords
gcdft,gcdft_target_potential,gcdft_reference_potential,gcdft_mu_tolerance,gcdft_mu_damping,gcdft_allow_jellium,gcdft_omit_mu_n_term. - Net electrode charge is compensated by the MPB solver or an Environ
embedding; convergence additionally requires |eF - μ| below
gcdft_mu_tolerance. - FHI-aims manual section “Grand-Canonical DFT” added, including basis-set guidance for charged electrodes.
Skala Functional (James Green, Sebastian Kokott, Konstantin Lion, Andrei Sobolev)
- Support for the machine-learned XC functional Skala (G. Luise et al, arXiv:2506.14665) has been added (!2230). Skala functional evaluationscan be run on either CPU and CUDA.
- To compile FHI-aims with Skala support, enable
USE_SKALAand provide a LibTorch installation throughLIBTORCH_PATH:
set(USE_SKALA ON CACHE BOOL "")
set(LIBTORCH_PATH "<path>" CACHE STRING "")
For installation with CUDA please see manual, or ftorch CI pipeline
(cmake/toolchains/ftorch.intel.cmake)
- Skala can be selected in
control.in:xc skala 1.1. The corresponding model weights must be available. They can either be placed in the working directory under the predefined model name or specified explicitly usingskala_model_path. Model weights for Skala 1.0 and 1.1, as well as several baseline functionals, are supported. They are distributed under MIT license with FHI-aims source code inexternal_libraries/Skala/modelsdirectory - Skala is currently an experimental feature:
- Restricted to molecular systems; periodic boundary conditions are not supported.
- Forces and stress are not implemented.
- Results from Skala-1.1 are also dependent on the grid partition
scheme, so the same
partition_typeshould be used consistently when comparing calculations (inherent to Skala itself). - Precompiled LibTorch distributions may cause conflicts with system mathematical libraries, in particular Intel MKL.
- When Skala is requested, FHI-aims prints an experimental-feature
warning and stops unless
override_warning_skalais specified incontrol.in. - More info: see part of manual chapter 3.3 on Skala functional.
Symmetry-broken initial density (James Green, Sebastian Kokott)
- Added a framework for initializing from symmetry-broken free atoms
(
initial_density orbital_occupations). In addition, initial orbital occupations can now be specified throughinitial_occupationkeyword. (!2293). The framework is especially helpful for converging free atoms faster. initial_density orbital_occupationsis now default for free atoms; the old default can be switched on underinitial_density spherical_atomsinitial_density spherical_atomsremains the default for multi-atomic systems.
Updates for LibRPA and Periodic GW (Minye Zhang)
- Updates to the library LibRPA (!2206):
- spinor wave-function parsing
- two-component periodic GW calculations for k-grid/band quasiparticle energies
- improved band interpolation to conserve degeneracy at small k-grid
- improved QP equation solver
- Updates to the interface (!2221 !2258)
- Added batch LVL coefficient generation for LibRPA parsing and symmetry-operation export. (!2263 !2233)
- Fixed LibRPA band output for hybrid functionals (!2279 )
- Rank-1 update method for periodic GW head correction (!2311)
- Documentation updates (!2162)
Berry Phase Polarization Improvements (Elia Stocco, James Green)
- Substantially reduced memory use in the ScaLAPACK polarization
implementation.
use_local_indexandload_balancingare supported for parallel polarization calculations. (!2147) - Added a parallel LAPACK implementation of polarization (!2153)
- Related bugfixes and improvements (!2138 !2227 !2295 !2204)
Friction and Superconductivity Improvements (Connor Box)
- Output improvements:
- Added HDF5 output for frequency-dependent electronic friction. (!2181)
- Friction output now includes separate spin-channel results for collinear-spin calculations and can write EPCs for occupied-to-occupied and unoccupied-to-unoccupied transitions. (!2173 !2140)
- Restored
friction elsi epc write, fixed the associated finite-difference matrix handling, and added state indices to EPC output. (!2172 !2118) - Added atom-resolved phonon DOS and atom-resolved Eliashberg-function output for superconductivity. (!2141)
- Updated friction acoustic-sum-rule handling and enabled the superconductivity “grid” mode. (!2171)
- Fixed the ScaLAPACK analytical-friction tensor for clusters and enabled ScaLAPACK for the corresponding mode-2 calculations. (!2201)
- A number of changes to improve the numerical stability of the
superconductivity code, in order to be more aligned with established
workflows (!2239):
- A new keyword for superconductivity,
alpha2f_frequency_cutoff, excludes modes with frequencies below this value from construction of the Eliashberg function. - Eliashberg function construction switched back to the “mode” style from pre-May 2026
- Lambda and derived quantities are now calculated directly from the modes - not from integrating the Eliashberg function
- A new keyword for superconductivity,
Transport Module Improvements (Xingtao He)
- Added support for
use_local_indexin transport calculations and updated the corresponding control-file handling. The implementation also addresses reference-potential alignment by retaining the sparse overlap information needed to rebuild the overlap matrix. (!2207 !2214) - Added manual selection of atoms used for transport
potential-reference alignment via the per-atom
pot_alignmentkeyword. (!2149) - Fixed transport energy-step handling. (!2274)
Meta-GGA minimal basis from sratom atomic solver (Sebastian Kokott)
- Enable LibXC meta-GGA functionals for the
sratomatomic solver (!2242 !2259). - This feature can be enabled by setting
use_meta_gga_sratom .true.in control.in.
Forces and Stress Improvements
- Reordered density-matrix based force and stress term contractions. This gives speedups of up to a factor of two for the force/stress evaluation. The computation of kinetic density and density gradients during density update was also optimized. (Sebastian Kokott - !2300)
- Enabling tuned path from Florian Merz for calculating Hartree potential terms for stress and force correction term, speeding up forces and stress evaluations (!2305)
- Fixed the long-standing spin-collinear meta-GGA stress bug caused by passing
xc_tau_derivwith an incorrect array layout. (James Green - !2156) - Analytical meta-GGA stress calculations received additional bug fixes and checks (Mariana Rossi, James Green - !2216 !2112)
RPA Forces for Spin-polarized Molecules (Muhammad Naeem Tahir)
- Enabling RPA forces for spin-polarized molecules (however, only integer occupations supported) (!2039 !2043 !2047 !2049 !2053 !2054 !2050 !2056 !2059 !2061 !2062 !2063 !2064 !2066 !2068 !2069 !2071 !2072 !2073 !2076 !2079 !2081 !2085 !2088 !2089)
Sternheimer RPA for Finite Systems (Hao Peng)
- Added an RI-based Sternheimer RPA correlation-energy path for finite
atoms and diatomic molecules, activated with
use_rpa_stern_diatom, with documented control options and restrictions. (!2157) - Added documentation and regression testing for the RI-Sternheimer RPA implementation, including explicit Sternheimer grid controls and diagnostics for the dense LAPACK fallback solver. (!2165)
- Added an iterative Sternheimer RPA path for finite single atoms and diatomics using the existing real-space Hamiltonian construction and ARPACK response eigenvalue calculations. (!2196)
Bethe-Salpeter/GW
- Added dynamical (frequency-dependent) BSE functionality. (Songrui Liu - !2299)
- Optimized memory use in full-relativistic (2c) GW. (David Lara - !2294)
- Fixed the correct building of
xc_matr_2cfor Spin Collinear calculation in Full Relativistic GW (David Lara - !2254) - Fixed bugs in importing wavefunctions/spinors for 1c/2c GW calculations (Qing-Long Liu - !2256)
ELPA 2026 and ELSI Updates (James Green)
- ELPA version 2026.02.002 is now shipped with FHI-aims via ELSI, and can be built internally in FHI-aims (see MR !2298 and ELSI MR !394).
- This version should be more performant on GPU, and adds AMD/HIP GPU support.
- The manual section “H.3 Building ELPA 2026” has been added,
detailing how one can build FHI-aims with this version of ELPA, and
elpa2026.intel.cmakeandelpa2026.cuda.intel.cmaketoolchains have been added tocmake/toolchainsfor intel LLVM CPU and GPU (CUDA/NVIDIA) builds, respectively.
Other Improvements
- Use meta-GGA for XC evaluation during innitialization step (PBE remains fallback for hybrid meta-GGAs). (James Green - !2148 !2154)
- Added
xc r2scankeyword as shortcut for the r2SCAN libxc functional, avoiding the need foroverride_warning_libxcbecause the functional combination is explicitly supported and tested. (Andrei Sobolev - !2304) - Implemented the periodic version of Δ-SCF through
deltascf_basis(Matthias Kahk - !2187 !2215) - Added JSON-formatted dipole communication to i-PI. (Mariana Rossi - !2137)
- Continued development of domain-decomposition RI (renamed from “gloRI” to “ddmRI”), including an MPI shared-memory redistribution method and an AMD-GPU linking fix. (Moritz Leucke - !2128)
- Added RI-LVL support for RT-TDDFT. (Chris Shepard - !2245)
- Removed unnecessary
_potentialroutines fromget_ri_coeffs. (Alan Lewis - !2281) - Released XDM(Z) from experimental status (Kyle Bryenton - !2151)
- Updated XDM(BJ/Z) damping parameters following changes to the
lightdenserbasis and added a corresponding manual note. (Kyle Bryenton - !2193) - Added a check preventing use of the original TS correction for
systems containing alkali species unless explicitly overridden with
override_vdw_correction_hirshfeld_alkali. (Andrei Sobolev - !2160) - Output the electronic group velocity (k-derivative of the electronic eigenstates) on a k-grid for transport calculations, for example interfaces with TransOpt3.0 to compute Seebeck coefficients, electrical conductivities, and electronic thermal conductivities (Jingkai Quan - !2243)
- Added core and CPU-domain information to the output and reorganized
prepare_systemchecks. A runtime check for a known Intel MPI Bcast/Allreduce problem on AMD hardware was added (Andrei Sobolev - !2296) - Updated aimsChain to be a Git subproject, analogous to ELSI, making it easier to use and update. (Andrei Sobolev - !2186)
- The final energy block now repeats the spin-collinear moment summary, including the integrated and absolute spin-density differences. (Xingtao He - !2203)
Bugfixes
- Fixed a Hermiticity bug in spin-orbit coupling calculations. (Qing-Long Liu - !2277)
- Some bugs were fixed in the on-site and mulliken subroutines of the +U code (Lydia Fichte - !2228)
- Improved periodic hybrid-functional band-structure interpolation in the case of small structures and loose k-grids; added additional Fourier interpolation checks (Minye Zhang, James Green, Andrei Sobolev - !2270 !2219 !2191)
- Fixed an array-layout issue in the spin-polarized libxc call from
sratom. (Sebastian Kokott - !2302) - Fixed a bug in Ca minimal+s species defaults. (Thomas Purcell - !2241)
- Fixed additional whitespace in
MD_lightoutput. (Konstantin Lion - !2155)