task_integral_kernels.h File Reference
Include dependency graph for task_integral_kernels.h:
This graph shows which files directly or indirectly include this file:

Classes

class  mpqc::lcao::gaussian::detail::IntegralProfile
 keeps profile of integral evaluation More...
 

Namespaces

 mpqc
 The top-level namespace for all Massively Parallel Quantum Chemistry package.
 
 mpqc::lcao
 
 mpqc::lcao::gaussian
 
 mpqc::lcao::gaussian::detail
 

Typedefs

using mpqc::lcao::gaussian::detail::Engine = libint2::Engine
 

Functions

void mpqc::lcao::gaussian::detail::compute_screening_statistics (bool onoff)
 
bool mpqc::lcao::gaussian::detail::compute_screening_statistics ()
 
void mpqc::lcao::gaussian::detail::set_eng_precision (Engine &eng)
 
template<typename... Shells>
std::enable_if_t<(std::is_same_v< std::decay_t< Shells >, Shell > &&...), void > mpqc::lcao::gaussian::detail::shell_set (Engine &e, Shells &&...shells)
 
template<typename... Shells>
std::enable_if_t<(std::is_same_v< std::decay_t< Shells >, Shell > &&...), void > mpqc::lcao::gaussian::detail::shell_set (Engine &e, const libint2::ShellPair *, Shells &&...shells)
 
const std::vector< Engine::compute2_ptr_type > & mpqc::lcao::gaussian::detail::libint2_compute2_ptrs (const Engine &engine)
 
template<typename... Shells>
std::enable_if_t<(std::is_same_v< std::decay_t< Shells >, Shell > &&...), void > mpqc::lcao::gaussian::detail::shell_set (Engine &e, const libint2::ShellPair *sp0, const libint2::ShellPair *sp1, Shells &&...shells)
 
template<typename Tile >
Tile mpqc::lcao::gaussian::detail::integral_kernel (Engine &eng, typename Tile::range_type &&rng, std::array< ShellVec const *, 2 > shell_ptrs, Screener const &screen, const math::PetiteList &plist, const shellpair_data_accessor_t &bra_shellpair_accessor, const shellpair_data_accessor_t &ket_shellpair_accessor)
 
template<typename Tile >
Tile mpqc::lcao::gaussian::detail::integral_kernel (Engine &eng, typename Tile::range_type &&rng, std::array< ShellVec const *, 3 > shell_ptrs, Screener const &screen, const math::PetiteList &plist, const shellpair_data_accessor_t &bra_shellpair_accessor, const shellpair_data_accessor_t &ket_shellpair_accessor)
 
template<typename Tile >
Tile mpqc::lcao::gaussian::detail::integral_kernel (Engine &eng, typename Tile::range_type &&rng, std::array< ShellVec const *, 4 > shell_ptrs, Screener const &screen, const math::PetiteList &plist, const shellpair_data_accessor_t &bra_shellpair_accessor, const shellpair_data_accessor_t &ket_shellpair_accessor)
 
template<typename Tile , libint2::Operator libint2_oper>
std::array< Tile, libint2::operator_traits< libint2_oper >::nopers > mpqc::lcao::gaussian::detail::integral_kernel (Engine &eng, typename Tile::range_type &&rng, std::array< ShellVec const *, 2 > shell_ptrs, Screener const &screen, const math::PetiteList &plist, const shellpair_data_accessor_t &bra_shellpair_accessor, const shellpair_data_accessor_t &ket_shellpair_accessor)
 This computes an std::array of integrals for operators that have nopers components, e.g. multipole moments, geometrical derivatives, etc. Note that only one tile is computed for each component, and all nopers tiles share the same index and range. More...