# 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

- PRINT

## Keywords

- SECTION_PARAMETERS

- 2C_MATRIX_FUNCTIONS

- CALC_COND_NUM

- CHECK_2C_MATRIX

- CUTOFF_RADIUS

- EPS_EIGVAL

- EPS_FILTER

- EPS_FILTER_2C

- EPS_FILTER_MO

- EPS_LANCZOS

- EPS_PGF_ORB

- EPS_STORAGE_SCALING

- FLAVOR_SWITCH_MEMORY_CUT

- KP_NGROUPS

- KP_RI_BUMP_FACTOR

- KP_STACK_SIZE

- KP_USE_DELTA_P

- MAX_BLOCK_SIZE_MO

- MAX_ITER_LANCZOS

- MEMORY_CUT

- MIN_BLOCK_SIZE

- OMEGA

- RI_FLAVOR

- RI_METRIC

- SCALE_COULOMB

- SCALE_LONGRANGE

- SQRT_ORDER

## 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 = 16

  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: RI_METRIC {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]

SCALE_COULOMB: real = 1.00000000E+000

  Usage: SCALE_COULOMB 1.0

  Scales Hartree-Fock contribution arising from a coulomb potential. Only valid when doing a mixed potential calculation. Default is SCALE_COULOMB from INTERACTION_POTENTIAL [Edit on GitHub]

SCALE_LONGRANGE: real = 1.00000000E+000

  Usage: SCALE_LONGRANGE 1.0

  Scales Hartree-Fock contribution arising from a longrange potential. Only valid when doing a mixed potential calculation. Default if SCALE_LONGRANGE from INTERACTION_POTENTIAL [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]