MADNESS  0.10.1
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for madness::TwoBodyFunctionPureComponent< T, NDIM >:
Collaboration graph
[legend]

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< TwoBodyFunctionComponentBaseclone () override
 deep copy More...
 
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 >
TwoBodyFunctionPureComponentoperator*= (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) More...
 
Worldworld () 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, NDIMu
 pure 6D function More...
 

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

◆ TwoBodyFunctionPureComponent() [2/3]

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

◆ 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

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

◆ 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

◆ has_operator()

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

◆ 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

◆ 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

◆ 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

Member Data Documentation

◆ LDIM

template<typename T , std::size_t NDIM>
constexpr 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

template<typename T , std::size_t NDIM>
Function<T,NDIM> madness::TwoBodyFunctionPureComponent< T, NDIM >::u
private

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