GW

Parameters influencing the RI-G0W0 method [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 by RI-G0W0. 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. [Edit on GitHub]

CORR_MOS_VIRT: integer = 10

Aliases: CORR_VIRT

Usage: CORR_VIRT 3

Number of virtual MOs whose energies are corrected by RI-G0W0. 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. [Edit on GitHub]

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. [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]

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 successful

  • FALSE 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. [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]