MADNESS  0.10.1
Public Member Functions | List of all members
madness::Specialbox_op< T, NDIM > Struct Template Reference

#include <leafop.h>

Inheritance diagram for madness::Specialbox_op< T, NDIM >:
Inheritance graph
[legend]

Public Member Functions

 Specialbox_op ()
 
virtual ~Specialbox_op ()
 
virtual bool box_is_at_boundary (const Key< NDIM > &key) const
 
bool check_special_points (const Key< NDIM > &key, const FunctionImpl< T, NDIM > *const f) const
 
size_t get_half_of_special_level (const size_t &sl=FunctionDefaults< NDIM >::get_special_level()) const
 
virtual std::string name () const
 
virtual bool operator() (const Key< NDIM > &key, const FunctionImpl< T, NDIM > *const f=NULL) const
 
template<typename Archive >
void serialize (Archive &ar)
 

Detailed Description

template<typename T, std::size_t NDIM>
struct madness::Specialbox_op< T, NDIM >

helper structure for the Leaf_op The class has an operator which decides if a given key belongs to a special box (needs further refinement up to a special level) this is the default class which always gives back false

Constructor & Destructor Documentation

◆ Specialbox_op()

template<typename T , std::size_t NDIM>
madness::Specialbox_op< T, NDIM >::Specialbox_op ( )
inline

◆ ~Specialbox_op()

template<typename T , std::size_t NDIM>
virtual madness::Specialbox_op< T, NDIM >::~Specialbox_op ( )
inlinevirtual

Member Function Documentation

◆ box_is_at_boundary()

template<typename T , std::size_t NDIM>
virtual bool madness::Specialbox_op< T, NDIM >::box_is_at_boundary ( const Key< NDIM > &  key) const
inlinevirtual

Determine if a given box is at the boundary of the simulation box

Parameters
[in]thekey of the current box Since boxes of level 0 and 1 are always at the boundary this case should be avoided if the boundary conditions are periodic then all boxes are boundary boxes

References madness::BC_PERIODIC, madness::Key< NDIM >::level(), NDIM, pow(), and madness::Key< NDIM >::translation().

Referenced by madness::Specialbox_op< T, NDIM >::check_special_points(), madness::ElectronCuspyBox_op< T, NDIM >::operator()(), and madness::NuclearCuspyBox_op< T, NDIM >::operator()().

◆ check_special_points()

template<typename T , std::size_t NDIM>
bool madness::Specialbox_op< T, NDIM >::check_special_points ( const Key< NDIM > &  key,
const FunctionImpl< T, NDIM > *const  f 
) const
inline

◆ get_half_of_special_level()

template<typename T , std::size_t NDIM>
size_t madness::Specialbox_op< T, NDIM >::get_half_of_special_level ( const size_t &  sl = FunctionDefaults<NDIM>::get_special_level()) const
inline

◆ name()

template<typename T , std::size_t NDIM>
virtual std::string madness::Specialbox_op< T, NDIM >::name ( ) const
inlinevirtual

◆ operator()()

template<typename T , std::size_t NDIM>
virtual bool madness::Specialbox_op< T, NDIM >::operator() ( const Key< NDIM > &  key,
const FunctionImpl< T, NDIM > *const  f = NULL 
) const
inlinevirtual

the operator which deceides if the given box is special

Parameters
[in]thekey of the current box
[in]thefunction which will be constructed (if it is needed)
[out]boolwhich states if the box is special or not

Reimplemented in madness::NuclearCuspyBox_op< T, NDIM >, and madness::ElectronCuspyBox_op< T, NDIM >.

◆ serialize()

template<typename T , std::size_t NDIM>
template<typename Archive >
void madness::Specialbox_op< T, NDIM >::serialize ( Archive &  ar)
inline

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