mpqc::libintx::DFJEngine Class Reference

Documentation

Uses LibintX to compute Coulomb potential in Gaussian basis via DF.

Public Types

using TileIndex = std::pair< size_t, size_t >
 
using TileIn = std::function< void(TileIndex, TileIndex, double *)>
 
using TileOut = std::function< void(TileIndex, TileIndex, const double *)>
 

Public Member Functions

 DFJEngine (const mpqc::lcao::gaussian::Basis &basis, const mpqc::lcao::gaussian::Basis &df_basis, double screening_threshold)
 
 ~DFJEngine () noexcept
 
template<typename T , typename P >
auto compute (DistArrayVector< T, P > const &Ds, DistArray< T, P > const &V_linv)
 

Member Typedef Documentation

◆ TileIn

using mpqc::libintx::DFJEngine::TileIn = std::function<void(TileIndex, TileIndex, double *)>

◆ TileIndex

using mpqc::libintx::DFJEngine::TileIndex = std::pair<size_t, size_t>

◆ TileOut

using mpqc::libintx::DFJEngine::TileOut = std::function<void(TileIndex, TileIndex, const double *)>

Constructor & Destructor Documentation

◆ DFJEngine()

mpqc::libintx::DFJEngine::DFJEngine ( const mpqc::lcao::gaussian::Basis basis,
const mpqc::lcao::gaussian::Basis df_basis,
double  screening_threshold 
)

basic constructor

Parameters
[in]basisthe orbital basis set
[in]df_basisthe density-fitting basis set
[in]screening_thresholdshell-set contributions to the Coulomb matrix and the intermediates are screened out if their l2 norm are smaller than this value

◆ ~DFJEngine()

mpqc::libintx::DFJEngine::~DFJEngine ( )
defaultnoexcept

Member Function Documentation

◆ compute()

template<typename T , typename P >
auto mpqc::libintx::DFJEngine::compute ( DistArrayVector< T, P > const &  Ds,
DistArray< T, P > const &  V_linv 
)
inline

Evaluates the Coulomb matrix

Parameters
[in]Dsdensit{y,ies}
[in]V_linvinverse-of-Cholesky-factor
Note
computes
J("mu, nu") = eri3("mu, nu, X") * (V_linv("X, Z") * (V_linv("X, Y") *
(eri3("rho, sigma, Y") * Ds("rho, sigma"))))
using integral-direct approach, i.e. each eri3 is evaluated "twice"

The documentation for this class was generated from the following files:
  • mpqc/chemistry/qc/lcao/external/libintx/dfj.h
  • mpqc/chemistry/qc/lcao/external/libintx/dfj.cpp