26 std::unique_ptr<MeshBase>
generate()
override;
35 const std::set<boundary_id_type> & boundary_id_set);
MeshGenerator that coarsens a 2D-element (TRI3/QUAD4) surface mesh along a sideset by collapsing alte...
const bool _has_max_element_area
Whether a maximum merged element area is enforced.
static InputParameters validParams()
const bool _verbose
Whether the mesh generator should be verbose to the console.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const bool _coarsen_more_than_two_elements
Whether to repeat the coarsening pass so that more than two elements can be merged together.
const std::vector< BoundaryName > _exclude_boundaries
Sideset(s) to exclude when coarsening along all the sidesets of the mesh.
const std::vector< BoundaryName > _boundaries
Sideset(s) to coarsen the mesh along.
const bool _has_max_normal_deviation
Whether a maximum normal deviation between merged elements is enforced.
const Real _max_merged_element_area
Maximum area of an element created by merging two elements.
const bool _has_max_side_length
Whether a maximum merged side length is enforced.
const Real _max_normal_deviation
Maximum angle (degrees) between the normals of the two elements merged together.
unsigned int coarsenAlongSidesets(std::unique_ptr< MeshBase > &mesh, const std::set< boundary_id_type > &boundary_id_set)
Performs a single coarsening pass: collapse non-adjacent sideset nodes, merging pairs of elements.
std::unique_ptr< MeshBase > & _input
Input mesh to coarsen.
const Real _max_merged_side_length
Maximum length of the side created by merging two elements.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.