What is it about?

Calculating the electronic structure of atoms requires solving quantum mechanical equations (Schrodinger or Dirac) on a numerical grid. Finite difference methods, the standard approach, converge slowly and need very fine grids near the nucleus where the potential changes rapidly. We implemented a high-order finite element method (FEM) in modern Fortran. Finite elements handle the nuclear cusp naturally by placing more basis functions where they are needed. For the non-relativistic Schrodinger equation, the code (featom) achieves spectral-like convergence with far fewer grid points than finite differences. For heavy atoms, we also developed a solver for the Dirac equation that avoids the well-known "spurious state" problem (unphysical solutions that plague naive discretizations). The solver uses a kinetically balanced basis and produces stable results for atoms up to Z=92 (uranium).

Featured Image

Why is it important?

Accurate atomic structure calculations underpin pseudopotential generation, all-electron DFT benchmarks, and the development of relativistic corrections. The finite element approach gives systematic convergence guarantees that finite differences lack, particularly near the nucleus. The spurious-state problem in the Dirac equation has blocked FEM approaches to relativistic atomic calculations for decades. Our kinetically balanced basis eliminates these states without sacrificing accuracy. The code is written in modern Fortran with a clean modular design. It demonstrates that compiled-language performance remains necessary for this class of problem, where Python or Julia overhead would dominate the tight inner loops.

Perspectives

The transition from finite differences to finite elements for atomic solvers is conceptually straightforward but practically tricky, especially for the Dirac equation. The spurious states that appear with naive FEM discretizations are not just a nuisance -- they corrupt the entire spectrum and make the solver useless. Finding a discretization that eliminates spurious states while maintaining high-order convergence took substantial effort. The kinetically balanced approach we implemented builds the physical constraint (the relationship between large and small components of the Dirac spinor) directly into the basis. Writing the code in modern Fortran was a deliberate choice. The inner loops involve dense linear algebra on small element matrices where language overhead matters. featom is publicly available and documented.

Rohit Goswami
University of Iceland

Read the Original

This page is a summary of: High-order finite element method for atomic structure calculations, Computer Physics Communications, April 2024, Elsevier,
DOI: 10.1016/j.cpc.2023.109051.
You can read the full text:

Read

Resources

Contributors

The following have contributed to this page