Parameters for RI method in HFX (experimental, forces not yet implemented). [Edit on GitHub]



Keyword descriptions


Lone keyword: T

Usage: &RI T

controls the activation of RI [Edit on GitHub]


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


Lone keyword: T


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]

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

Filter threshold for DBCSR 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

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]


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


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_RI_EXTENSION_FACTOR: real = 1.00000000E+000


In KP-RI-HFX, each atom has its own local RI basis. The RI basis is defined by a sphere of radius R centered on the atom, whereby all neighboring atoms within that sphere contribute their RI basis elements. The radius of that sphere is calculated based on the systems’ most diffuse orbital PGF (with exponant alpha), such that EPS_PGF_ORB * KP_RI_EXTENSION_FACTOR = exp(-alpha*R^2). The default value of 1.0 is safe. More accurate results can be obtained with a value < 1.0, at greated computational cost. [Edit on GitHub]

KP_STACK_SIZE: integer = 32


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


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


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

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


Valid values:

  • MO with MO coefficients

  • RHO with density matrix

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


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]