A class responsible to do the interface between the different kinds of agglomerator.
More...
|
| Agglomerator (std::shared_ptr< Dual_Graph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > graph, std::shared_ptr< Coarse_Cell_Container< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > cc_graph, std::shared_ptr< Seeds_Pool< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > seeds_pool, CoMMAIntType dimension) |
| The constructor of the interface. More...
|
|
virtual | ~Agglomerator ()=default |
| The destructor of the class. More...
|
|
std::vector< CoMMAIndexType > | get_fc_2_cc () const |
| Accessor to retrieve the fine cells to coarse cells from the coarse cell graphs class. More...
|
|
virtual void | agglomerate_one_level (const CoMMAIntType goal_card, const CoMMAIntType min_card, const CoMMAIntType max_card, const std::vector< CoMMAWeightType > &priority_weights, bool correction_steps)=0 |
| Pure virtual function which implementation is specified in the related child classes and that defines the agglomeration of one level. More...
|
|
|
CoMMAIntType | _dimension |
| Dimensionality of the problem (_dimension = 2 -> 2D, _dimension = 3 -> 3D) More...
|
|
CoMMAIntType | _min_neighbourhood = 3 |
| Minimum number of neighbourhood we extend to search the neighbourhood in the greedy algorithm. Set as default to 3. More...
|
|
CoMMAIntType | _min_card = 0 |
| Minimum cardinality (default = 0, meaning, equal to the dimension) More...
|
|
CoMMAIntType | _max_card = 0 |
| Maximum cardinality (default = 0, meaning, 5 or 10 for, resp., 2- and 3D. More...
|
|
CoMMAIntType | _goal_card = 0 |
| Goal cardinality (default = 0, meaning, 4 or 8 for, resp., 2- and 3D. More...
|
|
CoMMAIntType | _threshold_card = 0 |
| Threshold cardinality (default = 0, meaning, equal to the dimension) More...
|
|
std::vector< CoMMAIndexType > | _l_nb_of_cells |
| List of number of cells per coarse cell created. More...
|
|
std::shared_ptr< Dual_Graph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > | _fc_graph |
| Dual_Graph object determining Fine cells graph and hence the connectivity. More...
|
|
std::shared_ptr< Coarse_Cell_Container< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > | _cc_graph |
| pointer to Coarse_Cell_Container element More...
|
|
std::shared_ptr< Seeds_Pool< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > | _seeds_pool |
| Seeds_Pool object giving the order in which the fine cells should be considered when agglomerating. More...
|
|
template<typename CoMMAIndexType, typename CoMMAWeightType, typename CoMMAIntType>
class comma::Agglomerator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >
A class responsible to do the interface between the different kinds of agglomerator.
- Template Parameters
-
CoMMAIndexType | the CoMMA index type for the global index of the mesh |
CoMMAWeightType | the CoMMA weight type for the weights (volume or area) of the nodes or edges of the Mesh |
CoMMAIntType | the CoMMA type for integers |
template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
virtual void comma::Agglomerator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::agglomerate_one_level |
( |
const CoMMAIntType |
goal_card, |
|
|
const CoMMAIntType |
min_card, |
|
|
const CoMMAIntType |
max_card, |
|
|
const std::vector< CoMMAWeightType > & |
priority_weights, |
|
|
bool |
correction_steps |
|
) |
| |
|
pure virtual |
template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::Agglomerator< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_max_card = 0 |
|
protected |
Maximum cardinality (default = 0, meaning, 5 or 10 for, resp., 2- and 3D.