libuw12 API
libuw12
- page index
Functionality relating to the UW12 correlation method
The UW12 correlation energy is defined as:
\[E_c^{UW12} = \frac{1}{2} \sum_{ij ab} \left\langle i j \left\vert w^{s_{ij}}_{12} \right\vert \overline{ab} \right\rangle \left\langle a b \left\vert r_{12}^{-1}\right\vert i j \right\rangle \]Where \(\vert \overline{ab} \rangle = \vert ab \rangle - \vert ba \rangle\), \(ij\) are occupied orbitals, \(ab\) are unoccupied (virtual) orbitals, \( r_{12} = \vert \vec{r}_1 - \vec{r}_2 \vert \), with two-electron geminal operator \( w^s_{12} \) for total spin \(s_{ij} = \delta_{\sigma_i \sigma_j}\).By removing the sum over the virtual orbitals, the energy can be rewritten as
\[E_c^{UW12} = E_{c, 2el}^{UW12} + E_{c, 3el}^{UW12} + E_{c, 4el}^{UW12}, \]for two, three and four electron terms defined by:\[\begin{align*}E_{c, 2el}^{UW12} &= \frac{1}{2} \sum_{ij} \left\langle \overline{ij} \left\vert w^{s_{ij}}_{12} r_{12}^{-1}\right\vert i j \right\rangle \newline E_{c, 3el}^{UW12} &= - \sum_{ijk} \left\langle \overline{ij} k \left\vert w^{s_{ij}}_{12} r_{23}^{-1}\right\vert k j i \right\rangle \newline E_{c, 4 el}^{UW12} &= \frac{1}{2} \sum_{ij kl} \left\langle i j \left\vert w^{s_{ij}}_{12}\right\vert \overline{kl} \right\rangle \left\langle kl \left\vert r_{12}^{-1} \right\vert ij \right\rangle \end{align*}\]In the frozen core approximation, indices i,j run only over the correlated (active) orbitals; whilst k,l indices summed over all occupied orbitals including the frozen core orbitals.
Fock contributions
Since UW12 is self-consistent, the Fock matrix elements \(F_{\alpha \beta}^{\sigma}\) may also be calculated, where
\[F_{\alpha \beta}^{\sigma} = \frac{1}{2} \left[ \frac{\partial E}{\partial D_{\alpha \beta}^{\sigma}} + \frac{\partial E}{\partial D_{\beta \alpha}^{\sigma}} \right], \]for real symmetric density matrix \(D_{\alpha \beta}^{\sigma}\). The contributions for which are given by:\[\begin{align*}\frac{\partial E_{c, 2 el}^{UW 12}}{\partial D_{\alpha \beta}^{\sigma}} &= \sum_{j} \left\langle \overline{\alpha j} \left\vert w^{\delta_{\sigma_j \sigma}}_{12} r_{12}^{-1}\right\vert \beta j \right\rangle \newline \frac{\partial E_{c, 3 el}^{UW12}}{\partial D_{\alpha \beta}^{\sigma}} &= - \sum_{jk} \left\langle \overline{\alpha j} k \left\vert w_{12} r_{23}^{-1} \right\vert k j \beta \right\rangle - \sum_{i k} \left\langle \overline{i \alpha} k \left\vert w_{12} r_{23}^{-1}\right\vert k \beta i \right\rangle - \sum_{i j} \left\langle \overline{i j} \alpha \left\vert w_{12} r_{23}^{-1}\right\vert \beta j i \right\rangle \newline \frac{\partial E_{c, 4el}^{UW12}}{\partial D_{\alpha \beta}^{\sigma}} &= \sum_{jkl} \left\langle \alpha j \left\vert w^{\delta_{\sigma_j \sigma}}_{12} \right\vert \overline{k l} \right\rangle \left\langle k l \left\vert r_{12}^{-1}\right\vert \beta j \right\rangle + \sum_{ijk} \left\langle i j \left\vert w^{\delta_{\sigma_j \sigma}}_{12} \right\vert \overline{\alpha k} \right\rangle \left\langle k \beta \left\vert r_{12}^{-1} \right\vert i j \right\rangle \end{align*}\]In the full core version, the two terms in the four electron term are the same. This is a result of the symmetry between orbitals i,j and k,l. Similarly for the direct portion of the first and third terms in the three electron Fock contribution. However, for frozen core the terms are no longer the same and must be calculated separately.
Geminal Function
The geminal function \(w_{12}\) is given as a function of the inter-electron distance \(r_{12}\). The function is implemented as a sum of Gaussian terms
\[w^s (r) = \sum_i c_i^s \exp \left[ - \gamma_i r^2 \right] \]specified by coefficients \(c_i^s\) and exponents \(\gamma_i\). The structure of the theory allows two sets of coefficients for opposite ( \(s = 0\)) and same ( \(s = 1\)) spin contributions. Though the standard implementation has \(w^{s=1} (r) = \kappa w^{s=0} (r)\) for same spin scale factor \(\kappa_1\).
Page Hierarchy
Class Hierarchy
-
- Namespace uw12
- Namespace uw12::integrals
- Class BaseIntegrals
- Class Integrals
- Namespace uw12::three_el
- Namespace uw12::three_el::ri
- Struct ABSProjectors
- Namespace uw12::three_el::ri
- Namespace uw12::utils
- Struct FockMatrixAndEnergy
- Struct ABSProjectors
- Class BaseIntegrals
- Namespace uw12::integrals
- Namespace uw12
File Hierarchy
-
- Directory src
- Directory four_electron
- File four_electron.hpp
- File four_electron_utils.hpp
- Directory integrals
- File base_integrals.hpp
- File integral_functions.hpp
- File integrals.hpp
- File transformations.hpp
- Directory three_electron
- File direct_utils.hpp
- File indirect_utils.hpp
- File ri_utils.hpp
- File three_electron.hpp
- Directory two_electron
- File two_electron.hpp
- Directory utils
- File linalg.hpp
- File parallel.hpp
- File print.hpp
- File utils.hpp
- File uw12.hpp
- Directory four_electron
- File libuw12.hpp
- File README.md
- Directory src