GW
Parameters influencing GW calculations on molecules, see also ‘Electronic band structure from GW’, https://manual.cp2k.org/trunk/methods/properties/bandstructure_gw.html. [Edit on GitHub]
Keywords
Keyword descriptions
- SECTION_PARAMETERS: logical = F
Lone keyword:
T
Usage: &GW .TRUE.
Activates GW calculations. [Edit on GitHub]
- ANALYTIC_CONTINUATION: enum = PADE
Usage: ANALYTIC_CONTINUATION
Valid values:
TWO_POLE
Use ‘two-pole’ model.PADE
Use Pade approximation.
Defines which type of analytic continuation for the self energy is used [Edit on GitHub]
- CORR_MOS_OCC: integer = 10
Aliases: CORR_OCC
Usage: CORR_OCC 3
Number of occupied MOs whose energies are corrected in GW. Counting beginning from HOMO, e.g. 3 corrected occ. MOs correspond to correction of HOMO, HOMO-1 and HOMO-2. Numerical effort and storage of RI-G0W0 increase linearly with this number. In case you want to correct all occ. MOs, insert either a negative number or a number larger than the number of occ. MOs. Invoking CORR_MOS_OCC -2 together with a BSE cutoff, sets a sufficiently large CORR_MOS_OCC for the given BSE cutoff deduced from DFT eigenvalues. [Edit on GitHub]
- CORR_MOS_VIRT: integer = 10
Aliases: CORR_VIRT
Usage: CORR_VIRT 3
Number of virtual MOs whose energies are corrected by GW. Counting beginning from LUMO, e.g. 3 corrected occ. MOs correspond to correction of LUMO, LUMO+1 and LUMO+2. Numerical effort and storage of RI-G0W0 increase linearly with this number. In case you want to correct all virt. MOs, insert either a negative number or a number larger than the number of virt. MOs. Invoking CORR_MOS_VIRT -2 together with a BSE cutoff, sets a sufficiently large CORR_MOS_VIRT for the given BSE cutoff deduced from DFT eigenvalues. [Edit on GitHub]
- CROSSING_SEARCH: enum = NEWTON
Usage: CROSSING_SEARCH Z_SHOT
Valid values:
Z_SHOT
Calculate the derivative of Sigma and out of it Z. Then extrapolate using Z.NEWTON
Make a Newton-Raphson fix point iteration.BISECTION
Make a bisection fix point iteration.
Determines, how the self_energy is evaluated on the real axis. [Edit on GitHub]
- EPS_ITER: real = 1.36000000E-003 [eV]
Usage: EPS_EV_SC_ITER 0.00005
Target accuracy for the eigenvalue self-consistency. If the G0W0 HOMO-LUMO gap differs by less than the target accuracy during the iteration, the eigenvalue self-consistency cycle stops. Unit: Hartree. [Edit on GitHub]
- EV_GW_ITER: integer = 1
Usage: EV_GW_ITER 3
Maximum number of iterations for eigenvalue self-consistency cycle. The computational effort of GW scales linearly with this number. In case of choosing GW_SELF_CONSISTENCY EVGW, the code sets EV_GW_ITER 10. [Edit on GitHub]
- FERMI_LEVEL_OFFSET: real = 2.00000000E-002
Usage: FERMI_LEVEL_OFFSET 1.0E-2
Fermi level for occ. orbitals: e_HOMO + FERMI_LEVEL_OFFSET; Fermi level for virt. orbitals: e_LUMO - FERMI_LEVEL_OFFSET. In case e_homo + FERMI_LEVEL_OFFSET < e_lumo - FERMI_LEVEL_OFFSET, we set Fermi level = (e_HOMO+e_LUMO)/2. For cubic-scaling GW, the Fermi level is always equal to (e_HOMO+e_LUMO)/2 regardless of FERMI_LEVEL_OFFSET. [Edit on GitHub]
- GAMMA_ONLY_SIGMA: logical = F
Aliases: GAMMA
Lone keyword:
T
Usage: GAMMA TRUE
If true, the correlation self-energy is only computed at the Gamma point. The Gamma point itself is obtained by averaging over all kpoints of the DFT mesh. [Edit on GitHub]
- HEDIN_SHIFT: logical = F
Lone keyword:
T
Usage: HEDIN_SHIFT
If true, use Hedin’s shift in G0W0, evGW and evGW0 (aka scGW0). Details see in Li et al. JCTC 18, 7570 (2022), Figure 1. G0W0 with Hedin’s shift should give similar GW eigenvalues as evGW0; at a lower computational cost. [Edit on GitHub]
- IC_CORR_LIST: real = -2.72113839E+001 [eV]
Usage: IC_CORR_LIST
… List of image charge correction from a previous calculation to be applied in G0W0 or evGW. Keyword is active, if the first entry is positive (since IC corrections are positive occupied MOs. The start corresponds to the first corrected GW level. [Edit on GitHub]
- IC_CORR_LIST_BETA: real = -2.72113839E+001 [eV]
Usage: IC_CORR_LIST_BETA
… IC_CORR_LIST for beta spins in case of open shell calculation. [Edit on GitHub]
- IMAGE_CHARGE_MODEL: logical = F
Aliases: IC
Lone keyword:
T
Usage: IC TRUE
If true, an image charge model is applied to mimic the renormalization of electronic levels of a molecule at a metallic surface. For this calculation, the molecule has to be reflected on the desired xy image plane. The coordinates of the reflected molecule have to be added to the coord file as ghost atoms. For the ghost atoms, identical basis sets the normal atoms have to be used. [Edit on GitHub]
- KPOINTS_SELF_ENERGY: integer[3] = 0 0 0
Keyword can be repeated.
Usage: KPOINTS nx ny nz
Specify number of k-points for the k-point grid of the self-energy. Internally, a Monkhorst-Pack grid is used. A dense k-point grid may be necessary to compute an accurate density of state from GW. Large self-energy k-meshes do not cost much more computation time. [Edit on GitHub]
- NPARAM_PADE: integer = 16
Usage: NPARAM_PADE 16
Number of parameters for the Pade approximation when using the latter for the analytic continuation of the self energy. 16 parameters (corresponding to 8 poles) are are recommended. [Edit on GitHub]
- NUMB_POLES: integer = 2
Usage: NUMB_POLES 2
Number of poles for the fitting. Usually, two poles are sufficient. [Edit on GitHub]
- OMEGA_MAX_FIT: real = 7.34996000E-001
Usage: OMEGA_MAX_FIT 0.5
Determines fitting range for the self-energy on the imaginary axis: [0, OMEGA_MAX_FIT] for virt orbitals, [-OMEGA_MAX_FIT,0] for occ orbitals. Unit: Hartree. Default: 0.734996 H = 20 eV. [Edit on GitHub]
- PERIODIC_CORRECTION: logical = F
Lone keyword:
T
Usage: PERIODIC_CORRECTION
If true, the periodic correction scheme is used employing k-points. Method is not recommended to use, use instead PERIODIC_LOW_SCALING which much more accurate than the periodic correction. [Edit on GitHub]
- PRINT_EXX: enum = FALSE
Usage: PRINT_EXX TRUE
Valid values:
TRUE
Please, put TRUE for Gamma only calculation to get the exchange self-energy. If ‘SIGMA_X’ and the corresponding values for the exchange-energy are written, the writing has been successfulFALSE
FALSE is needed if you want to do nothing here.READ
Please, put READ for the k-point GW calculation to read the exact exchange. You have to provide an output file including the exact exchange. This file has to be named ‘exx.dat’.SKIP_FOR_REGTEST
SKIP_FOR_REGTEST is only used for the GW k-point regtest where no exchange self-energy is computed.
Print exchange self-energy minus exchange correlation potential for Gamma-only calculation (PRINT). For a GW calculation with k-points we use this output as exchange self-energy (READ). This is a temporary solution because the hybrid MPI/OMP parallelization in the HFX by Manuel Guidon conflicts with the parallelization in low-scaling GW k-points which is most efficient with maximum number of MPI tasks and minimum number of OMP threads. For HFX by M. Guidon, the density matrix is fully replicated on every MPI rank which necessitates a high number of OMP threads per MPI rank for large systems to prevent out of memory. Such a high number of OMP threads would slow down the GW calculation severely. Therefore, it was decided to temporarily divide the GW k-point calculation in a Gamma-only HF calculation with high number of OMP threads to prevent out of memory and a GW k-point calculation with 1 OMP thread per MPI rank reading the previousHF output. [Edit on GitHub]
- PRINT_SELF_ENERGY: logical = F
Lone keyword:
T
Usage: SELF_ENERGY
If true, print the self-energy for all levels for real energy together with the straight line to see the quasiparticle energy as intersection. In addition, prints the self-energy for imaginary frequencies together with the Pade fit. [Edit on GitHub]
- REGULARIZATION_MINIMAX: real = 0.00000000E+000
Usage: REGULARIZATION_MINIMAX 1.0E-6
Tikhonov regularization for computing weights of the Fourier transform from imaginary time to imaginary frequency and vice versa. Needed for large minimax grids with 20 or more points and a small range. [Edit on GitHub]
- RI_SIGMA_X: logical = T
Lone keyword:
T
Usage: RI_SIGMA_X
If true, the exchange self-energy is calculated approximatively with RI. If false, the Hartree-Fock implementation in CP2K is used. [Edit on GitHub]
- SC_GW0_ITER: integer = 1
Usage: SC_GW0_ITER 3
Maximum number of iterations for GW0 self-consistency cycle. The computational effort of GW is not much affected by the number of scGW0 cycles. In case of choosing GW_SELF_CONSISTENCY EVGW0, the code sets SC_GW0_ITER 10. [Edit on GitHub]
- SELF_CONSISTENCY: enum = G0W0
Usage: GW_SELF_CONSISTENCY evGW0
Valid values:
G0W0
Use DFT eigenvalues; not update.EVGW0
Update DFT eigenvalues in G, not in W.EVGW
Update DFT eigenvalues in G and W.
Mentions: ⭐Electronic band structure from GW, ⭐GW + Bethe-Salpeter equation
Decide the level of self-consistency of eigenvalues (= quasiparticle energies = single-electron energies) in GW. Updates of Kohn-Sham orbitals (for example qsGW) are not implemented. For details which type of eigenvalue self-consistency might be good, please consult Golze, Dvorak, Rinke, Front. Chem. 2019. [Edit on GitHub]
- SOC: enum = NONE
Usage: SOC
Valid values:
NONE
No SOC.LDA
Use parameters from LDA (PADE) pseudopotential.PBE
Use parameters from PBE pseudopotential.
Calculate the spin-orbit splitting of the eigenvalues/band structure using the spin-orbit part of the GTH pseudos parametrized in Hartwigsen, Goedecker, Hutter, Phys. Rev. B 58, 3641 (1998), Eq. 19, parameters in Table I. [Edit on GitHub]
- SOC_ENERGY_WINDOW: real = 5.00000000E+001 [eV]
Usage: SOC_ENERGY_WINDOW 20.0_eV
For perturbative SOC calculation, only take frontier levels in an energy window [E_HOMO - SOC_ENERGY_WINDOW/2 , E_LUMO + SOC_ENERGY_WINDOW/2 into account for the diagonalization of H^GW,SOC. [Edit on GitHub]
- UPDATE_XC_ENERGY: logical = F
Lone keyword:
T
Usage: UPDATE_XC_ENERGY
If true, the Hartree-Fock and RPA total energy are printed and the total energy is corrected using exact exchange and the RPA correlation energy. [Edit on GitHub]