28 #ifndef _chemistry_qc_basis_tbint_h
29 #define _chemistry_qc_basis_tbint_h
35 #include <util/ref/ref.h>
36 #include <util/group/message.h>
37 #include <chemistry/qc/basis/gaussbas.h>
38 #include <chemistry/qc/basis/dercent.h>
363 virtual void init(
const double *,
369 virtual void start();
372 int ready()
const {
return icur < iend; }
374 int i()
const {
return i_; }
375 int j()
const {
return j_; }
376 int k()
const {
return k_; }
377 int l()
const {
return l_; }
379 int nint()
const {
return iend*jend*kend*lend; }
381 double val()
const {
return buf[index]*scale_; }
402 virtual void start();
405 int ready()
const {
return (icur < iend); }
407 int ishell()
const {
return icur; }
408 int jshell()
const {
return jcur; }
409 int kshell()
const {
return kcur; }
410 int lshell()
const {
return lcur; }
412 virtual double scale()
const;
481 const double *
buffer()
const;
548 const double *
buffer()
const;
607 const double *
buffer()
const;
int nshell1() const
Return the number of shells 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.
int nshell1() const
Return the number of shells on center one.
int nbasis2() const
Return the number of basis functions on center two.
Ref< GaussianBasisSet > basis()
Return the basis set on center one.
int redundant() const
If redundant is true, then keep redundant integrals in the buffer.
Definition: tbint.h:226
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.
int nshell2() const
Return the number of shells on center two.
This is an abstract base type for classes that compute integrals involving two electrons.
Definition: tbint.h:49
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_she...
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
This is an abstract base type for classes that compute integrals involving two electrons in two Gauss...
Definition: tbint.h:244
int nshell3() const
Return the number of shells on center three.
Integral * integral() const
Return the integral factory that was used to create this object.
Definition: tbint.h:234
int nshell() const
Return the number of shells on center one.
static const int num_tbint_types
The total number of such types.
Definition: tbint.h:206
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.
int nshell() const
Return the number of shells on center one.
int nshell4() const
Return the number of shells on center four.
Ref< GaussianBasisSet > basis2()
Return the basis set 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.
virtual void compute_shell(int, int, int)=0
Given three shell indices, integrals will be computed and placed in the buffer.
int nshell4() const
Return the number of shells on center four.
Ref< GaussianBasisSet > basis3()
Return the basis set on center three.
virtual void set_integral_storage(size_t storage)
This storage is used to cache computed integrals.
virtual const double * buffer(tbint_type type=eri) const
The computed shell integrals will be put in the buffer returned by this member.
int nshell() const
Return the number of shells on center one.
Ref< GaussianBasisSet > basis4()
Return the basis set on center four.
Ref< GaussianBasisSet > basis2()
Return the basis set on center two.
int nshell3() const
Return the number of shells on center three.
tbint_type
Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral,...
Definition: tbint.h:204
Ref< GaussianBasisSet > basis2()
Return the basis set on center two.
int nbasis2() const
Return the number of basis functions on center two.
int nbasis1() const
Return the number of basis functions on center one.
static const int num_tbint_types
The total number of such types.
Definition: tbint.h:113
int nbasis() const
Return the number of basis functions on center one.
Integral * integral() const
Return the integral factory that was used to create this object.
Definition: tbint.h:141
virtual void compute_shell(int, int, int, int, DerivCenters &)=0
Given for shell indices, this will cause the integral buffer to be filled in.
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
int nbasis2() const
Return the number of basis functions on center two.
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
tbint_type
Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral,...
Definition: tbint.h:290
int nshell1() const
Return the number of shells on center one.
int nbasis3() const
Return the number of basis functions on center three.
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_she...
virtual void compute_shell(int, int, int, int)=0
Given four shell indices, integrals will be computed and placed in the buffer.
Ref< GaussianBasisSet > basis()
Return the basis set on center one.
Ref< GaussianBasisSet > basis()
Return the basis set on center one.
This is an abstract base type for classes that compute two centers integrals involving two electrons.
Definition: tbint.h:564
int nbasis1() const
Return the number of basis functions on center one.
virtual void compute_shell(int, int, int, DerivCenters &)=0
Given for shell indices, this will cause the integral buffer to be filled in.
int nbasis2() const
Return the number of basis functions on center two.
Ref< GaussianBasisSet > basis3()
Return the basis set on center three.
const double * buffer() const
The computed shell integrals will be put in the buffer returned by this member.
int nshell2() const
Return the number of shells on center two.
virtual void set_integral_storage(size_t storage)
This storage is used to cache computed integrals.
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
virtual void set_integral_storage(size_t storage)
This storage is used to cache computed integrals.
virtual int redundant() const
If redundant is true, then keep redundant integrals in the buffer.
Definition: tbint.h:133
Ref< GaussianBasisSet > basis()
Return the basis set on center one.
int nbasis1() const
Return the number of basis functions on center one.
int nbasis() const
Return the number of basis functions on center one.
Ref< GaussianBasisSet > basis2()
Return the basis set on center two.
This is an abstract base type for classes that compute integrals involving two electrons.
Definition: tbint.h:422
virtual void set_redundant(int i)
See redundant().
Definition: tbint.h:135
const double * buffer() const
The computed shell integrals will be put in the buffer returned by this member.
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition: integral.h:58
Ref< GaussianBasisSet > basis2()
Return the basis set on center two.
int nbasis1() const
Return the number of basis functions on center one.
const double * buffer() const
The computed shell integrals will be put in the buffer returned by this member.
Ref< GaussianBasisSet > basis2()
Return the basis set on center two.
int nshell2() const
Return the number of shells on center two.
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.
int nbasis() const
Return the number of basis functions on center one.
int nshell1() const
Return the number of shells on center one.
Ref< GaussianBasisSet > basis3()
Return the basis set on center three.
void set_redundant(int i)
See redundant().
Definition: tbint.h:314
This is an abstract base type for classes that compute integrals involving two electrons in three Gau...
Definition: tbint.h:150
int nshell2() const
Return the number of shells on center two.
Ref< GaussianBasisSet > basis()
Return the basis set on center one.
int nshell2() const
Return the number of shells on center two.
Ref< GaussianBasisSet > basis3()
Return the basis set on center three.
int nbasis() const
Return the number of basis functions on center one.
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_she...
int nbasis3() const
Return the number of basis functions on center three.
Integral * integral() const
Return the integral factory that was used to create this object.
Definition: tbint.h:320
virtual void compute_shell(int, int)=0
Given four shell indices, integrals will be computed and placed in the buffer.
int redundant() const
If redundant is true, then keep redundant integrals in the buffer.
Definition: tbint.h:312
int nshell() const
Return the number of shells on center one.
int nshell() const
Return the number of shells on center one.
Ref< GaussianBasisSet > basis4()
Return the basis set on center four.
virtual void compute_shell(int, int, DerivCenters &)=0
Given for shell indices, this will cause the integral buffer to be filled in.
static const int num_tbint_types
The total number of such types.
Definition: tbint.h:292
int nbasis3() const
Return the number of basis functions on center three.
void set_redundant(int i)
See redundant().
Definition: tbint.h:228
int nbasis1() const
Return the number of basis functions on center one.
The base class for all reference counted objects.
Definition: ref.h:194
int nbasis4() const
Return the number of basis functions on center four.
int nshell2() const
Return the number of shells on center two.
int nshell3() const
Return the number of shells on center three.
int nshell1() const
Return the number of shells on center one.
int nshell3() const
Return the number of shells on center three.
tbint_type
Types of two-body integrals that TwoBodyInt understands: eri stands for electron repulsion integral,...
Definition: tbint.h:111
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
Ref< GaussianBasisSet > basis()
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.
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition: dercent.h:41
int nshell() const
Return the number of shells on center one.
This is an abstract base type for classes that compute three centers integrals involving two electron...
Definition: tbint.h:497
Ref< GaussianBasisSet > basis1()
Return the basis set on center one.
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 nbasis2() const
Return the number of basis functions on center two.
int nbasis() const
Return the number of basis functions on center one.
int nshell1() const
Return the number of shells on center one.
Generated at Sun Jan 26 2020 23:33:05 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.