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 lesson 6 of the tutorial
Other input variables directly related to the GW computation are :
getkss
getscr
optdriver.
Note also the merging utility Mrgscr,
for screening files.
Copyright (C) 2002-2007 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
- Wannier fonctions variables, VARWAN
Content of the file : alphabetical list of variables.
A.
B.
bdgw
C.
D.
E.
ecuteps
ecutsigx
ecutwfn
F.
freqremax
freqspmax
G.
gwcalctyp
H.
I.
inclvkb
J.
K.
kptgw
M.
N.
nbandkss
nfreqim
nfreqre
nfreqsp
npwkss
nkptgw
nomegasrd
npweps
npwsigx
npwwfn
nsheps
nshsigx
nshwfn
O.
omegasrdmax
P.
ppmfrq
ppmodel
Q.
qptdm
R.
rhoqpmix
S.
soenergy
splitsigc
symmorphi
T.
U.
V.
W.
X.
Y.
Z.
zcut
bdgw
Mnemonics: BanDs for GW calculation
Characteristic: GW
Variable type: integer bdgw(2,nkptgw)
Default is all 0's
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 variable gwcalctyp >= 20,
quasiparticle wavefunctions are computed and represented as linear combinations of some LDA wavefunctions.
bdgw designates the LDA wavefunctions used a basis set:
quasiparticle wavefunctions are expanded on the LDA states
in 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
Variable type: real
Default is 0.0
Only relevant if optdriver=3,
that is, GW 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 MAT ??
Characteristic: GW
Variable type: real
Default is 0.0
Only relevant if optdriver=4,
that is, GW 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
Variable type: real
Default is 0.0
Only relevant if optdriver=3 or 4,
that is, GW 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
freqremax
Mnemonics:
FREQuencies along the Real axis MAXimum
Characteristic:
Variable type: real parameter
Default is 0.0
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:
Variable type: real parameter
Default is 0.0
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
Default is 0
Only relevant if optdriver=3 or 4,
that is, GW 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
inclvkb
Mnemonics: INCLude VKB
Characteristic: GW
Variable type: integer
Default is 1
Only relevant if optdriver=3,
that is, a screening calculation.
In case inclvkb is 1, the non-local part of the commutator og 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
kptgw
Mnemonics: K-PoinTs for GW calculations
Characteristic: GW
Variable type: real kptgw(3,nkptgw)
Default is all 0.0's
For each k-point with number igwpt in the range (1:nkptgw),
kptgw(1,igwpt) is the reduced coordinate of the k-point.
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 STOred
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 will be used in a GS run (where optdriver=0)
to generate a _KSS file. In this run, nbandkss should be non-zero.
Then, this GS run
should be followed with a run where
optdriver=3.
- If nbandkss=0, no _KSS file is created
- If nbandkss=-1, all the available eigenstates (energies
and eigenfunctions) are stored in a 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 a 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.
Very important : for the time being, istwfk
must be 1 for all the k-points.
When nbandkss is non-zero, symmorphi must be set to 0,
in case there are non-symmorphic operations.
For more details about the format of the abo_KSS file, see
the routine outkss.f .
See also the input variable kssform,
for tuning the precision of the 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
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
nfreqre
Mnemonics:
Number of FREQuencies along the Real axis
Characteristic:
Variable type: integer parameter
Default is 0
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 ppmodel calculation, 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 plan to use ppmodel>1. This will force the calculation of screening on a single frequency (omega=0) and hence
reduce memory and disk space requirment. 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 along the Real axis
Characteristic:
Variable type: integer parameter
Default is 0
nfreqsp sets 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 planewave COMponents STOred
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.f,
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 GW PoinTs
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=4,
that is, GW 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
nomegasrd
Mnemonics: Number of OMEGA to evaluate the Sigma Real axis Derivative
Characteristic: GW
Variable type: integer
Default is 9
Only relevant if optdriver=4,
that is, GW calculations.
The number of frequencies omega where sigma is calculation
around the KS energy on the real axis. From these values, the
derivative of Sigma with respect to omega and calculated
at the KS energy is evaluated.
Go to the top
| Complete list of input variables
npweps
Mnemonics: Number of PlaneWaves for EPSilon (the dielectric matrix)
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=3,
that is, GW 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
Default is 0
Only relevant if optdriver=4,
that is, GW 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
Default is 0
Only relevant if optdriver=3 or 4,
that is, GW 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
Default is 0
Used only in the GW (screening) part of ABINIT, that is for
optdriver=3.
If equal to 0, the set of q-points for computing the dielectric matrix is
determined automatically. When non-zero, the list of q points
is to be read from qptdm.
This allows to split the big calculation of all dielectric matrices into smaller
calculations, performed independently. The files _SCR, that are generated,
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
Default is 0
Only relevant if optdriver=3,
that is, GW 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 MAT ??
Characteristic: GW
Variable type: integer
Default is 0
Only relevant if optdriver=4,
that is, GW 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
Default is 0
Only relevant if optdriver=3 or 4,
that is, GW 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
Variable type: real
Default is 1.0 eV
Only relevant if GW 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: ENERGY, GW
Variable type: real
Default is 0.0 Ha
Only relevant if optdriver=3,
that is, GW calculations.
The present GW implementation is based on a plasmon-pole model.
In this plasmon-pole model, the screening must be available
at zero frequency, as well as at another frequency, imaginary,
on 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 at which
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, ENERGY
Variable type: integer
Default is 1
Only relevant if optdriver=3,
that is, GW calculations of screening.
- ppmodel=1 : PP model of Godby and Needs, See
- 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 that the difference between ppmodel 1 and ppmodel 2,3,4, is that in the first case, the dynamic screening is calculated by fitting along the
imaginary axis using the dielectric matrix calculated at two frequencies, whereas in the last three cases, it is done by employing sum rules and using
the dielectric matrix calculated only at omega=0. see nfreqre.
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 shown as standard output for the lowest 10 bands in the output file.
Go to the top
| Complete list of input variables
qptdm
Mnemonics: Q - PoinTs for the Dielectric Matrix
Characteristic:
Variable type: real array qptdm(3,nqptdm)
Default is 0. 0. 0. (for just one q-point)
Used only in the GW (screening) part of ABINIT, that is for
optdriver=3, and when
nqptdm/=0 .
Contains the q points for use in the GW (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
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, GW calculations of screening.
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
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
symmorphi
Mnemonics: SYMMORPHIc symmetry operations
Characteristic: GW, DEVELOP
Variable type: integer
Default is 1,
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 the present status of the GW calculations, non-symmorphic symmetry operations
cannot be exploited. Thus, the k points cannot be restricted
to the IBZ. In order to prepare GW calculations, and to perform GW calculations,
symmorphi=0 should be used, together with nsym=0.
Go to the top
| Complete list of input variables
zcut
Mnemonics: Z-CUT
Characteristic: GW , ENERGY
Variable type: real
Default is 0.1 eV =3.67493260d-03Ha
Only relevant if optdriver=4,
that is, GW calculations.
It is meant to avoid some divergencies that might
occur due to the numerical treatment of integrable poles along the integration path.
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 of zcut decreasing 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