|
occ
|
Split-RI-J: Coulomb matrix via Hermite Gaussian basis (Neese 2003) More...
#include <split_ri_j.h>
Public Member Functions | |
| SplitRIJ (const gto::AOBasis &ao_basis, const gto::AOBasis &aux_basis, const ShellPairList &shellpairs, const Mat &schwarz=Mat()) | |
| Construct Split-RI-J engine. | |
| ~SplitRIJ () | |
| SplitRIJ (const SplitRIJ &)=delete | |
| SplitRIJ & | operator= (const SplitRIJ &)=delete |
| SplitRIJ (SplitRIJ &&) noexcept | |
| SplitRIJ & | operator= (SplitRIJ &&) noexcept |
| Mat | coulomb (const MolecularOrbitals &mo) const |
| Compute Coulomb matrix from molecular orbitals. | |
| Mat | coulomb_from_density (const Mat &D) const |
| Compute Coulomb matrix from density matrix directly. | |
| const gto::AOBasis & | aux_basis () const |
| Get the auxiliary basis. | |
| const gto::AOBasis & | ao_basis () const |
| Get the AO basis. | |
| size_t | naux () const |
| Get number of auxiliary basis functions. | |
| size_t | nbf () const |
| Get number of AO basis functions. | |
Split-RI-J: Coulomb matrix via Hermite Gaussian basis (Neese 2003)
This implementation uses the McMurchie-Davidson (MMD) scheme to work in Hermite Gaussian basis, computing Coulomb matrices without explicitly forming the 3-center integrals (μν|P).
Algorithm (Scheme 4 from Neese 2003): Forward pass:
Reference: Neese, F. (2003). An improvement of the resolution of the identity approximation for the formation of the Coulomb matrix. J. Comput. Chem. 24, 1740-1747.
| occ::qm::SplitRIJ::SplitRIJ | ( | const gto::AOBasis & | ao_basis, |
| const gto::AOBasis & | aux_basis, | ||
| const ShellPairList & | shellpairs, | ||
| const Mat & | schwarz = Mat() |
||
| ) |
Construct Split-RI-J engine.
| ao_basis | Atomic orbital basis |
| aux_basis | Auxiliary (density fitting) basis |
| shellpairs | Significant shell pair list from IntegralEngine |
| schwarz | Optional Schwarz screening matrix (shell-pair indexed) |
| occ::qm::SplitRIJ::~SplitRIJ | ( | ) |
|
delete |
|
noexcept |
| const gto::AOBasis & occ::qm::SplitRIJ::ao_basis | ( | ) | const |
Get the AO basis.
| const gto::AOBasis & occ::qm::SplitRIJ::aux_basis | ( | ) | const |
Get the auxiliary basis.
| Mat occ::qm::SplitRIJ::coulomb | ( | const MolecularOrbitals & | mo | ) | const |
Compute Coulomb matrix from molecular orbitals.
| mo | Molecular orbitals containing density matrix |
Compute Coulomb matrix from density matrix directly.
| D | Density matrix (nbf × nbf) |
| size_t occ::qm::SplitRIJ::naux | ( | ) | const |
Get number of auxiliary basis functions.
| size_t occ::qm::SplitRIJ::nbf | ( | ) | const |
Get number of AO basis functions.