CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
|
Class describing a coarse cell. More...
#include <Coarse_Cell.h>
Public Types | |
using | DualGraphPtr = std::shared_ptr< Dual_Graph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > > |
Type for a shared pointer to a Dual_Graph object. More... | |
Public Member Functions | |
Coarse_Cell (DualGraphPtr fc_graph, CoMMAIndexType i_cc, const std::unordered_set< CoMMAIndexType > &s_fc, CoMMAIntType compactness, bool is_isotropic=true) | |
Constructor of the class. More... | |
virtual | ~Coarse_Cell ()=default |
Destructor of the class. More... | |
bool | is_connected () |
Method that return a boolean determining if the coarse cell is defined by a connected sub-graph or not. More... | |
virtual void | insert_cell (const CoMMAIndexType i_fc, const std::optional< CoMMAIntType > new_compactness) |
Insert a FC in the CC (and update sub-graph if necessary) More... | |
virtual void | insert_cells (const std::unordered_set< CoMMAIndexType > &fcs, const std::optional< CoMMAIntType > new_compactness) |
Insert several FC in the CC (and update sub-graph if necessary) More... | |
Public Attributes | |
CoMMAIndexType | _idx |
Index of the coarse cell (It seems to be unused, but useful to have) More... | |
DualGraphPtr | _fc_graph |
The global dual graph. More... | |
CoMMAIntType | _compactness |
Compactness degree of the CC. More... | |
CoMMAIntType | _cardinality |
Number of FC in the CC. More... | |
bool | _is_isotropic |
Whether the cell isotropic or anisotropic. More... | |
std::unordered_set< CoMMAIndexType > | _s_fc |
Set of fine cells composing the Coarse cell. More... | |
Class describing a coarse cell.
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 |
using comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::DualGraphPtr = std::shared_ptr<Dual_Graph<CoMMAIndexType, CoMMAWeightType, CoMMAIntType> > |
Type for a shared pointer to a Dual_Graph object.
|
inline |
Constructor of the class.
[in] | fc_graph | Dual_Graph object from where are taken the set of fine cells to create the coarse cell. |
[in] | i_cc | Index of the coarse cell |
[in] | s_fc | Unordered set of fine cells constituting the coarse cell |
[in] | compactness | Compactness degree of the CC |
[in] | is_isotropic | (default = true) boolean describing if the cell is coming from an isotropic agglomeration process or an anisotropic agglomeration process. |
|
virtualdefault |
Destructor of the class.
|
inlinevirtual |
Insert a FC in the CC (and update sub-graph if necessary)
[in] | i_fc | Index of the fine cell to add |
[in] | new_compactness | Optional, default void, giving the compactness of the CC after the addition |
Reimplemented in comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.
|
inlinevirtual |
Insert several FC in the CC (and update sub-graph if necessary)
[in] | fcs | Set of indices of the fine cells to add |
[in] | new_compactness | Optional, default void, giving the compactness of the CC after the addition |
Reimplemented in comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.
|
inline |
Method that return a boolean determining if the coarse cell is defined by a connected sub-graph or not.
CoMMAIntType comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_cardinality |
Number of FC in the CC.
CoMMAIntType comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_compactness |
Compactness degree of the CC.
DualGraphPtr comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_fc_graph |
The global dual graph.
CoMMAIndexType comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_idx |
Index of the coarse cell (It seems to be unused, but useful to have)
bool comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_is_isotropic |
Whether the cell isotropic or anisotropic.
std::unordered_set<CoMMAIndexType> comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_s_fc |
Set of fine cells composing the Coarse cell.