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.
Table of Contents
- Drawing Energy Bands
- Drawing Fermi Surfaces
- Density-of-States, Partial DOS, Mulliken Analysis and Core Level Spectroscopy
- Spectral Functions
- Obtaining quasiparticle Energy Bands From 1-shot GW
- Obtaining a Self-Energy in Dynamical Mean Field Theory
- Dielectric Response and Optics
- Spin Susceptibility and Magnetic Exchange Interactions
- Properties of Disordered Materials and the Coherent Potential Approximation
- Molecular Statics
- Molecular Dynamics
- Noncollinear Magnetism
- Spin Statistics: Relaxation of Spin Quantization Axis
- Spin Orbit Coupling
- Fully Relativistic Dirac Equation
- Application of External Scalar Potential
- Fixed spin-moment
- Drawing Charge densities
- Application of External Zeeman B Field
- Using Functionals Other Than LDA
- Adding a Homogenous Background Density
- Band Edge and Effective Mass Finder
- Building a Supercell
- Point Defects in Large Supercells
- Special Quasirandom Structures
- Spin Dynamics
- Other Notes
Drawing Energy Bands
Energy bands can be drawn with the lmf, lm, tbe, lmfgws, lmfdmft, and lmgf codes.
The Green’s function codes (lmgf, the GW and DMFT codes) are somewhat more complicated, as the bands are broadened, either through alloy scattering (CPA) or through many-body electron-electron interactions. Interacting energy bands for Fe generated by the fully dynamical self-energy are generated in this tutorial, and those for La2CuO4 generated by DMFT are explained in this tutorial.
The plbnds utility is a very useful tool to render the bands generated by band codes in an easy-to read format for graphics packages to make figures with. It automatically makes a script for Questaal’s fplot (graphics utility). The plbnds documentation offers several examples.
Drawing Fermi Surfaces
Fermi surfaces can be drawn with the lmf and lm codes. See this tutorial.
Density-of-States, Partial DOS, Mulliken Analysis and Core Level Spectroscopy
All of the band codes (lmf, lm, and tbe) 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). Note: this switch will not be active if BZ_METAL is zero. You can also make the DOS using the command-line switch --dos as described in this tutorial.
The pldos utility will render dos.ext into more user friendly formats, and perform other functions.
Questaal codes lmf and lm can resolve densities-of-states into partial contributions, either by projecting onto partial waves in augmentation spheres, or by Mulliken analysis. Questaal can also perform Core-Level Spectroscopy (CLS), also known as EELS, which is closely related to the DOS.
Accomplish these by adding one of following switches to the commmand-line:
- --dos generates total DOS
- --pdos projects onto partial waves in augmentation spheres
- --mull projects onto basis functions.
- --cls performs core-level spectroscopy.
Tutorials for partial DOS, Mulliken analysis, and core-level spectroscopy, can be found on this page.
For k-resolved DOS, and as well as joint projection of k resolved and Mulliken resolved DOS onto orbitals, see this tutorial.
lmgf and lmpg can make partial DOS. They can either do it by Pade extrapolation to the real axis of the imaginary part of the Green’s function 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
DOS are equivalent to spectral functions, though generally spectral functions refer to DOS when there is some scattering to spread out the pole in from a noninteracting eigenstate at energy .
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.
Obtaining quasiparticle Energy Bands From 1-shot GW
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
Dielectric Response and Optics
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. It is documented here.
This tutorial shows how to use lmf to relax the crystal structure in Se to its equilibrium geometry.
lmf can do molecular dynamics, but other DFT codes that use iterative diagonalization generally are more efficient.
The empirical tight-binding code tbe has an efficient implementation.
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 into the band code lm:
Thistest combines CPA and spin orbit coupling in lmgf:
$ ~/lm/gf/test/test.gf fe2b
A basic test using lmf, comparing to :
$ ~/lm/fp/test/test.fp felz 4
The following provides an extensive test of SO coupling, resolving contribution by site, and scaling to extract the dependence on
$ ~/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:
$ ~/lm/fp/test/test.fp mgo
One technique stabilize self-consistency in difficut magnetic calculations, or to extract quantities such as the magnetic susceptibility, you can imposed a fixed magnetic moment by imposing distinct Fermi levels for each spin. This is equivalent to imposing a static, Zeeman field.
The following tests demonstrate the fixed-spin moment technique
$ fp/test/test.fp felz $ fp/test/test.fp ni
Drawing Charge densities
There is no tutorial at present. Try
~/lm/fp/test/test.fp bzt 3
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
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
Adding a Homogenous Background Density
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
Point Defects in Large Supercells
Tutorials are in progress. If you are interested contact us.
Special Quasirandom Structures
For now, do this test for an SQS structure of NiO
$ ~/lm/testing/test.lmscell 4
No tutorials yet, sorry.
No tutorials yet, sorry.
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
Lattice data (lattice vectors and site positions) can be read in different ways. See this page.
Angular Momentum in the Questaal suite
Questaal codes use real harmonics by default, which are real linear combination of spherical harmonics . The ASA codes will, however, use true spherical harmonics if you set OPTIONS_SHARM to true.
The are functions of solid angle, while are polynomials in , , and . This page documents Questaal’s conventions for real and spherical harmonics and shows the polynomial forms of hte for .