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.