#include <agglomerator.h>
Public Member Functions | |
CellsAgglomerator (const RtreeType &rtree, const unsigned int extraction_level) | |
const std::vector< std::vector< typename Triangulation< dim >::active_cell_iterator > > & | extract_agglomerates () |
unsigned int | get_n_levels () const |
types::global_cell_index | get_n_nodes_per_level (const unsigned int level) const |
const std::map< std::pair< types::global_cell_index, types::global_cell_index >, std::vector< types::global_cell_index > > & | get_hierarchy () const |
Private Attributes | |
RtreeType * | rtree |
const unsigned int | extraction_level |
std::vector< std::vector< typename Triangulation< dim >::active_cell_iterator > > | agglomerates_on_level |
std::vector< types::global_cell_index > | n_nodes_per_level |
std::map< std::pair< types::global_cell_index, types::global_cell_index >, std::vector< types::global_cell_index > > | parent_node_to_children_nodes |
Friends | |
template<int , int > | |
class | ::AgglomerationHandler |
Helper class which handles agglomeration based on the R-tree data structure. Notice that the R-tree type is assumed to be an R-star-tree.
Definition at line 300 of file agglomerator.h.
dealii::CellsAgglomerator< dim, RtreeType >::CellsAgglomerator | ( | const RtreeType & | rtree, |
const unsigned int | extraction_level ) |
Constructor. It takes a given rtree and an integer representing the index of the level to be extracted.
Definition at line 378 of file agglomerator.h.
References Assert, and dealii::CellsAgglomerator< dim, RtreeType >::rtree.
const std::vector< std::vector< typename Triangulation< dim >::active_cell_iterator > > & dealii::CellsAgglomerator< dim, RtreeType >::extract_agglomerates | ( | ) |
Extract agglomerates based on the current tree and the extraction level. This function returns a reference to
Definition at line 392 of file agglomerator.h.
References AssertThrow, and std::min().
Referenced by dealii::PolyUtils::construct_agglomerated_levels().
|
inline |
This function returns a map which associates to each node on level extraction_level
a list of children.
Definition at line 464 of file agglomerator.h.
References Assert.
|
inline |
Get total number of levels.
Definition at line 443 of file agglomerator.h.
|
inline |
Return the number of nodes present in level level
.
Definition at line 452 of file agglomerator.h.
References level.
|
friend |
Definition at line 304 of file agglomerator.h.
|
private |
Store agglomerates obtained after recursive extraction on nodes of level extraction_level
.
Definition at line 358 of file agglomerator.h.
|
private |
Extraction level.
Definition at line 351 of file agglomerator.h.
Referenced by AgglomerationHandler< dim, spacedim >::connect_hierarchy().
|
private |
Vector storing the number of nodes (and, ultimately, agglomerates) for each level.
Definition at line 364 of file agglomerator.h.
|
private |
Map which maps a node parent
on level l
to a vector of integers which stores the index of children.
Definition at line 372 of file agglomerator.h.
Referenced by AgglomerationHandler< dim, spacedim >::connect_hierarchy().
|
private |
Raw pointer to the actual R-tree.
Definition at line 346 of file agglomerator.h.
Referenced by dealii::CellsAgglomerator< dim, RtreeType >::CellsAgglomerator().