# CANONICAL_GRADIENTS

References: DelBen2015b, Rybkin2016, Stein2022, Stein2024

Parameters influencing gradient calculations of canonical RI methods. Ignored if the IM_TIME section is set. [Edit on GitHub]

Subsections

- CPHF

## Keywords

- DOT_PRODUCT_BLKSIZE

- EPS_CANONICAL

- FREE_HFX_BUFFER

- MAX_PARALLEL_COMM

## Keyword descriptions

DOT_PRODUCT_BLKSIZE: integer = -1

  Mentions: ⭐Random-Phase Approximation and Laplace-Transformed Scaled-Opposite-Spin-MP2

  Dot products for the calculation of the RPA/SOS-MP2 density matrices are calculated in batches of the size given by this keyword. Larger block sizes improve the performance but reduce the numerical accuracy. Recommended block sizes are multiples of the number of doubles per cache line (usually 8). Ignored with MP2 gradients. Set it to -1 to prevent blocking. [Edit on GitHub]

EPS_CANONICAL: real = 1.00000000E-007

  Usage: EPS_CANONICAL 1.0E-8

  Mentions: ⭐Møller–Plesset Perturbation Theory, ⭐Random-Phase Approximation and Laplace-Transformed Scaled-Opposite-Spin-MP2

  Threshold under which a given ij or ab pair is considered to be degenerate and its contribution to the density matrix is calculated directly. Ignored in case of energy-only calculation. [Edit on GitHub]

FREE_HFX_BUFFER: logical = F

  Lone keyword: `T`

  Usage: FREE_HFX_BUFFER

  Free the buffer containing the 4 center integrals used in the Hartree-Fock exchange calculation. Ignored for energy-only calculations. May fail. [Edit on GitHub]

MAX_PARALLEL_COMM: integer = 2

  Mentions: ⭐Random-Phase Approximation and Laplace-Transformed Scaled-Opposite-Spin-MP2

  Sets the maximum number of parallel communication steps of the non-blocking communication scheme. The number of channels is determined from the available memory. If set to a value smaller than one, CP2K will use all memory for communication. A value of one enforces the blocking communication scheme increasing the communication costs. [Edit on GitHub]