Warning
This repository is deprecated.
This legacy Python 2 version is no longer recommended for new installations. Please use the maintained Python 3 version instead: https://github.com/dmftwdft/DMFTwDFT3
DMFTwDFT is an open-source, user-friendly framework to calculate properties of strongly correlated materials (SCM) using DFT+DMFT (Dynamical Mean Field Theory) with a variety of different DFT codes. Currently supports VASP, Siesta and Quantum Espresso.
Please refer to the documentation.
https://dmftwdft-project.github.io/DMFTwDFT/
Quick Install:
Run setup with the desired bundled compiler profile:
python setup.py {gfortran, intel, macos}Available setup profiles:
gfortran: GNU compilers on Linux-style systems.intel: Intel oneAPI compilers.macos: macOS x86_64 conda/Python 2 environment, including Apple Silicon hosts running the conda environment under Rosetta.
setup.py copies the matching config/Makefile.in.* and sources/*.make.inc template automatically for the selected profile.
Recommended environments:
- Linux:
mamba env create -f environment.yml - macOS:
mamba env create -f environment.macos.yml
These environment files cover the Python 2 stack plus the key compiled/runtime dependencies we had to fix manually, including the GNU toolchain for weave, libgfortran.so.3, and libxcrypt on Linux.
Notes
For GNU compilers, it is assumed that liblapack.a, libblas.a and GSL libraries are installed in the /usr/local/lib/ directory. If not, modify LALIB and GSLLIB in Makefile.in to point to the correct location. Additionally, set compiler flags in FFLAGSEXTRA.
The macOS profile uses config/Makefile.in.macos and sources/macos.make.inc. It is intended for an osx-64 conda environment with Python 2 and matching x86_64 dependencies. Install the required compiler and libraries into the same conda environment, for example:
mamba install -n dmft -c conda-forge/label/cf202003 gfortran_osx-64 gsl fftwOn Apple Silicon, avoid mixing /opt/homebrew ARM libraries with an osx-64 conda Python environment. Use conda-provided x86_64 libraries for GSL, FFTW, BLAS and LAPACK. Runtime atom_d.py compilation on macOS uses Apple clang/clang++ with the active macOS SDK to avoid incompatibilities between legacy Python 2 weave code and newer SDK headers.
For Intel builds on Linux, the Python environment comes from environment.yml. Only the Fortran/MPI compiler stack is external and should come from your Intel oneAPI module or shell setup.
Hyowon Park
Aldo Romero
Uthpala Herath
Vijay Singh
Benny Wah
Xingyu Liao
Kristjan Haule
Chris Marianetti
If you have used DMFTwDFT in your work, please cite:
BibTex:
@article{SINGH2021107778,
title = "DMFTwDFT: An open-source code combining Dynamical Mean Field Theory with various density functional theory packages",
journal = "Computer Physics Communications",
volume = "261",
pages = "107778",
year = "2021",
issn = "0010-4655",
doi = "https://doi.org/10.1016/j.cpc.2020.107778",
url = "http://www.sciencedirect.com/science/article/pii/S001046552030388X",
author = "Vijay Singh and Uthpala Herath and Benny Wah and Xingyu Liao and Aldo H. Romero and Hyowon Park",
keywords = "DFT, DMFT, Strongly correlated materials, Python, Condensed matter physics, Many-body physics",
}
Thank you.
Please post your questions on our forum.
https://groups.google.com/d/forum/dmftwdft
We acknowledge the use of the following packages:
Uthpala Herath, Pedram Tavadze, Xu He, Eric Bousquet, Sobhit Singh, Francisco Muñoz, and Aldo H. Romero. "PyProcar: A Python library for electronic structure pre/post-processing". Computer Physics Communications 251 (2020): 107080.
[1] Kristjan Haule, Phys. Rev. B 75, 155113 (2007).
Free energy implementation : [2] Kristjan Haule, Turan Birol, Phys. Rev. Lett. 115, 256402 (2015).
- Wannier90
Wannier90 as a community code: new features and applications, G. Pizzi et al., J. Phys. Cond. Matt. 32, 165902 (2020)
Note:
Users can download these external programs, as explained in the README file of each supported package folder (see folder DMFTwDFT-master/support-packages). For installation, we suggest users refer to this link: https://dmftwdft-project.github.io/DMFTwDFT/installation.html for more details. OR Users can run the python script "setup.py" which will automatically download and install the internal as well as external programs.
PyProcar is used as a support package to find the wannier window of the correlated orbitals. It's not necessary to be installed for DMFTwDFT. PyChemia is required for the Python 3 version of the code which is still under development. For the Python 2 version this is not required.
v2.0 June 8, 2026 - Updated code to support modern compute architectures including Intel oneAPI LLVM compilers and MacOS.
v1.2 Jan 13th, 2020 - Fixed bug with exponentially large numbers in UNI_mat.dat for SCF calculations.
v1.1 May 11th, 2020 - Added support for Quantum Espresso through Aiida.
v1.0 April 23, 2020 - Cleaned repository. Defaulted to Python 2.x version.
v0.3 November 25, 2019 - Added DMFT.py and postDMFT.py scripts
v0.2 July 10, 2019 - DMFTwDFT library version
v0.1 July 31, 2018 - Initial release (Command line version)

