Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

sc::TwoBodyInt Class Reference

This is an abstract base type for classes that compute integrals involving two electrons. More...

#include <tbint.h>

Inheritance diagram for sc::TwoBodyInt:

Inheritance graph
[legend]
Collaboration diagram for sc::TwoBodyInt:

Collaboration graph
[legend]
List of all members.

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 Methods

virtual ~TwoBodyInt ()
int nbasis () const
 Return the number of basis functions on center one.

int nshell () const
 Return the number of shells on center one.

Ref< GaussianBasisSetbasis ()
 Return the basis set on center one.

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, int, int)=0
 Given for shell indices, this will cause the integral buffer to be filled in.

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

virtual void set_integral_storage (size_t storage)
 This storage is used to cache computed integrals.

Integralintegral () const
 Return the integral factory that was used to create this object.

int nbasis1 () const
int nbasis2 () const
int nbasis3 () const
int nbasis4 () const
int nshell1 () const
int nshell2 () const
int nshell3 () const
int nshell4 () const
Ref< GaussianBasisSetbasis1 ()
Ref< GaussianBasisSetbasis2 ()
Ref< GaussianBasisSetbasis3 ()
Ref< GaussianBasisSetbasis4 ()
int redundant () const
void set_redundant (int i)

Protected Methods

 TwoBodyInt (Integral *integral, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2, const Ref< GaussianBasisSet > &bs3, const Ref< GaussianBasisSet > &bs4)

Protected Attributes

Integralintegral_
Ref< GaussianBasisSetbs1_
Ref< GaussianBasisSetbs2_
Ref< GaussianBasisSetbs3_
Ref< GaussianBasisSetbs4_
double * buffer_
int redundant_

Detailed Description

This is an abstract base type for classes that compute integrals involving two electrons.


Member Function Documentation

virtual const double* sc::TwoBodyInt::buffer tbint_type    type = eri const [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.

Reimplemented in sc::TwoBodyIntCints.

virtual int sc::TwoBodyInt::log2_shell_bound int    = -1,
int    = -1,
int    = -1,
int    = -1
[pure virtual]
 

Return log base 2 of the maximum magnitude of any integral in a shell block.

An index of -1 for any argument indicates any shell.

Implemented in sc::TwoBodyIntCints.

int sc::TwoBodyInt::redundant   const [inline]
 

The default is true.


The documentation for this class was generated from the following file:
Generated at Wed Apr 28 10:15:43 2004 for MPQC 2.2.2 using the documentation package Doxygen 1.2.14.