MADNESS 0.10.1
madness::TwoBodyFunctionPureComponent< T, NDIM > Class Template Reference

a two-body, explicitly 6-dimensional function More...

#include <ccpairfunction.h>

Inheritance diagram for madness::TwoBodyFunctionPureComponent< T, NDIM >:
Collaboration diagram for madness::TwoBodyFunctionPureComponent< T, NDIM >:

Public Member Functions

 TwoBodyFunctionPureComponent ()=default
 TwoBodyFunctionPureComponent (const Function< T, NDIM > &f)
 TwoBodyFunctionPureComponent (const std::shared_ptr< CCConvolutionOperator< T, LDIM > > op, const Function< T, NDIM > &f)
template<typename Q, std::size_t MDIM>
TwoBodyFunctionPureComponent apply (const SeparatedConvolution< Q, MDIM > *op, const int particle=0)
std::shared_ptr< TwoBodyFunctionComponentBase > clone () override
 deep copy
Function< T, NDIM > & get_function ()
const std::shared_ptr< CCConvolutionOperator< T, LDIM > > get_operator_ptr () const
bool has_operator () const override
hashT hash () const override
bool is_pure () const override
std::string name (const bool transpose) const override
template<typename Q>
TwoBodyFunctionPureComponent & operator*= (const Q fac)
void print_size (const std::string name1="") const override
void set_operator (const std::shared_ptr< CCConvolutionOperator< T, LDIM > > op1)
void swap_particles_inplace () override
 return f(2,1)
World & world () const override
Public Member Functions inherited from madness::TwoBodyFunctionComponentBase
virtual ~TwoBodyFunctionComponentBase ()
virtual bool is_decomposed () const

Private Attributes

std::shared_ptr< CCConvolutionOperator< T, LDIM > > op
Function< T, NDIM > u
 pure 6D function

Static Private Attributes

static constexpr std::size_t LDIM =NDIM/2

Detailed Description

template<typename T, std::size_t NDIM>
class madness::TwoBodyFunctionPureComponent< T, NDIM >

a two-body, explicitly 6-dimensional function

Constructor & Destructor Documentation

◆ TwoBodyFunctionPureComponent() [1/3]

template<typename T, std::size_t NDIM>
madness::TwoBodyFunctionPureComponent< T, NDIM >::TwoBodyFunctionPureComponent ( )
default

Referenced by apply(), clone(), and operator*=().

◆ TwoBodyFunctionPureComponent() [2/3]

template<typename T, std::size_t NDIM>
madness::TwoBodyFunctionPureComponent< T, NDIM >::TwoBodyFunctionPureComponent ( const Function< T, NDIM > & f)
inlineexplicit

References madness::f, and u.

◆ TwoBodyFunctionPureComponent() [3/3]

template<typename T, std::size_t NDIM>
madness::TwoBodyFunctionPureComponent< T, NDIM >::TwoBodyFunctionPureComponent ( const std::shared_ptr< CCConvolutionOperator< T, LDIM > > op,
const Function< T, NDIM > & f )
inlineexplicit

References madness::f, op, and u.

Member Function Documentation

◆ apply()

template<typename T, std::size_t NDIM>
template<typename Q, std::size_t MDIM>
TwoBodyFunctionPureComponent madness::TwoBodyFunctionPureComponent< T, NDIM >::apply ( const SeparatedConvolution< Q, MDIM > * op,
const int particle = 0 )
inline

◆ clone()

template<typename T, std::size_t NDIM>
std::shared_ptr< TwoBodyFunctionComponentBase > madness::TwoBodyFunctionPureComponent< T, NDIM >::clone ( )
inlineoverridevirtual

◆ get_function()

template<typename T, std::size_t NDIM>
Function< T, NDIM > & madness::TwoBodyFunctionPureComponent< T, NDIM >::get_function ( )
inline

References u.

◆ get_operator_ptr()

template<typename T, std::size_t NDIM>
const std::shared_ptr< CCConvolutionOperator< T, LDIM > > madness::TwoBodyFunctionPureComponent< T, NDIM >::get_operator_ptr ( ) const
inline

References op.

Referenced by name().

◆ has_operator()

template<typename T, std::size_t NDIM>
bool madness::TwoBodyFunctionPureComponent< T, NDIM >::has_operator ( ) const
inlineoverridevirtual

Implements madness::TwoBodyFunctionComponentBase.

References op.

Referenced by name().

◆ hash()

template<typename T, std::size_t NDIM>
hashT madness::TwoBodyFunctionPureComponent< T, NDIM >::hash ( ) const
inlineoverridevirtual

◆ is_pure()

template<typename T, std::size_t NDIM>
bool madness::TwoBodyFunctionPureComponent< T, NDIM >::is_pure ( ) const
inlineoverridevirtual

◆ name()

template<typename T, std::size_t NDIM>
std::string madness::TwoBodyFunctionPureComponent< T, NDIM >::name ( const bool transpose) const
inlineoverridevirtual

◆ operator*=()

template<typename T, std::size_t NDIM>
template<typename Q>
TwoBodyFunctionPureComponent & madness::TwoBodyFunctionPureComponent< T, NDIM >::operator*= ( const Q fac)
inline

◆ print_size()

template<typename T, std::size_t NDIM>
void madness::TwoBodyFunctionPureComponent< T, NDIM >::print_size ( const std::string name1 = "") const
inlineoverridevirtual

Implements madness::TwoBodyFunctionComponentBase.

References name(), and u.

◆ set_operator()

template<typename T, std::size_t NDIM>
void madness::TwoBodyFunctionPureComponent< T, NDIM >::set_operator ( const std::shared_ptr< CCConvolutionOperator< T, LDIM > > op1)
inline

References op.

◆ swap_particles_inplace()

template<typename T, std::size_t NDIM>
void madness::TwoBodyFunctionPureComponent< T, NDIM >::swap_particles_inplace ( )
inlineoverridevirtual

◆ world()

template<typename T, std::size_t NDIM>
World & madness::TwoBodyFunctionPureComponent< T, NDIM >::world ( ) const
inlineoverridevirtual

Implements madness::TwoBodyFunctionComponentBase.

References u.

Member Data Documentation

◆ LDIM

template<typename T, std::size_t NDIM>
std::size_t madness::TwoBodyFunctionPureComponent< T, NDIM >::LDIM =NDIM/2
staticconstexprprivate

◆ op

template<typename T, std::size_t NDIM>
std::shared_ptr<CCConvolutionOperator<T,LDIM> > madness::TwoBodyFunctionPureComponent< T, NDIM >::op
private

◆ u


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