f12_utility.h File Reference
#include <string>
#include <vector>
#include <TiledArray/error.h>
#include <TiledArray/sparse_shape.h>
#include <TiledArray/tiled_range1.h>
#include "mpqc/math/external/eigen/eigen.h"
#include "mpqc/math/external/tiledarray/tiledarray.h"
#include "mpqc/util/misc/assert.h"
Include dependency graph for f12_utility.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  mpqc::lcao::f12::GTGParams
 
struct  mpqc::lcao::f12::F12PairEnergyReductor< Tile >
 tile reductor that computes pair contributions to the F12 energy More...
 

Namespaces

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

Functions

double mpqc::lcao::f12::basis_to_f12exponent (const std::string &basis_name)
 
std::vector< std::pair< double, double > > mpqc::lcao::f12::ttg_ng_fit (std::size_t n, double zeta)
 
std::vector< std::pair< double, double > > mpqc::lcao::f12::gtg_params_squared (const std::vector< std::pair< double, double >> &pragmas)
 
template<bool P1_eq_P2 = false>
TiledArray::SparseShape< float > mpqc::lcao::f12::make_ijij_ijji_shape (const TiledArray::TiledRange &trange)
 computes shape of F12 intermediates in "diagonal" approximation More...
 
template<typename Tile , typename Policy >
void mpqc::lcao::f12::convert_X_ijkl (TiledArray::Array< double, 4, Tile, Policy > &ijkl, const Eigen::MatrixXd &F)
 
template<typename Tile , typename Policy >
TiledArray::Array< double, 4, Tile, Policy > mpqc::lcao::f12::convert_C_ijab (TiledArray::Array< double, 4, Tile, Policy > &ijab, const std::size_t n_occ, const std::size_t n_frozen, const Eigen::VectorXd &ens)
 

Variables

constexpr double mpqc::lcao::f12::C_ijij = (1. / 2 + 1. / 4) / 2
 
constexpr double mpqc::lcao::f12::C_ijji = (1. / 2 - 1. / 4) / 2
 
constexpr double mpqc::lcao::f12::CC_ijij = C_ijij * C_ijij + C_ijji * C_ijji
 
constexpr double mpqc::lcao::f12::CC_ijji = 2 * C_ijij * C_ijji
 
constexpr double mpqc::lcao::f12::C_ijij_bar = 2 * C_ijij - C_ijji
 
constexpr double mpqc::lcao::f12::C_ijji_bar = 2 * C_ijji - C_ijij
 
constexpr double mpqc::lcao::f12::CC_ijij_bar = 2 * CC_ijij - CC_ijji
 
constexpr double mpqc::lcao::f12::CC_ijji_bar = 2 * CC_ijji - CC_ijij