28#ifndef _chemistry_qc_libint2_tbint_h
29#define _chemistry_qc_libint2_tbint_h
31#include <chemistry/qc/basis/tbint.h>
32#include <chemistry/qc/libint2/int2e.h>
33#include <chemistry/qc/libint2/tbosar.h>
48 typedef IntParamsG12::ContractedGeminal ContractedGeminal;
64 size_t used_storage()
const {
return int2elibint2_->storage_used(); }
67 return int2elibint2_->buffer( descr_->opertype(te_type) );
92 typedef IntParamsG12::ContractedGeminal ContractedGeminal;
107 size_t used_storage()
const {
return int2elibint2_->storage_used(); }
110 return int2elibint2_->buffer( descr_->opertype(te_type) );
135 typedef IntParamsG12::ContractedGeminal ContractedGeminal;
152 size_t used_storage()
const {
return int2elibint2_->storage_used(); }
155 return int2elibint2_->buffer( descr_->opertype(te_type) );
184 size_t used_storage()
const {
return int2elibint2_->storage_used(); }
189 template <
class Int2e>
198 return new Int2e(integral,b1,b2,b3,b4,storage,params);
DerivCenters keeps track the centers that derivatives are taken with respect to.
Definition dercent.h:42
The Integral abstract class acts as a factory to provide objects that compute one and two electron in...
Definition integral.h:111
A template class that maintains references counts.
Definition ref.h:361
This implements electron repulsion derivative integrals in the IntV3 library.
Definition tbintlibint2.h:168
void compute_shell(int, int, int, int, DerivCenters &)
Given for shell indices, this will cause the derivative integral shell set to be computed.
int log2_shell_bound(int, int, int, int)
Return log base 2 of the maximum magnitude of any integral in a shell block.
This is an abstract base type for classes that compute geometric derivatives of the integrals involvi...
Definition tbint.h:554
Integral * integral() const
Return the integral factory that was used to create this object.
Definition tbint.h:654
This implements 4-center two-electron integrals in the IntLibint2 library.
Definition tbintlibint2.h:38
void compute_shell(int, int, int, int)
Given four shell indices, integrals will be computed and placed in the buffer.
TwoBodyOperSet::type type() const
Returns the type of the operator set that this object computes.
Definition tbintlibint2.h:58
const Ref< TwoBodyOperSetDescr > & descr() const
return the operator set descriptor
Definition tbintlibint2.h:59
int log2_shell_bound(int, int, int, int)
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_she...
bool cloneable() const
Return true if the clone member can be called.
Ref< TwoBodyInt > clone()
Returns a clone of this.
const double * buffer(TwoBodyOper::type te_type) const
The computed shell integrals will be put in the buffer returned by this member.
Definition tbintlibint2.h:66
This is an abstract base type for classes that compute integrals involving two electrons and 2 functi...
Definition tbint.h:61
Integral * integral() const
Return the integral factory that was used to create this object.
Definition tbint.h:182
This implements 3-center 2-body integrals in the IntLibint2 library.
Definition tbintlibint2.h:82
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_she...
bool cloneable() const
Return true if the clone member can be called.
TwoBodyOperSet::type type() const
Returns the type of the operator set that this object computes.
Definition tbintlibint2.h:101
void compute_shell(int, int, int)
Given three shell indices, integrals will be computed and placed in the buffer.
const Ref< TwoBodyOperSetDescr > & descr() const
return the operator set descriptor
Definition tbintlibint2.h:102
Ref< TwoBodyThreeCenterInt > clone()
Returns a clone of this.
const double * buffer(TwoBodyOper::type te_type) const
The computed shell integrals will be put in the buffer returned by this member.
Definition tbintlibint2.h:109
This is an abstract base type for classes that compute integrals involving two electrons in three Gau...
Definition tbint.h:191
Integral * integral() const
Return the integral factory that was used to create this object.
Definition tbint.h:295
This implements 2-center 2-body integrals in the IntLibint2 library.
Definition tbintlibint2.h:125
void compute_shell(int, int)
Given four shell indices, integrals will be computed and placed in the buffer.
Ref< TwoBodyTwoCenterInt > clone()
Returns a clone of this.
const double * buffer(TwoBodyOper::type te_type) const
The computed shell integrals will be put in the buffer returned by this member.
Definition tbintlibint2.h:154
bool cloneable() const
Return true if the clone member can be called.
int log2_shell_bound(int, int)
Return log base 2 of the maximum magnitude of any integral in a shell block obtained from compute_she...
TwoBodyOperSet::type type() const
Returns the type of the operator set that this object computes.
Definition tbintlibint2.h:143
const Ref< TwoBodyOperSetDescr > & descr() const
return the operator set descriptor
Definition tbintlibint2.h:144
This is an abstract base type for classes that compute integrals involving two electrons in two Gauss...
Definition tbint.h:305
Integral * integral() const
Return the integral factory that was used to create this object.
Definition tbint.h:401
SpinCase1 other(SpinCase1 S)
given 1-spin return the other 1-spin
Contains all MPQC code up to version 3.
Definition mpqcin.h:14
type
Definition operator.h:344
type
types of known two-body operators
Definition operator.h:318
Definition tbintlibint2.h:190