MPQC
3.0.0-alpha
|
Int2eLibint2 is an interface to various specializations of two-electron integral evaluators implemented in Libint2. More...
#include <chemistry/qc/libint2/int2e.h>
Public Member Functions | |
Int2eLibint2 (Integral *, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, size_t storage) | |
virtual Ref< Int2eLibint2 > | clone () |
"clones" this engine, all precomputed data is shallow-copied More... | |
void | bounds (const Ref< Log2Bounds > &) |
provides the bounds evaluator for log2_bound | |
const Ref< Log2Bounds > & | bounds () const |
returns the bounds evaluator for log2_bound | |
size_t | storage_used () const |
Reports how much storage is actually used at a given time. | |
int | redundant () const |
Whether redundant integrals are returned. | |
void | set_redundant (int flag) |
Set redundant flag. | |
int | permute () const |
Whether shells can be permuted. | |
void | set_permute (int flag) |
Set shell permutation flag. | |
virtual void | compute_quartet (int *, int *, int *, int *)=0 |
Evaluate the target quartet of integrals. | |
virtual double * | buffer (unsigned int) const =0 |
Returns the location of the buffer with target integrals. | |
virtual int | log2_bound (int s1, int s2, int s3, int s4) |
Computes log2 bound. More... | |
Ref< GaussianBasisSet > | basis () |
Ref< GaussianBasisSet > | basis1 () |
Ref< GaussianBasisSet > | basis2 () |
Ref< GaussianBasisSet > | basis3 () |
Ref< GaussianBasisSet > | basis4 () |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Protected Member Functions | |
void | check_storage_ () const |
void | transform_contrquartets_ (double *, double *) |
void | norm_contrcart1_ (double *data) |
template<unsigned int ntypes> | |
void | norm_contrcart_ (double *data) |
void | sort_contrquartets_to_shellquartet_ (double *, double *) |
void | permute_target_ (double *, double *, int, int, int) |
void | permute_1234_to_1243_ (double *, double *) |
void | permute_1234_to_2134_ (double *, double *) |
void | permute_1234_to_2143_ (double *, double *) |
void | permute_1234_to_3412_ (double *, double *) |
void | permute_1234_to_3421_ (double *, double *) |
void | permute_1234_to_4312_ (double *, double *) |
void | permute_1234_to_4321_ (double *, double *) |
void | get_nonredundant_ints_ (double *, double *, int, int, int) |
Int2eLibint2 (const Int2eLibint2 &other) | |
shallow-copies other | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Static Protected Member Functions | |
static size_t | storage_required_ (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0) |
Protected Attributes | |
Integral * | integral_ |
Ref< GaussianBasisSet > | bs1_ |
Ref< GaussianBasisSet > | bs2_ |
Ref< GaussianBasisSet > | bs3_ |
Ref< GaussianBasisSet > | bs4_ |
Ref< Log2Bounds > | bounds_ |
GaussianShell * | int_shell1_ |
GaussianShell * | int_shell2_ |
GaussianShell * | int_shell3_ |
GaussianShell * | int_shell4_ |
int | permute_ |
int | redundant_ |
size_t | storage_ |
size_t | storage_used_ |
std::vector< double > | tformbuf_ |
Int2eLibint2 is an interface to various specializations of two-electron integral evaluators implemented in Libint2.
It is used by TwoBodyIntLibint2 and TwoBodyDerivIntLibint2 to implement IntegralLibint2.
|
virtual |
"clones" this engine, all precomputed data is shallow-copied
the default implementation throws
|
virtual |
Computes log2 bound.
By default Int2eLibint2 implementations are not required to compute bounds hence usually this will return a large value.