Skip to content

PhasesResearchLab/dfttk

Repository files navigation

DFTTK

DFTTK Logo

GitHub Actions Documentation Status

πŸ“ Overview

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.

πŸ”§ What does DFTTK do?

Enumeration of Configurations

  • Enumerates unique collinear magnetic configurations for a given structure.

VASP Workflows

  • Performs convergence tests for:
    • Cutoff energy (ENCUT)
    • k-points grid density (kppa)
  • Computes free energy using the quasiharmonic approximation.

MongoDB Storage

  • Stores and retrieves VASP input data and post-processed results in MongoDB.

βš™οΈ Installation

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.

πŸ“– Documentation

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.

πŸ“š Citing DFTTK

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)

🀝 Contributing

We welcome bug reports, feature suggestions, and pull requests!

Getting Started

  1. Fork and clone the repo:

    git clone https://github.com/<your-username>/dfttk.git
    
  2. Create a new branch:

    git checkout -b my-feature
    
  3. Make changes, commit, push, and open a pull request to main.

πŸ› Reporting Issues

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!

About

DFTTK is a Python package for automating VASP workflows and storing results in MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •