RI

Parameters for RI methods in HFX, including RI-HFXk with k-point sampling. All keywords relevant to RI-HFXk have an alias starting with KP_ [Edit on GitHub]

Subsections

Keywords

Keyword descriptions

SECTION_PARAMETERS: logical = F

Lone keyword: T

Usage: &RI T

controls the activation of RI [Edit on GitHub]

2C_MATRIX_FUNCTIONS: enum = CHOLESKY

Valid values:

  • DIAG Diagonalization with eigenvalue quenching: stable

  • CHOLESKY Cholesky: not stable in case of ill-conditioned RI basis

  • ITER Iterative algorithms: linear scaling Hotelling’s method for inverse and Newton-Schulz iteration for matrix square root

Methods for matrix inverse and matrix square root. [Edit on GitHub]

CALC_COND_NUM: logical = F

Aliases: CALC_CONDITION_NUMBER

Lone keyword: T

Usage: CALC_COND_NUM

Calculate the condition number of integral matrices. [Edit on GitHub]

CHECK_2C_MATRIX: logical = F

Lone keyword: T

Report accuracy for the inverse/sqrt of the 2-center integral matrix. [Edit on GitHub]

CUTOFF_RADIUS: real = 0.00000000E+000 [angstrom]

Aliases: KP_CUTOFF_RADIUS

The cutoff radius (in Angstroms) for the truncated Coulomb operator. Default is CUTOFF_RADIUS from INTERACTION_POTENTIAL. [Edit on GitHub]

EPS_EIGVAL: real = 1.00000000E-007

Throw away linear combinations of RI basis functions with a small eigenvalue, this is applied only if 2C_MATRIX_FUNCTIONS DIAG [Edit on GitHub]

EPS_FILTER: real = 1.00000000E-009

Aliases: KP_EPS_FILTER

Filter threshold for DBT tensor contraction. [Edit on GitHub]

EPS_FILTER_2C: real = 1.00000000E-012

Filter threshold for 2c integrals. Default should be kept. [Edit on GitHub]

EPS_FILTER_MO: real = 1.00000000E-012

Filter threshold for contraction of 3-center integrals with MOs. Default should be kept. [Edit on GitHub]

EPS_LANCZOS: real = 1.00000000E-003

Threshold used for lanczos estimates. [Edit on GitHub]

EPS_PGF_ORB: real = 1.00000000E-005

Aliases: KP_EPS_PGF_ORB

Sets precision of the integral tensors. [Edit on GitHub]

EPS_STORAGE_SCALING: real = 1.00000000E-002

Scaling factor to scale EPS_FILTER for storage of 3-center integrals. Storage threshold will be EPS_FILTER*EPS_STORAGE_SCALING. [Edit on GitHub]

FLAVOR_SWITCH_MEMORY_CUT: integer = 3

Memory reduction factor to be applied upon RI_FLAVOR switching from MO to RHO. The RHO flavor typically requires more memory, and depending on the ressources available, a higher MEMORY_CUT. [Edit on GitHub]

KP_NGROUPS: integer = 1

Aliases: NGROUPS

Usage: KP_NGROUPS {int}

The number of MPI subgroup that work in parallel during the SCF. The default value is 1. Using N subgroups should speed up the calculation by a factor ~N, at the cost of N times more memory usage. [Edit on GitHub]

KP_RI_BUMP_FACTOR: real = 8.50000000E-001

Aliases: RI_BUMP ,BUMP ,BUMP_FACTOR

In KP-RI-HFX, the extended RI basis set has a bump radius. All basis elements within that radius contribute with full weight. All basis elements beyond that radius have decaying weight, from 1 at the bump radius, to zero at the RI extension radius. The bump radius is calculated as a fraction of the RI extension radius: bump radius = KP_RI_NUMP_FACTOR * RI extension radius [Edit on GitHub]

KP_STACK_SIZE: integer = 32

Aliases: STACK_SIZE

Usage: KP_STACK_SIZE {int}

When doing contraction over periodic cells of the type: T_mu^a,nu^b,P^c = (mu^a nu^b | Q^d) * (Q^d | P^c), with a,b,c,d labeling cells, there are in principle Ncells contractions taking place. Because a smaller number of contractions involving larger tensors is more efficient, the tensors can be stacked along the d direction. STCK_SIZE controls the size of this stack. Larger stacks are more efficient, but required more memory. [Edit on GitHub]

KP_USE_DELTA_P: logical = T

Aliases: USE_DELTA_P ,KP_USE_P_DIFF ,USE_P_DIFF

Usage: KP_USE_DELTA_P {logical}

This kweyword controls whether the KS matrix at each SCF cycle is built by adding the contribution of the denisty difference (wrt to previous step) to the KS matrix of the previous step. As the SCF converges, the density fluctuations get smaller and sparsity increases, leading to faster SCF steps. Not always numerically stable => turn off if SCF struggles to converge. [Edit on GitHub]

MAX_BLOCK_SIZE_MO: integer = 64

Maximum tensor block size for MOs. [Edit on GitHub]

MAX_ITER_LANCZOS: integer = 500

Usage: MAX_ITER_LANCZOS

Maximum number of lanczos iterations. [Edit on GitHub]

MEMORY_CUT: integer = 3

Memory reduction factor. This keyword controls the batching of tensor contractions into smaller, more manageable chunks. The details vary depending on the RI_FLAVOR. [Edit on GitHub]

MIN_BLOCK_SIZE: integer = 4

Minimum tensor block size. [Edit on GitHub]

OMEGA: real = 0.00000000E+000

Aliases: KP_OMEGA

The range parameter for the short range operator (in 1/a0). Default is OMEGA from INTERACTION_POTENTIAL. [Edit on GitHub]

RI_FLAVOR: enum = RHO

Valid values:

  • MO with MO coefficients

  • RHO with density matrix

Flavor of RI: how to contract 3-center integrals [Edit on GitHub]

RI_METRIC: enum = HFX

Aliases: KP_RI_METRIC

Usage: OPERATOR {string}

Valid values:

  • HFX Same as HFX operator

  • COULOMB Standard Coulomb operator: 1/r

  • IDENTITY Overlap

  • TRUNCATED Truncated Coulomb operator: 1/r if (r<R_c), 0 otherwise

  • SHORTRANGE Short range: erfc(omega*r)/r

The type of RI operator. Default is POTENTIAL_TYPE from INTERACTION_POTENTIAL. The standard Coulomb operator cannot be used in periodic systems. [Edit on GitHub]

SQRT_ORDER: integer = 3

Order of the iteration method for the calculation of the sqrt of 2-center integral matrix. [Edit on GitHub]