LOW_SCALING

References: Wilhelm2016b, Wilhelm2018, Bussy2023

Cubic scaling RI-RPA, GW and Laplace-SOS-MP2 method using the imaginary time formalism. EPS_GRID in WFC_GPW section controls accuracy / req. memory for 3-center integrals. SORT_BASIS EXP should be specified in DFT section. [Edit on GitHub]

Subsections

Keywords

Keyword descriptions

SECTION_PARAMETERS

Type: logical
Default: F
Lone keyword: T
Usage: &LOW_SCALING .TRUE.

Description: Activates cubic-scaling RPA, GW and Laplace-SOS-MP2 calculations.

[Edit on GitHub]

DO_EXTRAPOLATE_KPOINTS

Type: logical
Default: T
Lone keyword: T
Usage: DO_EXTRAPOLATE_KPOINTS FALSE

Description: If true, use a larger k-mesh to extrapolate the k-point integration of W. For example, in 2D, when using KPOINTS 4 4 1, an additional 6x6x1 mesh will be used to extrapolate the k-point integration of W with N_k^-0.5, where Nk is the number of k-points.

[Edit on GitHub]

DO_KPOINTS

Type: logical
Default: F
Lone keyword: T
Usage: DO_KPOINTS

Description: Besides in DFT, this keyword has to be switched on if one wants to do kpoints in. cubic RPA.

[Edit on GitHub]

EPS_EIGVAL_S

Type: real
Default: 0.00000000E+000
Usage: EPS_EIGVAL_S 1.0E-3

Description: Parameter to reduce the expansion coefficients in RI for periodic GW. Removes all eigenvectors and eigenvalues of S_PQ(k) that are smaller than EPS_EIGVAL_S.

[Edit on GitHub]

EPS_EIGVAL_S_GAMMA

Type: real
Default: 0.00000000E+000
Usage: EPS_EIGVAL_S_GAMMA 1.0E-3

Description: Parameter to reduce the expansion coefficients in RI for periodic GW. Removes all eigenvectors and eigenvalues of M_PQ(k=0) that are smaller than EPS_EIGVAL_S.

[Edit on GitHub]

EPS_FILTER

Type: real
Default: 1.00000000E-009
Usage: EPS_FILTER 1.0E-10

Description: Determines a threshold for the DBCSR based multiply. Normally, this EPS_FILTER determines accuracy and timing of low-scaling RPA and GW calculations.

[Edit on GitHub]

EPS_FILTER_FACTOR

Type: real
Default: 1.00000000E+001

Description: Multiply EPS_FILTER with this factor to determine filter epsilon for DBCSR based multiply P(it)=(Mocc(it))^T*Mvirt(it) Default should be kept.

[Edit on GitHub]

EPS_STORAGE_SCALING

Type: real
Default: 1.00000000E-003
Aliases: EPS_STORAGE

Description: Scaling factor to scale EPS_FILTER. Storage threshold for compression will be EPS_FILTER*EPS_STORAGE_SCALING.

[Edit on GitHub]

EXPONENT_TAILORED_WEIGHTS

Type: real
Default: -2.00000000E+000
Usage: EXPONENT_TAILORED_WEIGHTS -2

Description: Gives the exponent of exactly integrated function in case ‘KPOINT_WEIGHTS_W TAILORED’ is chosen.

[Edit on GitHub]

KEEP_QUADRATURE

Type: logical
Default: T
Aliases: KEEP_WEIGHTS, KEEP_QUAD, KEEP_WEIGHT
Lone keyword: T
Usage: KEEP_QUADRATURE

Description: Keep the Laplace quadrature defined at the first energy evaluations throughout the run. Allows to have consistent force evaluations.

[Edit on GitHub]

KPOINTS

Type: integer[3]
Default: 0 0 0
Usage: KPOINTS N_x N_y N_z

Description: Keyword activates periodic, low-scaling GW calculations (&LOW_SCALING section also needed). For periodic calculations, kpoints are used for the density response, the Coulomb interaction and the screened Coulomb interaction. For 2d periodic systems, e.g. xz periodicity, please also specify KPOINTS, e.g. N_x 1 N_z.

[Edit on GitHub]

KPOINT_WEIGHTS_W

Type: enum
Default: UNIFORM
Usage: KPOINT_WEIGHTS_W AUTO

