CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
|
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... | |
Convenient class holding arguments for the parametrization of the anisotropic agglomeration algorithm.
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 |
|
inline |
Constructor.
[in] | is_anisotropic | Whether to consider an anisotropic agglomeration. |
[in] | anisotropicCompliantCells | List of cells which have to be looked for anisotropy. |
[in] | build_lines | Whether lines joining the anisotropic cells should be built. Default: true. |
[in] | odd_line_length | Whether anisotropic lines with odd length are allowed. Default: true. |
[in] | threshold_anisotropy | Value of the aspect-ratio above which a cell is considered as anisotropic. Default: 4.0 |
[in] | max_cells_in_line | Maximum number of cells in an anisotropic line. Default: no limit. |
[in] | cell_coupling | Type of coupling to consider when building lines. Default: CoMMACellCouplingT::MAX_WEIGHT. |
[in] | line_direction | Whether to force the direction of the anisotropic lines to remain straight. Default: true. |
const std::vector<CoMMAIndexType>& comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::anisotropicCompliantCells |
List of cells which have to be looked for anisotropy.
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::build_lines |
Whether lines joining the anisotropic cells should be built.
CoMMACellCouplingT comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::cell_coupling |
Type of coupling to consider when building lines.
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::is_anisotropic |
Whether to consider an anisotropic agglomeration.
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::line_direction |
Whether to force the direction of the anisotropic lines to remain straight.
std::optional<CoMMAIndexType> comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::max_cells_in_line = std::nullopt |
Maximum number of cells in an anisotropic line.
bool comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::odd_line_length |
Whether anisotropic lines with odd length are allowed.
CoMMAWeightType comma::AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType >::threshold_anisotropy |
Value of the aspect-ratio above which a cell is considered as anisotropic.