# 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