# Full Potential Overview

### Overview of the full-potential method

The full-potential program lmf was originally adapted from a program nfp written by M. Methfessel and M. van Schilfgaarde. The method is described in some detail in the following reference :

M. Methfessel, Mark van Schilfgaarde, and R. A. Casali, “A full-potential LMTO method based on smooth Hankel functions,” in Electronic Structure and Physical Properties of Solids: The Uses of the LMTO Method, Lecture Notes in Physics 535. H. Dreysse, ed. (Springer-Verlag, Berlin) 2000.

There is also a manual written for the original 1997 code. The present code is a descendant of it with many new features and with a different input system. But the underlying mathematical formalism, the novel augmentation method in particular, is basically the same.

The following features are unique to this method:

### Smoothed Hankel functions

The envelope functions are smoothed generalizations of Hankel functions that are found in LMTO programs. Unlike the normal Hankel functions, the smoothed versions — convolutions of ordinary Hankel functions and Gaussian functions — are regular at the origin. Their smoothness is controlled by an extra degree of freedom, the gaussian width or “smoothing” radius $r_{s}$. This page defines them and outlines some of their mathematical properties. They are described in detail in this J. Math. Phys. paper.

Smooth Hankels are a significantly better choice of envelope functions than the customary LMTO basis set constructed of normal Hankels. However, smoothing introduces complications because the augmentation of a smoothed Hankel function is less straightforward than it is for an ordinary Hankel. The envelope functions, while an improvement over the traditional LMTO basis are not yet optimal. They are not screened into a tight-binding representation, as in the second-generation and later generation LMTO methods; thus wave functions are evaluated by Ewald summation. A new basis, “Jigsaw Puzzle Orbitals,” makes use of screening and some other tricks to construct a short ranged, minimal basis of envelope functions. They are highly accurate because they are tailored to the potential, and accomplish a level of precision in the interstitial approachng that of the augmented parts. Thus the basis set should be close to complete in the energy window where linearization is valid.

### Local Orbitals

This package extends the linear method through the use of local orbitals. Augmented wave methods substitute radial solutions of the Schrödinger equation with combinations of partial wave of angular quantum number l inside the augmentation region. Linear methods used a fixed radial function (more precisely, a pair of functions), which has validity over only a certain energy window. With local orbitals, a third radial function is added to the basis, which greatly extends the energy window over which energy eigenvalues can be calculated. It is necessary, for example, to obtain the proper LDA band gap in GaAs, both the Ga 3d and 4d partial waves are important. To see how to include local orbitals in the basis, see this tutorial.

### Augmented Plane Waves

In 2008 Takao Kotani added augmented plane waves (APWs) as additional envelope functions, which can increase the flexibility of the basis. The combination of smooth Hankel functions and APW’s is described in this paper on the PMT basis set. One can view PMT’s as an extension of a conventional LAPW method, enabling through the use of a few MTOs with much faster convergence in APW energy cutoff. Alternatively, PMT can be viewed as an extension of the original MTO method. A principal advantage of the conventional APW basis is that it is easier to make it complete. Here addition of APW’s offer a systematic way of converging the combined MTO + APW basis in a systematic and reliable manner, to an almost arbitrarily high accuracy. This is particularly important when reliable eigenvalues far above the Fermi level are needed, and to check the accuracy of a given MTO basis. To include APW’s in the basis, see here for a tutorial.

### Augmentation and Representation of the charge density

The charge density representation is unique to this method. It consists of three parts: a smooth density $n_0$ carried on a uniform mesh, defined everywhere in space ($n_0$ is not augmented; inside the augmentation spheres it is present as a “pseudodensity”); the true density $n_1$ expressed in terms of spherical harmonics $Y_{lm}$ inside each augmentation sphere; and finally a one-center expansion $n_2$ of the smooth density in $Y_{lm}$, inside each augmentation sphere. The total density is expressed as a sum of three independent densities: $n = n_0 + n_1 - n_2$.

This turns out to be an extremely useful way to carry out the augmentation procedure. Quantities converge much more rapidly with l than in conventional augmented wave constructions. (The analysis is a little subtle; see the reference at the start of this document.)

### Connection to the ASA packages

The full-potential program builds on the ASA suite which contains an implementation of a tight-binding LMTO program in the Atomic Spheres Approximation (ASA), and shares most things in common with it, including a number of auxiliary programs useful to both ASA and FP. For example, both methods are linear augmented-wave methods, and the wave functions inside the augmentation spheres are equivalent in the two cases. You may find that the ASA overview is helpful even if you will not be using the ASA package. Most input is common to both methods, but there are some differences, e.g. the selection of sphere radii. The FP code requires some additional information, but most of it can be generated automatically, as explained in the introductory tutorial or in more detail in this tutorial for PbTe. It is interesting to compare that tutorial with an ASA tutorial on the same material.

A description of the input system and tags needed for each method are found in the input file guide.

One important difference between the ASA and FP methods is that the FP method has no simple parametrization of total density in terms of the ASA energy moments $Q_0$, $Q_1$, $Q_2$, or the representation of the potential by a few potential parameters, as in the ASA (see ASA overview). However, the basis within the augmentation spheres is defined from the spherical average of the potential, just as in the ASA, the linearization proceeds in the same way. Both use the continuously variable principal quantum numbers P to establish a mapping between the linearization energy and logarithmic derivative at the augmentation sphere boundary, and to float the linearization energy to the center-of-gravity of the occupied states.

A second important difference is that the basis set is more complicated, and in its current form, the user must choose parameters defining the basis. This complication is the most onerous part of the present method (a new “Jigsaw Puzzle Orbital basis” will automatically tailor the basis set shape to the given potential) but at present the basis set is determined by hand, or only semi-automatically.

### Primary executables in the FP suite

• lmf is the program used for self-consistent full-potential calculations. It requires a starting density, which it obtains either from a binary restart file rst.ext (typically generated by a prior invocation of lmf) or an equivalent version rsta.ext in ASCII format, from a superposition of free-atom densities (file atm.ext).

• lmfa makes each species self-consistent for the free atom and writes the local density, plus a fit to the tail beyond the the augmentation sphere radius (fit as a linear combination of smooth Hankel functions) to the atm file. Also appended to atm.ext is a fit to the free-atom wave functions for r outside the augmentation radius. This is used to overlap atomic densities to make a trial density for the crystal. Not least important, lmfa serves as an automatic generator of parameters for the basis set, as explained in this tutorial.

The FP suite is needed to connect to the GW and DMFT implementations. Scripts and other executables (e.g. lmfgwd and lmfdmft) make interfaces to these extensions.