CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
|
Class describing a coarse cell with a full description, that is, it also holds a subgraph describing how the fine cells are connected inside the coarse one. More...
#include <Coarse_Cell.h>
Public Types | |
using | BaseClass = Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > |
Type for the base Coarse_Cell class. More... | |
using | SubGraphType = Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > |
Type for a Subgraph object. More... | |
using | SubGraphPtr = std::shared_ptr< SubGraphType > |
Type for a shared pointer to a Subgraph object. More... | |
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_Subgraph (DualGraphPtr fc_graph, CoMMAIndexType i_cc, const std::unordered_set< CoMMAIndexType > &s_fc, CoMMAIntType compactness, bool is_isotropic=true) | |
Constructor of the class. More... | |
void | insert_cell (const CoMMAIndexType i_fc, const std::optional< CoMMAIntType > new_compactness) override |
Insert a FC in the CC (and update sub-graph if necessary) More... | |
void | insert_cells (const std::unordered_set< CoMMAIndexType > &fcs, const std::optional< CoMMAIntType > new_compactness) override |
Insert several FC in the CC (and update sub-graph if necessary) More... | |
void | update_connectivity () |
Analyse subgraph and update the connectivity. More... | |
Public Attributes | |
SubGraphPtr | _cc_graph |
Shared pointer of the subgraph structure (CSR representation) More... | |
bool | _is_connected |
Whether the cell connected. More... | |
bool | _is_connectivity_up_to_date |
Whether the connectivity has been checked. More... | |
Class describing a coarse cell with a full description, that is, it also holds a subgraph describing how the fine cells are connected inside the coarse one.
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_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::BaseClass = Coarse_Cell<CoMMAIndexType, CoMMAWeightType, CoMMAIntType> |
Type for the base Coarse_Cell class.
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.
using comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::SubGraphPtr = std::shared_ptr<SubGraphType> |
Type for a shared pointer to a Subgraph object.
using comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::SubGraphType = Subgraph<CoMMAIndexType, CoMMAWeightType, CoMMAIntType> |
Type for a Subgraph 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. |
|
inlineoverridevirtual |
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 from comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.
|
inlineoverridevirtual |
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 from comma::Coarse_Cell< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >.
|
inline |
Analyse subgraph and update the connectivity.
SubGraphPtr comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_cc_graph |
Shared pointer of the subgraph structure (CSR representation)
bool comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_is_connected |
Whether the cell connected.
bool comma::Coarse_Cell_Subgraph< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::_is_connectivity_up_to_date |
Whether the connectivity has been checked.