Capabilities

A detailed explanation of the capabilities of each package within the suite can be found on the package page.

Where tutorials which explain a feature in some detail exist, this page will point to them. However, tutorials do not yet exist for many features.

As a stopgap, this page refers to a script in the source directory that tests the feature. For definiteness, we assume that the source directory is called ~/lm.

Drawing Energy Bands

Energy bands can be drawn with the lmf, lm, tbe, lmgf and lumpy codes.

lm can generate energy bands as shown in this tutorial. The same instructions can be applied to all other packages listed above.

Drawing Fermi Surfaces

Fermi surfaces can be drawn with the lmf and lm codes. An illustration can be found here:

$~/lm/fp/test/test.fp fe 1  Alternatively, perform the steps by hand: $ cp ~/lm/fp/test/ctrl.fe ~/lm/fp/test/fs.fe .
$lmfa fe$ lmf fe
$lmf fe --iactiv --band~con~fn=fs$ mc -r:open bnds.fe -shft=0 -w b2 -r:open bnds.fe -shft=0 -w b3 -r:open bnds.fe -shft=0 -w b4 -r:open bnds.fe -shft=0 -w b5
$fplot -f ~/lm/fp/test/plot.fs0  Density Of States All of the band codes have the ability to generate the total Density of States (DOS). Total DOS are automatically generated when you set BZ_SAVDOS. DOS are written to file dos.ext (one DOS in the nonmagnetic case and two in the spin-polarized case). The pldos tool will render dos.ext into more user friendly formats, and perform other functions. Note: this switch will not be active if BZ_METAL is zero. Codes can also resolve DOS in different ways. lmf and lm can generate partial densities-of-states with the --pdos switch. lmf For partial DOS, see this tutorial. lmf can also generate joint density-of-states, project DOS onto particular orbitals, and resolve DOS by wave number $\mathbf k$, as part of the optics package. This tutorial illustrates how the $d$ partial DOS in Fe can be resolved into $t_{2g}$ and $e_g$ components, and how those components can resolved at a special $k$ point. lm A detailed tutorial for lm partial DOS can be found here. Features of the optics package also work with lm. lmgf and lmpg lmgf can make partial DOS. It can either do it by Pade extrapolation to the real axis of $Im(G)$ calculated on the contour in the complex plane, or you can choose a contour close to the real axis and generate DOS directly. The latter is more accurate, but more time consuming. For a demonstration, try $ ~/lm/gf/test/test.gf nife


Spectral Functions

DOS are equivalent to spectral functions, though generally spectral functions refer to DOS when there is some scattering to spread out the pole $\delta(E - E_0)$ in $Im(G)$ from a noninteracting eigenstate at energy $E_0$.

Codes calculate spectral functions for interacting electrons in several contexts:

• Calculated from GW. See this tutorial.
• Calculated in Dynamical Mean Field Theory. See the DMFT tutorial.
• The ASA Green’s function code lmgf will calculate spectral functions in the context of the Coherent Potential Approximation, see this document. Electrons aren’t interacting in the many-body sense here; disorder causes scattering which has the same effect.

Mulliken Analysis and Core Level Spectroscopy

Mulliken Analysis and Core Level Spectroscopy are closely related to densities of states.

The lmf package can also perform Mulliken analysis or Core-Level Spectroscopy (CLS) using switches --mull or --cls. --mull is very similar to --pdos: both resolve the total DOS into projections.

• --pdos projects onto partial waves in augmentation spheres
• --mull projects onto basis functions.

Both switches have several options; for --mull see here; for --cls see here.

A usage guide for Mulliken analysis, including how the switch is actually used, can be found here. For core-level spectroscopy, see this tutorial.

For k-resolved DOS, and as well as joint projection of k resolved and Mulliken resolved DOS onto orbitals, see this tutorial.

The test case

$gwd/test/test.gwd fe 1  demonstrates the method to obtain results for a metallic system. Obtaining a Self-Energy in Dynamical Mean Field Theory See this document and this tutorial. Dielectric Response and Optics See this document and this tutorial. Spin Susceptibility and Magnetic Exchange Interactions For spin susceptibility in the ASA-Green’s function scheme, see this tutorial. For a demonstration of the transverse magnetic susceptibility in the GW frameowork, try $ gwd/test/test.gwd zbmnas 6


Properties of Disordered Materials and the Coherent Potential Approximation

