Element: gw
G0W0 calculation setup.
| contains: | freqgrid (optional) selfenergy (optional) mixbasis (optional) barecoul (optional) scrcoul (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:
- all - All-electron treatment.
- xal - Both core and valence states are used to compute the exchange self-energy and only valence electrons for computing the correlation self-energy.
- val - Valence-electron treatment.
- vab - Valence-electron treatment where core states are also excluded from the construction of the mixed-product basis.
| 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:
- Adjusting the number of unoccupied bands downward to prevent truncating degenerate subspaces when computing the dielectric function and correlation self-energy.
- Internally enlarging the range of KS states over which the diagonal elements of the self-energy elements and exchange-correlation potential are evaluated, to allow for performing an average over degenerate subspaces.
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:
- tet - Using the tetrahedron method as implemented in LibBZInt library
- sum - Direct summation employing a smearing parameter eta of freqgrid
| 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:
- g0w0 - G0W0 calculations
- g0w0-x - Exchange only G0W0 calculations
- cohsex - Coulomb-hole and screened-exchange (COHSEX) approximation
- band - QP banstructure as obtained by Fourier interpolation
- dos - QP density of states
- emac - Calculate the macroscopic dielectric function
- pmat - Calculate matrix elements of the momentum operator
- acon - Perform analytic continuation of the correlation self-energy from imaginary to real frequency and calculate QP energies
- taskGroup - Execute the group of tasks defined in taskGroup.
| 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:
- nofreq - skip frequency dependency (testing option).
- refreq - real frequency formalism (only for response functions).
- imfreq - imaginary frequency formalism.
| 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):
- eqdist - Equidistant grid from freqmin to freqmax.
- gaulag - Grid for the Gauss-Laguerre quadrature rule from 0 to $\infty$.
- gauleg - Grid for the Gauss-Lagendre quadrature rule from 0 to $\infty$.
- gauleg2 - Grid for the double Gauss-Lagendre quadrature rule from 0 to freqmax and freqmax to $\infty$.
- clencurt2 - Grid for the Clenshaw-Curtis quadrature rule from 0 to $\infty$. freqmax can be used to rescale the frequencies.
| 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:
- pade - Pade's approximant (by H. J. Vidberg and J. W. Serence, J. Low Temp. Phys. 29, 179 (1977)).
- aaa - Y. Nakatsukasa, O. Sete, L. N. Trefethen, "The AAA algorithm for rational approximation", SIAM J. Sci. Comp. 40 (2018), A1494-A1522.
| Type: | string |
| Default: | "pade" |
| Use: | optional |
| XPath: | /input/gw/selfenergy/@actype |
Attribute: eqpsolver
Schemes to solve the quasiparticle (non-linear) equation:
- 0 - Perturbative solution.
- 1 - Z=1 calculations.
- 2 - Iterative solution.
| Type: | integer |
| Default: | "0" |
| Use: | optional |
| XPath: | /input/gw/selfenergy/@eqpsolver |
Attribute: eshift
Alignment of the chemical potential:
- 0 - No alignment.
- 1 - Self-consistency at the Fermi level (iteratively).
- 2 - Self-consistency at the Fermi level (perturbatively).
| Type: | integer |
| Default: | "0" |
| Use: | optional |
| XPath: | /input/gw/selfenergy/@eshift |
Attribute: method
Technique to compute the frequency convolution integral:
- ac - Analytical continuation
- cd - Contour deformation
| 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:
- none: No special treatment (test purpose only).
- mpb: Auxiliary function method by S. Massidda, M. Posternak, and A. Baldereschi, PRB 48, 5058 (1993)
- crg: Auxiliary function method by P. Carrier, S. Rohra, and A. Goerling, PRB 75, 205126 (2007).
- low_dim: Special treatment for low-dimensional cutoff by F. Rasmussen, P. Schmidt, K. Winther, and K. Thygesen, PRB 94, 155406 (2016).
| 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: 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:
- mb - The Coulomb potential is computed in the mixed-product basis.
- pw - The Coulomb potential is computed in the plane-wave basis and then converted into the mixed-product basis. This option is used only when the potential truncation technique cutofftype is employed. From practical point, usage of this approach requires to set a higher value of pwm (typically = 4.0)
| 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)).
- none - 3D periodic crystal.
- 0d - Isolated atom or molecule.
- 1d - 1D chain (periodicity along z-axis)
- 2d - 2D surface (vacuum separation along z-direction)
| 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:
- rpa - Full-frequency Random-Phase Approximation.
- ppm - Godby-Needs plasmon-pole model.
| Type: | string |
| Default: | "rpa" |
| Use: | optional |
| XPath: | /input/gw/scrcoul/@scrtype |
Reused Elements
The following elements can occur more than once in the input file. There for they are listed separately.
Data Types
The Input definition uses derived data types. These are described here.