Description: For kpoints in low-scaling GW, a Monkhorst-Pack mesh is used. The screened Coulomb interaction W(k) needs special care near the Gamma point (e.g. in 3d, W(k) diverges at the Gamma point with W(k) ~ k^alpha). KPOINT_WEIGHTS_W decides how the weights of the Monkhorst-Pack mesh are chosen to compute W(R) = int_BZ W(k) exp(ikR) dk (BZ=Brllouin zone).

Valid values:

  • TAILORED Choose k-point integration weights such that the function f(k)=k^alpha is exactly integrated. alpha is specified using EXPONENT_TAILORED_WEIGHTS.

  • AUTO As ‘TAILORED’, but alpha is chosen automatically according to dimensionality (3D: alpha = -2 for 3D, 2D: alpha = -1 for exchange self-energy, uniform weights for correlation self-energy).

  • UNIFORM Choose the same weight for every k-point (original Monkhorst-Pack method).

[Edit on GitHub]

K_MESH_G_FACTOR

Type: integer
Default: 1

Description: The k-mesh for the Green’s function can be chosen to be larger than the k-mesh for W (without much higher computational cost). The factor given here multiplies the mesh for W to obtain the k-mesh for G. Example: factor 4, k-mesh for W: 4x4x1 -> k-mesh for G: 16x16x1 (z-dir. is non-periodic).

[Edit on GitHub]

MAKE_CHI_POS_DEFINITE

Type: logical
Default: T
Lone keyword: T
Usage: MAKE_CHI_POS_DEFINITE

Description: If true, makes eigenvalue decomposition of chi(iw,k) and removes negative eigenvalues. May increase computational cost significantly. Only recommended to try in case Cholesky decomposition of epsilon(iw,k) fails.

[Edit on GitHub]

MAKE_OVERLAP_MAT_AO_POS_DEFINITE

Type: logical
Default: F
Lone keyword: T
Usage: MAKE_OVERLAP_MAT_AO_POS_DEFINITE

Description: If true, makes eigenvalue decomposition of S_mu,nu(k) and removes negative eigenvalues. Slightly increases computational cost. Only recommended to try in case Cholesky decomposition of S_mu,nu(k) fails (error message: Cholesky decompose failed: matrix is not positive definite or ill-conditioned; when calling create_kp_and_calc_kp_orbitals).

[Edit on GitHub]

MEMORY_CUT

Type: integer
Default: 5
Usage: MEMORY_CUT 16

Description: Reduces memory for sparse tensor contractions by this factor. A high value leads to some loss of performance. This memory reduction factor applies to storage of the tensors ‘M occ’ / ‘M virt’ but does not reduce storage of ‘3c ints’.

[Edit on GitHub]

MEMORY_INFO

Type: logical
Default: F
Lone keyword: T
Usage: MEMORY_INFO

Description: Decide whether to print memory info on the sparse matrices.

[Edit on GitHub]

MIN_BLOCK_SIZE

Type: integer
Default: 5

Description: Minimum tensor block size. Adjusting this value may have minor effect on performance but default should be good enough.

[Edit on GitHub]

MIN_BLOCK_SIZE_MO

Type: integer
Default: 64

Description: Tensor block size for MOs. Only relevant for GW calculations. The memory consumption of GW scales as O(MIN_BLOCK_SIZE_MO). It is recommended to set this parameter to a smaller number if GW runs out of memory. Otherwise the default should not be changed.

[Edit on GitHub]

REGULARIZATION_RI

Type: real
Default: 0.00000000E+000
Usage: REGULARIZATION_RI 1.0E-4

Description: Parameter to reduce the expansion coefficients in RI for periodic GW. Larger parameter means smaller expansion coefficients that leads to a more stable calculation at the price of a slightly worse RI approximation. In case the parameter 0.0 is chosen, ordinary RI is used.

[Edit on GitHub]

REL_CUTOFF_TRUNC_COULOMB_RI_X

Type: real
Default: 5.00000000E-001
Usage: REL_CUTOFF_TRUNC_COULOMB_RI_X 0.3

Description: Only active in case TRUNC_COULOMB_RI_X = True. Normally, relative cutoff = 0.5 is good choice; still needs to be evaluated for RI schemes.

[Edit on GitHub]

TRUNC_COULOMB_RI_X

Type: logical
Default: T
Lone keyword: T
Usage: TRUNC_COULOMB_RI_X

Description: If true, use the truncated Coulomb operator for the exchange-self-energy in periodic GW.

[Edit on GitHub]