Density-fitting tools

ElemCo.DFToolsModule

This module contains various utils for density fitting.

Exported functions

ElemCo.DFTools.generate_AO_DF_integralsFunction
generate_AO_DF_integrals(EC::ECInfo, fitbasis="mpfit"; save3idx=true)

Generate AO integrals using DF + Cholesky. If save3idx is true, save Cholesky-decomposed 3-index integrals, otherwise save pseudo-square-root-inverse Cholesky decomposition.

Return nuclear repulsion energy.

ElemCo.DFTools.generate_DF_integralsMethod
generate_DF_integrals(EC::ECInfo, cMO::MOs)

Generate $v_p^{qL}$ and $f_p^q$ with $v_{pr}^{qs} = v_p^{qL} δ_{LL'} v_r^{sL'}$. The $v_p^{qL}$ are generated using mpfit fitting basis, and the $f_p^q$ are generated using jkfit fitting basis. The integrals are stored in files mmL and f_mm.

Return reference energy (calculated using jkfit fitting basis).

ElemCo.DFTools.get_auxblksFunction
get_auxblks(naux::Int, maxblocksize::Int=128, strict=false)

Generate ranges for block indices for auxiliary basis (for loop over blocks).

If strict is true, the blocks will be of size maxblocksize (except for the last block). Otherwise the actual block size will be as close as possible to blocksize such that the resulting blocks are of similar size.

Internal functions

ElemCo.DFTools.generate_3idx_integralsFunction
generate_3idx_integrals(EC::ECInfo, cMO::MOs, fitbasis="mpfit")

Generate $v_p^{qL}$ with $v_{pr}^{qs} = v_p^{qL} δ_{LL'} v_r^{sL'}$ and store in file mmL.