sc_TwoBodyThreeCenterIntV3 - Man Page

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

Synopsis

#include <tbintv3.h>

Inherits sc::TwoBodyThreeCenterInt.

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.
void compute_shell (int, int, int)
Given three shell indices, integrals will be computed and placed in the buffer.
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.
virtual void compute_shell (int, int, int)=0
Given three shell indices, integrals will be computed and placed in the buffer.
virtual int log2_shell_bound (int=-1, int=-1, int=-1)=0
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_shell.
int redundant () const
If redundant is true, then keep redundant integrals in the buffer.
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.
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.

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)

Protected Member Functions inherited from sc::RefCount
RefCount (const RefCount &)
RefCount & operator= (const RefCount &)

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.

void sc::TwoBodyThreeCenterIntV3::set_integral_storage (size_t storage) [virtual]

This storage is used to cache computed integrals.

Reimplemented from sc::TwoBodyThreeCenterInt.

Author

Generated automatically by Doxygen for MPQC from the source code.

Info

Thu Jan 19 2023 Version 2.3.1 MPQC