Skip to content

Implement support for auxiliary density DFT #133

@susilehtola

Description

@susilehtola

The input data for LDAs and GGAs can be evaluated faster with the help of Coulomb fitting.

First, instead of evaluating the density in the orbital basis

$$ n({\bf r}) = \sum_{\mu \nu} P_{\mu \nu} \chi_\mu({\bf r}) \chi_{\nu}({\bf r}) $$

one can use the auxiliary basis expansion of the density

$$ n({\bf r}) \approx \sum_\alpha c_\alpha \chi_\alpha({\bf r}) $$

for an update that is linearly scaling in the number of auxiliary functions, instead of quadratic scaling in the orbital functions.

Also the Fock matrix contributions can be evaluated with the help of the auxiliary basis.

An implementation within GauXC would be great, since only a linear amount of data needs to be passed in and out: the density expansion coefficients $c_\alpha$ and the resulting Fock matrix expansion coefficients $f_\alpha$, for each spin.

The algorithm is discussed in Chem. Phys. Lett. 281, 151 (1997) and J. Chem. Phys. 121, 3417 (2004), and is extensively used in e.g. the deMon2k program. It has also been recently used for protein-ligand scoring.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions