sc::TwoBodyThreeCenterIntV3 Class Reference

This implements electron repulsion integrals involving three centers in the IntV3 library. More...

`#include <tbintv3.h>`

Inheritance diagram for sc::TwoBodyThreeCenterIntV3:
[legend]
Collaboration diagram for sc::TwoBodyThreeCenterIntV3:
[legend]

## Public Member Functions

| TwoBodyThreeCenterIntV3 (Integral *integral, const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2, const Ref< GaussianBasisSet > &b3, size_t storage)
int | log2_shell_bound (int, int, int)
| Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_shell. More...
void | compute_shell (int, int, int)
| Given three shell indices, integrals will be computed and placed in the buffer. More...
size_t | storage_used ()
void | set_integral_storage (size_t storage)
| This storage is used to cache computed integrals.
Public Member Functions inherited from sc::TwoBodyThreeCenterInt
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 | nbasis3 () const
| Return the number of basis functions on center three.
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.
int | nshell3 () const
| Return the number of shells on center three.
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.
Ref< GaussianBasisSet > | basis3 ()
| Return the basis set on center three.
virtual const double * | buffer (tbint_type type=eri) const
| The computed shell integrals will be put in the buffer returned by this member. More...
int | redundant () const
| If redundant is true, then keep redundant integrals in the buffer. More...
void | set_redundant (int i)
| See redundant().
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...

## Protected Attributes

Ref< Int2eV3 > | int2ev3_
Protected Attributes inherited from sc::TwoBodyThreeCenterInt
Integral * | integral_
Ref< GaussianBasisSet > | bs1_
Ref< GaussianBasisSet > | bs2_
Ref< GaussianBasisSet > | bs3_
double * | buffer_
int | redundant_

## Additional Inherited Members

Public Types inherited from sc::TwoBodyThreeCenterInt
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.
Static Public Attributes inherited from sc::TwoBodyThreeCenterInt
static const int | num_tbint_types = 4
| The total number of such types.
Protected Member Functions inherited from sc::TwoBodyThreeCenterInt
| TwoBodyThreeCenterInt (Integral *integral, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2, const Ref< GaussianBasisSet > &bs3)

## Detailed Description

This implements electron repulsion integrals involving three centers in the IntV3 library.

## Member Function Documentation

void sc::TwoBodyThreeCenterIntV3::compute_shell | ( | int | ,
|  | int | ,
|  | int |
| ) |  |

virtual

Given three shell indices, integrals will be computed and placed in the buffer.

The first two indices correspond to electron 1 and the second index corresponds to electron 2.

Implements sc::TwoBodyThreeCenterInt.

int sc::TwoBodyThreeCenterIntV3::log2_shell_bound | ( | int | ,
|  | int | ,
|  | int |
| ) |  |

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.

Implements sc::TwoBodyThreeCenterInt.

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

- tbintv3.h