The pldos utility


pldos is designed to generate data to make figures of partial densities-of-states (DOS).

It can make postscript files directly, but this tool is is mostly used to set up render data files generated by Questaal codes into a simple, easy-to-read format. pldos also makes a script for the fplot graphics tool, but the simple data format is suitable for use by any graphics package.


Executables pldos and fplot, are required and are assumed to be in your path. You will also need a postscript viewer. This document assumes you are using the apple-style open command to view postscript files.

Table of Contents

1. Introduction

Densities-of-states (DOS) tell us a great deal about the electronic structure of a system. Many programs in the Questaal suite make DOS for noninteracting hamiltonians, e.g. lmlmf,  and tbe. These packages write DOS information directly, to file dos.ext, or create band weights to enable the postprocessing tool lmdos to decompose the DOS into partial contributions. The Green’s function codes lmgf and lmpg can also make DOS or partial DOS by integrating the imaginary part of G over the Brillouin zone for a particular energy, and rastering over energies. See here for a brief description to make the partial DOS, written in the same format as lmdos or lmf.

Some codes make DOS, or spectral functions, for hamiltonians in which the Green’s function does not consist of a collection of sharp poles at the quasiparticle levels. Poles can be broadened by interactions, which at the one-particle level gives rise to a frequency-dependent, complex self-energy Σ(k,ω).

The GW approximation makes such a Σ; this GW tutorial gives a little bit of theory explaining how the Green’s function is modified by interactions. It also presents a tutorial to calculate and analyze Σ(k,ω) in Fe.

Dynamical Mean Field theory makes a k-independent (single-site) Σ(ω), but the Σ(ω) it does make includes all local diagrams. This tutorial explains how to carry out a DMFT calculation. One complication is that DMFT calculations are carried out on the Matsubara axis.

The Coherent Potential Approximation, or CPA, which replaces disorder by an effective single site self-energy Σ(ω). Even though the hamiltonian is non-interacting, disorder gives rise to a complex, frequency-dependent Σ, similar to the DMFT form. This document explains how to compute spectral functions for disordered systems (either chemical disorder or spin disorder) using the lmgf code.

pldos is designed only to analyze files witten in the format lmf or lmdos use. It will provide a synopsis of its usage by typing:

$ pldos --h

2. Examples

… to be completed

3. pldos manual

Invoke pldos in one of the following ways:

pldos [-switches] filename
pldos -lst=... [-switches] filename
echo dmax, h, emin, emax | pldos -lst=... [-switches] filename

filename is the name of the DOS file generated by the Questaal package, e.g. dos.ext. This may be the total DOS generated by a band code such as lmf or the partial DOS generated by lmdos. In the magnetic case, or when partial DOS are generated, dos.ext will contain multiple families of DOS corresponding to different channels, e.g. partial waves spd.

pldos will cull DOS from dos.ext, and combine them according to lists you supply. When multiple DOS are involved, refer to which member by an integer, e.g. 1 for the first DOS, 2 for the second, etc.

Note: In the magnetic case the spin-up and spin-down DOS are interleaved; thus 1,3,5,… correspond to the spin-1 DOS and 2,4,6,… correspond to the same channels, for spin 2.

In the first form (without the --lst= switch) you will be prompted with a pair of questions:

 dos 1:  Enter list of dos to be added:
 Weights for dos: 1?

To the first question enter an integer corresponding to which DOS to extract from dos.ext, or a list of integers.
To the second question enter a corresponding list of weights to assign each DOS.

These questions will be repeated until you enter a blank list in response to the first question. Each group of DOS will generate a new panel; thus multiple panels can be drawn, one below the other.

These interactive questions can be bypassed with the  --lst=  switch. Create a sequence of one or more lists list1,   list2,   … using --lst=list1;list2;.... Each of list1,   list2,   … consist of a list of DOS. For each list a new panel will be made.

After the lists are read from standard input (stdin) or parsed from --lst=, pldos reads four numbers from stdin: dmax, height, emin, emax :

  • dmax caps the DOS in the figure so as not to exceed this value
  • height is of dmax (ordinate), in cm.
  • emin and emax comprise the lower and upper energies of the figure (the energy appears on the abscissa).

Command line switches

Optional switches perform the following functions:

  • -lst2|-lst2=list…*
    performs the same function as -lst but for second spin.
    -lst2 without arguments means to ust use arguments of -lst, but incrementing each element by 1 (see Note).

  • -fplot
    causes pldos to create input for fplot or another graphics package. It does the following:\

    1. writes collated dos to file dosp.dat
    2. generates a script plot.dos
    3. suppresses creating a postscript file directly

  • -long
    writes fplot dosp.dat with 6 decimals, rather than 4.

  • -inc:filname
    prepends contents of filname to fplot script file.

  • -ref:fn=filename[:chan=ref-channel]
    single DOS with color weights.

    • Reference DOS is total DOS file, standard format
    • filename is partial DOS file, standard format, e.g.
      pldos -ef=0 -escl=13.6 -fplot ‘-lst=3;1’

  • -dif:#[,rat]]  |  -int
    differentiate or integrate DOS

  • -ext=ext
    substitute dat extension in fplot data files with ext.

  • -ef=expr||-shiftef=expr
    shift Fermi level to  expr.

  • -shiftef=expr
    shift Fermi level by  expr.

  • -escl=expr
    scale energy axis (abscissa) by  expr

  • -esclxy=expr
    scale energy axis (abscissa) by  expr and DOS (ordinate) by  1/expr
    This is the appropriate switch to keep units consistent.

4. Other resources

See the documentation for fplot and plbnds.

Edit This Page