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

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

#include <Args.h>

Public Member Functions

 AnisotropicArgs (bool is_anisotropic, const std::vector< CoMMAIndexType > &anisotropicCompliantCells, bool build_lines=true, bool odd_line_length=true, CoMMAWeightType threshold_anisotropy=4., std::optional< CoMMAIndexType > max_cells_in_line=std::nullopt, CoMMACellCouplingT cell_coupling=CoMMACellCouplingT::MAX_WEIGHT, bool line_direction=true)
 Constructor. More...
 

Public Attributes

bool is_anisotropic
 Whether to consider an anisotropic agglomeration. More...
 
const std::vector< CoMMAIndexType > & anisotropicCompliantCells
 List of cells which have to be looked for anisotropy. More...
 
bool build_lines
 Whether lines joining the anisotropic cells should be built. More...
 
bool odd_line_length
 Whether anisotropic lines with odd length are allowed. More...
 
CoMMAWeightType threshold_anisotropy
 Value of the aspect-ratio above which a cell is considered as anisotropic. More...
 
std::optional< CoMMAIndexType > max_cells_in_line = std::nullopt
 Maximum number of cells in an anisotropic line. More...
 
CoMMACellCouplingT cell_coupling
 Type of coupling to consider when building lines. More...
 
bool line_direction
 Whether to force the direction of the anisotropic lines to remain straight. More...
 

Detailed Description

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

Convenient class holding arguments for the parametrization of the anisotropic 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

◆ AnisotropicArgs()

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::AnisotropicArgs ( bool  is_anisotropic,
const std::vector< CoMMAIndexType > &  anisotropicCompliantCells,
bool  build_lines = true,
bool  odd_line_length = true,
CoMMAWeightType  threshold_anisotropy = 4.,
std::optional< CoMMAIndexType >  max_cells_in_line = std::nullopt,
CoMMACellCouplingT  cell_coupling = CoMMACellCouplingT::MAX_WEIGHT,
bool  line_direction = true 
)
inline

Constructor.

Parameters
[in]is_anisotropicWhether to consider an anisotropic agglomeration.
[in]anisotropicCompliantCellsList of cells which have to be looked for anisotropy.
[in]build_linesWhether lines joining the anisotropic cells should be built. Default: true.
[in]odd_line_lengthWhether anisotropic lines with odd length are allowed. Default: true.
[in]threshold_anisotropyValue of the aspect-ratio above which a cell is considered as anisotropic. Default: 4.0
[in]max_cells_in_lineMaximum number of cells in an anisotropic line. Default: no limit.
[in]cell_couplingType of coupling to consider when building lines. Default: CoMMACellCouplingT::MAX_WEIGHT.
[in]line_directionWhether to force the direction of the anisotropic lines to remain straight. Default: true.

Member Data Documentation

◆ anisotropicCompliantCells

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
const std::vector<CoMMAIndexType>& comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::anisotropicCompliantCells

List of cells which have to be looked for anisotropy.

◆ build_lines

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::build_lines

Whether lines joining the anisotropic cells should be built.

◆ cell_coupling

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMACellCouplingT comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::cell_coupling

Type of coupling to consider when building lines.

◆ is_anisotropic

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::is_anisotropic

Whether to consider an anisotropic agglomeration.

◆ line_direction

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::line_direction

Whether to force the direction of the anisotropic lines to remain straight.

◆ max_cells_in_line

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
std::optional<CoMMAIndexType> comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::max_cells_in_line = std::nullopt

Maximum number of cells in an anisotropic line.

◆ odd_line_length

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::odd_line_length

Whether anisotropic lines with odd length are allowed.

◆ threshold_anisotropy

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
CoMMAWeightType comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::threshold_anisotropy

Value of the aspect-ratio above which a cell is considered as anisotropic.


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