LIBINT  2.6.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
libint2::ITR_11_TwoPRep_11< ERI, BFSet, part, where > Class Template Reference

ITR (Interelectron Transfer Relation) for 2-e ERI. More...

#include <itr_11_twoprep_11.h>

Inheritance diagram for libint2::ITR_11_TwoPRep_11< ERI, BFSet, part, where >:
Inheritance graph
[legend]
Collaboration diagram for libint2::ITR_11_TwoPRep_11< ERI, BFSet, part, where >:
Collaboration graph
[legend]

Public Types

typedef RecurrenceRelation ParentType
 
typedef BFSet BasisFunctionType
 
typedef ITR_11_TwoPRep_11 ThisType
 
typedef ERI< BFSet, TwoPRep, mTypeTargetType
 
typedef TargetType ChildType
 
typedef RecurrenceRelation::ExprType ExprType
 The type of expressions in which RecurrenceRelations result.
 
- Public Types inherited from libint2::RecurrenceRelation
typedef RecurrenceRelation this_type
 
typedef AlgebraicOperator< DGVertexExprType
 Numerical expression of a recurrence relation is always expressed as an AlgebraicOperator<DGVertex>
 

Public Member Functions

int partindex_direction () const
 overrides RecurrenceRelation::partindex_direction()
 
unsigned int num_children () const
 Implementation of RecurrenceRelation::num_children()
 
SafePtr< DGVertexrr_target () const
 Implementation of RecurrenceRelation::rr_target()
 
SafePtr< DGVertexrr_child (unsigned int i) const
 Implementation of RecurrenceRelation::rr_child()
 
bool is_simple () const
 Implementation of RecurrenceRelation::is_simple()
 
- Public Member Functions inherited from libint2::RecurrenceRelation
const SafePtr< ExprType > & rr_expr () const
 Returns the expression.
 
virtual bool invariant_type () const
 Returns true is the type of target and all children are exactly the same.
 
virtual BraketDirection braket_direction () const
 
size_t size_of_children () const
 
const std::string & label () const
 label() returns a unique, short, descriptive label of this RR (e.g. More...
 
virtual std::string description () const
 description() returns a verbose description of this RR
 
virtual void generate_code (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims, const std::string &funcname, std::ostream &decl, std::ostream &def)
 Generate declaration and definition for the recurrence relation.
 
virtual void generate_generic_code (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims, const std::string &funcname, std::ostream &decl, std::ostream &def)
 Generate declaration and definition for the recurrence relation using generic code (typically, a manually written code)
 
virtual std::string spfunction_call (const SafePtr< CodeContext > &context, const SafePtr< ImplicitDimensions > &dims) const
 Generate a callback for this recurrence relation.
 
unsigned int nflops () const
 Return the number of FLOPs per this recurrence relation.
 
void inst_id (const SingletonStack< RecurrenceRelation, string >::InstanceID &i)
 RecurrenceRelation is managed by SingletonStack but doesn't need to keep track of instance ID.
 

Static Public Member Functions

static SafePtr< ThisTypeInstance (const SafePtr< TargetType > &, unsigned int dir=0)
 Use Instance() to obtain an instance of RR. More...
 
static bool directional ()
 Default directionality. More...
 

Additional Inherited Members

- Protected Member Functions inherited from libint2::RecurrenceRelation
void add_expr (const SafePtr< ExprType > &a, int minus=1)
 Adds a (or -a, if minus = -1) to expr_.
 
template<class RR >
bool register_with_rrstack ()
 Registers with the stack.
 
- Protected Attributes inherited from libint2::RecurrenceRelation
unsigned int nflops_
 
std::string label_
 
SafePtr< ExprTypeexpr_
 

Detailed Description

template<template< typename, typename, typename > class ERI, class BFSet, int part, FunctionPosition where>
class libint2::ITR_11_TwoPRep_11< ERI, BFSet, part, where >

ITR (Interelectron Transfer Relation) for 2-e ERI.

part specifies for which particle the angular momentum is raised. where specifies whether the angular momentum is shifted in bra or ket. Class ERI specifies which particular implementation of ERI to use.

Member Function Documentation

◆ directional()

template<template< typename, typename, typename > class ERI, class BFSet , int part, FunctionPosition where>
static bool libint2::ITR_11_TwoPRep_11< ERI, BFSet, part, where >::directional ( )
inlinestatic

Default directionality.

is this recurrence relation parameterized by a direction. the default is false if BasisFunctionSet is CGShell, true otherwise.

◆ Instance()

template<template< typename, typename, typename > class ERI, class F , int part, FunctionPosition where>
SafePtr< ITR_11_TwoPRep_11< ERI, F, part, where > > libint2::ITR_11_TwoPRep_11< ERI, F, part, where >::Instance ( const SafePtr< TargetType > &  Tint,
unsigned int  dir = 0 
)
static

Use Instance() to obtain an instance of RR.

This function is provided to avoid issues with getting a SafePtr from constructor (as needed for registry to work).

dir specifies which quantum number of a and b is shifted. For example, dir can be 0 (x), 1(y), or 2(z) if F is a Cartesian Gaussian.


The documentation for this class was generated from the following file: