Over the years, many tools have been developed to help set up and/or automate DFT calculations with VASP, as well as provide various post-processing features, such as atomate2, quacc, AFLOW, AiiDA, pyiron, and VASPKIT. The Density Functional Theory ToolKit (DFTTK) is another addition to this space, with a philosophy of keeping the interface between the user and VASP as minimal as possible and making the automation and post-processing steps easy to see and understand.
DFTTK workflows use Custodian for job management. The usefulness of Custodian is that it allows many VASP jobs to be chained together and includes various self-correction strategies for handling VASP errors.
Current key features are listed below.
- Enumerates unique collinear magnetic configurations for a given structure.
- Performs convergence tests for:
- Cutoff energy (
ENCUT) - k-points grid density (
kppa)
- Cutoff energy (
- Computes contributions to the Helmholtz energy,
$F_k = E_k + F_{k,\text{vib}} + F_{k,\text{el}}$ :-
$E_k$ — Energy–volume curves -
$F_{k,\text{vib}}$ — Phonons (post-processed with YPHON) -
$F_{k,\text{el}}$ — From the electronic DOS
-
-
$E_k$ — Fit energy–volume curves using an EOS -
$F_{k,\text{vib}}$ :- Debye–Grüneisen model
- Phonons (via YPHON)
-
$F_{k,\text{el}}$ — From the electronic DOS
The Configuration class orchestrates VASP workflows to compute contributions to
It is recommended first to set up a virtual environment using Conda:
conda create -n dfttk python=3.12
conda activate dfttk
Clone the main branch of the repository:
git clone https://github.com/PhasesResearchLab/dfttk.git
Or clone a specific branch:
git clone -b <branch_name> https://github.com/PhasesResearchLab/dfttk.git
Then move to dfttk directory and install in editable (-e) mode.
cd dfttk
pip install -e .
Note: A PyPI release is currently under development.
Click the badge below to open the project in GitHub Codespaces.
Then, browse the examples folder to explore and run the example notebooks:
| Notebooks | Description |
|---|---|
| DebyeGruneisen | Compute and plot vibrational contributions to the Helmholtz energy using the Debye–Grüneisen model for Al |
| ThermalElectronic | Compute and plot thermal electronic contributions to the Helmholtz energy for Al using Fermi–Dirac statistics and the electronic DOS |
| Configuration | Orchestrate VASP workflows to compute all contributions to |
For a comprehensive description of DFTTK and its capabilities, please refer to the Official Documentation.
Note: The documentation is currently under construction. Some sections may be incomplete or subject to change.
If you use DFTTK in your work, please cite the following publication:
N. Hew et al.,
Density Functional Theory ToolKit (DFTTK) to automate first-principles thermodynamics via the quasiharmonic approximation, Computational Materials Science, Volume 258, 2025, 114072, ISSN 0927-0256.
https://doi.org/10.1016/j.commatsci.2025.114072 (View on ScienceDirect)
