13 #include "libmesh/unstructured_mesh.h"    21   params.
addRequiredParam<MeshGeneratorName>(
"input", 
"The mesh we want to modify");
    23                      "stitch_boundaries_pair",
    24                      "Pair of boundaries to be stitched together.");
    34     paramError(
"stitch_boundaries_pair", 
"Can only stitch two boundaries together.");
    37 std::unique_ptr<MeshBase>
    40   std::unique_ptr<UnstructuredMesh> 
mesh =
    43   const bool use_binary_search = (
_algorithm == 
"BINARY");
    46   mesh->get_boundary_info().build_node_list_from_side_list();
    53   mesh->stitch_surfaces(first_bid,
    57                         getParam<bool>(
"verbose_stitching"),
    59                         getParam<Real>(
"stitching_hmin_tolerance_factor"));
    61   mesh->set_isnt_prepared();
 
Allows a pair of boundaries to be "stitched" together. 
boundary_id_type getBoundaryIdToStitch(const MeshBase &mesh, const std::string &input_mg_name, const BoundaryName &bname) const
Get the boundary id from the name of a boundary to stitch. 
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
std::unique_ptr< T_DEST, T_DELETER > dynamic_pointer_cast(std::unique_ptr< T_SRC, T_DELETER > &src)
These are reworked from https://stackoverflow.com/a/11003103. 
const bool _clear_stitched_boundary_ids
Whether or not to clear (remove) the stitched boundary IDs. 
static InputParameters validParams()
const std::string & name() const
Get the name of the class. 
static InputParameters validParams()
A base class for mesh generators that stitch boundaries together. 
StitchBoundaryMeshGenerator(const InputParameters ¶meters)
const MooseEnum _algorithm
Type of algorithm used to find matching nodes (binary or exhaustive) 
std::unique_ptr< MeshBase > & _input
the input mesh 
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh. 
registerMooseObject("MooseApp", StitchBoundaryMeshGenerator)
const std::vector< std::vector< std::string > > _stitch_boundaries_pairs
A transformed version of _stitch_boundaries into a more logical "pairwise" structure.