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]
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: stableCHOLESKY
Cholesky: not stable in case of ill-conditioned RI basisITER
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
Mentions: ⭐HFX-RI for Γ-Point (non-periodic), ⭐HFX-RI with k-Points
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
Mentions: ⭐HFX-RI with k-Points
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}
Mentions: ⭐HFX-RI with k-Points
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}
Mentions: ⭐HFX-RI with k-Points
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
Mentions: ⭐HFX-RI for Γ-Point (non-periodic)
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 coefficientsRHO
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 operatorCOULOMB
Standard Coulomb operator: 1/rIDENTITY
OverlapTRUNCATED
Truncated Coulomb operator: 1/r if (r<R_c), 0 otherwiseSHORTRANGE
Short range: erfc(omega*r)/r
Mentions: ⭐HFX-RI for Γ-Point (non-periodic), ⭐HFX-RI with k-Points
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]