Density-fitting tools
ElemCo.DFTools
— ModuleThis module contains various utils for density fitting.
Exported functions
ElemCo.DFTools.generate_AO_DF_integrals
— Functiongenerate_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_integrals
— Methodgenerate_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_auxblks
— Functionget_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_integrals
— Functiongenerate_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
.