sc::TwoBodyInt(3) | MPQC | sc::TwoBodyInt(3) |
sc::TwoBodyInt - This is an abstract base type for classes that compute integrals involving two electrons.
#include <tbint.h>
Inherits sc::RefCount.
Inherited by sc::TwoBodyIntCCA, sc::TwoBodyIntCints, and sc::TwoBodyIntV3.
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.
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 nbasis4 ()
const
Return the number of basis functions on center four. 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. int nshell4 () const
Return the number of shells on center four. 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. Ref< GaussianBasisSet
> basis4 ()
Return the basis set on center four. 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, int)=0
Given four shell indices, integrals will be computed and placed in the buffer.
virtual int log2_shell_bound (int=-1, 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. virtual int redundant () const
If redundant is true, then keep redundant integrals in the buffer. virtual
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.
static const int num_tbint_types = 4
The total number of such types.
TwoBodyInt (Integral *integral, const
Ref< GaussianBasisSet > &bs1, const Ref<
GaussianBasisSet > &bs2, const Ref<
GaussianBasisSet > &bs3, const Ref<
GaussianBasisSet > &bs4)
Integral * integral_
Ref< GaussianBasisSet > bs1_
Ref< GaussianBasisSet > bs2_
Ref< GaussianBasisSet > bs3_
Ref< GaussianBasisSet > bs4_
double * buffer_
int redundant_
This is an abstract base type for classes that compute integrals involving two electrons.
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.
Reimplemented in sc::TwoBodyIntCints.
Referenced by sc::LocalGBuild< T >::run().
Given four shell indices, integrals will be computed and placed in the buffer. The first two indices correspond to electron 1 and the second two indices correspond to electron 2.
Implemented in sc::TwoBodyIntV3, sc::TwoBodyIntCCA, and sc::TwoBodyIntCints.
Referenced by sc::LocalGBuild< T >::run().
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::TwoBodyIntV3, sc::TwoBodyIntCCA, and sc::TwoBodyIntCints.
Referenced by sc::LocalGBuild< T >::run().
If redundant is true, then keep redundant integrals in the buffer. The default is true.
Reimplemented in sc::TwoBodyIntCCA.
Generated automatically by Doxygen for MPQC from the source code.
Sun Oct 4 2020 | Version 2.3.1 |