CoMMA 1.3.2
A geometric agglomerator for unstructured meshes
Loading...
Searching...
No Matches
CoMMA.h File Reference
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <optional>
#include <stdexcept>
#include <string>
#include <unordered_set>
#include <vector>
#include "CoMMA/Agglomerator.h"
#include "CoMMA/Args.h"
#include "CoMMA/CoMMADefs.h"
#include "CoMMA/Coarse_Cell_Container.h"
#include "CoMMA/Dual_Graph.h"
#include "CoMMA/Seeds_Pool.h"

Go to the source code of this file.

Namespaces

namespace  comma
 

Functions

template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
void comma::agglomerate_one_level (const std::vector< CoMMAIndexType > &adjMatrix_row_ptr, const std::vector< CoMMAIndexType > &adjMatrix_col_ind, const std::vector< CoMMAWeightType > &adjMatrix_areaValues, const std::vector< CoMMAWeightType > &volumes, const std::vector< std::vector< CoMMAWeightType > > &centers, const std::vector< CoMMAWeightType > &priority_weights, const std::vector< CoMMAIndexType > &anisotropicCompliantCells, const std::vector< CoMMAIntType > &n_bnd_faces, bool build_anisotropic_lines, bool is_anisotropic, bool odd_line_length, CoMMAWeightType threshold_anisotropy, CoMMASeedsPoolT seed_ordering_type, std::vector< CoMMAIndexType > &fc_to_cc, std::vector< CoMMAIndexType > &agglomerationLines_Idx, std::vector< CoMMAIndexType > &agglomerationLines, bool correction, CoMMAIntType dimension, CoMMAIntType goal_card, CoMMAIntType min_card, CoMMAIntType max_card, CoMMAAspectRatioT aspect_ratio=CoMMAAspectRatioT::DIAMETER_OVER_RADIUS, CoMMAIntType singular_card_thresh=1, std::optional< CoMMAIndexType > max_cells_in_line=std::nullopt, CoMMACellCouplingT aniso_cell_coupling=CoMMACellCouplingT::MAX_WEIGHT, bool force_line_direction=true, CoMMAIntType fc_choice_iter=1, CoMMANeighbourhoodT neighbourhood_type=CoMMANeighbourhoodT::EXTENDED)
 Main function of the agglomerator, it is used as an interface to build up all the agglomeration process. The result will be the definition of the agglomerated cells fc_to_cc. More...
 
template<typename CoMMAIndexType , typename CoMMAWeightType , typename CoMMAIntType >
void comma::agglomerate_one_level (const GraphArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > &graph, const AgglomerationArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > &agglo, const AnisotropicArgs< CoMMAIndexType, CoMMAWeightType, CoMMAIntType > &aniso, std::vector< CoMMAIndexType > &fc_to_cc, std::vector< CoMMAIndexType > &aniso_lines_indices, std::vector< CoMMAIndexType > &aniso_lines)
 Main function of the agglomerator, it is used as an interface to build up all the agglomeration process. The result will be the definition of the agglomerated cells fc_to_cc. More...
 

Variables

constexpr CoMMAIntT comma::iter_agglo_max_iter = 4
 Maximum allowed iterations for the iterative algorithm, see Agglomerator_Iterative. More...