mpqc::lcao::pbc::FockBuilder< Tile, Policy > Class Template Referenceabstract
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::pbc::FockBuilder< Tile, Policy >
FockBuilder computes the (2-e part of) the Fock matrix under PBC using the (1-particle) density matrix
Public Types | |
using | array_type = TA::DistArray< Tile, Policy > |
using | result_type = std::tuple< array_type, std::optional< double > > |
Public Member Functions | |
virtual | ~FockBuilder () |
virtual result_type | operator() (array_type const &D, double target_precision=std::numeric_limits< double >::epsilon(), bool is_density_diagonal=false)=0 |
This computes the 2-e part of the closed-shell Fock matrix in periodic HF. More... | |
virtual void | register_fock (const array_type &, FormulaRegistry< array_type > &) const =0 |
virtual Vector3i | fock_lattice_range () const =0 |
This returns the lattice range of Fock representation F(μ_0, ν_R) More... | |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::FockBuilder< Tile, Policy >::array_type = TA::DistArray<Tile, Policy> |
◆ result_type
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::FockBuilder< Tile, Policy >::result_type = std::tuple<array_type, std::optional<double> > |
Constructor & Destructor Documentation
◆ ~FockBuilder()
template<typename Tile , typename Policy >
|
inlinevirtual |
Member Function Documentation
◆ fock_lattice_range()
template<typename Tile , typename Policy >
|
pure virtual |
This returns the lattice range of Fock representation F(μ_0, ν_R)
- Returns
- a vector of number of unit cells included in each positive direction
Implemented in mpqc::lcao::pbc::FockBuilderImpl< Tile, Policy, J_Builder, K_Builder, MA_Builder >.
◆ operator()()
template<typename Tile , typename Policy >
|
pure virtual |
This computes the 2-e part of the closed-shell Fock matrix in periodic HF.
- Parameters
-
D the (1-particle) density matrix D(μ_0, ν_Rd); this should be single-occupancy, i.e. integrate to half the number of electrons 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. is_density_diagonal true if D only has a D(μ_0, ν_0) block
- Returns
- Fock matrix + an optional energy correction
Implemented in mpqc::lcao::pbc::FockBuilderImpl< Tile, Policy, J_Builder, K_Builder, MA_Builder >.
◆ register_fock()
template<typename Tile , typename Policy >
|
pure virtual |
The documentation for this class was generated from the following file:
- mpqc/chemistry/qc/lcao/scf/fock_builder.h