Skip to content

Commit 8a25ade

Browse files
authored
Merge pull request #208 from PhasesResearchLab/docs/update-readme
Docs/update readme
2 parents fdfc238 + 403fcfa commit 8a25ade

1 file changed

Lines changed: 39 additions & 41 deletions

File tree

README.md

Lines changed: 39 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,38 @@
66
[![GitHub Actions](https://github.com/PhasesResearchLab/dfttk/actions/workflows/test.yaml/badge.svg)](https://github.com/PhasesResearchLab/dfttk/actions/workflows/test.yaml)
77
[![Documentation Status](https://readthedocs.org/projects/dfttk/badge/?version=main)](https://www.dfttk.org/en/main/?badge=main)
88

9-
## 📝 Overview
9+
## Overview
10+
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](https://github.com/materialsproject/atomate2), [quacc](https://github.com/Quantum-Accelerators/quacc), [AFLOW](https://www.aflowlib.org/), [AiiDA](https://www.aiida.net/), [pyiron](https://pyiron.org/), and [VASPKIT](https://vaspkit.com/). 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.
1011

11-
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](https://github.com/materialsproject/custodian), and data storage is handled via [PyMongo](https://github.com/mongodb/mongo-python-driver).
12+
DFTTK workflows use [Custodian](https://github.com/materialsproject/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.
1213

13-
## 🔧 What does DFTTK do?
14+
Current key features are listed below.
15+
16+
## Key Features
1417

1518
### Enumeration of Configurations
16-
- Enumerates **unique collinear magnetic configurations** for a given structure.
19+
- Enumerates unique collinear magnetic configurations for a given structure.
1720

1821
### VASP Workflows
19-
- Performs **convergence tests** for:
22+
- Performs convergence tests for:
2023
- Cutoff energy (`ENCUT`)
2124
- k-points grid density (`kppa`)
22-
- Computes **free energy** using the **quasiharmonic approximation**.
23-
24-
### MongoDB Storage
25-
- Stores and retrieves VASP **input data** and **post-processed results** in MongoDB.
26-
27-
## ⚙️ Installation
25+
- Computes contributions to the Helmholtz energy, $F_k = E_k + F_{k,\text{vib}} + F_{k,\text{el}}$:
26+
- $E_k$ — Energy–volume curves
27+
- $F_{k,\text{vib}}$ — Phonons (post-processed with YPHON)
28+
- $F_{k,\text{el}}$ — From the electronic DOS
29+
30+
### Post-processing
31+
- $E_k$ — Fit energy–volume curves using an EOS
32+
- $F_{k,\text{vib}}$:
33+
- Debye–Grüneisen model
34+
- Phonons (via YPHON)
35+
- $F_{k,\text{el}}$ — From the electronic DOS
36+
37+
### Configuration Class
38+
The Configuration class orchestrates VASP workflows to compute contributions to $F_k$, along with post-processing and storing results in MongoDB.
39+
40+
## Installation
2841
It is recommended first to set up a virtual environment using Conda:
2942

3043
conda create -n dfttk python=3.12
@@ -43,43 +56,28 @@ Or clone a specific branch:
4356
cd dfttk
4457
pip install -e .
4558

46-
> 🛠️ **Note:** A PyPI release is currently under development.
59+
> **Note:** A PyPI release is currently under development.
60+
61+
## Example Notebooks
62+
Click the badge below to open the project in GitHub Codespaces.
63+
Then, browse the `examples` folder to explore and run the example notebooks:
4764

48-
## 📖 Documentation
65+
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/PhasesResearchLab/dfttk?quickstart=1)
4966

50-
For a comprehensive description of **DFTTK** and its capabilities, please refer to the [Official Documentation](https://vasp-job-automation.readthedocs.io/en/latest/index.html).
67+
| Notebooks | Description |
68+
|--------------|-------------|
69+
| DebyeGruneisen | Compute and plot vibrational contributions to the Helmholtz energy using the Debye–Grüneisen model for Al |
70+
| ThermalElectronic | Compute and plot thermal electronic contributions to the Helmholtz energy for Al using Fermi–Dirac statistics and the electronic DOS|
71+
| Configuration | Orchestrate VASP workflows to compute all contributions to $F_k$, with post-processing, plotting, and MongoDB storage for Al and Fe<sub>3</sub>Pt|
5172

52-
> 🛠️ **Note:** The documentation is currently under construction. Some sections may be incomplete or subject to change.
73+
## Documentation
74+
For a comprehensive description of **DFTTK** and its capabilities, please refer to the [Official Documentation](https://www.dfttk.org/en/main/).
5375

54-
## 📚 Citing DFTTK
76+
> **Note:** The documentation is currently under construction. Some sections may be incomplete or subject to change.
5577
78+
## Citing DFTTK
5679
If you use **DFTTK** in your work, please cite the following publication:
5780

5881
> **N. Hew et al.**,
5982
> *Density Functional Theory ToolKit (DFTTK) to automate first-principles thermodynamics via the quasiharmonic approximation*, **Computational Materials Science**, Volume 258, 2025, 114072, ISSN 0927-0256.
6083
> [https://doi.org/10.1016/j.commatsci.2025.114072](https://doi.org/10.1016/j.commatsci.2025.114072) ([View on ScienceDirect](https://www.sciencedirect.com/science/article/pii/S092702562500415X))
61-
62-
## 🤝 Contributing
63-
64-
We welcome bug reports, feature suggestions, and pull requests!
65-
66-
### Getting Started
67-
1. Fork and clone the repo:
68-
69-
git clone https://github.com/<your-username>/dfttk.git
70-
71-
2. Create a new branch:
72-
73-
git checkout -b my-feature
74-
75-
3. Make changes, commit, push, and open a pull request to `main`.
76-
77-
### 🐛 Reporting Issues
78-
Found a bug or have a suggestion?
79-
Please open an issue at [GitHub Issues](https://github.com/PhasesResearchLab/dfttk/issues) with:
80-
- A clear description
81-
- Steps to reproduce (if applicable)
82-
- Logs or screenshots
83-
84-
> Thanks for helping improve **DFTTK**!
85-

0 commit comments

Comments
 (0)