CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
Loading...
Searching...
No Matches
comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > Class Template Reference

Convenient class holding arguments for the parametrization of the agglomeration algorithm. More...

#include <Args.h>

Public Member Functions

 AgglomerationArgs ()=default
 Default constructor. More...
 
 AgglomerationArgs (CoMMAIntType goal_card, CoMMAIntType min_card, CoMMAIntType max_card, bool correction, CoMMASeedsPoolT seed_ordering_type, CoMMAAspectRatioT aspect_ratio=CoMMAAspectRatioT::DIAMETER_OVER_RADIUS, CoMMAIntType singular_card_thresh=1, CoMMAIntType fc_choice_iter=1, CoMMANeighbourhoodT neighbourhood_type=CoMMANeighbourhoodT::EXTENDED)
 Constructor. More...
 

Public Attributes

CoMMAIntType goal_card
 Desired cardinality of the coarse cells. More...
 
CoMMAIntType min_card
 Minimum cardinality accepted for the coarse cells. More...
 
CoMMAIntType max_card
 Maximum cardinality accepted for the coarse cells. More...
 
bool correction {}
 Whether to apply correction step (avoid isolated cells) after agglomeration. More...
 
CoMMASeedsPoolT seed_ordering_type {}
 Type of ordering for the seeds of the coarse cells (see CoMMASeedsPoolT) More...
 
CoMMAAspectRatioT aspect_ratio {}
 Type of aspect ratio. More...
 
CoMMAIntType singular_card_thresh
 Cardinality below which a coarse is considered as singular, hence, compliant for correction. More...
 
CoMMAIntType fc_choice_iter
 Number of iterations allowed for the algorithm choosing which fine cell to add next. The cost grows exponentially, hence use small values. More...
 
CoMMANeighbourhoodT neighbourhood_type {}
 Type of neighbourhood to use when growing a coarse cell. See CoMMANeighbourhoodT for more details. More...
 

Detailed Description

template<typename CoMMAIndexType, typename CoMMAWeightType, typename CoMMAIntType>
class comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >

Convenient class holding arguments for the parametrization of the agglomeration algorithm.

Template Parameters
CoMMAIndexTypethe CoMMA index type for the global index of the mesh
CoMMAWeightTypethe CoMMA weight type for the weights (volume or area) of the nodes or edges of the Mesh
CoMMAIntTypethe CoMMA type for integers

Constructor & Destructor Documentation

◆ AgglomerationArgs() [1/2]

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::AgglomerationArgs ( )
default

Default constructor.

◆ AgglomerationArgs() [2/2]

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::AgglomerationArgs ( CoMMAIntType  goal_card,
CoMMAIntType  min_card,
CoMMAIntType  max_card,
bool  correction,
CoMMASeedsPoolT  seed_ordering_type,
CoMMAAspectRatioT  aspect_ratio = CoMMAAspectRatioT::DIAMETER_OVER_RADIUS,
CoMMAIntType  singular_card_thresh = 1,
CoMMAIntType  fc_choice_iter = 1,
CoMMANeighbourhoodT  neighbourhood_type = CoMMANeighbourhoodT::EXTENDED 
)
inline

Constructor.

Parameters
[in]goal_cardDesired cardinality of the coarse cells (might not be ensured)
[in]min_cardMinimum cardinality accepted for the coarse cells
[in]max_cardMaximum cardinality accepted for the coarse cells
[in]correctionWhether to apply correction step (avoid isolated cells) after agglomeration
[in]seed_ordering_typeType of ordering for the seeds of the coarse cells (see CoMMASeedsPoolT)
[in]aspect_ratioType of aspect-ratio (see CoMMAAspectRatioT)
[in]singular_card_thresh(optional, default=1) Cardinality below which a coarse is considered as singular, hence, compliant for correction
[in]fc_choice_iter(optional, default=1) Number of iterations allowed for the algorithm choosing which fine cell to add next. The cost grows exponentially, hence use small values.
[in]neighbourhood_type(optional, default=Extended) Type of neighbourhood to use when growing a coarse cell, see CoMMANeighbourhoodT for more details.

Member Data Documentation

◆ aspect_ratio

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAAspectRatioT comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::aspect_ratio {}

Type of aspect ratio.

◆ correction

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
bool comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::correction {}

Whether to apply correction step (avoid isolated cells) after agglomeration.

◆ fc_choice_iter

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::fc_choice_iter

Number of iterations allowed for the algorithm choosing which fine cell to add next. The cost grows exponentially, hence use small values.

◆ goal_card

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::goal_card

Desired cardinality of the coarse cells.

◆ max_card

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::max_card

Maximum cardinality accepted for the coarse cells.

◆ min_card

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::min_card

Minimum cardinality accepted for the coarse cells.

◆ neighbourhood_type

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMANeighbourhoodT comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::neighbourhood_type {}

Type of neighbourhood to use when growing a coarse cell. See CoMMANeighbourhoodT for more details.

◆ seed_ordering_type

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMASeedsPoolT comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::seed_ordering_type {}

Type of ordering for the seeds of the coarse cells (see CoMMASeedsPoolT)

◆ singular_card_thresh

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAIntType comma::AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::singular_card_thresh

Cardinality below which a coarse is considered as singular, hence, compliant for correction.


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