cadf_coeffs.h File Reference
Include dependency graph for cadf_coeffs.h:
This graph shows which files directly or indirectly include this file:

Namespaces

 mpqc
 The top-level namespace for all Massively Parallel Quantum Chemistry package.
 
 mpqc::lcao
 
 mpqc::lcao::detail
 

Functions

std::shared_ptr< const gaussian::Basis > mpqc::lcao::detail::by_center_basis (gaussian::Basis const &in)
 
TA::TiledRange mpqc::lcao::detail::cadf_trange (gaussian::Basis const &obs_by_atom, gaussian::Basis const &dfbs_by_atom)
 
TA::TiledRange mpqc::lcao::detail::cadf_trange (gaussian::Basis const &bs0_by_atom, gaussian::Basis const &bs1_by_atom, gaussian::Basis const &dfbs_by_atom)
 
TA::SparseShape< float > mpqc::lcao::detail::cadf_shape (madness::World &world, TA::TiledRange const &trange)
 
void mpqc::lcao::detail::print_shape (TA::Tensor< float > const &t, std::string const &file_name)
 
template<typename DistArray >
TA::SparseShape< float > mpqc::lcao::detail::cadf_shape_cluster (DistArray const &C_atom, TA::TiledRange const &trange, std::unordered_map< int64_t, std::vector< int64_t >> &c2a)
 
template<typename Array , typename DirectArray >
Array mpqc::lcao::detail::cadf_by_atom_array (Array const &, DirectArray const &, TA::TiledRange const &)
 
template<typename Array , typename MArray , typename DirectArray >
Array mpqc::lcao::detail::cadf_by_atom_array (MArray &&M, DirectArray const &eri3, TA::TiledRange const &trange, size_t const &natoms_per_uc, Vector3i const &lattice_range0=Vector3i({0, 0, 0}), Vector3i const &lattice_range1=Vector3i({0, 0, 0}), Vector3i const &lattice_range_df=Vector3i({0, 0, 0}), Vector3i const &lattice_center0=Vector3i({0, 0, 0}), Vector3i const &lattice_center1=Vector3i({0, 0, 0}), Vector3i const &lattice_center_df=Vector3i({0, 0, 0}))
 This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion. More...
 
std::shared_ptr< gaussian::SchwarzScreen > mpqc::lcao::detail::cadf_by_atom_screener (madness::World &world, gaussian::Basis const &obs, gaussian::Basis const &dfbs, double threshold)
 Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν) More...
 
std::shared_ptr< gaussian::SchwarzScreen > mpqc::lcao::detail::cadf_by_atom_screener (madness::World &world, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs, double threshold)
 Function to compute the by atom (Schwarz) screener for CADF ERI3 (X | μ ν) when μ and ν are different basis sets. More...
 
template<typename DistArray >
DistArray mpqc::lcao::detail::cadf_by_atom_coeffs (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs)
 
template<typename DistArray , typename MDistArray >
DistArray mpqc::lcao::detail::cadf_by_atom_coeffs (MDistArray &&M, gaussian::Basis const &by_cluster_bs0, gaussian::Basis const &by_cluster_bs1, gaussian::Basis const &by_cluster_dfbs, size_t const &natoms_per_uc, Vector3i const &lattice_range0=Vector3i({0, 0, 0}), Vector3i const &lattice_range1=Vector3i({0, 0, 0}), Vector3i const &lattice_range_df=Vector3i({0, 0, 0}), Vector3i const &lattice_center0=Vector3i({0, 0, 0}), Vector3i const &lattice_center1=Vector3i({0, 0, 0}), Vector3i const &lattice_center_df=Vector3i({0, 0, 0}))
 This computes the CADF coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations in a by-atom fashion. More...
 
template<typename Array >
Array mpqc::lcao::detail::reblock_atom_to_clusters (Array const &C_atom, gaussian::Basis const &obs, gaussian::Basis const &dfbs)
 Function to convert a by-atom array C(X, μ, ν) to a by-cluster array. More...
 
template<typename Array >
Array mpqc::lcao::detail::reblock_atom_to_clusters (Array const &C_atom, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs)
 Function to convert a by-atom array C(X, μ, ν) to a by-cluster array when μ and ν are different basis sets. More...
 
template<typename CTile , typename ERI3Tile , typename MTile >
void mpqc::lcao::detail::create_ii_tile (TA::DistArray< CTile, TA::SparsePolicy > *C, ERI3Tile const direct_eri3_iii, MTile M_tile, unsigned long ord)
 
template<typename CTile , typename ERI3Tile , typename MTile >
void mpqc::lcao::detail::create_ij_tile (TA::DistArray< CTile, TA::SparsePolicy > *C, ERI3Tile direct_eri3_iij, ERI3Tile direct_eri3_jij, MTile M_ii, MTile M_tile_ij, MTile M_jj, unsigned long ord_iij, unsigned long ord_jij)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cadf_fitting_coefficients (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs)
 Function to compute CADF fitting coefficients. More...
 
template<typename Tile , typename Policy , typename MDistArray >
TA::DistArray< Tile, Policy > mpqc::lcao::cadf_fitting_coefficients (MDistArray &&M, const gaussian::Basis &by_cluster_bs0, const gaussian::Basis &by_cluster_bs1, const gaussian::Basis &by_cluster_dfbs, const size_t &natoms_per_uc, const Vector3i &lattice_range0=Vector3i({0, 0, 0}), const Vector3i &lattice_range1=Vector3i({0, 0, 0}), const Vector3i &lattice_range_df=Vector3i({0, 0, 0}), const Vector3i &lattice_center0=Vector3i({0, 0, 0}), const Vector3i &lattice_center1=Vector3i({0, 0, 0}), const Vector3i &lattice_center_df=Vector3i({0, 0, 0}))
 This computes by-cluster CADF fitting coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations. More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::secadf_by_atom_correction (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs, bool aaab=false)
 Function to compute seCADF 4center abab correction. More...
 
template<typename Tile , typename DirectTile , typename MTile >
void mpqc::lcao::detail::create_ii_tile (TA::DistArray< Tile, TA::SparsePolicy > *C, DirectTile eri3_iii, MTile M_ii, unsigned long ord)
 
template<typename Tile , typename DirectTile , typename MTile >
void mpqc::lcao::detail::create_ij_tile (TA::DistArray< Tile, TA::SparsePolicy > *C, DirectTile direct_eri3_iij, DirectTile direct_eri3_jij, MTile M_ii, MTile M_ij, MTile M_jj, unsigned long ord_iij, unsigned long ord_jij)
 
template<typename DistArray >
DistArray mpqc::lcao::detail::reblock_atom_to_clusters (DistArray const &C_atom, gaussian::Basis const &obs, gaussian::Basis const &dfbs)
 
template<typename DistArray >
DistArray mpqc::lcao::detail::reblock_atom_to_clusters (DistArray const &C_atom, gaussian::Basis const &bs0, gaussian::Basis const &bs1, gaussian::Basis const &dfbs)