Applications of the static sigma editor
This tutorial presents various applications of the static sigma editor. With it you can manipulate the QSGW static selfenergy Σ^{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 selfenergy editors corresponding to the two forms of self energy in QSGW:

a static selfenergy Σ^{0}(k) that substitutes for the exchangecorrelation potential in LDA, GGA, HartreeFock or LDA+U theory. Σ^{0}(k) is static and hermitian, and generates a noninteracting hamiltonian H_{0} and a corresponding noninteracting Green’s function G_{0}. This potential is the primary output of the the QSGW cycle and Σ^{0}(k) (actually $\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.

a frequencydependent, nonhermitian self energy Σ(k,ω). The ωdependence broadens the states; the nonhermitian 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 selfenergy editor to facilitate analysis.
Note: this page is under construction.
Table of Contents
 Preliminaries
 Reading and writing RealSpace sigm Files
 Spin Orbit Coupling in Fe
 As Antisite Defect
 Computers that do not use IEEE conventions for binary files.
Preliminaries
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 # MPIjob
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 RealSpace 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 notuseieeeconventionsforbinaryfiles, see here before proceeding.
Verify that the input conditions result in a selfconsistent potential.
rm f mixm.fe log.fe mpix n 12 lmf vnit=1 rs=1,0 ctrl.fe `cat switchesforlm` > 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 switchesforlm` > out.noso.lda.001
Problems arise if you try to include use the given selfenergy in a calculation with lower symmetry, e.g. a shear distortion or the addition of spinorbit coupling. It immediately appears if you repeat the calculation lmf with spinorbit coupling on (note tag SO in the input file!):
lmf vso=1 vnit=1 rs=1,0 ctrl.fe `cat switchesforlm`
This is because by the given Σ^{0}_{xc} is stored on a mesh of kpoints. SO coupling reduces symmetry and requires that Σ^{0} be available on a different kmesh.
You can work around this by saving Σ^{0} in a real space form; that is, map Σ^{0}_{RL,R′L′}(k) to Σ^{0}_{RL,R′L′}(T) = Σ^{0}_{R+TL,R′L′}. T is a crystal lattice translation vector; there are as many Tpoints as k points in kspace. The transformation is exact and no information is lost. (It is accomplished in practice using FFT techniques, and the original Σ^{0}_{RL,R′L′}(k) can be recovered by a Bloch sum.) Once generated Σ^{0}(T) doesn’t depend on the number of kpoints, 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 switchesforlm` lmf ctrl.fe `cat switchesforlm` rsig:ascii wsig cp sigm2.fe sigm
Edit This Page