The ASA Green’s function code lmgf can treat chemical and spin disorder, and both at the same time, with the Coherent Potential approximation. See this tutorial.

Molecular Statics

For a demonstration, see this test

$~/lm/fp/test/test.fp te  Molecular Dynamics lmf can do molecular dynamics, but other DFT codes that use iterative diagonalization generally are more efficient. The empirical tight-binding code has an efficient implementation. Noncollinear Magnetism This is available only in the ASA at present. There are no tutorials as yet. However, the source code has a number of tests that illustrate noncollinear magnetism. Try $ ~/lm/nc/test/test.nc --list


Spin Statistics: Relaxation of Spin Quantization Axis

lm and lmgf can perform “spin statics” — the analog of molecular statics where the spin quantization axis is relaxed to where the off-diagonal parts of the spin density matrix vanish.

There are no tutorials as yet. But try:

$~/lm/gf/test/test.gf nife  Spin Orbit Coupling There are no tutorials as yet. This test demonstrates the addition of $\lambda L \cdot S\rangle$ into the band code lm: $ ~/lm/nc/test/test.so


Thistest combines CPA and spin orbit coupling in lmgf:

$~/lm/gf/test/test.gf fe2b  A basic test using lmf, comparing $\lambda L_z S_z\rangle$ to $\lambda L \cdot S\rangle$: $ ~/lm/fp/test/test.fp felz 4


The following provides an extensive test of SO coupling, resolving contribution by site, and scaling $\lambda L \cdot S\rangle$ to extract the dependence on $\lambda$

$~/lm/fp/test/test.fp coptso  Fully Relativistic Dirac Equation The Dirac equation is implemented in the ASA, in codes lm and lmgf. There is no tutorial as yet. See this demonstration: $ ~/lm/gf/test/test.frgf ni


lmfa will generate core levels from the Dirac equation. See this tutorial.

Application of External Scalar Potential

For the lmf code, try the following demonstration:

$fp/test/test.fp ni  Application of External Zeeman B Field In the ASA, try the following demonstrations $ ~/lm/nc/test/test.nc 5 6


In the FP code, try the following demonstration

$~/lm/fp/test/test.fp gdn  Using Functionals Other Than LDA lmf demonstrates the PBE functional with this test: The ASA code demonstrates the PBE functional with this test: $ ~/lm/fp/test/test.fp te


The ASA code lm demonstrates the PBE functional with this test:

$~/lm/testing/test.lm kfese  LDA+U The following tests illustrate LDA+U in the lmf code: $ ~/lm/fp/test/test.fp cdte
$~/lm/fp/test/test.fp gdn$ ~/lm/fp/test/test.fp eras
$~/lm/fp/test/test.fp er  In the ASA, try $ ~/lm/testing/test.lm er


Try the following demonstration:

$~/lm/fp/test/test.fp c  Band Edge and Effective Mass Finder Finding band edges in complex semiconductors and insulators can be a tedious exercise. This tutorial explains a tool that automates the process and also gives effective mass tensors around band extrema. Building a Supercell For now, look at these tests: $ ~/lm/testing/test.lmscell --list


Special Quasirandom Structures

For now, do this test for an SQS structure of NiO

\$ ~/lm/testing/test.lmscell 4


Spin Dynamics

No tutorials yet, sorry.

Phonons

No tutorials yet, sorry.

Other Notes

Techniques for Brillouin Zone Integration

Techniques for Brillouin zone integration are described some detail here.

How to Make Integer Lists in Various Contexts

The syntax for integer lists is described here. In some contexts lists can consist of real numbers. The same rules apply.

How to Define Rotations in Various Contexts

Rotations are used for crystal axes, spin quantization axes, and in a few other contexts. They are constructed by a succession of angles around specified axes. This page explains how to specify rotations.

How Site Positions are Read by the Input File

Questaal codes use real harmonics $Y_{lm}$ by default, which are real linear combination of spherical harmonics $Y_{lm}$. The ASA codes will, however, use true spherical harmonics if you set OPTIONS_SHARM to true.
The $Y_{lm}$ are functions of solid angle, while $Y_{lm}r^l$ are polynomials in $x$, $y$, and $z$. This page documents Questaal’s conventions for real and spherical harmonics and shows the polynomial forms of hte $Y_{lm}$ for $l = 0...3$.