LIBINT  2.6.0
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
libint2::ShellPair Struct Reference

ShellPair pre-computes shell-pair data, primitive pairs are screened to finite precision. More...

#include <shell.h>

Classes

struct  PrimPairData
 

Public Types

typedef Shell::real_t real_t
 

Public Member Functions

 ShellPair (size_t max_nprim)
 
template<typename Real >
 ShellPair (const Shell &s1, const Shell &s2, Real ln_prec)
 
void resize (std::size_t max_nprim)
 
template<typename Real >
void init (const Shell &s1, const Shell &s2, Real ln_prec)
 initializes "expensive" primitive pair data; a pair of primitives with exponents $ \{\alpha_a,\alpha_b\} $ located at $ \{ \vec{A},\vec{B} \} $ whose max coefficients in contractions are $ \{ \max{|c_a|} , \max{|c_b|} \} $ is screened-out (omitted) if $ \exp(-|\vec{A}-\vec{B}|^2 \alpha_a * \alpha_b / (\alpha_a + \alpha_b)) \max{|c_a|} \max{|c_b|} \leq \epsilon $ where $ \epsilon $ is the desired precision of the integrals. More...
 

Public Attributes

std::vector< PrimPairDataprimpairs
 
real_t AB [3]
 

Detailed Description

ShellPair pre-computes shell-pair data, primitive pairs are screened to finite precision.

Member Function Documentation

◆ init()

template<typename Real >
void libint2::ShellPair::init ( const Shell s1,
const Shell s2,
Real  ln_prec 
)
inline

initializes "expensive" primitive pair data; a pair of primitives with exponents $ \{\alpha_a,\alpha_b\} $ located at $ \{ \vec{A},\vec{B} \} $ whose max coefficients in contractions are $ \{ \max{|c_a|} , \max{|c_b|} \} $ is screened-out (omitted) if $ \exp(-|\vec{A}-\vec{B}|^2 \alpha_a * \alpha_b / (\alpha_a + \alpha_b)) \max{|c_a|} \max{|c_b|} \leq \epsilon $ where $ \epsilon $ is the desired precision of the integrals.

References libint2::Shell::alpha, libint2::Shell::max_ln_coeff, libint2::Shell::O, and libint2::ShellPair::PrimPairData::P.


The documentation for this struct was generated from the following file: