# About Questaal

**Questaal** is a suite of electronic structure programs. The codes can be used to model arbitrary materials, but they are mostly designed to answer condensed-matter theory questions about solid state (periodic) structures. The majority of the codes use an all-electron implementation of density-functional theory. This includes several forms (Hamiltonian and Green’s function) that serve different purposes. There is an all-electron implementation of GW theory, used most particularly in a quasiparticle self-consistent form (QSGW). Tight-binding based on user-supplied empirical Hamiltonians is also supported. Recent development work includes Dynamic Mean Field Theory (DMFT-QSGW), the Bethe Salpeter Equation (BSE), and direct (Green Function) solution of the Dirac equation.

These codes share a basis set of atom-centred functions. This basis is optimised to the problem. Compared to a plane wave basis, this results in a much more compact description, reducing run time and memory consumption. The cost is that the code is significantly more complex, and the user is involved in setting the basis for each problem.

The basis has its genesis in the Linear Muffin Tin Orbitals (LMTO) method of O. K. Andersen, who formulated the theory of linear methods in band theory. The LMTO and LAPW (Linear Augmented Plane Wave) methods are the most common direct forms of the linear methods, though most electronic-structure approaches (including those based on pseudopotentials) depend on a linearization as well. The present code is a descendent of the “tight binding linear method” that formed the mainstay of Andersen’s group in Stuttgart for many years.

Applications include modeling electronic structure, magnetic properties of materials, Landauer-Buttiker formulation of electronic transport, impurity effects in solids, and linear response.

Packages distributed in the Questaal suite include:

**Full Potential LMTO:**This is an all-electron implementation of density-functional theory using convolutions of Hankel functions and Gaussian orbitals as a basis set. This code also provides an interface to a GW package. It is a fairly accurate basis, and has been benchmarked against other all-electron schemes [XXX … check with Jerome]. You can also use Augmented Plane Waves as a basis, or a combination of the two, as described in this paper. A new, highly accurate tight-binding basis will soon be available, with the moniker “Jigsaw Puzzle Orbitals” (JPO’s). A basic tutorial for the main full-potential program**lmf.**can be found here.**GW:**A separate package contains an all-electron implementation of the*GW*approximation, using the full-potential package to supply a front end with single particle quantities GW requires. The*GW*code uses a “mixed product basis” set for two-particle quantities such as the bare and screened coulomb interaction. Its primary function is to calculate quasiparticle levels (or more generally energy band structure) within*GW*theory. Also part of this package is the ability to calculate optical and spin response functions, and spectral functions. See this paper for the theory corresponding to the present implementation. The present code is a descendent of the original ecalj package developed by Kotani, Faleev and van Schilfgaarde.**QSGW:***GW*is usually implemented as an extension to the LDA, i.e.*G*and*W*are generated from the LDA. The*GW*package also has the ability to carry out quasiparticle self-consistency (QSGW). QSGW may be thought of as an optimised form of the*GW*approximation of Hedin. Self-consistent calculations are more expensive than usual formulations of*GW*based on a perturbation of density functional theory, but it is much more accurate and systematic. Self-consistency also removes dependence on the starting point and also makes it possible to generate ground state properties that are sensitive to self-consistency, such as the magnetic moment.

Both *GW* and self-consistent *GW* are executed through a family of scripts. The script for self-consistent calculations is called **lmgwsc**; one-shot *GW* calculations use **lmgw1-shot**; and other parts such as the dielectric function calculator and self-energy maker use **lmgw**. **lmfgws** carries out post-processing analysis of the dynamical self energy.

Once you have a converged QSGW self-energy (an expensive and sometimes difficult calculation), most properties are calculated at the single-particle (DFT) level.

**LMTO-ASA:**The original formulation of the LMTO method included the Atomic Spheres Approximation (ASA). Crystals are divided up into overlapping spheres, and only the*l*=0 component of the potential inside each sphere is kept. This approximation is very efficient — speeds rival those found in empirical tight-binding approaches, but its range of validity is limited. This is because sphere must fill space; hence there is a geometry violation that becomes severe if the spheres overlap too much. It works best for close-packed systems, and still remains today one of the best and most highly efficient approach to studying magnetic properties of reasonably close-packed systems. The ASA package can be used in a non-collinear framework. The executable binary is called**lm.****Green’s Functions LMTO:**An ASA based density-functional Green’s function formulation. The program,**lmgf**, calculates the Green’s function for a periodic system, and is a Green’s function counterpart to the lm code. It can be used to determine a range of properties including the density of states, energy band structure, and magnetic moment. It also has the ability to calculate magnetic exchange interactions and some other properties of linear response. This code can include spin-orbit coupling perturbatively, and it also has a fully relativistic Dirac formulation. It also implements the Coherent Potential Approximation, for the study of alloys, or for disordered local moments, re a combination of the two.**Principal Layer Green’s Functions**This code,**lmpg**, is an analog of**lmgf**for layered systems. Periodic boundary conditions are used in two dimensions, while the third dimension is treated in real space with a principal layer technique. This is advantageous because (1) semi-infinite boundary conditions are used this dimension, which correspond to the physical realisation of layered materials and (2) the computation time scales only linearly in the number of principal layers.**lmpg**can be used in a self-consistent framework, and also to calculate transmission and reflection in the context of Landauer-Buttiker theory. There is a non-equilibrium Keldysh formulation of the ASA hamiltonian, as described in this paper.**QSGW + DMFT:**When localised electronic orbitals (*d-*or*f-*type) participate in the states near the fermi level, the effect of electronic correlation can not be included as a small perturbation (RPA) and more accurate methods have to be invoked. The Questaal code has been interfaced with the Continuous Time Quantum Monte Carlo solver developed by K. Haule and coworkers. This couples the QSGW description of the lattice with state-of-the-art Dynamical Mean Field Theory approaches. This code requires that Haule’s CTQMC be installed. The interface to that code is**lmfdmft**.**Empirical Tight-Binding**The**tbe**code evaluates properties of the electronic structure from an empirical hamiltonian. The user supplies rules that defines the matrix elements of an atom-centred, tight-binding hamiltonian. It has various features, including self-consistency for ionic systems, molecular dynamics, and implementation on GPU cards for fast execution.