mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory > Class Template Reference

Documentation

template<typename Tile, typename Policy, typename Factory>
class mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >

ReferenceFockBuilder is a reference implementation in zRHF that uses 4-center (stored or direct) integrals.

Warning
This is a very inefficient builder when used with direct integrals: the sparsity of density matrix is not considered and sum over unit cells for coulomb interaction is not parallelized. It is only useful for reference computation

Public Types

using array_type = typename FockBuilder< Tile, Policy >::array_type
 
using result_type = typename FockBuilder< Tile, Policy >::result_type
 

Public Member Functions

 ReferenceFockBuilder (Factory &ao_factory, bool compute_J=true, bool compute_K=true)
 
 ~ReferenceFockBuilder ()
 
result_type operator() (array_type const &D, double, bool) override
 
void register_fock (const array_type &fock, FormulaRegistry< array_type > &registry) const override
 
Vector3i fock_lattice_range () const override
 

Member Typedef Documentation

◆ array_type

template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::array_type = typename FockBuilder<Tile, Policy>::array_type

◆ result_type

template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::result_type = typename FockBuilder<Tile, Policy>::result_type

Constructor & Destructor Documentation

◆ ReferenceFockBuilder()

template<typename Tile , typename Policy , typename Factory >
mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::ReferenceFockBuilder ( Factory ao_factory,
bool  compute_J = true,
bool  compute_K = true 
)
inline

◆ ~ReferenceFockBuilder()

template<typename Tile , typename Policy , typename Factory >
mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::~ReferenceFockBuilder ( )
inline

Member Function Documentation

◆ fock_lattice_range()

template<typename Tile , typename Policy , typename Factory >
Vector3i mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::fock_lattice_range ( ) const
inlineoverride

◆ operator()()

template<typename Tile , typename Policy , typename Factory >
result_type mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::operator() ( array_type const &  D,
double  ,
bool   
)
inlineoverride

◆ register_fock()

template<typename Tile , typename Policy , typename Factory >
void mpqc::lcao::pbc::ReferenceFockBuilder< Tile, Policy, Factory >::register_fock ( const array_type fock,
FormulaRegistry< array_type > &  registry 
) const
inlineoverride

The documentation for this class was generated from the following files: