|
MPQC
2.3.1
|
This is an abstract base type for classes that compute integrals involving two electrons in two Gaussian functions. More...
#include <tbint.h>


Public Types | |
| enum | tbint_type { eri =0, r12 =1, r12t1 =2, r12t2 =3 } |
| Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral, r12 stands for integrals of r12 operator, r12t1 and r12t2 are integrals of [r12,T1] and [r12,T2] operators. | |
Public Member Functions | |
| int | nbasis () const |
| Return the number of basis functions on center one. | |
| int | nbasis1 () const |
| Return the number of basis functions on center one. | |
| int | nbasis2 () const |
| Return the number of basis functions on center two. | |
| int | nshell () const |
| Return the number of shells on center one. | |
| int | nshell1 () const |
| Return the number of shells on center one. | |
| int | nshell2 () const |
| Return the number of shells on center two. | |
| Ref< GaussianBasisSet > | basis () |
| Return the basis set on center one. | |
| Ref< GaussianBasisSet > | basis1 () |
| Return the basis set on center one. | |
| Ref< GaussianBasisSet > | basis2 () |
| Return the basis set on center two. | |
| virtual const double * | buffer (tbint_type type=eri) const |
| The computed shell integrals will be put in the buffer returned by this member. More... | |
| virtual void | compute_shell (int, int)=0 |
| Given four shell indices, integrals will be computed and placed in the buffer. More... | |
| virtual int | log2_shell_bound (int=-1, int=-1)=0 |
| Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_shell. More... | |
| int | redundant () const |
| If redundant is true, then keep redundant integrals in the buffer. More... | |
| void | set_redundant (int i) |
| See redundant(). | |
| virtual void | set_integral_storage (size_t storage) |
| This storage is used to cache computed integrals. | |
| Integral * | integral () const |
| Return the integral factory that was used to create this object. | |
Public Member Functions inherited from sc::RefCount | |
| 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... | |
| int | managed () const |
| Return 1 if the object is managed. Otherwise return 0. | |
Public Member Functions inherited from sc::Identity | |
| Identifier | identifier () |
| Return the Identifier for this argument. More... | |
Static Public Attributes | |
| static const int | num_tbint_types = 4 |
| The total number of such types. | |
Protected Member Functions | |
| TwoBodyTwoCenterInt (Integral *integral, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2) | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
Protected Attributes | |
| Integral * | integral_ |
| Ref< GaussianBasisSet > | bs1_ |
| Ref< GaussianBasisSet > | bs2_ |
| double * | buffer_ |
| int | redundant_ |
This is an abstract base type for classes that compute integrals involving two electrons in two Gaussian functions.
|
virtual |
The computed shell integrals will be put in the buffer returned by this member.
Some TwoBodyInt specializations have more than one buffer: The type arguments selects which buffer is returned. If the requested type is not supported, then 0 is returned.
|
pure virtual |
Given four shell indices, integrals will be computed and placed in the buffer.
The first index corresponds to electron 1 and the second index corresponds to electron 2.
Implemented in sc::TwoBodyTwoCenterIntV3.
|
pure virtual |
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_shell.
An index of -1 for any argument indicates any shell.
Implemented in sc::TwoBodyTwoCenterIntV3.
|
inline |
If redundant is true, then keep redundant integrals in the buffer.
The default is true.