mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory > Class Template Reference
Documentation
template<typename Tile, typename Policy, typename Factory>
class mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >
pbc::CadfKBuilder computes the exchange term in periodic HF using the concentric atomic density fitting (CADF) approximation.
K(μ_0, ρ_Rρ) = (μ_0 ν_Rν | ρ_Rρ σ_(Rρ+Rσ)) D(ν_Rν, σ_(Rρ+Rσ)) The left/right product density in the 2-body 4-center ERI is approximated by CADF, i.e. |μ_0 ν_Rν) = Sum_X C(X, μ_0, ν_Rν) |X) where X is on the center of either μ0 or νR_ν. Dunlap's robust formula is used.
Public Types | |
using | array_type = TA::DistArray< Tile, Policy > |
using | direct_array_type = typename Factory::DirectTArray |
using | Basis = ::mpqc::lcao::gaussian::Basis |
using | shellpair_list_t = std::vector< std::vector< size_t > > |
using | WorldObject_ = madness::WorldObject< CadfKBuilder< Tile, Policy, Factory > > |
using | CadfKBuilder_ = CadfKBuilder< Tile, Policy, Factory > |
Public Member Functions | |
template<typename... IgnoredArgs> | |
CadfKBuilder (Factory &ao_factory, IgnoredArgs &&...) | |
This constructs pbc::CadfKBuilder using a pbc::AOFactory object. More... | |
CadfKBuilder (madness::World &world, Factory &ao_factory, std::shared_ptr< const Basis > obs, std::shared_ptr< const Basis > dfbs, const Vector3i &R_max, const Vector3i &RJ_max, const Vector3i &RD_max, const double density_threshold=Policy::shape_type::threshold(), const double cadf_contr_threshold=std::numeric_limits< double >::epsilon(), const bool print_detail=false, const double force_shape_threshold=0.0) | |
This constructs pbc::CadfKBuilder using specific basis sets, lattice params, and thresholds. More... | |
~CadfKBuilder () | |
template<typename... IgnoredArgs> | |
array_type | operator() (array_type const &D, double target_precision, IgnoredArgs &&...) |
Vector3i | K_lattice_range () const |
Vector3i | fock_lattice_range () const |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::array_type = TA::DistArray<Tile, Policy> |
◆ Basis
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::Basis = ::mpqc::lcao::gaussian::Basis |
◆ CadfKBuilder_
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::CadfKBuilder_ = CadfKBuilder<Tile, Policy, Factory> |
◆ direct_array_type
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::direct_array_type = typename Factory::DirectTArray |
◆ shellpair_list_t
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::shellpair_list_t = std::vector<std::vector<size_t> > |
◆ WorldObject_
template<typename Tile , typename Policy , typename Factory >
using mpqc::lcao::pbc::CadfKBuilder< Tile, Policy, Factory >::WorldObject_ = madness::WorldObject<CadfKBuilder<Tile, Policy, Factory> > |
Constructor & Destructor Documentation
◆ CadfKBuilder() [1/2]
template<typename Tile , typename Policy , typename Factory >
template<typename... IgnoredArgs>
|
inline |
This constructs pbc::CadfKBuilder using a pbc::AOFactory object.
- Parameters
-
world MADNESS world object ao_factory a Factory object force_shape_threshold threshold used to construct the shape of F(Υ, μ, ν) using the shape of Q(Y, ρ, ν).
◆ CadfKBuilder() [2/2]
template<typename Tile , typename Policy , typename Factory >
|
inline |
This constructs pbc::CadfKBuilder using specific basis sets, lattice params, and thresholds.
- Parameters
-
world MADNESS world object ao_factory a Factory object obs orbital basis set dfbs density fitting basis set dcell unit cell parameters R_max range of expansion of Bloch Gaussians in AO Gaussians RJ_max range of Coulomb operation RD_max range of density representation shell_pair_threshold threshold for screening non-negligible shell pairs density_threshold threshold for screening density blocks target_precision controls libint engine precision and the sparsity of C.D, C.M and F.Q products print_detail print more details if true force_shape_threshold threshold used to construct the shape of F(Υ, μ, ν) using the shape of Q(Y, ρ, ν).
◆ ~CadfKBuilder()
template<typename Tile , typename Policy , typename Factory >
|
inline |
Member Function Documentation
◆ fock_lattice_range()
template<typename Tile , typename Policy , typename Factory >
|
inline |
◆ K_lattice_range()
template<typename Tile , typename Policy , typename Factory >
|
inline |
◆ operator()()
template<typename Tile , typename Policy , typename Factory >
template<typename... IgnoredArgs>
|
inline |
The documentation for this class was generated from the following files:
- mpqc/chemistry/qc/lcao/scf/fwd.h
- mpqc/chemistry/qc/lcao/scf/pbc/cadfk_builder.h