21 #ifndef _libint2_src_bin_libint_cr11divg12primextx11_h_ 22 #define _libint2_src_bin_libint_cr11divg12primextx11_h_ 24 #include <generic_rr.h> 25 #include <integral_11_11.h> 26 #include <gaussoper.h> 28 #define USE_R12kR12lG12 1 36 template <
class BFSet>
39 GenIntegralSet_11_11<BFSet,DivG12prime_xTx,mType> >
47 static const unsigned int max_nchildren = 36;
49 using ParentType::Instance;
55 using ParentType::RecurrenceRelation::expr_;
56 using ParentType::RecurrenceRelation::nflops_;
57 using ParentType::target_;
58 using ParentType::is_simple;
62 static std::string descr() {
return "CR"; }
64 template<
class RR,
class C>
friend class ChildFactory;
68 CR_11_DivG12prime_xTx_11<F>::CR_11_DivG12prime_xTx_11(
const SafePtr<TargetType>& Tint,
72 using namespace libint2::algebra;
73 using namespace libint2::prefactor;
77 const int i = target_->oper()->descr().I();
87 target_->oper()->descr().contracted())
93 typedef GenIntegralSet_11_11<BasisFunctionType,R12kR12lG12,EmptySet> ChildType;
94 ChildFactory<ThisType,ChildType> factory(
this);
95 for(
int bxyz=0; bxyz<3; ++bxyz) {
96 for(
int kxyz=0; kxyz<3; ++kxyz) {
97 R12k_R12l_G12_Descr descr(unit_intvec3(bxyz),unit_intvec3(kxyz));
104 typedef GenIntegralSet_11_11<BasisFunctionType,R12kR12lG12,EmptySet> ChildType;
105 ChildFactory<ThisType,ChildType> factory(
this);
106 for(
int bxyz=0; bxyz<3; ++bxyz) {
107 for(
int kxyz=0; kxyz<3; ++kxyz) {
108 R12k_R12l_G12_Descr descr(unit_intvec3(bxyz),unit_intvec3(kxyz));
117 typedef GenIntegralSet_11_11<BasisFunctionType,R12kG12,mType> ChildType;
118 ChildFactory<ThisType,ChildType> factory(
this);
124 typedef GenIntegralSet_11_11<BasisFunctionType,R12kG12,mType> ChildType;
125 ChildFactory<ThisType,ChildType> factory(
this);
129 if (
is_simple()) expr_ *= Scalar(-4.0) * Scalar(
"gamma_bra") * Scalar(
"gamma_ket");
LinearCombination< SafePtr< DGVertex >, BraketPair< F, BKType > > R12vec_dot_Nabla1(const BraketPair< F, BKType > &bkt)
Applies R12vec_dot_Nabla1 to a physicists' braket.
Definition: gaussoper.h:36
static bool directional()
This relation is not directional.
Definition: comp_11_DivG12prime_xTx_11.h:52
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
BraketPair< F, PKet > _pket(const F &f1, const F &f2)
Physicists ket.
Definition: braket.h:276
bool is_simple() const
Implementation of RecurrenceRelation::is_simple()
Definition: generic_rr.h:81
LinearCombination< SafePtr< DGVertex >, BraketPair< F, BKType > > Nabla1(const BraketPair< F, BKType > &bkt, int xyz)
Applies Nabla1 to a physicists' braket.
Definition: gaussoper.h:132
Generic integral over a two-body operator with one bfs for each particle in bra and ket.
Definition: integral_11_11.h:33
DefaultQuantumNumbers< unsigned int, 1 >::Result mType
mType is the type that describes the auxiliary index of standard 2-body repulsion integrals
Definition: quanta.h:411
RRImpl must inherit GenericRecurrenceRelation<RRImpl>
Definition: generic_rr.h:49
LinearCombination< SafePtr< DGVertex >, BraketPair< F, BKType > > R12vec_dot_Nabla2(const BraketPair< F, BKType > &bkt)
Applies R12vec_dot_Nabla2 to a physicists' braket.
Definition: gaussoper.h:84
these objects help to construct BraketPairs
Definition: braket.h:270
Set of basis functions.
Definition: bfset.h:42
LinearCombination< SafePtr< DGVertex >, BraketPair< F, BKType > > Nabla2(const BraketPair< F, BKType > &bkt, int xyz)
Applies Nabla2 to a physicists' braket.
Definition: gaussoper.h:165
BraketPair< F, PBra > _pbra(const F &f1, const F &f2)
Physicists bra.
Definition: braket.h:272
Compute relation for 2-e integrals of the DivG12prime_xTx operators.
Definition: comp_11_DivG12prime_xTx_11.h:37
DefaultQuantumNumbers< int, 0 >::Result EmptySet
EmptySet is the type that describes null set of auxiliary indices.
Definition: quanta.h:407