NiHu  2.0
NiHu::fmm::helmholtz_3d_hf_cluster Class Reference

cluster type of the Helmholtz 3D High frequency FMM More...

#include <helmholtz_3d_hf_cluster.h>

Public Types

typedef base_t::multipole_t multipole_t
 the multipole type
 
typedef base_t::local_t local_t
 the local type
 
- Public Types inherited from NiHu::fmm::cluster_base< helmholtz_3d_hf_cluster >
typedef cluster_traits< helmholtz_3d_hf_clustertraits_t
 Traits structure.
 
typedef bounding_box< dimension, double > bounding_box_t
 Bounding box type.
 
typedef bounding_box_t::location_t location_t
 Location type.
 
typedef std::vector< size_t > idx_list_t
 Index list type for storing children and contained nodes.
 
typedef traits_t::multipole_t multipole_t
 Multipole type.
 
typedef traits_t::local_t local_t
 Local type.
 

Public Member Functions

multipole_t zero_multipole () const
 return a zero (cleared) multipole contribution
 
local_t zero_local () const
 return a zero (cleared) local contribution
 
void set_p_level_data (helmholtz_3d_hf_level_data const *p)
 set the pointer to the cluster's level data More...
 
const helmholtz_3d_hf_level_dataget_level_data () const
 return the cluster's level data More...
 
- Public Member Functions inherited from NiHu::fmm::cluster_base< helmholtz_3d_hf_cluster >
NIHU_CRTP_HELPERS void set_level (size_t level)
 Set cluster's level. More...
 
size_t get_level () const
 Get cluster's level. More...
 
void set_parent (size_t parent)
 Set the parent cluster's index. More...
 
size_t get_parent () const
 return parent cluster's index More...
 
void set_bounding_box (bounding_box_t const &bb)
 set the cluster's bounding box More...
 
const bounding_box_tget_bounding_box () const
 return cluster's bounding box More...
 
void set_src_node_idx (idx_list_t const &node_idx)
 set indices of source nodes More...
 
void set_src_node_idx (ForwardIt begin, ForwardIt end)
 set indices of source nodes with range More...
 
const idx_list_tget_src_node_idx () const
 get indices of source nodes More...
 
size_t get_n_src_nodes () const
 return number of sources contained in cluster More...
 
void set_rec_node_idx (idx_list_t const &node_idx)
 set indices of receiver nodes More...
 
void set_rec_node_idx (ForwardIt begin, ForwardIt end)
 set indices of receiver nodes with range More...
 
const idx_list_tget_rec_node_idx () const
 get indices of receiver nodes More...
 
size_t get_n_rec_nodes () const
 get number of receiver nodes contained in cluster More...
 
void add_child (size_t child)
 add a new child to a cluster More...
 
const idx_list_tget_children () const
 get indices of children More...
 
bool is_leaf () const
 indicates if cluster is leaf More...
 
bool is_root () const
 indicates if cluster is root (0-level) More...
 
bool is_source () const
 indicates if cluster is source More...
 
bool is_receiver () const
 indicates if cluster is receiver More...
 
void print_debug (std::ostream &os=std::cout) const
 prints debug information of the cluster to an output stream More...
 
multipole_t zero_multipole () const
 return a cleared (zero) multipole contribution More...
 
local_t zero_local () const
 return a cleared (zero) local contribution More...
 

Static Public Attributes

static const size_t dimension = base_t::dimension
 the space dimension
 
- Static Public Attributes inherited from NiHu::fmm::cluster_base< helmholtz_3d_hf_cluster >
static const size_t dimension
 Space dimension.
 

Detailed Description

cluster type of the Helmholtz 3D High frequency FMM

Definition at line 32 of file helmholtz_3d_hf_cluster.h.

Member Function Documentation

◆ get_level_data()

const helmholtz_3d_hf_level_data & NiHu::fmm::helmholtz_3d_hf_cluster::get_level_data ( ) const

return the cluster's level data

Returns
the cluster's level data

Definition at line 32 of file helmholtz_3d_hf_cluster.cpp.

◆ set_p_level_data()

void NiHu::fmm::helmholtz_3d_hf_cluster::set_p_level_data ( helmholtz_3d_hf_level_data const *  p)

set the pointer to the cluster's level data

Parameters
[in]ppointer to the level data

Definition at line 26 of file helmholtz_3d_hf_cluster.cpp.


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