•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Search Results
mpqc::lcao::DirectFockBuilder< Tile, Policy > Class Template Reference
Collaboration diagram for mpqc::lcao::DirectFockBuilder< Tile, Policy >:

Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::DirectFockBuilder< Tile, Policy >
DirectFockBuilder is an integral-direct implementation of FockBuilder in a Gaussian AO basis that uses 4-center integrals and optimally takes advantage of the permutational symmetry and shell-level screening.
Public Types | |
using base_type = JKFockBuilder< Tile, Policy > | |
using array_type = typename base_type::array_type | |
using arrayvec_type = typename base_type::arrayvec_type | |
using result_type = typename base_type::result_type | |
using const_data_ptr = typename Tile::const_pointer | |
using WorldObject_ = madness::WorldObject< DirectFockBuilder< Tile, Policy > > | |
using DirectFockBuilder_ = DirectFockBuilder< Tile, Policy > | |
using Basis = ::mpqc::lcao::gaussian::Basis | |
using Shell = ::mpqc::lcao::gaussian::Shell | |
using ShellVec = ::mpqc::lcao::gaussian::ShellVec | |
using shellpair_list_t = std::unordered_map< size_t, std::vector< size_t > > | |
using func_offset_list = std::unordered_map< size_t, std::tuple< size_t, size_t > > | |
![]() | |
using array_type = TA::DistArray< Tile, Policy > | |
using arrayvec_type = TA::DistArrayVector< Tile, Policy > | |
using result_type = std::tuple< arrayvec_type, std::optional< double > > | |
![]() | |
using array_type = TA::DistArray< Tile, Policy > | |
using arrayvec_type = TA::DistArrayVector< Tile, Policy > | |
using result_type = std::tuple< arrayvec_type, std::optional< double > > | |
![]() | |
typedef std::shared_ptr< DescribedClass >(* keyval_ctor_wrapper_type) (const KeyVal &) | |
Public Member Functions | |
DirectFockBuilder (madness::World &world, std::shared_ptr< const Basis > bra_basis, std::shared_ptr< const Basis > ket_basis, std::shared_ptr< const Basis > density_basis, bool compute_J, bool compute_K, std::string screen="dist", double screen_threshold=1.0e-10) | |
virtual ~DirectFockBuilder () | |
result_type compute (arrayvec_type const &D, arrayvec_type const &LMO, double scale_J_by=1, double scale_K_by=1, double target_precision=std::numeric_limits< double >::epsilon()) override | |
computes the J+K part of the Fock matrix with variable fraction of J and K More... | |
arrayvec_type compute_JK_aaaa (array_type const &D, double scale_J_by, double scale_K_by, double target_precision) | |
void register_fock (const arrayvec_type &fock, FormulaRegistry< array_type > ®istry) const override | |
![]() | |
virtual ~JKFockBuilder ()=default | |
result_type operator() (arrayvec_type const &D, arrayvec_type const &C, double target_precision=std::numeric_limits< double >::epsilon()) override final | |
computes the J+K contribution of the Fock matrix More... | |
![]() | |
virtual ~FockBuilder () | |
virtual void log_iter (std::ostream &os=ExEnv::out0()) const | |
![]() | |
DescribedClass ()=default | |
virtual ~DescribedClass () | |
std::string class_key () const | |
![]() | |
virtual ~enable_shared_from_this ()=default | |
std::shared_ptr< DescribedClass > shared_from_this () | |
returns the pointer to this object More... | |
std::shared_ptr< std::add_const_t< DescribedClass > > shared_from_this () const | |
returns the pointer to this object More... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
static keyval_ctor_wrapper_type type_to_keyval_ctor (const std::string &type_name) | |
template<typename T > | |
static void register_keyval_ctor () | |
template<typename T > | |
static bool is_registered () | |
template<typename T > | |
static std::string class_key () | |
static const keyval_ctor_registry_type & keyval_ctor_registry () | |
returns const ref to the keyval ctor registry More... | |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::array_type = typename base_type::array_type |
◆ arrayvec_type
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::arrayvec_type = typename base_type::arrayvec_type |
◆ base_type
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::base_type = JKFockBuilder<Tile, Policy> |
◆ Basis
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::Basis = ::mpqc::lcao::gaussian::Basis |
◆ const_data_ptr
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::const_data_ptr = typename Tile::const_pointer |
◆ DirectFockBuilder_
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::DirectFockBuilder_ = DirectFockBuilder<Tile, Policy> |
◆ func_offset_list
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::func_offset_list = std::unordered_map<size_t, std::tuple<size_t, size_t> > |
◆ result_type
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::result_type = typename base_type::result_type |
◆ Shell
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::Shell = ::mpqc::lcao::gaussian::Shell |
◆ shellpair_list_t
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::shellpair_list_t = std::unordered_map<size_t, std::vector<size_t> > |
◆ ShellVec
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::ShellVec = ::mpqc::lcao::gaussian::ShellVec |
◆ WorldObject_
template<typename Tile , typename Policy >
using mpqc::lcao::DirectFockBuilder< Tile, Policy >::WorldObject_ = madness::WorldObject<DirectFockBuilder<Tile, Policy> > |
Constructor & Destructor Documentation
◆ DirectFockBuilder()
template<typename Tile , typename Policy >
|
inline |
◆ ~DirectFockBuilder()
template<typename Tile , typename Policy >
|
inlinevirtual |
Member Function Documentation
◆ compute()
template<typename Tile , typename Policy >
|
inlineoverridevirtual |
computes the J+K part of the Fock matrix with variable fraction of J and K
- Parameters
-
D the (1-particle) density matrix C the occupied orbital AO coefficient matrix scale_J_by the coefficient of J in the result scale_K_by the coefficient of K in the result target_precision the (absolute) target precision of the Fock matrix; this precision is not in general guaranteed, but the actual precision of the Fock matrix is usually proportional to this value.
- Returns
- the J+K contribution to the Fock matrix an optional energy correction
Implements mpqc::lcao::JKFockBuilder< Tile, Policy >.
◆ compute_JK_aaaa()
template<typename Tile , typename Policy >
|
inline |
◆ register_fock()
template<typename Tile , typename Policy >
|
inlineoverridevirtual |
Implements mpqc::lcao::FockBuilder< Tile, Policy >.
The documentation for this class was generated from the following file:
- mpqc/chemistry/qc/lcao/scf/traditional_four_center_fock_builder.h