exc!ting
exciting
a full-potential all-electron package implementing linearized augmented planewave methods

Input reference: gw


Element: gw

G0W0 calculation setup.

Contains: freqgrid (optional)
selfenergy (optional)
mixbasis (optional)
selfconsistency (optional)
barecoul (optional)
scrcoul (optional)
taskGroup (optional)
XPath: /input/gw

This element allows for specification of the following attributes: GBatchCount, coreflag, degeneracyAbsoluteTolerance, degeneracyRelativeTolerance, enforceCrystalSymmetryTetrahedron, enforceDegeneracy, ibgw, mblksiz, nbgw, nempty, ngridq, printKpoints, printSpectralFunction, qdepw, rpmat, skipgnd, symmetryBandstructure, taskname, vqloff

Attribute: GBatchCount

During the computation of expansion coefficients, operations on the interstitial part are processed in batches over G vectors for improved performance. For large unit cells or systems with significant vacuum, memory usage can become excessive. To reduce RAM pressure, the batch size can be limited from the full set of G vectors to a smaller value, defined by GBatchCount.

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/GBatchCount

Attribute: coreflag

Option for treating core states in GW:

Type: string
Default: "all"
Use: optional
XPath: /input/gw/coreflag

Attribute: degeneracyAbsoluteTolerance

When enforceDegeneracy is true, this controls the absolute tolerance for considering two states degenerate. Systems with flat bands and/or bunch of degenerate states in the vicinity of the Fermi level might require lower values.

Type: fortrandouble
Default: "1.0d-8"
Use: optional
XPath: /input/gw/degeneracyAbsoluteTolerance

Attribute: degeneracyRelativeTolerance

When enforceDegeneracy is true, this controls the relative tolerance for considering two states degenerate. Systems with degenerate flat bands might require lower values.

Type: fortrandouble
Default: "1.0d-5"
Use: optional
XPath: /input/gw/degeneracyRelativeTolerance

Attribute: enforceCrystalSymmetryTetrahedron

When true it enforces crystal symmetry for the tetrahedron method. It should be used when crystal symmetry is used to restrict the computation of the dielectric matrix to the irreducible wedge.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/enforceCrystalSymmetryTetrahedron

Attribute: enforceDegeneracy

