mpqc::lcao::gaussian::DirectIntegralBuilder< Tile, ComputeTile, Engine > Class Template Reference
Collaboration diagram for mpqc::lcao::gaussian::DirectIntegralBuilder< Tile, ComputeTile, Engine >:
Documentation
template<typename Tile, typename ComputeTile = Tile, typename Engine = libint2::Engine>
class mpqc::lcao::gaussian::DirectIntegralBuilder< Tile, ComputeTile, Engine >
Extends IntegralBuilder for on-the-fly evaluation of integrals. This is not a WorldObject, but is registered with a World so that its tasks can find it.
Public Types | |
using | Op = typename IntegralBuilder< Tile, ComputeTile, Engine >::Op |
using | range_type = typename Tile::range_type |
Public Types inherited from mpqc::lcao::gaussian::IntegralBuilder< Tile, Tile, libint2::Engine > | |
using | Op = std::function< Tile(Tile &&)> |
using | range_type = typename ComputeTile::range_type |
Public Member Functions | |
DirectIntegralBuilder (madness::World &world, ShrPool< Engine > shr_epool, const BasisShrVector &bases, std::shared_ptr< Screener > screen, Op op, std::function< shellpair_data_accessor_t(const Basis *, const Basis *)> make_shellpair_data_accessor={}, std::shared_ptr< const math::PetiteList > plist=math::PetiteList::make_trivial()) | |
Constructor which copies all shared_ptr members. More... | |
DirectIntegralBuilder (const DirectIntegralBuilder &builder)=delete | |
DirectIntegralBuilder & | operator= (const DirectIntegralBuilder &builder)=delete |
madness::uniqueidT | id () const |
~DirectIntegralBuilder () | |
Public Member Functions inherited from mpqc::lcao::gaussian::IntegralBuilder< Tile, Tile, libint2::Engine > | |
IntegralBuilder (ShrPool< libint2::Engine > shr_epool, const BasisShrVector &bases, std::shared_ptr< Screener > screen, Op op, std::function< shellpair_data_accessor_t(const Basis *, const Basis *)> make_shellpair_data_accessor={}, std::shared_ptr< const math::PetiteList > plist=math::PetiteList::make_trivial()) | |
Constructor which copies all shared_ptr members. More... | |
virtual | ~IntegralBuilder () |
const auto & | bases () const |
Tile | operator() (Idx &&idx, range_type range={}) |
Compute a tile corresponding to the given cluster shellset. More... | |
Tile | integrals (Idx &&idx, range_type range={}) |
Compute a tile corresponding to the given cluster shellset. More... | |
std::array< Tile, libint2::operator_traits< libint2_oper >::nopers > | integrals (Idx &&idx, range_type range={}) |
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... | |
Tile | op (Tile &&tensor) |
Public Member Functions inherited from mpqc::enable_shared_from_this< DirectIntegralBuilder< Tile, Tile, libint2::Engine > > | |
virtual | ~enable_shared_from_this ()=default |
std::shared_ptr< DirectIntegralBuilder< Tile, Tile, libint2::Engine > > | shared_from_this () |
returns the pointer to this object More... | |
std::shared_ptr< std::add_const_t< DirectIntegralBuilder< Tile, Tile, libint2::Engine > > > | shared_from_this () const |
returns the pointer to this object More... | |
Public Member Functions inherited from mpqc::detail::virt_base_of_enable_shared_from_this | |
virtual | ~virt_base_of_enable_shared_from_this ()=default |
bool | shared_from_this_possible () const |
template<typename Target , typename = std::enable_if_t<!std::is_const_v<Target>>> | |
std::shared_ptr< Target > | cast_shared_from_this_to () |
returns the pointer to this cast to a particular type More... | |
template<typename Target > | |
std::shared_ptr< std::add_const_t< Target > > | cast_shared_from_this_to () const |
returns the pointer to this cast to a particular type More... | |
Member Typedef Documentation
◆ Op
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
using mpqc::lcao::gaussian::DirectIntegralBuilder< Tile, ComputeTile, Engine >::Op = typename IntegralBuilder<Tile, ComputeTile, Engine>::Op |
◆ range_type
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
using mpqc::lcao::gaussian::DirectIntegralBuilder< Tile, ComputeTile, Engine >::range_type = typename Tile::range_type |
Constructor & Destructor Documentation
◆ DirectIntegralBuilder() [1/2]
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
|
inline |
Constructor which copies all shared_ptr members.
- Parameters
-
world the world object in this and the result array will belong to shr_epool a shared pointer to an IntegralTSPool bases a vector of shared_ptr's to Basis screen a shared pointer to a Screener type op a thread-safe function or functor that takes a rvalue to Tile and returns a Tile object. make_shellpair_data_accessor a functor that makes shellpair data accessors; such accessors are to accept basis function indices, rather than shell indices plist the PetiteList object describing the symmetry properties of the set of AO integrals
◆ DirectIntegralBuilder() [2/2]
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
|
delete |
◆ ~DirectIntegralBuilder()
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
|
inline |
Member Function Documentation
◆ id()
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
|
inline |
◆ operator=()
template<typename Tile , typename ComputeTile = Tile, typename Engine = libint2::Engine>
|
delete |
The documentation for this class was generated from the following file:
- mpqc/chemistry/qc/lcao/integrals/integral_builder.h