What you should know

Probably, you can hardly wait to perform your first DFT+DMFT calculation with the DFTTools package. This documentation and user guide should make it as easy as possible to get started quickly. However, it is mutually important to sort out a few prerequisites first.

What is DFTTools?

DFTTools connects the TRIQS library to realistic materials calculations based on density functional theory (DFT). It allows an efficient implementation of DFT plus dynamical mean-field theory (DMFT) calculations and it supplies tools and methods to construct Wannier functions and to perform the DMFT self-consistency cycle in this basis set. Post-processing tools, such as band-structure plotting or the calculation of transport properties are also implemented. The package comes with a fully charge self-consistent interface to the Wien2k band structure code, as well as a generic interface. We assume that you are already know about DFT and the usage of Wien2k.

Have a look at DFT+DMFT page for a brief introduction on the DFT+DMFT method and on how the theory is reflected in the basic structure of the DFTTools package.

Understand the philosophy of DFTTools

The purpose of DFTTools is to provide the necessary tools required for a DFT+DMFT calculations. Putting those tools together to a working DFT+DMFT implementation is the task of the user. We do not supply an universal script which runs with the click of a button, simply because each material requires a different treatment or different settings. Building your own script offers a great deal of flexibility and customizability. Additionally, the DFTTools user guide is there to support you during this process.

It should go without saying, but the verification of outputs and the inspection of results on their meaningfulness is the responsibility of the user.

The DFTTools package is a toolbox and not a black box!

Learn how to use TRIQS library (and the CTHYB solver)

As DFTTools is a TRIQS based application it is beneficial to invest a few hours to become familiar with the TRIQS basics first. The TRIQS tutorial covers the most important aspects of TRIQS. We recommend downloading our hands-on training in the form of ipython notebooks from the tutorials repository on GitHub. Tutorials 1 to 6 are on the TRIQS library, whereas tutorials 7 and 8 are more specific to the usage of the CTHYB solver hybridization-expansion solver. In general, those tutorials will take at least a full day to finish.

Afterwards you can continue with the DFTTools user guide.

Analytic Continuation

Often impurity solvers working on the Matsubra axis are used within the DFT+DMFT framework. However, many post-processing tools, require a self energy on the real-frequency axis, e.g. to calculate the spectral function \(A(k,\omega)\) or to perform transport calculations. The ill-posed nature of the analytic continuation has lead to a plethora of methods, and conversely, computer codes. DFTTools itself does not provide functions to perform analytic continuations. Within the TRIQS environment the following options are available:

  • Pade: Implemented in the TRIQS library

  • Stochastic Optimization Method (Mishchenko): SOM package by Igor Krivenko

  • Maximum Entropy Method: TRIQS/maxent package