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

#include <leafop.h>

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

Public Member Functions

 NuclearCuspyBox_op ()
 
 NuclearCuspyBox_op (const size_t p)
 
 ~NuclearCuspyBox_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)
 

Public Attributes

int particle
 

Detailed Description

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

This works similar to the Cuspybox_op: The key is broken apart (2N-dimensional -> 2x N-Dimensional) then it is checked if one of the lower dimensional keys contains a lower dimensional special points (which will be the nuclear-coordinates)

Constructor & Destructor Documentation

◆ NuclearCuspyBox_op() [1/2]

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

References MADNESS_EXCEPTION, and NDIM.

◆ NuclearCuspyBox_op() [2/2]

template<typename T , std::size_t NDIM>
madness::NuclearCuspyBox_op< T, NDIM >::NuclearCuspyBox_op ( const size_t  p)
inline

◆ ~NuclearCuspyBox_op()

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

Member Function Documentation

◆ name()

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

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

◆ operator()()

template<typename T , std::size_t NDIM>
bool madness::NuclearCuspyBox_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 (6D -> 2x3D) The special points should be given in a format which can also be broken appart so: 6D special_points = (3D-special-points, 3D-special-points) 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::Specialbox_op< T, NDIM >::get_half_of_special_level(), madness::FunctionImpl< T, NDIM >::get_special_level(), madness::Key< NDIM >::level(), MADNESS_ASSERT, MADNESS_EXCEPTION, NDIM, madness::simpt2key(), and madness::user_to_sim().

◆ serialize()

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

Member Data Documentation

◆ particle

template<typename T , std::size_t NDIM>
int madness::NuclearCuspyBox_op< T, NDIM >::particle

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