Introductory ASA Tutorial

Tutorial Outline

This section details the expected commands, inputs and outputs for each section in this tutorial. Useful for those who may want to remind themselves of the command usage or similar. It is not advised to use this section unless you have previously gone through this tutorial fully.

Table of Contents

Preliminaries

This tutorial will require use of both the lm repository (located here) and the post-compile build directory of the repository. For the purpose of demonstration, lm will refer to the location of the downloaded repository and lmbuild will refer to the location of the directory the repository was compiled (built) in to. In practice, these directories can be named differently. The tutorial will assume a file structure such as

~/lmto/lm/
~/lmto/lmbuild/

All instances of commands assume the starting position, in the example above, is (this can be checked with the pwd command)

~/lmto/

All instances of si in the command lines can be replaced with ctrl.si, depending on what your input file has been named.

Tutorial

The aim of this section of the tutorial is to give an outline of the steps involved in using the lm program for those who may be more familiar with it. Further documentation and tutorials can be found for any topic that is not detailed in enough depth here.

1. Building the Input File

Shown below is a basic input file that can be used for this tutorial. First, navigate to a test directory testdir.

mkdir testdir ; cd testdir

Once you have entered the testdir directory, create a new file named ctrl.si with your preferred text editor. In this file, paste the following text, this file is now your input file.

2. Running Band Calculations

The band calculation can be done with the lm package, located in your build directory. To invoke lm and to pipe the output to a file, use the command

../lmbuild/lm si > si.out

This will run the lm package using the input file, si, created above. The output will be displayed on screen as well as being saved to the si.out file.

Note: The output file can be named differently, and its extension does not matter. Further, it is not neccessary to save the output to a file at all if you do not wish to, simply ommit:

> si.out

3. Generating Energy Bands and Densities-of-States

Plotting energy bands require the use of a symmetry-line file. Rather than create one, it can be found in the lm repository, copy the startup/syml.fcc file, located in the startup directory of the lm repository, and save it as syml.si

cp ../lm/startup/syml.fcc syml.si

41 .5 .5 .5 0 0 0 L to Gamma (Lambda)
...
0 0 0 0 0 0 0

With this symmetry-line file, lm can be used to generate ASA bands:

../lmbuild/lm si --band:fn=syml

The bands are generated and saved in the file bands.si located in the current directory

The bands can be plotted with various plotting packages.

If you have the plbnds program installed from the FPLOT package, you can plot the bands by invoking one of the following

echo -15 15 5 10 | ~/path/to/plbnds -scl=13.6 -ef=0 si

which creates directly a postscript file ps.si, or better:

echo -15 15 5 10 | ~/path/to/plbnds -fplot -scl=13.6 -ef=0 si

which creates an fplot command, in file plot.plnds. Use fplot to create a postscript file:

~/path/to/fplot -f plot.plbnds

which creates a postscript file ps.dat.

The energy bands generator has an optional feature that enables you to highlight a particular orbital character in the energy bands. See the ‘Using FPLOT’ tutorial.

Generating the total density-of-states (DOS) requires that the switch BZ SAVDOS=T be set in the input file. The input file does not need to be edited for this however, as variables can be edited with command-line arguments. In order to avoid the program changing the potential, interactive mode is also used.

First, navigate to the test directory

cd ~/lmto/testdir

Next, use the lm package to generate the DOS

../lmbuild/lm si -vnk=16 -vmet=1 --iactiv --pr30

During the process, lines beginning with QUERY: will appear. Press return to each query until

QUERY: beta (def=0.8)?

Appears. Type q and the program will stop.

A DOS can also be generated using files generated as a byproduct of a band pass via the lmdos package. Still in the lmbuild directory, execute:

The FPLOT package can be used with the pldos package to create pictures of DOS from this file.

For example,

echo 8 7 / | ~/path/to/pldos -fplot '-lst=1,2,3;4,5,6' dos.si

creates a file dosp.dat with two columns containing partial dos (one column combines dos 1,2,3 —the Si dos and the other combines dos 4,5,6—the Es dos), and a file plot.pldos which holds the FPLOT command that creates a postscript file for this DOS.

~/path/to/fplot -disp -pr10 -f plot.dos

creates and displays postscript file ps.dat. You can see from the DOS that there is a direct gap near the Fermi level of about 0.04 Ry, which is the LDA gap for Si. Note: there is a facility to draw two DOS in a single panel, one above the ‘zero’ and one below. This is particulary convenient in spin polarized cases when you want to compare the majority and minority DOS. Example: in file dos.dat the majority DOS are in channels 1,3,5 (atom 1) and 7,9,11 (atom 2), and the minority DOS are in channels 2,4,6 (atom 1) and 8,10,12 (atom 2), invoke, e.g.