cadf_coeffs.h File Reference
#include <fstream>
#include <utility>
#include <boost/numeric/conversion/cast.hpp>
#include "mpqc/chemistry/molecule/lattice/util.h"
#include "mpqc/chemistry/qc/lcao/basis/basis.h"
#include "mpqc/chemistry/qc/lcao/integrals/direct_task_integrals.h"
#include "mpqc/chemistry/qc/lcao/integrals/integrals.h"
#include "mpqc/chemistry/qc/lcao/integrals/screening/schwarz.h"
#include "mpqc/chemistry/qc/lcao/integrals/task_integrals.h"
#include "mpqc/math/external/eigen/eigen.h"
#include "mpqc/math/linalg/sqrt_inv.h"
#include "mpqc/util/meta/make_array.h"
#include "mpqc/util/meta/make_vector.h"
#include "mpqc/math/external/tiledarray/tiledarray.h"
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) |