The Density Functional Theory Toolkit (DFTTK) is a Python package designed to automate VASP jobs and manage relevant results in MongoDB. VASP workflows leverage Custodian, and data storage is handled via PyMongo.
- Enumerates unique collinear magnetic configurations for a given structure.
- Performs convergence tests for:
- Cutoff energy (
ENCUT
) - k-points grid density (
kppa
)
- Cutoff energy (
- Computes free energy using the quasiharmonic approximation.
- Stores and retrieves VASP input data and post-processed results in MongoDB.
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.
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)
We welcome bug reports, feature suggestions, and pull requests!
-
Fork and clone the repo:
git clone https://github.com/<your-username>/dfttk.git
-
Create a new branch:
git checkout -b my-feature
-
Make changes, commit, push, and open a pull request to
main
.
Found a bug or have a suggestion?
Please open an issue at GitHub Issues with:
- A clear description
- Steps to reproduce (if applicable)
- Logs or screenshots
Thanks for helping improve DFTTK!