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

#include <leafop.h>

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

Public Member Functions

 ElectronCuspyBox_op ()
 
 ~ElectronCuspyBox_op ()
 
std::string name () const
 
bool operator() (const Key< NDIM > &key, const FunctionImpl< T, NDIM > *const f) const
 
template<typename Archive >
void serialize (Archive &ar)
 
- Public Member Functions inherited from madness::Specialbox_op< T, NDIM >
 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
 
template<typename Archive >
void serialize (Archive &ar)
 

Detailed Description

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

the high_dimensional key is broken appart into two lower dimensional keys, if they are neighbours of each other then refinement up to the special_level is enforced For general class description see the base class Specialbox_op

Constructor & Destructor Documentation

◆ ElectronCuspyBox_op()

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

◆ ~ElectronCuspyBox_op()

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

Member Function Documentation

◆ name()

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

Reimplemented from madness::Specialbox_op< T, NDIM >.

◆ operator()()

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

Operator which decides if the key belongs to a special box The key is broken appart in two lower dimensional keys (for electron cusps this is 6D -> 2x3D) if the keys are neighbours then refinement up to the special level is enforced (means the 6D box is close to the cusp or contains it) if the refinement level is already beyond half of the special_level then refinement is only enforded if the broken keys are the same (6D box contains cusp)

Reimplemented from madness::Specialbox_op< T, NDIM >.

References madness::Specialbox_op< T, NDIM >::box_is_at_boundary(), madness::Key< NDIM >::break_apart(), madness::f, madness::FunctionDefaults< NDIM >::get_bc(), madness::Specialbox_op< T, NDIM >::get_half_of_special_level(), madness::BoundaryConditions< NDIM >::is_periodic(), madness::Key< NDIM >::level(), MADNESS_EXCEPTION, and NDIM.

◆ serialize()

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

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