Applications of the static sigma editor

This tutorial presents various applications of the static sigma editor. With it you can manipulate the QSGW static self-energy Σ0(k) in a variety of ways. The present tutorial displays some of the features of the editor in the context of some practical applications.

Questaal has two self-energy editors corresponding to the two forms of self energy in QSGW:

  1. a static self-energy Σ0(k) that substitutes for the exchange-correlation potential in LDA, GGA, Hartree-Fock or LDA+U theory. Σ0(k) is static and hermitian, and generates a noninteracting hamiltonian H0 and a corresponding noninteracting Green’s function G0. This potential is the primary output of the the QSGW cycle and Σ0(k)  (actually Σ0VxcLDA\Sigma^0{-}V_\mathrm{xc}^\mathrm{LDA}) is saved on disk, usually in file sigm.ext. There are numerous ways to use and transform Σ0; most are accomplished through the Σ0(k) editor described here.

  2. a frequency-dependent, nonhermitian self energy Σ(k,ω). The ω-dependence broadens the states; the non-hermitian part gives the quasiparticle a finite lifetime. This is not generated automatically, but must be done using a special setup, as described in this tutorial. Once the dynamical Σ(k,ω) is made, there is a corresponding dynamical self-energy editor to facilitate analysis.

Note: this page is under construction.

Table of Contents


This tutorial uses the MPI parallel form of lmf. It assumes a script mpix is present in your path that runs an MPI job with  #  processors as follows:

mpix -n # MPI-job

mpix can be simply mpirun.

If you have compiled lmf in serial mode, you can run the tutorials here in serial mode, by omitting the mpix -n #.

Reading and writing Real-Space sigm Files

Files associated with this tutorial are too large to be included with the basic distribution. Download and unpack the tarball FeTutorial.tar.gz and change to directory fetutorial.

  cp input/* .
  cp bas2.tppc3.tpd4.sep12/rst.fe .
  cp bas2.tppc3.tpd4.sep12/nk12/* .
  ln -s -f sigm sigm.fe

If your computer hardware does not not-use-ieee-conventions-for-binary-files, see here before proceeding.

Verify that the input conditions result in a self-consistent potential.

  rm -f mixm.fe log.fe
  mpix -n 12 lmf -vnit=1 --rs=1,0 ctrl.fe `cat switches-for-lm` > out.noso.001

If you want to carry out a corresponding LDA calculation, do:

  cp bas2.tppc3.tpd4.sep12/rst.lda rst.fe
  rm -f mixm.fe log.fe
  mpix -n 12 lmf -vsig=0 -vnit=1 --rs=1,0 ctrl.fe `cat switches-for-lm` > out.noso.lda.001

Problems arise if you try to include use the given self-energy in a calculation with lower symmetry, e.g. a shear distortion or the addition of spin-orbit coupling. It immediately appears if you repeat the calculation lmf with spin-orbit coupling on (note tag  SO  in the input file!):

  lmf -vso=1 -vnit=1 --rs=1,0 ctrl.fe `cat switches-for-lm`

This is because by the given Σ0xc is stored on a mesh of k-points. SO coupling reduces symmetry and requires that Σ0 be available on a different k-mesh.

You can work around this by saving Σ0 in a real space form; that is, map Σ0RL,RL(k) to Σ0RL,RL(T) = Σ0R+TL,RL. T is a crystal lattice translation vector; there are as many T-points as k points in k-space. The transformation is exact and no information is lost. (It is accomplished in practice using FFT techniques, and the original Σ0RL,RL(k) can be recovered by a Bloch sum.) Once generated Σ0(T) doesn’t depend on the number of k-points, so it is preferable in this context even while it is less compact.

Spin Orbit Coupling in Fe

As Antisite Defect

Computers that do not use IEEE conventions for binary files.

Files sigm._ext and rst._ext are stored in binary form following IEEE conventions. If your computer doesn’t read binary files in this format, do the following additional steps:

  cp bas2.tppc3.tpd4.sep12/rsta.fe.gz .
  gunzip rsta.fe.gz
  gunzip sigma.fe.gz
  lmf -vnit=0 --rs=2,1 ctrl.fe `cat switches-for-lm`
  lmf ctrl.fe `cat switches-for-lm` --rsig:ascii --wsig
  cp sigm2.fe sigm

Edit This Page