Personal tools
You are here: Home Documentation Help files for v6.0 input_variables GW variables.


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 abinit code.
The new user is advised to read first the new user's guide, then the abinit 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 one to merge dielectric matrices calculated at different q-points into a unique screening file that can be used for subsequent GW calculations.
Copyright (C) 2002-2010 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 | Abinit (main) | Abinit (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic
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   gw_nstep   gw_nqlwl   gw_qlwl   gw_sctype   gw_sigxcore   gw_toldfeig  
H.
I. inclvkb   icutcoul  
J.
K. kptgw  
M.
N. nbandkss   nfreqim   nfreqmidm   nfreqre   nfreqsp   npwkss   nkptgw   nomegasrd   nomegasi   nomegasf   npweps   npwsigx   npwwfn   nsheps   nshsigx   nshwfn  
O. omegasimax   omegasrdmax  
P. ppmfrq   ppmodel  
Q. qptdm  
R. rhoqpmix  
S. soenergy   spbroad   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}$ is evaluated taking advantage of time-reversal symmetry or not.

  • 0 => Use "standard" Adler-Wiser expression without assuming time-reversal symmetry. In this case, the irreducible polarizability is calculated summing over all possible electronic transitions (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


Drawbacks: It's a very CPU- and memory-consuming approach as the size of the Hamiltonian scales as (nk*nc*nv)**2. where nk is the number of k-point in the full Brillouin zone and nc and nv are the number of conduction and valence states. respectively. Pros: It can be used both for resonant-only and resonant+coupling calculations.
  • 2 => Haydock iterative method. The macroscopic dielectric function is obtained by iterative applications of the Hamiltonian on a set of vectors in the hole-electron space. Advantages: Less memory demanding, usually faster than direct diagonalization provided that zcut is larger than the typical energy spacing of the eigenvalues. Drawbacks: It's an iterative method therefore the convergence with respect to bs_haydock_niter should be checked. At present it's not possible to have direct information of the exciton spectrum, oscillator strengths and e-h wave functions. Moreover bs_algorithm=2 cannot be used for BS calculations in which the coupling term is included.
  • 3 => Conjugate-gradient method Not available for BS calculations in which the coupling term is included. [UNDER DEVELOPMENT]



    Go to the top | Complete list of input variables
    bs_haydock_niter
    Mnemonics: Bethe-Salpeter HAYDOCK Number of Iterations
    Characteristic: BS
    Variable type: integer
    Default is 100

    Only relevant if optdriver=99 and bs_algorithm=2 that is, Bethe-Salpeter calculations with the Haydock iterative method.

    bs_haydock_niter defines the maximum number of iterations used to calculate the macroscopic dielectric function. The iterative algorithm stops when the difference between two consecutive evaluations of the optical spectra is less than bs_haydock_tol.



    Go to the top | Complete list of input variables


    bs_haydock_tol
    Mnemonics: Bethe-Salpeter HAYDOCK TOLerance
    Characteristic: BS
    Variable type: real
    Default is 0.01

    Only relevant if optdriver=99 and bs_algorithm=2 that is, Bethe-Salpeter calculations with the Haydock iterative method.

    Defines the convergence criterion for the Haydock iterative method. The iterative algorithm stops when the difference between two consecutive evaluations of the optical spectra is less than bs_haydock_tol.



    Go to the top | Complete list of input variables


    bs_eh_basis_set
    Mnemonics: Bethe-Salpeter Electron-Hole basis set
    Characteristic: BS
    Variable type: integer(2,nsppol)
    Default is 0 0

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    It defines the number of bands to be used for the construction of the electron-hole basis set employed to solve the Bethe-Salpeter equation. The first index defines the number of occupied bands counted from the valence top. The second index gives the number of empty states counted from the bottom of the conduction. If bs_eh_basis_set not specified, the entire set of bands stored in the KSS file is used! An additional cutoff energy can be applied by means of the bs_eh_window input variable. Example: Silicon with 4 valence states + 8 conduction bands: 4 8 NOTES 1) It might be spin dependent although spin polarized calculations are not yet available. 2) Dtset%nbnds should be set to MAXVAL(bs_eh_basis_set(:)) such that one can safely call other abinit routines. WFG and WFR files will contains all the states from 1 up to nbnds, independently of bs_eh_basis_set.



    Go to the top | Complete list of input variables


    bs_eh_cutoff
    Mnemonics: Bethe-Salpeter Electron-Hole CUTOFF
    Characteristic: BS
    Variable type: integer(3)
    Default is (-inf,+inf,+inf)

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    It is used to define a cutoff in the e-h basis set. Only those transitions whose energy is between bs_eh_window(1) and bs_eh_window(2) will be considered during the construction of the e-h Hamiltonian. bs_eh_window(3) (named stripecut in EXC) are used to define an additional cutoff in the exciton Hamiltonian. Let it and itp indicate two e-h basis set elements with itp >= it.Only the matrix elements corresponding to the pairs (it,itp) such that Etrans_{itp}-Etrans_{it} are considered.



    Go to the top | Complete list of input variables


    bs_exchange_term
    Mnemonics: Bethe-Salpeter EXCHANGE TERM
    Characteristic: BS
    Variable type: integer
    Default is 1

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    • 0 => The exchange term is not considered. This is equivalent to a calculation of optical spectra without non-local field effects.
    • 1 => The exchange term is calculated and added to the excitonic Hamiltonian. This is equivalent to including non-local field effects in the calculation of optical spectra.




    Go to the top | Complete list of input variables
    bs_coulomb_term
    Mnemonics: Bethe-Salpeter COULOMB TERM
    Characteristic: BS
    Variable type: integer
    Default is 1

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations. This variable is used to define the treatment of the direct Coulomb term.

    • 0 => Include the exchange part but the screened interaction W entering the Coulomb term is approximated by a diagonal matrix in reciprocal space.
    • 1 => The Coulomb term is calculated using the fully non-local screened interaction W(r,r') and added to the Hamiltonian.
    • 2 => A model screening function is used to calculate the coulomb part of the Hamiltonian (useful for convergence studies or for reproducing published results. NOTES: We might add another value for using a diagonal approximant Make a list of the model dielectric functions available on the market
    Note the different available combinations: RPA without NLF: RPA with LF GW+RPA without LF GW+RPA with LF Resonant EXC without LF Resonant EXC with LF Coupling EXC without LF Coupling EXC with LF Perturbative Coupling EXC without LF Perturbative Coupling EXC with LF



    Go to the top | Complete list of input variables
    bs_calctype
    Mnemonics: Bethe-Salpeter CALCulation TYPE
    Characteristic: BS
    Variable type: integer
    Default is 1

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    It consists of two digits and specifies the approximations used in the exciton Hamiltonian as well what kind of wavefunctions and eigenvalues will be used. Possible values are 0,1,2 1) for RPA !for using KS eigenvalues and wave functions 2) for GW (only GW shift, no Coulomb term) !use KS wave functions but GW energies for the diagonal part ! of the exciton Hamiltonian 3) for exciton calculations (Coulomb + GW shift) QP amplitudes and energies will be read from the QPS file and used to construct H_ex. Technicalities: The final results should not depend on the particular e-h basis set used to solve the Bethe-Salpeter problem provided that the set is completed. However, using QP amplitudes instead of KS states leads to the following modifications: *) <\psi|r|\psj>^QP should be calculated taking into account the non-locality of the the self-energy in the commutator [r,H]. *) There might be an exchange between states when going from KS to QP. Therefore the contribution to epsilon given by a particular (k,v,c) transition might change due to a possible change in the symmetry properties of the wave functions. (Is it useful? For sure it complicate the implementation as well as the input file!)



    Go to the top | Complete list of input variables


    bs_coupling
    Mnemonics: Bethe-Salpeter COUPLING
    Characteristic: BS
    Variable type: integer
    Default is 1

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    The bs_coupling input variable defines the treatment of the coupling block of the BS Hamiltonian. Possible values are 1, 2 or 3.

    • 1 => The off-diagonal elements coupling resonant and anti-resonant transitions are neglected. The code runs faster and the Hamiltonian matrix requires less memory (factor 4). It is a good approximation for the absorption spectrum which only requires the knowledge of Im(\epsilon). The reliability of this approximation should be tested for EELF calculations.
    • 2 => The coupling term is included and the macroscopic dielectric matrix is calculated using the full matrix either by direct diagonalization or through the Haydock iterative method.
    • 3 => The coupling term is calculated but the optical spectra is obtained using first order perturbation theory thus allowing memory and CPU saving. Only available if bs_algorithm =1, i.e., direct diagonalization. It's meaningless if the Haydock method is used.




    Go to the top | Complete list of input variables
    bs_freq_mesh
    Mnemonics: Bethe-Salpeter FREQuency MESH
    Characteristic: BS
    Variable type: real(3), ENERGY
    Default is (0.0,0.0,0.01) eV

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    bs_freq_mesh(1) defines the first frequency for the calculation of the macroscopic dielectric function. bs_freq_mesh(2) defines the last frequency for the calculation of the macroscopic dielectric function. If zero, bs_omegae is automatically calculated inside the code such that the frequency mesh covers the entire set of e-h transitions. bs_freq_mesh(3) gives the step of the linear frequency mesh used for evaluating the macroscopic dielectric function.



    Go to the top | Complete list of input variables


    bs_broad
    Mnemonics: Bethe-Salpeter BROADening
    Characteristic: BS
    Variable type: real
    Default is 1

    Only relevant if optdriver=99, that is, Bethe-Salpeter calculations.

    Small imaginary shift used to avoid poles along the real axis. It is used to broaden the optical spectra thus obtaining smoother curves. It simulates the finite lifetime of the quasiparticles (although the true lifetime should be k- and band-dependent) as well as the experimental uncertainty The value of bs_broad affects the number of iteration needed to achieve convergence when the Haydock iterative method is employed. In this case, bs_broad should be larger than the typical distance between the eigenvalues of the exciton Hamiltonian.



    Go to the top | Complete list of input variables


    -->



    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.

    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 given by a convolution in which the number of reciprocal lattice vectors employed to describe the wavefunctions is given by ecutwfn Tn the case of screening calculations, the number of G vectors in Eq.1 is defined by ecuteps, while ecutsigx defined the number of G used in sigma calculations. To improve the efficiency of the code, the oscillator matrix elements are evaluated in real space through FFT techniques, and the fftgw input variable is used to select the FFT mesh to be used.

    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.
    The behaviour of ABINIT before v5.5 corresponds to the default value 11.



    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.

    If 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). Note that, in order to include the vertex correction in W, one has to start the sigma calculation from the susceptibility file_SUSC instead of the _SCR file (see getsuscep   and irdsuscep  ) Not available for PAW calculations.





    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.
    The default is gwmem = 11, which is the fastest, but also the most memory consuming. When experiencing memory shortage, one should try gwmem = 0. The first digit is only meaningful when performing sigma calculations.





    Go to the top | Complete list of input variables


    gw_nstep
    Mnemonics: GW Number of self-consistent STEPS
    Characteristic: GW
    Variable type: integer
    Default is 30

    Only relevant if optdriver=8, that is, self-consistent GW calculations.

    Gives the maximum number of self-consistent GW cycles (or "iterations"). in which G and/or W will be updated until the quasi-particle energied are converged within gw_toldfeig. gwcalctyp and gw_sctype are used to define the type of self-consistency.





    Go to the top | Complete list of input variables


    gw_nqlwl
    Mnemonics: GW, Number of Q-points for the Long Wave-Length Limit
    Characteristic: GW
    Variable type: integer
    Default is 1

    Only relevant if optdriver=3,4 that is, screening or sigma calculations, althought the actual meaning of the variable depends on the particular run-level (see discussion below).

    gw_nqlwl defines the number of directions in reciprocal space used to describe the non-analytical behaviour of the heads (G = G'=0) and the wings (G=0 or G'=0) of the dielectric matrix in the optical limit (i.e. for q tending to zero). The number of directions is specified by the additional variable gw_qlwl.

    When optdriver=3, gw_nqlwl and gw_qlwl define the set of "small" q that will be calculated and stored in the final SCR file. Therefore, the two variables can be used to analyze how the optical spectra depend on the direction of the incident phonon (useful especially in anisotropic systems). When optdriver=3, gw_nqlwl and gw_qlwl can be used to specify the heads and the wings to be used to perform the quadrature of the correlated part of the self-energy in the small region around the origin. (NB: not yet available, at present the quadrature is performed using a single direction in q-space)





    Go to the top | Complete list of input variables


    gw_qlwl
    Mnemonics: GW, Q-points for the Long Wave-Length Limit
    Characteristic: GW
    Variable type: real array gw_qlwl(3,gw_nqlwl)
    Default is 0.00001 0.00002 0.00003

    Only relevant if optdriver=3,4 that is, screening or sigma calculations.

    When optdriver=3, gw_qlwl defines the set of q-points around Gamma that are considered during the evaluation of the non-analytical behaviour of the dielectrix matrix. Optical spectra (with and without non-local field effects) are evaluated for each direction specified by gw_qlwl.





    Go to the top | Complete list of input variables


    gw_sctype
    Mnemonics: GW, Self-Consistency TYPE
    Characteristic: GW
    Variable type: integer
    Default is 0 so that no choice is done

    This variable is used to partially define the kind of self-consistency for GW calculations. The other piece of information is given by gwcalctyp that defines the particular approximation for the self-energy operator as well as whether the wavefunctions have to replaced by quasi-particle amplitudes.

    If gw_sctype is specified in the input file, the code will perform an iterative update of the quantities entering the GW equations until the quasi-particle energies are converged within gw_toldfeig. The maximum number of iterations is specified by gw_nstep. Possible values are:

    • 1 => standard one-shot method (one screening calculation followed by a single sigma run)
    • 2 => self-consistency only on W (iterative update of W followed by a sigma run in which G is approximated with the Kohn-Sham independent-particle Green's function G0)
    • 3 => self-consistency only of G (a single screening calculation to obtain the Kohn-Sham polarizability followed by an iterative update of the Green's functions in the self-energy)
    • 4 => fully self-consistent algorithm (iterative update of both G and W)
    It is possible to initialize the self-consistent procedure by reading a previously calculated SCR or SUSC file via the variables getscr or getsuscep, respectively. getqps can be used to read a previous QPS file thus initializing the Green's functions to be used in the first self-consistent iteration.



    Go to the top | Complete list of input variables
    gw_sigxcore
    Mnemonics: GW, treatment of the ...
    Characteristic: GW
    Variable type: integer
    Default is 0

    Only available for PAW and relevant if optdriver=4 that is, sigma calculations.

    Theoretical introduction: GW calculations perfomed on top of electronic calculations relying when the frozen-core approximation is used to separate inner-core electrons from valence electrons, only the contribution to the self-energy arising from valence electrons is explicitly accounted for. In the standard approach based on pseudopotentials the contribution to the self-energy due to core electrons is approximated by means of the KS exchange-correlation potential generated by the core density. In the case of GW calculations employing the PAW method, the core contribution to the self-energy can be more accurately estimated in terms of the Fock operator generated by the core wavefunctions. In the simplest approach, the only ingredients required for this more refined treatment are the wave functions of the core electrons in the reference atomic configuration that are calculated during the generation of the PAW setup. This is a good approximation provided that the core wave functions are strictly localized inside the PAW spheres.

    gw_sigxcore defines the approximation used to evaluate the core contribution to sigma.

    • gw_sigxcore = 0, standard approach, the core contribution is approximated with vxc.
    • gw_sigxcore = 1, the core term is approximated with the Fock operator inside the PAW spheres.





    Go to the top | Complete list of input variables


    gw_toldfeig
    Mnemonics: GW TOLerance on the DiFference of the EIGenvalues
    Characteristic: GW, ENERGY
    Variable type: REAL
    Default is 0.1 eV

    Sets a tolerance for absolute differences of QP energies that will cause one self-consistent GW cycle to stop.
    Can be specified in Ha (the default), Ry, eV or Kelvin, since toldfe has the 'ENERGY' characteristics (1 Ha=27.2113845 eV)
    Effective only when self-consistent GW calculations are done (optdriver=8).





    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.

    Many-body calculations for isolated systems present a slow convergence with respect to the size of the supercell due to the long ranged Coulomb interaction and the high degree of non-locality of the operators involved. A similar issue occur also in fully periodic systems due to the presence of the integrable Coulomb singularity at G=0 that hinders the convergence with respect to the number of q-points used to sample the Brillouin zone. The convergence can be accelerated by replacing the true bare Coulomb interaction with other expressions icutcoul defines the particular expression to be used for the Coulomb term in reciprocal space. The choice of icutcoul depends on the dimensionality of the system. Possible values of icutcoul are 0 to 5. To be complemented by values of vcutgeo and rcut

    • 0 => sphere (molecules but also 3D-crystals)
    • 1 => cylinder (nanowires, nanotubes)
    • 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 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 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


    nomegasi
    Mnemonics: Number of OMEGA(S) along the Imaginary axis
    Characteristic: GW
    Variable type: integer
    Default is 12

    Only relevant for sigma calculations in which the self-energy along the real axis is obtained by performing the analytic continuation from the imaginary axis to the full complex plane via the Pade approximant (optdriver=4 and gwcalctyp=x1).

    nomegasi defines the number of frequency points used to sample the self-energy along the imaginary axis. The frequency mesh is linear and covers the interval between OMEGASIMIN=0.01 Hartree and omegasimax.



    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 of the irreducible polarizability.

    nomegasf defines the number of real frequencies used to describe the spectral function associated to 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.

    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, 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 one 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.

    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


    omegasimax
    Mnemonics: OMEGA to evaluate Sigma along the Imaginary axis D: MAXimal value
    Characteristic: GW ENERGY
    Variable type: real
    Default is 50 eV

    Only relevant for sigma calculations in which the self-energy along the real axis is obtained by performing the analytic continuation from the imaginary axis to the full complex plane via the Pade approximant (optdriver=4 and gwcalctyp=x1).

    omegasimax defines the maximum frequency along the imaginary the axis. In conjunction with nomegasi, omegasimax uniquely defines the linear mesh employed to sample the self-energy along the imaginary axis.



    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
    Characteristic: GW, ENERGY
    Variable type: real parameter
    Default is 0.0 Ha

    Only relevant if optdriver=3 or 4, that is, screening calculations or sigma 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). During the calculation of the screening, ppmfrq defines the imaginary frequency where the dielectric matrix is evaluated, in addition to the zero frequency. During the self-energy run, ppmfrq can be used to define the second frequency to be used to calculate the plasmon-pole parameters. This is particularly useful when the SCR file contains several frequencies along the imaginary axis. In this case the frequency whose value is the closest one to ppmfrq will be selected. Note that, 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 of 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 the difference between ppmodel 1 and ppmodel 2,3,4. In the first case (ppmodel=1), the plasmon-pole parameters are determined in order to reproduce the behaviour of the dielectric matrix at two calculated frequencies: the static limit (omega=0) and the imaginary frequency defined by ppmfrq. In the last three cases, instead, the plasmon-pole parameters are found by using the dielectric matrix calculated only at omega=0 and enforcing the so-called f-sum rule. See also 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 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

    Only relevant if optdriver=3 and spmeth=2, that is, screening calculations based on the spectral reprentation of the irreducible polarizability in which the delta function is replace by the gaussian approximant whose standard deviation is given by spbroad.



    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) vcutgeo is used in conjunction with icutcoul to specify the geometry used to truncate the Coulomb interaction as well as the particular approach to be used. It has a meaning only for the cylindrical symmetry (icutcoul=1) or in the case of surfaces icutcoul=2. For each geometry, two different definition of the cutoff region are available (see Phys. Rev. B 73, 233103 and Phys. Rev. B 73, 205119 for a complete description of the methods) In Beigi's method (Phys. Rev. B 73, 233103), the cutoff region is given by the Wigner-Seitz cell centered on the axis of the cylinder. The cutoff region is thus automatically defined by the unit cell and there's no need to specify When rcut. To define a cylinder along the z-axis use the following two lines. icutcoul 1 rprim 1 0 0 0 1 0 0 0 1 vcutgeo 0 0 1 Please note that Beigi's method is implemented only in the case if an orthorombic Bravais lattic. For hexagonal lattices, one has to use the method of Rozzi (Phys. Rev. B 73, 205119) In this case, the interaction is truncated in a finite cylinder. Contrarily to the first approach, here one has to specify both the radius of the cylinder with rcut as well as the length of the cylinder along the periodic dimension that should always be smaller than the extension of the Born von Karman box. The length of the cylinder is given in terms of the primitive vector along the periodic direction. For example, in order to define a finite cylinder along z of radius 2.5 Bohr and length 3*R3 icutcoul 1 rprim 1 0 0 0 1 0 0 0 1 vcutgeo 0 0 -3.0 # note the minus sign rcut 2.5 For surface calculations (icutcoul=2), vcutgeo is used to define the two periodic directions defining the surface. Also in this case two different techniques are available. In the method of Beigi, the (positive) non-zero components of vcutgeo define the periodic directions of the infinite surface. The interaction is truncated within a slab of width L where L is the length of the primitive vector of the lattice along the non-periodic dimension. For example: icutcoul 2 rprim 1 0 0 0 1 0 0 0 1 vcutgeo 1 1 0 It is also possible to define a finite surface by employing negative values For example: icutcoul 2 vcutgeo -3 -2 0 defines ....



    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 | Abinit (main) | Abinit (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic
  • Former website

    http://wwwold.abinit.org

    « September 2010 »
    September
    MoTuWeThFrSaSu
    12345
    6789101112
    13141516171819
    20212223242526
    27282930
    Site status
    Stable