When true, enforce a special treatment of degeneracy by: Unless there is a good reason, it is not generally advisable to set enforceDegeneracy to false. For details, refer to Section 6 and Appendix A of this (https://doi.org/10.1016/j.cpc.2011.12.006) and this (https://doi.org/10.1103/PhysRevB.35.5585) papers, respectively.

Type: boolean
Default: "true"
Use: optional
XPath: /input/gw/enforceDegeneracy

Attribute: ibgw

QP corrections are computed for states in the interval [ibgw, nbgw].

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/ibgw

Attribute: mblksiz

To reduce the memory usage, in summations over unoccupied states, big matrices are considered to be in a block form with a size of mblksiz.

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/mblksiz

Attribute: nbgw

QP corrections are computed for states in the interval [ibgw, nbgw].

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/nbgw

Attribute: nempty

Number of empty states to compute both the screened Coulomb potential and the self-energy.

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/nempty

Attribute: ngridq

Size of the \(\mathbf{k/q}\)-point grids.

Type: integertriple
Default: "0 0 0"
Use: optional
XPath: /input/gw/ngridq

Attribute: printKpoints

If true, detailed information about the k-points will be printed to the file GW_KPOINTS.OUT.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/printKpoints

Attribute: printSpectralFunction

Compute and output the spectral function.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/printSpectralFunction

Attribute: qdepw

Method to compute k/q and frequency dependent weights in the expression for polarizability:

Type: string
Default: "tet"
Use: optional
XPath: /input/gw/qdepw

Attribute: rpmat

Skip calculation of the momentum matrix elements, instead read them from files PMATVV.OUT and PMATCV.OUT (restart option).

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/rpmat

Attribute: skipgnd

Skip the recalculation of KS eigenvalues and eigenvectors for the specified k/q-point grids (restart option).

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/skipgnd

Attribute: symmetryBandstructure

When true, symmetry operations are taken into account during the Fourier interpolation used to construct the quasiparticle (QP) bandstructure (for taskname="band").

Type: boolean
Default: "true"
Use: optional
XPath: /input/gw/symmetryBandstructure

Attribute: taskname

Tasks launcher:

Type: string
Default: "g0w0"
Use: optional
XPath: /input/gw/taskname

Attribute: vqloff

The \(\mathbf{k/q}\)-point offset vector in lattice coordinates.

Type: vect3d
Default: "0.0d0 0.0d0 0.0d0"
Use: optional
XPath: /input/gw/vqloff

Element: freqgrid

Frequency grid setup used for computing \(W(q,omega)\) and \(Sigma(k,omega)\).

Type: no content
XPath: /input/gw/freqgrid

This element allows for specification of the following attributes: eta, fconv, fgrid, freqmax, freqmin, nomeg

Attribute: eta

Numerical (complex) smearing parameter used for the real frequency convolution and qdepw=sum.

Type: fortrandouble
Default: "1.0d-3"
Use: optional
XPath: /input/gw/freqgrid/eta

Attribute: fconv

Frequency convolution type:

Type: string
Default: "imfreq"
Use: optional
XPath: /input/gw/freqgrid/fconv

Attribute: fgrid

Grid types (listed only the recommended ones, for more grids see the source subroutine mod_frequency.f90):

Type: string
Default: "gauleg2"
Use: optional
XPath: /input/gw/freqgrid/fgrid

Attribute: freqmax

Upper limit for the grid interval.

Type: fortrandouble
Default: "1.0d0"
Use: optional
XPath: /input/gw/freqgrid/freqmax

Attribute: freqmin

Lower limit for the grid interval.

Type: fortrandouble
Default: "0.0d0"
Use: optional
XPath: /input/gw/freqgrid/freqmin

Attribute: nomeg

Number of grid points.

Type: integer
Default: "16"
Use: optional
XPath: /input/gw/freqgrid/nomeg

Element: selfenergy

Correlation self-energy setup.

Contains: wgrid (optional)
XPath: /input/gw/selfenergy

This element allows for specification of the following attributes: actype, eqpsolver, eshift, method, nempty, singularity, swidth, tol

Attribute: actype

Analytical continuation scheme:

Type: string
Default: "pade"
Use: optional
XPath: /input/gw/selfenergy/actype

Attribute: eqpsolver

Schemes to solve the quasiparticle (non-linear) equation:

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/selfenergy/eqpsolver

Attribute: eshift

Alignment of the chemical potential:

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/selfenergy/eshift

Attribute: method

Technique to compute the frequency convolution integral:

Type: string
Default: "ac"
Use: optional
XPath: /input/gw/selfenergy/method

Attribute: nempty

Number of empty states to calculate the correlation self energy (different from default).

Type: integer
Default: "0"
Use: optional
XPath: /input/gw/selfenergy/nempty

Attribute: singularity

Treatment of the \(\mathbf{q} \rightarrow 0\) singularity:

Type: choose from: none
mpb
crg
low_dim
Default: "mpb"
Use: optional
XPath: /input/gw/selfenergy/singularity

Attribute: swidth

Smearing parameter for visualizing the spectral function.

Type: fortrandouble
Default: "1.0d-4"
Use: optional
XPath: /input/gw/selfenergy/swidth

Attribute: tol

Tolerance factor used for generating support points in AAA-interpolation.

Type: fortrandouble
Default: "1.0d-12"
Use: optional
XPath: /input/gw/selfenergy/tol

Element: wgrid

The real frequency grid (output) setup for computing and visualizing the correlation self-energy and the spectral function. For more detailed description see freqgrid.

Type: no content
XPath: /input/gw/selfenergy/wgrid

This element allows for specification of the following attributes: size, type, wmax, wmin

Attribute: size

Number of grid points.

Type: integer
Default: "1000"
Use: optional
XPath: /input/gw/selfenergy/wgrid/size

Attribute: type

Grid type.

Type: string
Default: "eqdist"
Use: optional
XPath: /input/gw/selfenergy/wgrid/type

Attribute: wmax

Upper limit for the grid interval.

Type: fortrandouble
Default: "1.0d0"
Use: optional
XPath: /input/gw/selfenergy/wgrid/wmax

Attribute: wmin

Lower limit for the grid interval.

Type: fortrandouble
Default: "-1.0d0"
Use: optional
XPath: /input/gw/selfenergy/wgrid/wmin

Element: mixbasis

Mixed-product basis setup.

Type: no content
XPath: /input/gw/mixbasis

This element allows for specification of the following attributes: epsmb, gmb, lmaxmb

Attribute: epsmb

Linear dependence tolerance factor: controls construction of the radial part of the mixed-product basis.

Type: fortrandouble
Default: "1.0d-4"
Use: optional
XPath: /input/gw/mixbasis/epsmb

Attribute: gmb

Plane-wave energy cutoff (in units of \(G_{max}^{LAPW}\)): controls construction of the plane-wave part of the mixed-product basis.

Type: fortrandouble
Default: "1.0"
Use: optional
XPath: /input/gw/mixbasis/gmb

Attribute: lmaxmb

Maximal angular momentum: controls construction of the radial part of the mixed-product basis.

Type: integer
Default: "3"
Use: optional
XPath: /input/gw/mixbasis/lmaxmb

Element: selfconsistency

This block controls the different self-consistent GW iterations, automatically setting the required parameters, to geneate the needed files for the self-consistent cycle. Note that self-consistent GW is intended to be controlled by an external workflow manager, using the task-based GW approach. Each cycle is strictly an independent run, relying on the output files generated by activating this flag.

Type: no content
XPath: /input/gw/selfconsistency

This element allows for specification of the following attributes: eps, type

Attribute: eps

The convergence for the self consitent cycle. Note that each flavor uses it in a different way. To detail:

Type: fortrandouble
Default: "1.0d-4"
Use: optional
XPath: /input/gw/selfconsistency/eps

Attribute: type

The kind of self-consitent GW that is performed:

Type: string
Default: "oneshot"
Use: optional
XPath: /input/gw/selfconsistency/type

Element: barecoul

The bare Coulomb potential setup.

Type: no content
XPath: /input/gw/barecoul

This element allows for specification of the following attributes: barcevtol, basis, cutofftype, pwm, stctol

Attribute: barcevtol

Matrix elements of the polarizability, the screened Coulomb potential, and the self-energy are computed in the basis that diagonalize the bare Coulomb potential. This tolerance factor is used to reduce the size of the \(V_c\)-diagonal product basis when computing the screened Coulomb potential and the correlation self-energy.

Type: fortrandouble
Default: "0.1d0"
Use: optional
XPath: /input/gw/barecoul/barcevtol

Attribute: basis

Two approaches to compute the bare Coulomb potential:

Type: string
Default: "mb"
Use: optional
XPath: /input/gw/barecoul/basis

Attribute: cutofftype

Trigger the usage of the Coulomb potential truncation technique (S. Ismail-Beigi, "Truncation of Periodic Image Interactions for Confined Systems. Phys. Rev. B 73, 233103 (2006)).

Type: string
Default: "none"
Use: optional
XPath: /input/gw/barecoul/cutofftype

Attribute: pwm

Plane-wave energy cutoff (in units of gmaxvr*gmb) for computing the plane-wave part of the Coulomb potential.

Type: fortrandouble
Default: "2.0d0"
Use: optional
XPath: /input/gw/barecoul/pwm

Attribute: stctol

Tolerance factor for computing the structure factor in Ewald summation scheme.

Type: fortrandouble
Default: "1.0d-15"
Use: optional
XPath: /input/gw/barecoul/stctol

Element: scrcoul

Dynamically screened Coulomb potential setup.

Type: no content
XPath: /input/gw/scrcoul

This element allows for specification of the following attributes: averaging, omegap, q0eps, scrtype

Attribute: averaging

Averaging of the inverse dielectric function in the q \(\to\) 0 limit.

Type: choose from: isotropic
2d
anisotropic
anisotropic-2d
Default: "isotropic"
Use: optional
XPath: /input/gw/scrcoul/averaging

Attribute: omegap

Plasmon-pole frequency (fitting parameter).

Type: fortrandouble
Default: "1.0d0"
Use: optional
XPath: /input/gw/scrcoul/omegap

Attribute: q0eps

q0eps - averaging direction q \(\to\) 0. Default: (1,1,1)

Type: vect3d
Default: "1.0d0 1.0d0 1.0d0"
Use: optional
XPath: /input/gw/scrcoul/q0eps

Attribute: scrtype

Approximation:

Type: string
Default: "rpa"
Use: optional
XPath: /input/gw/scrcoul/scrtype

Element: taskGroup

When taskname="taskGroup", execute the group of tasks defined by the elements present here. This splits \(G_0W_0\) into smaller calculations, allowing for a restart.

Contains: Coulomb (optional)
polarizability (optional)
epsilon (optional)
invertEpsilon (optional)
irreducibleMapping (optional)
sigmac (optional)
sigmax (optional)
vxc (optional)
QPEigenvalues (optional)
XPath: /input/gw/taskGroup

This element allows for specification of the following attributes: dryRun, outputFormat

Attribute: dryRun

If true, print out information about memory usage for each task listed in taskGroup.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/dryRun

Attribute: outputFormat

Format to print the outputs: binary or text. The option text is inefficient and should be used only for testing.

Type: choose from: binary
text
Default: "binary"
Use: optional
XPath: /input/gw/taskGroup/outputFormat

Element: Coulomb

Setup for the task ="Coulomb". The bare Coulomb matrix is calculated for each \(\mathbf{q}\)-point and printed out in BARC_*.OUT, where * is the index of the \(\mathbf{q}\)-point.

Contains: qpoints (required)
XPath: /input/gw/taskGroup/Coulomb

This element allows for specification of the following attributes: eigenvalueThreshold

Attribute: eigenvalueThreshold

Discard the eigenvalues below this threshold and the corresponding eigenvectors of the matrix \(v_{ij}(\mathbf{q})\) with the Coulomb potential (see Computer Physics Communications 184, 348 (2013)). Negative eigenvalues are not expected and can be obtained due to numerical issues. It is therefore recommended to set eigenvalueThreshold to 0d0, unless there is a valid reason not to do so.

Type: fortrandouble
Default: "0.0d0"
Use: optional
XPath: /input/gw/taskGroup/Coulomb/eigenvalueThreshold

Element: polarizability

Setup for the task ="polarizability". The polarizability matrix is calculated for each \(\mathbf{q}\)-point and printed out in POLARIZABILITY-GW_Q*.OUT, where * is the index of the \(\mathbf{q}\)-point.

Contains: qpoints (required)
XPath: /input/gw/taskGroup/polarizability

This element allows for specification of the following attributes: usingIrreducibleWedge

Attribute: usingIrreducibleWedge

When true, only computes the polarizability matrices at the irreducible wedge points. Additionally, when true POLARIZABILITY_Q*.OUT are renamed to POLARIZABILITY_IQ*.OUT, being in this case * the index of the irreducible \(\mathbf{q}\)-point.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/polarizability/usingIrreducibleWedge

Element: epsilon

Setup for the task ="epsilon". The dielectric matrix is calculated for each \(\mathbf{q}\)-point and printed out in EPSILON-GW_Q*.OUT, where * is the index of the \(\mathbf{q}\)-point. Parallelization strategy: the MPI processes are splitted first into Domains in the following order A reasonable choice is to set MPIDomainsQpoints equal to the number of nodes.

Contains: qpoints (required)
XPath: /input/gw/taskGroup/epsilon

This element allows for specification of the following attributes: MPIDomainsKpoints, MPIDomainsQpoints, buildFromPolarizability, printPolarizabilityFactor, usingIrreducibleWedge

Attribute: MPIDomainsKpoints

Number of MPI Domains used over \(\mathbf{k}\)-points.

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/taskGroup/epsilon/MPIDomainsKpoints

Attribute: MPIDomainsQpoints

Number of MPI Domains used over \(\mathbf{q}\)-points.

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/taskGroup/epsilon/MPIDomainsQpoints

Attribute: buildFromPolarizability

When true, only computes the dielectric matrices from the polarizability files contained at POLARIZABILITY-GW_Q*.OUT being in this case * the index of the \(\mathbf{q}\)-point. When used together with usingIrreducibleWedge, it will read the files POLARIZABILITY-GW_IQ*.OUT instead, where * is now the index of the irreducible \(\mathbf{q}\)-point. Additionally, for \(\Gamma\) it also reads the wings of the Coulomb-less dielectric matrix, so that the computation of the expansion coefficients is avoided.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/epsilon/buildFromPolarizability

Attribute: printPolarizabilityFactor

When true, print the RPA Polarizability factor \(F_{nm}(\mathbf{k},\mathbf{q},\omega)\) (please refer to Computer Physics Communications 184, 348 (2013)). The output files are named as POLARIZABILITY_FACTOR_Q*.OUT, where * is the index of the \(\mathbf{q}\)-point. Useful to debug the code.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/epsilon/printPolarizabilityFactor

Attribute: usingIrreducibleWedge

When true, only computes the dielectric matrices at the irreducible wedge points. Additionally, when true EPSILON-GW_Q*.OUT are renamed to EPSILON-GW_IQ*.OUT, being in this case * the index of the irreducible \(\mathbf{q}\)-point.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/epsilon/usingIrreducibleWedge

Element: invertEpsilon

Setup for the task ="epsilon". The dielectric matrix is inverted for each \(\mathbf{q}\)-point and printed out in INVERSE-EPSILON_Q*.OUT, where * is the index of the \(\mathbf{q}\)-point.

Contains: qpoints (required)
XPath: /input/gw/taskGroup/invertEpsilon

This element allows for specification of the following attributes: usingIrreducibleWedge

Attribute: usingIrreducibleWedge

When true, only computes the inverse dielectric matrices at the irreducible wedge points. Additionally, when true INVERSE-EPSILON_Q*.OUT are renamed to INVERSE-EPSILON_IQ*.OUT, being in this case * the index of the irreducible \(\mathbf{q}\)-point.

Type: boolean
Default: "false"
Use: optional
XPath: /input/gw/taskGroup/invertEpsilon/usingIrreducibleWedge

Element: irreducibleMapping

Setup for the task ="irreducibleMapping". The inverse dielectric matrix is regenerated from the irreducible wedge files (INVERSE-EPSILON_IQ*.OUT), and printed out in INVERSE-EPSILON_Q*.OUT, where * is the index of the \(\mathbf{q}\)-point; in order to save storage memory for representative points a symbolic from INVERSE-EPSILON_IQ*.OUT to INVERSE-EPSILON_Q*.OUT is created instead. If using tetrahedron method for the integration we recommend to also set ="enforceCrystalSymmetryTetrahedron" to true. This last is because current tetrahedron method implementation breaks crystal symmetry, so that a special treatment---i.e., averaging over the equivalence class---is required to ensure it.

Contains: qpoints (required)
XPath: /input/gw/taskGroup/irreducibleMapping


Element: sigmac

Setup for the task "sigmac". The correlation part of the self-energy is calculated for each \(\mathbf{k}\)-point and printed out in SIGMAC_K*.OUT, where * is the index of the \(\mathbf{k}\)-point. Parallelization strategy: the MPI processes are splitted first into Domains in the following order A reasonable choice may be to set MPIDomainsKpoints equal to the number of nodes.

Contains: kpoints (required)
XPath: /input/gw/taskGroup/sigmac

This element allows for specification of the following attributes: MPIDomainsKpoints, MPIDomainsQpoints

Attribute: MPIDomainsKpoints

Number of MPI Domains used over \(\mathbf{k}\)-points.

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/taskGroup/sigmac/MPIDomainsKpoints

Attribute: MPIDomainsQpoints

Number of MPI Domains used over \(\mathbf{q}\)-points.

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/taskGroup/sigmac/MPIDomainsQpoints

Element: sigmax

Setup for the task "sigmax". The exchange part of the self-energy is calculated for each \(\mathbf{k}\)-point and printed out in SIGMAX_K*.OUT, where * is the index of the \(\mathbf{k}\)-point. Parallelization strategy: the MPI processes are splitted first into MPIDomainsKpoints Domains.

Contains: kpoints (required)
XPath: /input/gw/taskGroup/sigmax

This element allows for specification of the following attributes: MPIDomainsKpoints

Attribute: MPIDomainsKpoints

Number of MPI Domains used over \(\mathbf{k}\)-points.

Type: integer
Default: "1"
Use: optional
XPath: /input/gw/taskGroup/sigmax/MPIDomainsKpoints

Element: vxc

Setup for the task "vxc". The diagonal matrix elements of the exchange-correlation potential are calculated for each \(\mathbf{k}\)-point and printed out in VXCNN.OUT (VXCNN.DAT) in binary (text) format.

Contains: kpoints (required)
XPath: /input/gw/taskGroup/vxc


Element: QPEigenvalues

Setup for the task "QPEigenvalues". The QP-corrected eigenvalues are evaluated for each \(\mathbf{k}\)-point and printed out in EVALQP.OUT (EVALQP.DAT) in binary (text) format.

Contains: kpoints (required)
XPath: /input/gw/taskGroup/QPEigenvalues

This element allows for specification of the following attributes: FermiLevel

Attribute: FermiLevel

Determine how the Fermi level should be calculated. The option from_QP_Eigenvalues can only be used if all k-points are included in the "QPEigenvalues" task.

Type: choose from: from_DFT_VBM_CBM_indexes
from_QP_Eigenvalues
Default: "from_DFT_VBM_CBM_indexes"
Use: optional
XPath: /input/gw/taskGroup/QPEigenvalues/FermiLevel

Reused Elements

The following elements can occur more than once in the input file. They are listed here.

Data types

The Input definition uses derived data types. These are listed here.