Skip to content

Sigma code overview

Sigma is the second half of the GW code. It should be run after calculating epsmat[.h5]/esp0mat[.h5] with epsilon. It gives the quasiparticle self-energies and dispersion relation for quasielectron and quasihole states. The main result is written to the standard output and to the sigma_hp.log file.

Summary of input and output files

Required input files

  • sigma.inp: Input parameters.

  • epsmat[.h5]: Inverse dielectric matrix (q\ne0). Created using epsilon. The file has a h5 extension if the code is compiled with HDF5 support (for specification, see epsmat.h5.spec).

  • eps0mat.[h5]: Inverse dielectric matrix (q\rightarrow0). Created using epsilon. The file has a .h5 extension if the code is compiled with HDF5 support (for specification, see epsmat.h5.spec).

  • WFN_inner: Wavefunctions used to expand the Green's function G in \Sigma=iGW, and, whenever WFN_outer is abset, file used to load the states |n\rangle and |m\rangle used to compute the self-energy matrix element \langle n|\Sigma|m \rangle. For a given k-point in WFN_inner, all other k-points connected by any q-point in epsmat[.h5] should also be in WFN_inner.

  • RHO: Charge density \rho(G) (only needed for generalized plasmon-pole model), from SCF calculation on which WFN_inner is based.

  • vxc.dat: Matrix elements of the exchange-correlation potential, from a mean-field calculation or a previous Sigma run. VXC file, which stores the whole exchange-correlation matrix in reciprocal space, V_{xc}(G), may be used instead via keyword dont_use_vxcdat.

Additional input

  • WFN_outer: Outer wavefunctions between which the self-energy operator and exchange-correlation potential are sandwiched, i.e., the file used to load the states |n\rangle and |m\rangle used to compute the self-energy matrix element \langle n|\Sigma|m \rangle. If absent, the inner wavefunctions from WFN_inner will be used instead. Note that VXC should be consistent with outer wfn while RHO with inner wfn. If outer wfn is generated using a hybrid functional, VXC contains the local part of exchange-correlation potential. In this case set bare_exchange_fraction in sigma.inp to compensate for the non-local part, or use vxc.dat instead of VXC.

The file below will be read only if eqp_corrections is set in sigma.inp.

  • eqp.dat: A list of quasiparticle energy corrections for the bands in WFN_inner. The corrected eigenvalues are used for constructing the self-energy operator.

The file below will be read only if eqp_outer_corrections is set in sigma.inp.

  • eqp_outer.dat: A list of quasiparticle energy corrections for the bands in WFN_outer. The corrected eigenvalues determine the energies at which the self-energy operator is calculated.

  • vxc2.dat: Matrix elements of the exchange-correlation potential, from a mean-field calculation or a previous Sigma run. This file is analogous to vxc.dat, but used for a one-shot hybrid-functional-like calculation instead of a Sigma calculation. VXC2 file, which stores the whole exchange-correlation matrix in reciprocal space, V_{xc}(G), may be used instead via keyword dont_use_vxc2dat.

Auxiliary files

  • x.dat: Matrix elements of the bare exchange, generated by a previous Sigma run to speed up subsequent calculations. Read if use_xdat keyword is present, written otherwise.

  • VXC: Exchange-correlation potential (whose matrix elements are subtracted from DFT eigenvalues). Produced by a mean-field code, from the SCF calculation on which WFN_inner is based (or WFN_outer, if present). Used only if vxc.dat is not present or keyword dont_use_vxcdat is set.

  • VXC2: Exchange-correlation potential (whose matrix elements are added to the hybrid-functional-like DFT eigenvalues). Produced by a mean-field code, from the SCF calculation on which WFN_inner is based (or WFN_outer, if present). Used only if vxc2.dat is not present or keyword dont_use_vxc2dat is set.

Output files

The file below will be read only if eqp_corrections is set in sigma.inp.

  • eqp0.dat: Contains the on-shell QP energies, E^\mathrm{mf} - V_\mathrm{xc} - \Sigma(E_0). This is not the recommended quantity to use for QP properties. This is Eqn. 36 from Hybertsen & Louie PRB 34 5390.

  • eqp1.dat: Contains the off-shell solution to the linearized Dyson's equation, E^\mathrm{qp}_0 + (d\Sigma/dE) / (1 - d\Sigma/dE) (E^\mathrm{qp}_0 - E_0), or a full linear interpolation if more freq. points where computed. This is the recommended quantity to use for QP properties. If you only evaluate \Sigma(\omega) at two frequencies, this is Eqn. 37 from Hybertsen & Louie PRB 34 5390. If there are more frequencies available, the code uses them to find a better linearized solution. For GW calculations without plasmon-pole models, the code reports how many solutions to Dyson's equation were found.

  • sigma_hp.log: The log file containing quasiparticle energy values for desired states. For a full-frequency calculation only the value for Sigma calculated at energy closest to the outer wavefunction eigenvalue is shown. The file spectrum.dat contains the full \Sigma(\omega) spectra.