gwr input variables¶
This document lists and provides the description of the name (keywords) of the gwr input variables to be used in the input file for the abinit executable.
gwr_boxcutmin¶
Mnemonics: GWR BOX CUT-off MINimum
Mentioned in topic(s): topic_GWR
Variable type: real
Dimensions: (1)
Default value: 1.0
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [11/1314] in all abinit tests, [3/178] in abinit tutorials
- gwr_suite: t01.abi, t02.abi, t03.abi, t04.abi, t05.abi, t06.abi
- paral: t78.abi, t79.abi
- tutorial: tgwr_3.abi, tgwr_4.abi, tgwr_5.abi
This variable defines the FFT mesh used to represent the polarizability, the screened interaction \(W\) and the self-energy \(\Sigma\) in the GWR code. The role is very similar to that of boxcutmin, which is has a meaning only in the case of GS/DFPT calculations.
In principle, setting gwr_boxcutmin = 2 ensures an exact treatment of products such as \(G G\) or \(G W\). However, this choice significantly increase computational cost and memory requirements. In practice, it is recommended to start with a smaller value, such as 1.1, and then gradually increase it (1.2, 1.3, etc.) in order to monitor the stability of the results.
gwr_chi_algo¶
Mnemonics: GWR CHI ALGOrithm.
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (1)
Default value: 1
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [2/1314] in all abinit tests, [0/178] in abinit tutorials
This variable is similar in spirit to gwr_sigma_algo. It selects the algorithm used to compute the polarizability in the GWR code. Possible values are:
- 1 → Compute \(\chi\) in the real-space supercell.
- 2 → Compute \(\chi\) using convolutions in the BZ.
Note that gwr_chi_algo 2 has quadratic scaling with the number of \(\qq\)-points but it is more memory-efficient than the real-space method, as it operates on two-point functions confined to the unit cell. Also, gwr_chi_algo 2 can take advantage of symmetries to reduce the number of points in the BZ, and can benefit from the parallelism over \(\kk\)-points in gwr_np_kgts more than the supercell method. If encountering out-of-memory issues with the supercell method, it is advisable to switch to the BZ convolution approach To optimize performance, utilize all available cores, prioritizing g-parallelism followed by k-parallelism.
The two algorithms are equivalent in the case of \(\Gamma\)-only sampling.
gwr_max_hwtene¶
Mnemonics: GWR MAX Head Wings Transition ENErgy
Mentioned in topic(s): topic_GWR
Variable type: real
Dimensions: (1)
Default value: -1.0
Only relevant if: optdriver == 6
Added in version: 9.8.0
Test list (click to open). Rarely used, [0/1314] in all abinit tests, [0/178] in abinit tutorials
This variable defines the transition energy window (in Hartree) for the empty states used in computing the head and wings of the polarizability. As discussed in [baroni1986], the head and wings converge rapidly with respect to the number of bands, unlike the body of the matrix. Since the GWR code computes the body of the polarizability using the Green’s function in real space, fewer states are needed to achieve convergence for the head and wings compared to conventional GW calculations. The default value (-1.0) instructs the code to use all available [nband]] states.
See also inclvkb for the inclusion of the contribution given by the non-local part of pseudopotential.
gwr_np_kgts¶
Mnemonics: GWR Number of Processors for K-vectors, G-vectors, Tau-points, Spin.
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (4)
Default value: 0
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [2/1314] in all abinit tests, [0/178] in abinit tutorials
This variable defines the 4D Cartesian grid of MPI processors used for GWR calculations. If not specified in the input, the code will generate this grid automatically using the total number of MPI processors and the basic dimensions of the job computed at runtime.
If the code runs out of memory, it is recommended to explicitly set this variable and to use as many processors as possible for g-vector parallelism.
Important
The total number of MPI processes must be equal to the product of the different entries.
Note also that the GWR code implements its own MPI-algorithm and gwr_np_kgts is the only variable that should be used to change the default behaviour. Other variables such as npband, npfft, np_spkpt and paral_kgb are not used in the GWR subdriver.
gwr_nstep¶
Mnemonics: GWR Number of self-consistent STEPs
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: scalar
Default value: 50
Only relevant if: optdriver == 6
Added in version: 9.9.0
Test list (click to open). Rarely used, [1/1314] in all abinit tests, [0/178] in abinit tutorials
- gwr_suite: t04.abi
Maximum number of self-consistent iterations in which G and/or W are be updated until the quasi-particle energies are converged within gwr_tolqpe. gwr_task defines the self-consistency type.
gwr_ntau¶
Mnemonics: GWR Number of TAU points.
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (1)
Default value: 12
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [11/1314] in all abinit tests, [3/178] in abinit tutorials
- gwr_suite: t01.abi, t02.abi, t03.abi, t04.abi, t05.abi, t06.abi
- paral: t78.abi, t79.abi
- tutorial: tgwr_3.abi, tgwr_4.abi, tgwr_5.abi
This variable defines the number of points in the minimax mesh. Possible values are: [6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34].
The other piece of information required for the selection of the minimax mesh is the ratio between the fundamental gap and the maximum transition energy i.e. the differerence between the highest KS eigenvalue for the empty states that, in turns, depends on the value of nband used and the energy of the lowest occupied state.
gwr_rpa_ncut¶
Mnemonics: GWR RPA Number of CUToff
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (1)
Default value: 5
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [0/1314] in all abinit tests, [0/178] in abinit tutorials
Number of cutoff energies for extrapolating RPA correlation energy.
gwr_sigma_algo¶
Mnemonics: GWR SIGMA ALGOrithm.
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (1)
Default value: 1
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [11/1314] in all abinit tests, [3/178] in abinit tutorials
- gwr_suite: t01.abi, t02.abi, t03.abi, t04.abi, t05.abi, t06.abi
- paral: t78.abi, t79.abi
- tutorial: tgwr_3.abi, tgwr_4.abi, tgwr_5.abi
This input variable selects the algorithm used to compute the self-energy in the GWR code. Possible values are
- 1 → Compute \(\Sigma\) in the real-space supercell.
- 2 → Compute \(\Sigma\) using convolutions in the BZ.
gwr_sigma_algo 1 is the most efficient approach when one needs to compute QP corrections for all the \(\kk\)-points, e.g. when performing self-consistent calculations or if one needs to interpolate the QP corrections to obtain QP band structure along an arbitrary \(\kk\)-path.
gwr_sigma_algo 2 is faster than 1 if we only need to compute QP corrections at the band edges that are ideally located at high-symmetry \(\kk\)-points as the code can exploit symmetries. In the best case scenario, both the CBM and the VBM are located at the \(\Gamma\) point; hence the BZ summation can be replaced by a much faster symmetrized sum over the wavevectors of the IBZ. If encountering out-of-memory issues with the supercell method, it is advisable to switch to the BZ convolution approach To optimize performance, utilize all available cores, prioritizing g-parallelism followed by k-parallelism.
The two algorithms are equivalent in the case of \(\Gamma\)-only sampling.
See also gwr_chi_algo
gwr_task¶
Mnemonics: GWR TASK
Mentioned in topic(s): topic_GWR
Variable type: string
Dimensions: (1)
Default value: None
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Moderately used, [17/1314] in all abinit tests, [4/178] in abinit tutorials
- gwr_suite: t01.abi, t02.abi, t03.abi, t04.abi, t05.abi, t06.abi, t07.abi, t08.abi, t09.abi, t10.abi, t11.abi
- paral: t78.abi, t79.abi
- tutorial: tgwr_2.abi, tgwr_3.abi, tgwr_4.abi, tgwr_5.abi
Select the task to be performed when optdriver == 6 i.e. GWR code. The choice is among:
- HDIAGO → direct diagonalization of the KS Hamiltonian to produce nband eigenvectors.
- HDIAGO_FULL → direct diagonalization of the KS Hamiltonian for maximum number of eigenvectors defined by ecut.
- G0W0 → one-shot GW.
- G0V → one-shot Hartree-Fock with KS eigenstates.
- EGEW → energy-only self-consistent GW (update energies both in G and in W).
- EGW0 → energy-only self-consistent GW (update energies in G only).
- G0EW → energy-only self-consistent GW (update energies in W only).
- CHI0 → Compute irreducibile polarizability G0G0.
- RPA_ENERGY → Compute RPA correlation energy within the ACFDT framework.
- CC4S → Read density from file, diagonalize the KS Hamiltonian and produce output files required by CC4S.
- CC4S_FULL → Same as CC4S but compute maximum number of eigenvectors according to ecut.
- CC4S_FROM_WFK → Same as CC4S but read single particle orbitals from an external WFK file.
Important
At the time of writing, the following features are not yet supported in GWR:
- Calculations with nspinor == 2.
- Metallic systems as the our minimax meshes assume systems with an energy gap.
- Temperature effects at the electronic level are not taken into account as we work with the T = 0 formalism.
- Only \(\Gamma\)-centered \(\kk\)-meshes are supported in GWR.
- PAW method.
gwr_tolqpe¶
Mnemonics: GWR TOLerance on the difference of the QP Energies
Characteristics: ENERGY
Mentioned in topic(s): topic_GWR
Variable type: real
Dimensions: scalar
Default value: 0.01 eV
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [1/1314] in all abinit tests, [0/178] in abinit tutorials
- gwr_suite: t04.abi
Sets a tolerance for absolute differences of QP energies between two consecutive iterations that will cause the self-consistent GWR cycle to stop. It can be specified in Ha (the default), Ry, eV or Kelvin, since gwr_tolqpe has the ENERGY characteristics (1 Ha = 27.2113845 eV).
gwr_ucsc_batch¶
Mnemonics: GWR Unit Cell, Supercell BATCH SIZE.
Mentioned in topic(s): topic_GWR
Variable type: integer
Dimensions: (2)
Default value: -1
Only relevant if: optdriver == 6
Added in version: 9.6.2
Test list (click to open). Rarely used, [3/1314] in all abinit tests, [0/178] in abinit tutorials
This variable defines the maximum number of FFTs performed in the unit cell/supercell. If not specified in the input, the code will automatically define these values in order to find a good compromise betweeen memory and performance.