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. It is the workhorse behind the 2019 ACM Gordon Bell Prize Finalist nomination and the 2023 ACM Gordon Bell Prize.
The current DFT-FE development efforts span across the Computational Materials Physics Group (Prof. Vikram Gavini, Dr. Sambit Das) at the University of Michigan, Ann Arbor and the MATRIX lab (Prof. Phani Motamarri)at the Indian Institute of Science, Bangalore.
Download : DFT-FE is open-source; Github repo. Current release version is 1.0.2
Manual-current-release Manual-development : Know-hows of using DFT-FE, from installation instructions to setting up runs using DFT-FE .
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
Help : Join our discussion forum (open forum) or slack channel (by emailing vikramg@umich.edu, phanim@iisc.ac.in, or dsambit@umich.edu)
Cite: If you use DFT-FE in your scientific work, please cite the relevant publications (see Referencing)
About DFT-FE:
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 ~40,000 GPUs on hybrid CPU-GPU architectures). Currently NVIDIA and AMD GPUs are supported using CUDA and HIP respectively.
DFT-FE is capable of fast and accurate large-scale pseudopotential DFT calculations, reaching 600,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.
DFT-FE capabilities (main development branch):
Norm-conserving (ONCV, Troullier-Martins) pseudopotential and all-electron DFT calculations.
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
LDA, GGA, DFT+U; Spin-polarization(collinear).
Geometry optimization with atomic forces and stresses computed using configurational forces.
Ab-initio Molecular Dynamics Capability (NVE, NVT)
Nudged Elastic Band based transition-state calculations
Band-structure, DOS