|
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.