ABINIT, GW input variables:
List and description.
This document lists and provides the description of the name (keywords) of the GW input variables to be used in the main input file of the abinis code.
The new user is advised to read first the new user's guide, then the abinis help file, before reading the present file. It will be easier to discover the present file with the help of the two lessons lesson_gw1 and lesson_gw2 of the tutorial. Other input variables directly related to the GW computation are : getkss getscr optdriver. In case of parallel execution, the input variable gwpara is used to choose between the different parallelization levels presently implemented (k-points or bands).
Note also the Mrgscr utility which allows to merge dielectric matrices calculated at different q-points into a unique screening file that can be used for subsequent GW calculations. FIXME: broken link, file is missing!
Copyright (C) 2002-2009 ABINIT group (XG)
This file is distributed under the terms of the GNU General Public License, see
~abinit/COPYING or
http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~abinit/doc/developers/contributors.txt .
Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr
Files that describe other input variables:
- Basic variables, VARBAS
- Developper variables, VARDEV
- File handling variables, VARFIL
- Geometry builder + symmetry related variables, VARGEO
- Ground-state calculation variables, VARGS
- Internal variables, VARINT
- Parallelisation variables, VARPAR
- Projector-Augmented Wave variables, VARPAW
- Response Function variables, VARRF
- Structural optimization variables, VARRLX
- Wannier90 interface variables, VARW90
Content of the file : alphabetical list of variables.
A. awtr
B. bdgw
C.
D.
E. ecuteps ecutsigx ecutwfn
F. fftgw freqremax freqspmax
G. gwcalctyp gwcomp gwgamma gwmem
H.
I. inclvkb icutcoul
J.
K. kptgw
M.
N. nbandkss nfreqim nfreqmidm nfreqre nfreqsp npwkss nkptgw nomegasrd nomegasf npweps npwsigx npwwfn nsheps nshsigx nshwfn
O. omegasrdmax
P. ppmfrq ppmodel
Q. qptdm
R. rhoqpmix
S. soenergy spbroad splitsigc spmeth symchi symmorphi symsigma
T.
U.
V.
W.
X.
Y.
Z. zcut
awtr
Mnemonics: evaluate the Adler-Wiser expression of $\chi^{(0)}_{KS}$ assuming Time-Reversal
Characteristic: GW
Variable type: integer parameter
Default 1 (was 0 prior to 5.8)
Only relevant if optdriver=3, that is, screening calculations.
This input variable defines whether the irreducible polarizability $\chi^{(0)}_{KS}$ has to be evaluated taking advantage of time-reversal symmetry or not.
- 0 => Use "standard" Adler-Wiser expression without using time-reversal. In this case the irreducible polarizability is calculated summing over all the possible electronic (both resonant and antiresonant).
- 1 => Take advantage of time-reversal symmetry to halve the number of transitions to be explicitly considered. This method leads to a decrease in the CPU time by a factor two with respect to the awtr=0 case.
Go to the top | Complete list of input variables
bdgw
Mnemonics: BanDs for GW calculation
Characteristic: GW
Variable type: integer array bdgw(2,nkptgw)
Default is all 0's
Only relevant if optdriver=4, that is, sigma calculations.
For each k-point with number ikptgw in the range (1:nkptgw), bdgw(1,ikptgw) is the number of the lowest band for which the GW computation must be done, and bdgw(2,ikptgw) is the number of the highest band for which the GW computation must be done.
When gwcalctyp >= 20,
the quasiparticle wavefunctions are computed and represented as linear combination of some Kohn-Sham wavefunctions.
In this case bdgw designates the KS wavefunctions used as basis set.
For each k-point, indeed, the quasiparticle wavefunctions are expanded considering only the KS states between
bdgw(1,ikptgw) and bdgw(2,ikptgw).
Go to the top
| Complete list of input variables
ecuteps
Mnemonics: Energy CUT-off for EPSilon (the dielectric matrix)
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
ecuteps determines the cut-off energy of the planewave set used to represent the
independent-particle susceptibility $\chi^{(0)}_{KS}$, the dielectric matrix $\epsilon$, and its inverse.
It is not worth to take ecuteps bigger than four times ecutwfn,
this latter limit corresponding to the highest Fourier components of a wavefunction convoluted with itself.
Usually, even twice the value of ecutwfn might overkill.
In any case, a convergence study is worth.
This set of planewaves can also be determined by the other input variables
npweps and nsheps,
but these are much less convenient to use for general systems, than the selection
criterion based on a cut-off energy.
Go to the top
| Complete list of input variables
ecutsigx
Mnemonics: Energy CUT-off for SIGma eXchange
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
Only relevant if optdriver=4, that is, sigma calculations. This input variable was named "ecutmat" prior to v4.3 .
ecutsigx determines the cut-off energy of the planewave set used to generate the exchange part of the self-energy operator.
This set of planewaves can also be determined by the other input variables
npwsigx and nshsigx,
but these are much less convenient to use for general systems, than the
selection criterion based on the cut-off energy.
Go to the top
| Complete list of input variables
ecutwfn
Mnemonics: Energy CUT-off for WaveFunctions
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
Only relevant if optdriver=3 or 4, that is, screening and sigma calculations.
ecutwfn determines the cut-off energy of the planewave set used to represent the wavefunctions
in the formula that generates the independent-particle susceptibility $\chi^{(0)}_{KS}$
(for optdriver=3), or the
self-energy (for optdriver=4).
Usually, ecutwfn is smaller than ecut,
so that the wavefunctions are filtered, and some components are ignored.
As a side effect, the wavefunctions are no more normalized, and also, no more orthogonal.
Also, the set of plane waves can be much smaller for optdriver=3,
than for optdriver=4, although a convergence
study is needed to choose correctly both values.
This set of planewaves can also be determined by the other input variables
npwwfn and nshwfn,
but these are much less convenient to use for general systems, than the
selection criterion based on the cut-off energy.
Go to the top
| Complete list of input variables
fftgw
Mnemonics: FFT for GW calculation
Characteristic: GW
Variable type: integer parameter
Default is 21.
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
The basic ingredients needed to perform both a screening and a sigma calculation are the so-called
oscillator matrix elements defined as
$<
k-q, b1 | e^{-i (q+G).r} | k b2 >$ 1)
In reciprocal space, Eq.1 is expressed by a convolution in which the number of reciprocal
lattice vectors employed to describe the wavefunctions is given
by ecutwfn (npwwfn
or nshwfn). The number of G vectors in Eq.1 is defined
through ecuteps (npweps or nsheps)
in case of screening calculations or
ecutsigx (npwsigx or nshsigx) in case of sigma calculations.
To improve the efficiency of the code, however, the oscillator matrix elements are evaluated
in real space through FFT techniques, and the fftgw input variable is used to choose the FFT
mesh to be used during the calculation.
fftgw is the concatenation of two digits, labelled (A) and (B) whose value is internally used to define the value of ngfft(1:3) (see the setmesh.F90 routine).
The first digit (A) defines the augmentation of the FFT grid. Possible values are 1, 2 and 3.
- 0 => Use the FFT grid specified by the user through ngfft(1:3)
- 1 => Use a coarse FFT grid which encloses a sphere in reciprocal space whose radius depends on the largest value between ecutwfn and ecuteps
- 2 => Use a slightly augmented FFT which is sufficient for the correct treatment of the convolution
- 3 => Doubled FFT grid (same mesh as that used for GS calculations).
The second digit (B) can be chosen between 0 and 1. It defines whether a FFT grid compatible with all the symmetries of the space group must be enforced or not:
- 0 => Use the smallest FFT mesh which is compatible with the FFT library (faster, save memory but is less accurate)
- 1 => Enforce a FFT grid which is compatible with all the symmetry operations of the space group. This method leads to an increase both of CPU time and memory, but the matrix elements are more accurate since the symmetry properties of the system are preserved.
Go to the top | Complete list of input variables
freqremax
Mnemonics: FREQuencies along the Real axis MAXimum
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
Only relevant if optdriver=3, that is, screening calculations.
freqremax is used only for numerical integration of the GW self-energy
(gwcalctyp= 2, 12, 22, 9, 19, 29).
freqremax sets the maximum real frequency used to calculate the dielectric matrix in order
to perform the numerical integration of the GW self-energy.
freqremax and nfreqre define the spacing of the frequency
mesh along the real axis.
Go to the top
| Complete list of input variables
freqspmax
Mnemonics: FREQuencies for the SPectral function MAXimum
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
Only relevant if optdriver=4, that is, sigma calculations.
freqspmax sets the maximum real frequency used to calculate the spectral function
from the GW Green's function. freqspmax and nfreqsp
define the spacing of the frequency mesh along the real axis.
Go to the top
| Complete list of input variables
gwcalctyp
Mnemonics: GW CALCulation TYPe
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
gwcalctyp governs the choice between the different capabilities of the GW code.
- 0 <= gwcalctyp <= 9 : standard "1 shot" quasiparticle method
- 10 <= gwcalctyp <= 19 : self-consistent quasiparticle method on energies only
- 20 <= gwcalctyp <= 29 : self-consistent quasiparticle method on energies and wavefunctions
- gwcalctyp = 0, 10, or 20 : standard Plasmon-Pole model GW calculation
- gwcalctyp = 2, 12, or 22 : GW calculation using numerical integration (contour deformation method, see e.g. S. Lebegue et al. PRB 67, 155208 (2003).)
- gwcalctyp = 5, 15, or 25 : Hartree-Fock calculation
- gwcalctyp = 6, 16, or 26 : Screened Exchange calculation
- gwcalctyp = 7, 17, or 27 : COHSEX calculation
- gwcalctyp = 8, 18, or 28 : model GW calculation following S. Faleev et al. PRL 93, 126406 (2004) using a Plasmon-Pole model
- gwcalctyp = 9, 19, or 29 : model GW calculation following S. Faleev et al. PRL 93, 126406 (2004) using numerical integration (contour deformation method)
Go to the top | Complete list of input variables
gwcomp
Mnemonics: GW COMPletness
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
gwcomp governs the use of an extrapolar approximation. If gwcomp==1, one improves the completeness in a truncated sum over states. In practice, this permits one to reduce quite much the number of bands required in the calculation of the screening or of the self-energy. The energy parameter needed in the extrapolar approximation is set by gwencomp. See F. Bruneval, X. Gonze, Phys. Rev. B 78, 085125 (2008) for a description of the methodology.
Note that gwcomp==1 is not allowed with PAW calculations.
Go to the top
| Complete list of input variables
gwencomp
Mnemonics: GW Energy for COMPletness
Characteristic: GW
Variable type: energy
Default is 2.
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations, when gwcomp is equal to 1.
gwencomp sets the energy parameter used in the extrapolar approximation used to improve completeness and make the convergence against the number of bands much faster.
See F. Bruneval, X. Gonze, Phys. Rev. B 78, 085125 (2008) for a description of the methodology.
Go to the top
| Complete list of input variables
gwgamma
Mnemonics: GW Gamma
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=4, that is, sigma calculations.
in case gwgamma is 1, the vertex correction will be included leading to what is known as "GWGamma" approximation. see R. Del Sole, L. Reining, and R. W. Godby, Phys. Rev. B 49, 8024 (1994).
Go to the top
| Complete list of input variables
gwmem
Mnemonics: GW MEMory
Characteristic: GW
Variable type: integer
Default is 11
Only relevant if optdriver=4, that is, sigma calculations.
gwmem governs the memory strategy during a screening and/or a sigma run.
- gwmem = 1x , the screening matrix are read for all q-vectors and stored in the memory.
- gwmem = 0x , the screening matrix are read just a q-vector after another.
- gwmem = x1 , the real-space wavefunctions are stored in the memory.
- gwmem = x0 , the real-space wavefunctions are not stored, but rather recalculated on-fly each abinit needs them using FFTs.
Go to the top
| Complete list of input variables
inclvkb
Mnemonics: INCLude VKB
Characteristic: GW
Variable type: integer parameter
Default is 1 TODO: should be changed to 0 or 2
Only relevant if optdriver=3, that is, a screening calculations.
Possible values of inclvkb are 0,1,2. If inclvkb is 1 or 2, the commutator of the non-local part of the Hamiltonian with the position operator is correctly included in the q => 0 contribution. This is unfortunately time-consuming. In case inclvkb is 0, this contribution is incorrectly omitted, but the computation is much faster.
The importance of this contribution depends on the number of k points. Turning off
inclvkb should be made by experienced users only.
Go to the top
| Complete list of input variables
icutcoul
Mnemonics: Integer that governs the CUT-off for COULomb interaction
Characteristic: GW
Variable type: integer parameter
Default is 3
(This documentation is still very primitive, and should be checked) Only relevant if optdriver=3 or 4, that is, a screening or self-energy calculation.
Possible values of icutcoul are 0 to 5. TO be complemented by values of vcutgeo and rcut
- 0 => sphere
- 1 => cylinder
- 2 => surface
- 3 => 3D crystal (no cut-off, G=0 excluded, default value)
- 4 => erf
- 5 => erfc
Go to the top | Complete list of input variables
kptgw
Mnemonics: K-PoinTs for GW calculations
Characteristic: GW
Variable type: real array kptgw(3,nkptgw)
Default is all 0.0's
Only relevant if optdriver=4, that is, sigma calculations.
For each k-point with number igwpt in the range (1:nkptgw), kptgw(1,igwpt) is the reduced coordinate of the k-point where GW corrections are required. while bdgw(1:2,igwpt) specifies the range of bands to be considered.
At present, not all k-points are possible. Only those corresponding to the k-point
grid defined with the same repetition parameters (kptrlatt,
or ngkpt) than the GS one, but WITHOUT any shift, are allowed.
Go to the top
| Complete list of input variables
nbandkss
Mnemonics: Number of BaNDs in the KSS file
Characteristic:
Variable type: integer parameter
Default is 0
This input variable (also called "nbndsto" prior to v4.3) is used for the preparation of a GW calculation : it is used in a GS run (where optdriver=0) to generate a _KSS file. In this run, nbandkss should be non-zero. The generated _KSS file can be subsequently used to calculate the irreducible polarizabilty $\chi^{(0)}_{KS}$ using optdriver=3 or to calculate GW corrections setting optdriver=4.
- If nbandkss=0, no _KSS file is created
- If nbandkss=-1, all the available eigenstates (energies and eigenfunctions) are stored in the abo_KSS file at the end of the ground state calculation. The number of states is forced to be the same for all k-points : it will be the minimum of the number of plane waves over all k-points.
- If nbandkss is greater than 0, abinit stores (about) nbandkss eigenstates in the abo_KSS file. This number of states is forced to be the same for all k-points.
See npwkss for the selection of the number of the planewave components of
the eigenstates to be stored.
The input variable accesswff can be used
to read and write KSS files according to different fileformat
(presently only accesswff=0 and 3 are available in the GW part).
The precision of the KSS file can be tuned through the input variable kssform.
For more details about the format of the abo_KSS file, see the routine outkss.F90.
Very important : for the time being, istwfk must be 1 for all the k-points
in order to generate a _KSS file.
Go to the top
| Complete list of input variables
nfreqim
Mnemonics: Number of FREQuencies along the IMaginary axis
Characteristic:
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3, that is, screening calculations.
nfreqim is used only for numerical integration of the GW self-energy
(gwcalctyp= 2, 12, 22, 9, 19, 29).
nfreqim sets the number of pure imaginary frequencies used to calculate
the dielectric matrix in order to perform the numerical integration of the GW self-energy.
Go to the top
| Complete list of input variables
nfreqmidm
Mnemonics: Nth FREQuencey moment of the IMaginary part of DM
Characteristic:
Variable type: integer parameter
No default
at the moment only relevant if optdriver=4, that is, a screening calculation.
depending on the value of >nfreqmidm will calculate the frequency moment of the Dielectric matrix or its inverse,
if >nfreqmidm positive : calculate (nth=nfreqmidm) frequency moment of the Dielectric matrix
if >nfreqmidm negative : calculate (nth=nfreqmidm) frequency moment of the inverse Dielectric matrix
if >nfreqmidm = 0 : calculate first frequency moment of the full polarizability
see M. Taut, J. Phys. C: Solid State Phys. 18 (1985) 2677-2690.
Go to the top
| Complete list of input variables
nfreqre
Mnemonics: Number of FREQuencies along the Real axis
Characteristic:
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3, that is, screening calculations.
nfreqre is used only for numerical integration of the GW self-energy
(gwcalctyp= 2, 12, 22, 9, 19, 29).
nfreqre sets the number of real frequencies used to calculate
the dielectric matrix in order to perform the numerical integration of the GW self-energy.
It can be used also in case of GW calculations with plasmon-pole models,
i.e gwcalctyp<10,
to reduce the number of frequencies used to evaluate the dielectric matrix from the (default) two to
one frequency (omega=0) by setting nfreqre=1.
This might be a good idea in case one is planning to use ppmodel>1.
This will force the calculation of the screening on a single frequency (omega=0) and hence
reduce memory and disk space requirement.
The only draw back is that the user will not be able to perform self energy calculation using
ppmodel=1,
since in the last case the dielectric matrix calculated on two frequencies is required.
If the user is not sure which ppmodel to use, then s/he is not advised
to use this input variable.
Using the default values, one must be able to get a screening file that can be used with any ppmodel.
Go to the top
| Complete list of input variables
nfreqsp
Mnemonics: Number of FREQuencies for the SPectral function
Characteristic:
Variable type: integer parameter
Default is 0
Only relevant if optdriver=4, that is, sigma calculations.
nfreqsp defines the number of real frequencies used to calculate the spectral function
of the GW Green's function.
Go to the top
| Complete list of input variables
npwkss
Mnemonics: Number of PlaneWaves in the KSS file
Characteristic:
Variable type: integer parameter
Default is 0
This input variable (was called "ncomsto" prior to v4.3) is used for the preparation of a GW calculation: the GS run (where optdriver=1 and nbandkss/=0) should be followed with a run where optdriver=3. Also, if nbandkss=0, no use of npwkss.
npwkss defines the number of planewave components of the Kohn-Sham states to build the Hamiltonian, in the routine outkss.F90, and so, the size of the matrix, the size of eigenvectors, and the number of available states, to be stored in the abo_KSS file. If it is set to 0, then, the planewave basis set defined by the usual Ground State input variable ecut is used to generate the superset of all planewaves used for all k-points. Note that this (large) planewave basis is the same for all k-points.
Very important : for the time being, istwfk must be 1 for all the k-points.
Go to the top
| Complete list of input variables
nkptgw
Mnemonics: Number of K-Points for GW corrections
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=4, that is, sigma calculations. This input variable was called "ngwpt" in versions before v4.3.
nkptgw gives the number of k-points for which the GW calculation must be done.
It is used to dimension kptgw
Go to the top
| Complete list of input variables
nomegasf
Mnemonics: Number of OMEGA to evaluate the Spectral Function
Characteristic: GW, ENERGY
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3 and spmeth/=0, that is, screening calculations based on the spectral reprentation.
nomegasf defines the number of real frequencies used to describe the spectral function i.e the imaginary part of the irreducible polarizability $\chi^{(0)}_{KS}$. The frequency mesh will cover the interval between 0 and the maximum (positive) transition energy between occupied and empty states. The delta function entering the expression defining the spectral function is approximated using two different methods according to the value of the spmeth input variable.
It is important to notice that an accurate description of the imaginary part of $\chi^{(0)}_{KS}$
requires an extremely dense frequency mesh. It should be kept in mind, however, that the memory required
grows fast with the value of nomegasf.
Go to the top
| Complete list of input variables
nomegasrd
Mnemonics: Number of OMEGA to evaluate the Sigma Real axis Derivative
Characteristic: GW
Variable type: integer parameter
Default is 9
Only relevant if optdriver=4, that is, sigma calculations.
The number of real frequencies around the KS energy where the self-energy Sigma is evaluated.
From these values, the derivative of Sigma at the KS energy is numerically estimated through linear interpolation.
Go to the top
| Complete list of input variables
npweps
Mnemonics: Number of PlaneWaves for EPSilon (the dielectric matrix)
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
npweps determines the size of the planewave set used to represent the independent-particle
susceptibility $\chi^{(0)}_{KS}$, the dielectric matrix $\epsilon$ and its inverse.
See ecuteps (preferred over npweps) for more information.
Go to the top
| Complete list of input variables
npwsigx
Mnemonics: Number of PlaneWaves for SIGma eXchange
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=4, that is, sigma calculations. This input variable was previously called "npwmat".
npwsigx determines the cut-off energy of the planewave set used to generate the
exchange part of the self-energy operator.
See ecutsigx (preferred over npwsigx) for more information.
Go to the top
| Complete list of input variables
npwwfn
Mnemonics: Number of PlaneWaves for WaveFunctioNs
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3 or 4, that is, screeening or sigma calculations.
npwwfn determines the size of the planewave set used to represent the wavefunctions
in the formula that generates the independent-particle susceptibility $\chi^{(0)}_{KS}$.
See ecutwfn (preferred over nshwfn) for more information.
Go to the top
| Complete list of input variables
nqptdm
Mnemonics: Number of Q-PoinTs for the Dielectric Matrix
Characteristic:
Variable type: integer parameter
Default is 0
Used only in the screening part of ABINIT, that is for optdriver=3.
If nqptdm is equal to 0, the set of q-points for computing the dielectric matrix is
determined automatically considering all the possible differences between the k-points contained
in the _KSS file. When nqptdm is non-zero, the list of q points is read from qptdm.
This allows to split the big calculation of all the dielectric matrices into smaller
calculations that can be performed independently. The _SCR files generated in different runs
can be merged thanks to the Mrgscr utility.
Go to the top
| Complete list of input variables
nsheps
Mnemonics: Number of SHells for EPSilon (the dielectric matrix)
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3, that is, screening calculations.
nsheps determines the size of the planewave set used to represent the independent-particle
susceptibility $\chi^{(0)}_{KS}$, the dielectric matrix $\epsilon$ and its inverse.
See ecuteps (preferred over nsheps) for more information.
Go to the top
| Complete list of input variables
nshsigx
Mnemonics: Number of SHells for SIGma eXchange
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=4, that is, sigma calculations. This input variable was named "nshma" prior to v4.3 .
nshsigx determines the cut-off energy of the planewave set used to generate the
exchange part of the self-energy operator.
See ecutsigx (preferred over nshsigx) for more information.
Go to the top
| Complete list of input variables
nshwfn
Mnemonics: Number of SHells for WaveFunctioNs
Characteristic: GW
Variable type: integer parameter
Default is 0
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
nshwfn determines the number of shells of the planewave set used to represent the wavefunctions
in the formula that generates the independent-particle susceptibility $\chi^{(0)}_{KS}$.
See ecutwfn (preferred over nshwfn) for more information.
Go to the top
| Complete list of input variables
omegasrdmax
Mnemonics: OMEGA to evaluate the Sigma Real axis Derivative : MAXimal value
Characteristic: GW ENERGY
Variable type: real
Default is 1.0 eV
Only relevant if optdriver=4, that is, sigma calculations.
The maximum distance from the KS energy where to evaluate Sigma. Sigma is evaluated at
[KS_energy - maxomegasrd, KS_energy + maxomegasrd] sampled nomegasrd times.
Go to the top
| Complete list of input variables
ppmfrq
Mnemonics: Plasmon Pole Model FReQuency plasfrq (old name)
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0 Ha
Only relevant if optdriver=3, that is, screening calculations. Only effective if GW corrections are evaluated using the plasmon-pole model of Godby-Needs (i.e ppmodel=1)
In the present status of the GW code, the convolution in frequency space
defining the self-energy operator can be evaluated using two different approaches:
numerical integration and plasmon-pole models.
Methods based on the numerical integration (contour deformation, analytic continuation) require
the knowledge of the screened interaction for several frequencies. These approaches give
the most accurate results but at the price of an increase in the CPU time required.
Alternately it is possible to approximate the dynamical behaviour of the screened interaction
through simple analytical expressions, the so-called plasmon-pole models.
In the plasmon-pole model proposes by Godby-Needs (ppmodel=1),
the screening must be available at zero frequency, as well as at another frequency, imaginary,
of the order of the plasmon frequency (the peak in the EELS spectrum).
This information is used to derive the behaviour of the dielectric matrix
for all the frequencies (complex).
ppmfrq defines the imaginary frequency where the dielectric matrix is evaluated,
in addition to the zero frequency. If the plasmon-pole approximation is good, then, the
choice of ppmfrq should have no influence on the final result.
One should check whether this is the case. In general, the plasmon frequencies of bulk solids
are on the order of 0.5 Hartree.
Go to the top
| Complete list of input variables
ppmodel
Mnemonics: Plasmon Pole MODEL
Characteristic: GW
Variable type: integer parameter
Default is 1
Only relevant if optdriver=3 or 4, that is, screening calculations and self-energy calculations.
- ppmodel=1 : PP model of Godby and Needs, See FIXME>REFERENCE MISSING!
- ppmodel=2 : PP model of Hybertsen and Louie, See Phys Rev B 34, 5390 (1986)
- ppmodel=3 : PP model of W. von der Linden and P. Horsh see Phys Rev B 37, 8351 (1988)
- ppmodel=4 : PP model of Farid and Engel. See Phys Rev B47,15931 (1993)
- ppmodel=0 : no PP model, numerical integration (contour deformation method, see e.g. S. Lebegue et al. PRB 67, 155208 (2003).)
Please note also that in the case of ppmodel 4, the plasmon energies are not simple mathematical parameters,
but rather have a physical meaning (at least the lowest ones).
Thus the calculated plasmon band structure (plasmon energy vs q vector) is reported in the output file for the
lowest 10 bands.
Go to the top
| Complete list of input variables
qptdm
Mnemonics: Q-PoinTs for the Dielectric Matrix
Characteristic: GW
Variable type: real array qptdm(3,nqptdm)
Default is 0. 0. 0. (for just one q-point)
Only relevant if optdriver=3, that is, screening calculations, and only if nqptdm/=0.
qptdm contains the set of q-points used in the screening part of ABINIT,
instead of the automatic generation of the q points when nqptdm=0.
These q points are given in terms of reciprocal space primitive translations (NOT in cartesian coordinates!).
For further explanation, see the input variable nqptdm.
Go to the top
| Complete list of input variables
rcut
Mnemonics: Radius of the CUT-off for coulomb interaction
Characteristic: GW
Variable type: real parameter
Default is 0.0d0
(No explicit documentation, please see
https://listes-2.sipr.ucl.ac.be/abinit.org/arc/forum/2008-11/msg00087.html
for the time being)
Go to the top
| Complete list of input variables
rhoqpmix
Mnemonics: RHO QuasiParticle MIXing
Characteristic: GW
Variable type: real parameter
Default is 1.0
For self-consistent GW runs, rhoqpmix sets the mixing coefficient between the new and the previous
electronic densities.
This mixing damps the spurious oscillations in the Hartree potential when achieving self-consistency.
rhoqpmix is meaningful only when doing self-consistency on the wavefunctions with
gwcalctyp >= 20.
Go to the top
| Complete list of input variables
soenergy
Mnemonics: Scissor Operator ENERGY
Characteristic: GW, ENERGY
Variable type: real
Default is 0.0
Only relevant if optdriver=3, that is, screening calculations.
The Scissor operator energy to be added to unoccupied levels for the screening calculation.
In some cases, it mimics a second iteration self-consistent GW calculation.
Go to the top
| Complete list of input variables
spbroad
Mnemonics: SPectral BROADening
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.0
TO BE DESCRIBED
Go to the top | Complete list of input variables
splitsigc
Mnemonics: SPLIT SIGma Correlation
Characteristic: GW, DEVELOP
Variable type: integer
Default is 0
Only relevant if optdriver=4, that is, GW calculations of self-energy
Govern the splitting of the correlation part of the self-energy in various contributions.
So far, the results only appear in the log file.
splitsigc is intended as a succession of bits that govern the decomposition (or not) as a function of
different criteria.
- The first bit governs the decomposition in terms of Coulomb Hole (COH) and Screened Exchange (SEX) contributions
- The second bit governs the decomposition in terms of Coulomb and Kinetic contributions
Go to the top | Complete list of input variables
spmeth
Mnemonics: SPectral METHod
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=4, that is, sigma calculations.
The spmeth input variable defines the method used to calculate the irreducible polarizability $\chi^{(0)}_{KS}$.
By default $\chi^{(0)}_{KS}$ is calculated employing the Adler-Wiser expression (spmeth=0)
with a CPU effort that scales linearly with the number of frequencies.
This approach is convenient when few frequencies are required, and is usually
used in conjunction with plasmon-pole models in which only one or two frequencies are calculated,
according to the value of ppmodel.
Unfortunately a calculation based on the Adler-Wiser expression might be quite CPU demanding
if the matrix elements of the self-energy operator are evaluated by performing numerically
the convolution defining the sigma operator
The integrand function, indeed, has poles above and below the real axis, and
the screened interaction has to be evaluated on a dense frequency mesh in order to obtain accurate
results.
In the spectral method (spmeth=1 or 2) the irreducible polarizability is expressed as the Hilbert transform of the imaginary part. The advantage in using this approach consists in the fact that, once the spectral function is known, the irreducible polarizability for an arbitrary frequency can be easily obtained through inexpensive integrations. On the other hand an accurate evaluation of the imaginary part requires a dense frequency mesh due to the presence of delta functions. Two different approaches can be used to approximate these delta functions thus allowing the use of affordable frequency grid.
Summarizing:
- 0 => use Adler-Wiser expression to calculate $\chi^{(0)}_{KS}$
- 1 => use the spectral method approximating the delta function with a triangular approximant as proposed in REF TO BE ADDED
- 2 => use spectral method but approximating the delta function with a Taylor expansion of the exponential as proposed in REF TO BE ADDED
Go to the top | Complete list of input variables
symchi
Mnemonics: SYMmetryze \chi_o
Characteristic: GW, DEVELOP
Variable type: integer
Default is 0 FIXME TO BE CHANGED and moved to VARDEV
Only relevant if optdriver=3, that is, screening calculations.
The evaluation of the irreducible polarizability for a given q-point requires an integration over the Brillouin zone (BZ) which is approximated by a discrete sum over k-points. In principle the integrand function should be evaluated for each k-point in the BZ, however it is possible to reduce the number of points to be explicitly considered by taking advantage of symmetry properties. The development input variable symchi is used to choose between these two equivalent methods:
- 0=> the summation over k-points is performed considering ALL the points in the BZ (useful for testing and debugging).
- 1=> the summation is restricted to the k-points belonging to the irreducible wedge defined by the little group associated to the external vector q.
Go to the top | Complete list of input variables
symmorphi
Mnemonics: SYMMORPHIc symmetry operations
Characteristic: GW, DEVELOP
Variable type: integer parameter
Default is 1
TODO: TO BE MOVED TO VARDEV With symmorphi=1, symmetry operations with a non-symmorphic vector are allowed. With symmorphi=0, they are not allowed. In the latter case, if the symmetry operations are specified in the input file, the code will stop and print an error message if a non-symmorphic vector is encountered. By contrast, if the symmetry operations are to be determined automatically (if nsym=0), then the set of symmetries will not include the non-symmorphic operations.
Note : this feature exist because in a previous status of the GW calculations, non-symmorphic
symmetry operations could not be exploited. Thus, the k points were restricted
to the IBZ. In order to prepare GW calculations, and to perform GW calculations,
symmorphi=0 was to be used, together with nsym=0.
Go to the top
| Complete list of input variables
symsigma
Mnemonics: SYMmetrization of SIGMA matrix elements
Characteristic: GW
Variable type: integer
Default is 0 (TO BE CHANGED according to gwcalctype
TO BE DESCRIBED
Go to the top | Complete list of input variables
vcutgeo
Mnemonics: V (potential) CUT-off GEOmetry
Characteristic: GW
Variable type: real array vcutgeo(3)
Default is 3*0.0d0
(No explicit documentation, please see
https://listes-2.sipr.ucl.ac.be/abinit.org/arc/forum/2008-11/msg00087.html
for the time being)
Go to the top
| Complete list of input variables
zcut
Mnemonics: Z-CUT
Characteristic: GW, ENERGY
Variable type: real parameter
Default is 0.1 eV = 3.67493260d-03Ha
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
It is meant to avoid some divergencies that might occur during the evaluation of the Adler-Wiser expression of
the irreducible polarizability (optdriver=3) or during the numerical treatment
of the integrals defining the contribution to the self-energy matrix elements
(optdriver=4).
If the denominator becomes smaller than zcut, a small imaginary part (depending on zcut) is added,
in order to avoid the divergence.
Ideally, one should make a convergence study decreasing the value of zcut for increasing number of k-points.
Go to the top
| Complete list of input variables
Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography
Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr

