2.6 Unit conventions and fundamental constants in FHI-aims

FHI-aims’ output files provide lengths, energies and other output quantities. For comparison purposes, especially to other codes, it is very important to understand the origin of the units used in FHI-aims and what they mean. There are two key distinctions:

  • Internally, i.e., in the actual math performed in the code (unlike in the output), FHI-aims uses “atomic units,” specifically, Hartree atomic units. At the time of writing of this manual, a more detailed explanation of Hartree atomic units can be found on Wikipedia:
    https://en.wikipedia.org/wiki/Hartree_atomic_units.
    In detail, Hartree atomic units mean that Planck’s constant, the elementary charge, the Bohr radius, and the electron mass all take values of unity (i.e., 1). In this notation, Schrödinger’s equation or Dirac’s equation simplify to mathematical expressions that are universally comparable between different electronic structure codes. When provided with the same problem in atomic units, all of them should give the exact same answer in atomic units.

  • Externally, that is in the input and output files of FHI-aims, the expected unit convention is to always provide lengths in Å, energies in eV, and various other derived units instead of the underlying atomic units.
    These derived values depend on the conversion factors used.
    While these conversion factors are standardized, they are in fact the result of experimental measurements. Standard tabulations are provided by standards bodies such as the National Institute of Standards (NIST), but these tabulations are updated every few years. Thus, the “value” of one electron volt (or other derived units) may vary slightly between different electronic structure codes, whereas the internal atomic units are always the same.

In FHI-aims’ output, some quantities (e.g., energies) are therefore frequently provided both in terms of atomic units and in terms of more conventional units from other unit systems. For instance, energies are provided in Hartrees (unassailable units from the Hartree atomic unit system) as well as in eV (derived unit, using a conversion factor).

As of writing (Oct 17, 2024) a new keyword codata can be used to control how FHI-aims handles fundamental physical constants based on different CODATA sets. The next three paragraphs describes what is used for FHIaims_pre2024.

Specifically, FHI-aims previously only implemented the NIST CODATA 2002 (Web Version 4.0 2003-12-09) unit conventions for key conversion factors, most importantly

  • 1 Ha = 27.2113845 eV,

  • 1 Bohr radius = 0.52917721 Å.

The exact conventions can still be found in the file src/constants.f90 in the FHI-aims source code. And yes, the source code can be read – it is human readable – and we encourage any user of FHI-aims to do so in case of uncertainty regarding the units. This, the source code, is where mathematical decisions are ultimately made and the unit conventions are very simple to check. Additionally, the value of the “Hartree” unit used (in eV) is also printed near the end of each FHI-aims standard output.

We note that other codes can and do use other unit conventions. For example, the frequently used Atomic Simulation Environment (ASE) uses CODATA 2014 by default at the time of writing (ASE versions 3.22/3.23). This version difference entails a small but noticeable change in the definition of the electron volt value, after conversion from Hartree units. Total energy differences as well as small energy eigenvalues will not be significantly affected by these changes, as long as consistent units are used everywhere. However, mixing different unit conventions in differences of large numbers can lead to large errors and should be avoided – always stick to a single unit convention.

For the time being, FHI-aims continues to follow the unit convention selected at its inception, since this choice guarantees continuity of results between different versions of FHI-aims. However, please be aware of the unit conventions described in the present section. Also, it is likely that we will change the default in a future major release.