DFT-FE: Real-space DFT calculations using Finite Elements
What is DFT-FE? DFT-FE is a massively parallel real-space code written in C++ for first principles based materials modelling using Kohn-Sham density functional theory (DFT). It is based on adaptive finite-element discretization that handles pseudopotential and all-electron calculations in the same framework, accommodates periodic, non-periodic and semi-periodic boundary conditions, and incorporates scalable and efficient solvers for the solution of the Kohn-Sham equations.
Benchmark repository: Accuracy and performance benchmarks for a range of system sizes on many-core CPUs and GPUs are provided.
Authors : The main developers hub is at the University of Michigan, Ann Arbor, USA and Indian Institute of Science, Bangalore, India
DFT-FE is based on real-space formulation of Kohn-Sham DFT, and employs adaptive higher-order spectral finite-element (piecewise polynomial) basis in conjunction with computationally efficient numerical algorithms to compute ground-state energies and forces.
DFT-FE builds on top of the deal.II library for everything that has to do with finite elements, geometries, meshes, etc., and, through deal.II on p4est for parallel adaptive mesh handling.
Primary advances in DFT-FE:
Pseudopotential and all-electron DFT calculations with periodic, non-periodic and semi-periodic boundary conditions can be handled in the same framework.
DFT-FE can be run on massively parallel many-core and hybrid CPU-GPU architectures (tested up to ~200,000 cores on many-core CPUs and ~24,000 GPUs on hybrid CPU-GPU architectures). DFT-FE is capable of fast and accurate large-scale pseudopotential DFT calculations, reaching 50,000-100,000 electrons.
Finite-element (FE) basis used in DFT-FE allows for extensibility to enrich the FE basis with single-atom wavefunctions for large-scale all-electron DFT calculations. Future versions of DFT-FE will support this.
Fully periodic, semi-periodic and fully non-periodic boundary conditions.
k-point sampling for Brillouin-zone integration exploiting symmetrization.
Three levels of parallelization: (i) domain decomposition (ii) wave-functions(bands) (iii) k-points
Local density and density gradient based exchange-correlation functionals, including spin-polarization(collinear).
Geometry optimization with atomic forces and stresses computed using configurational forces.
Ab-initio Molecular Dynamics Capability (NVE, NVT)