21#ifndef _libint2_src_bin_libint_cr11divg12primextx11_h_
22#define _libint2_src_bin_libint_cr11divg12primextx11_h_
25#include <generic_rr.h>
26#include <integral_11_11.h>
28#define USE_R12kR12lG12 1
37 CR_11_DivG12prime_xTx_11<BFSet>, BFSet,
38 GenIntegralSet_11_11<BFSet, DivG12prime_xTx, mType> > {
45 static const unsigned int max_nchildren = 36;
54 using ParentType::target_;
55 using ParentType::RecurrenceRelation::expr_;
56 using ParentType::RecurrenceRelation::nflops_;
62 static std::string descr() {
return "CR"; }
64 template <
class RR,
class C>
65 friend class ChildFactory;
69CR_11_DivG12prime_xTx_11<F>::CR_11_DivG12prime_xTx_11(
70 const std::shared_ptr<TargetType>& Tint,
unsigned int dir)
71 : ParentType(Tint, dir) {
72 using namespace libint2::algebra;
73 using namespace libint2::prefactor;
77 const int i = target_->oper()->descr().I();
83 if (a.contracted() || b.contracted() || c.contracted() || d.contracted() ||
84 target_->oper()->descr().contracted())
92 for (
int bxyz = 0; bxyz < 3; ++bxyz) {
93 for (
int kxyz = 0; kxyz < 3; ++kxyz) {
104 for (
int bxyz = 0; bxyz < 3; ++bxyz) {
105 for (
int kxyz = 0; kxyz < 3; ++kxyz) {
129 expr_ *= Scalar(-4.0) * Scalar(
"gamma_bra") * Scalar(
"gamma_ket");
Set of basis functions.
Definition bfset.h:43
Compute relation for 2-e integrals of the DivG12prime_xTx operators.
Definition comp_11_DivG12prime_xTx_11.h:38
static bool directional()
This relation is not directional.
Definition comp_11_DivG12prime_xTx_11.h:50
Helps GenericRecurrenceRelation to work around the compiler problem with make_child.
Definition generic_rr.h:150
Generic integral over a two-body operator with one bfs for each particle in bra and ket.
Definition integral_11_11.h:36
GenOper is a single operator described by descriptor Descr.
Definition oper.h:164
RRImpl must inherit GenericRecurrenceRelation<RRImpl>
Definition generic_rr.h:47
bool is_simple() const override
Implementation of RecurrenceRelation::is_simple()
Definition generic_rr.h:81
static std::shared_ptr< RRImpl > Instance(const std::shared_ptr< TargetType > &Tint, unsigned int dir)
Return an instance if applicable, or a null pointer otherwise.
Definition generic_rr.h:55
R12k_R12l_G12 is a two-body operator of form ( r_{12x}^kx * r_{12y}^ky * r_{12z}^kz ) * (r_{12x}^lx *...
Definition oper.h:445
these objects help to construct BraketPairs
Definition src/bin/libint/braket.h:275
BraketPair< F, PKet > _pket(const F &f1, const F &f2)
Physicists ket.
Definition src/bin/libint/braket.h:283
BraketPair< F, PBra > _pbra(const F &f1, const F &f2)
Physicists bra.
Definition src/bin/libint/braket.h:278
Defaults definitions for various parameters assumed by Libint.
Definition algebra.cc:24
DefaultQuantumNumbers< unsignedint, 1 >::Result mType
mType is the type that describes the auxiliary index of standard 2-body repulsion integrals
Definition quanta.h:395
LinearCombination< std::shared_ptr< DGVertex >, BraketPair< F, BKType > > R12vec_dot_Nabla1(const BraketPair< F, BKType > &bkt)
Applies R12vec_dot_Nabla1 to a physicists' braket.
Definition gaussoper.h:35
LinearCombination< std::shared_ptr< DGVertex >, BraketPair< F, BKType > > Nabla1(const BraketPair< F, BKType > &bkt, int xyz)
Applies Nabla1 to a physicists' braket.
Definition gaussoper.h:127
LinearCombination< std::shared_ptr< DGVertex >, BraketPair< F, BKType > > Nabla2(const BraketPair< F, BKType > &bkt, int xyz)
Applies Nabla2 to a physicists' braket.
Definition gaussoper.h:158
LinearCombination< std::shared_ptr< DGVertex >, BraketPair< F, BKType > > R12vec_dot_Nabla2(const BraketPair< F, BKType > &bkt)
Applies R12vec_dot_Nabla2 to a physicists' braket.
Definition gaussoper.h:82
DefaultQuantumNumbers< int, 0 >::Result EmptySet
EmptySet is the type that describes null set of auxiliary indices.
Definition quanta.h:390