# Full Potential LMTO Capabilities

*Introduction*

This page is intended as a survey of some capabilities of the *lmf* code. For an overview of *lmf*, see this page.

The first remark is that *lmf* is not an LMTO code in the conventional sense. It shares in common with the LMTO basis (LMTO = ‘Linear Muffin-Tin Orbital’) and the LAPW basis (LAPW = ‘Linear Augmented Plane Waves’) in that spheres around nuclei are cut out and replaced (`augmented’) by numerically integrated solutions of partial waves in the spheres. The theory for both was formulated by O. K. Andersen in this classic paper. LMTO, LAPW, and the *lmf* basis differ in their choice of envelope functions. The LMTO basis consists of atom-centered Hankel functions, while the LAPW basis consists plane waves. *lmf* uses smoothed Hankel functions, a generalization of ordinary Hankel functions functions which are convolutions of ordinary Hankel functions with Gaussian functions. Unlike the ordinary Hankels, they are smooth everywhere, and become singular at the origin only in the limiting case that the gaussian (smoothing) radius goes to zero.

Also *lmf*’s augmentation procedure is different from the conventional one. This is discussed in detail in Section 3.6 of Ref. 2.

*Energy bands*

You can run *lmf* in band mode to generate energy bands along lines or planes, as explained in this tutorial. This mode is also useful to generate, e.g. Fermi surfaces as shown in this tutorial. Particularly useful are the color weights.

There is a script (*bandedge*) that uses *lmf*’s band-generating feature to find band edges and effective masses in insulators, as explained in this tutorial.

*Partial DOS and Mulliken analysis*

*lmf* can generate partial densities-of-states within augmentation spheres, and construct a Mulliken analysis. **DOS** can be resolved by site, by site and *l*, or by site and *lm*. These options are invoked through command-line switches. For illustrations, invoke

```
fp/test/test.fp co 2
fp/test/test.fp fe 2
```

A tutorial can be found here.

*Charge density*

*lmf* can write the charge density (smooth or not, with or without cores), and the contribution to the density from a selected window of states. It can also write the effective one-body potential. See **–wden** in command-line switches.

See this tutorial for a demonstration in Ba_{3}Ta_{2}ZnO_{9}.

*Core-level spectroscopy*

*lmf* can generate **EELS** spectra, which involve matrix elements between core and valence electrons. The **EELS** option is invoked with a command-line switches. For illustrations, invoke

```
fp/test/test.fp fe 2
fp/test/test.fp crn 2
```

or see this tutorial.

*LDA+U*

The LDA+*U* functional was built into *lmf* in v6.15 and later, by Walter Lambrecht. LDA+*U* needs in addition to the LDA, parameters **U** and **J** for selected orbitals, which are empirical. In the the LDA+*U* method an additional potential for a particular *l* subblock (*m = −l…l*) from the *U* supplied by the user (in the *ctrl* file), and the density-matrix, which is generated by *lmf*.

In a strictly LDA calculation, complete information is carried by the density, contained in the restart file, *rst.ext*. In the LDA+*U* case, complete information is carried by density and on-site density matrices, which are contained in file *dmats.ext*.

An example that illustrates LDA+*U* method is ErAs, which you can run by

```
fp/test/test.fp eras
```

or look at this tutorial.

ErAs is an interesting case because LDA puts all 4 minority *f* electrons in a single extremely narrow band at the Fermi level. In LDA+*U* the minority *f* is split into a 4- and 3-manifold; see PRB 67, 035104 (2003).

*GW*

*lmf* is designed to work in coordination with a *GW* suite. It acts both as a driver for the *GW* package and can also be combined with a self-energy generated by a self-consistent *GW* cycle. See this overview. There are several tutorials, e.g. this introductory one.

*Spin-Orbit coupling*

*lmf* solves the scalar Dirac hamiltonian. The dominant difference between the full Dirac hamiltonian and the scalar one is the spin orbit coupling, which can be added as a term to the scalar Dirac Hamiltonian.

*lmf* can add to the scalar Dirac hamiltonian (courtesy of A. Chantis). It can be done in different ways

- Include the full coupling. The two independent spins are coupled, which doubles the rank of the hamiltonian.
- Include the part only. The spins are kept independent, and the hamiltonian rank is unchanged.
- can be added where the last term is added perturbatively. If
*Z*is not too large the approximation can be be rather good and because eigenfunctions are modified only by the term, and the hamiltonian rank is unchanged. The QS*GW*code does not as yet allow for the full coupling, so to use SO in this the*GW*part, you must use this switch for that purpose.

See this introduction.

For illustrations of all three kinds of approaches, try

```
fp/test/test.fp felz
fp/test/test.fp gasls
```

*Local orbitals*

Local orbitals may be added to the basis set. These orbitals are important when energy bands over a very wide energy window are required, when high accuracy is needed for shallow (semi-)core states, or for energies far above the Fermi energy. Examples of the former occur in oxides: bond lengths are small and cations with shallow p orbitals extend somewhat beyond the augmentation radius.

Local orbitals are presented in one of two flavors. The first, conventional type of local orbital is constructed by solving the radial Schrödinger at a different linearization energy than the usual valence states, and then subtracting off a particular linear of the valence wave function and energy derivative such that the local orbital’s value and slope vanish at the augmentation radius. Thus

- A local orbital is strictly confined to the augmentation sphere, and has no envelope function at all.
- When taken in linear combination with the valence augmentation functions, it can solve the Schrödinger equation exactly for linearization the energy chosen (that is, for the spherical potential that defines the wave functions).
- It turns the
*linear*method into a*quadratic*one. Of course, it would be possible, and more accurate, to construct a**LMTO**orbital of a different principal quantum number complete with envelope function; however, there is a corresponding loss in efficiency because the additional matrix elements of the envelope function must be evaluated. - for states with energies in the vicinity of the local orbital energy, the envelope functions of the regular valence states combine with the local orbital to make the interstitial part of the wave function.

Examples from the standard distribution that illustrate local orbitals of this type are

```
fp/test/test.fp gas
fp/test/test.fp cu
```

The Ga 3*d* semi-core the high-lying As 5*s* state are included as local orbitals. In the Cu case, the high-lying Cu 4*d* is included, which is important in *GW* calculations.

The second, extended, kind of local orbital can only be used for semi-core states. Instead of artificially subtracting off some linear of the phi and phi-dot to make the orbital vanish at the augmentation radius, a smooth Hankel tail is attached to the orbital. The smoothing of tail is constructed to match as well as possible the kinetic energy of the semi-core state. This type of orbital has the advantage that the valence envelope function need not “carry” the tail of the semi-core state. Its drawback is that more things can “go wrong,” namely it may fail to do a good job of fitting the kinetic energy.

An example that illustrates the second kind of local orbital is

```
fp/test/test.fp srtio3
```

The Sr 4*p* and Ti 3*p* semi-core states are included as local orbitals. In the first part of the test, they are included as local orbitals of the first type; then the last step is recalculated using local orbitals of the second type.

This tutorial shows the application of local orbitals in PbTe.

*Floating Orbitals*

Floating orbitals may be added to the basis set. These orbitals can be important when very accurate calculations are needed in open systems, e.g. when reliable energy bands are needed for a wide energy window. They tend to be more important the *GW* context than the DFT context because the *GW* self-energy is a function of unoccupied states as well as occupied ones.

Floating orbitals differ from the usual smooth Hankel envelopes in that they are centered not at an atom, but usually at the center of some interstial region large enough to accomodate an atom. Like all envelope functions, their tails are augmented in spheres that contain actual sites, but they are not augmented at their own centre (no “head” sphere). *lmchk*, and *blm* (the *ctrl* file maker), have the ability to identify appropriate sites and and “E” (empty) sites automatically. (You can of course add them manually, by hand.) Note also that “E” sites can be “empty spheres”, “atoms” of atomic number zero complete with augumentation radii, or “floating orbitals” — sites where additional envelope functions are added without augmentation. This tutorial uses floating orbitals in the study of a InAs/GaSb heterojunction.

The following tests in the the Questaal distribution illustrate floating orbitals being included xin the basis:

```
fp/test/test.fp te
fp/test/test.fp gaslc
```

This tutorial has an exercise showing the application of local orbitals in a QS*GW* calculation of Si.

*Augmented Plane Waves*

Augmented Plane Waves can also be included in the basis. They play the same role as floating orbitals do, but APWs are superior because they are simpler to use (there are no parameters and they do not need to be located at any particular site), and the control over convergence is more systematic. It is called the PMT method, and is described in Ref. [4].

The following illustrate the inclusion of APWs in the basis:

```
fp/test/test.fp te
fp/test/test.fp srtio3
fp/test/test.fp felz 4
```

This tutorial demonstrates the PMT method.

*Jigsaw Puzzle Orbitals*

Jigsaw Puzzle Orbitals are the next-generation basis set that will eventually replace Questaal’s standard one. They are short ranged, making it easier to implement algorithms that rely on short-ranged, real-space hamiltonians, and we expect them to be more accurate besides. At present we only have a screening transformation of the existing basis set (short range, but not an improved hilbert space). This is still an experimental project, so if you are interested in them, please contact us.

*Parallel Implementation*

*lmf* can operate in scalar or MPI mode. It parallelizes over *k*-points, and is the most efficient for scaling.

### References

[1] 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.

[2] Dimitar Pashov, Swagata Acharya, Walter R. L. Lambrecht, Jerome Jackson, Kirill D. Belashchenko, Athanasios Chantis, Francois Jamet, Mark van Schilfgaarde, *Questaal: a package of electronic structure methods based on the linear muffin-tin orbital technique*, Comp. Phys. Comm. **249**, 107065 (2020).

[3] E. Bott, M. Methfessel, W. Krabs, and P. C. Schmidt, *Nonsingular Hankel functions as a new basis for electronic structure calculations*, Journal of Mathematical Physics 39, 3393 (1998).

[4] T. Kotani and M. van Schilfgaarde, *A fusion of the LAPW and the LMTO methods: the augmented plane wave plus muffin-tin orbital (PMT) method*, Phys. Rev. B81, 125117 (2010).

See also T. Kotani, H. Kino, H. Akai, *Formulation of the Augmented Plane-Wave and Muffin-Tin Orbital Method*, J. Phys. Soc. Jpn. 84, 034702 (2015), and also Sec. 3.10 of Ref. [2].