20   params.
addClassDescription(
"Takes a 1D or 2D mesh and extrudes a selected sideset along the "    23   params.
addRequiredParam<MeshGeneratorName>(
"input", 
"The mesh we want to modify");
    25                                            "The direction and length of the extrusion as a vector");
    26   params.
addParam<
unsigned int>(
"num_layers", 1, 
"The number of layers in the extruded mesh");
    27   params.
addRequiredParam<BoundaryName>(
"sideset", 
"The sideset (boundary) that will be extruded");
    34     _original_input(getParam<MeshGeneratorName>(
"input")),
    36     _num_layers(getParam<unsigned 
int>(
"num_layers")),
    37     _sideset_name(getParam<BoundaryName>(
"sideset"))
    44   const SubdomainName extruded_block_name = 
"extruded_block_" + 
name();
    45   const BoundaryName sideset_to_stitch = 
"to_be_stitched_" + 
name();
    52     params.set<SubdomainName>(
"new_block_name") = extruded_block_name;
    53     params.set<std::vector<BoundaryName>>(
"sidesets") = {
_sideset_name};
    62     params.
set<MeshGeneratorName>(
"input") = 
name() + 
"_lowerDgeneration";
    63     params.set<std::vector<SubdomainName>>(
"target_blocks") = {extruded_block_name};
    72     params.
set<MeshGeneratorName>(
"input") = 
name() + 
"_blockToMesh";
    74     params.set<
unsigned int>(
"num_layers") = 
_num_layers;
    75     params.set<std::vector<BoundaryName>>(
"bottom_sideset") = {sideset_to_stitch};
    88     params.set<std::vector<std::vector<std::string>>>(
"stitch_boundaries_pairs") = {
    97 std::unique_ptr<MeshBase>
 std::unique_ptr< MeshBase > & getMeshByName(const MeshGeneratorName &mesh_generator_name)
Like getMesh(), but takes the name of another MeshGenerator directly. 
const RealVectorValue _extrusion_vector
Extrusion vector containing both the direction and the magnitude of the sideset extrusion. 
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object. 
const BoundaryName _sideset_name
Name of the sideset to extrude. 
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App. 
std::unique_ptr< MeshBase > * _build_mesh
Mesh generated from each sub-generator. 
void declareMeshForSub(const std::string ¶m_name)
Declares that a MeshGenerator referenced in the InputParameters is to be used as a dependency of a su...
const std::string & name() const
Get the name of the class. 
void addMeshSubgenerator(const std::string &type, const std::string &name, Ts... extra_input_parameters)
Construct a "subgenerator", a different MeshGenerator subclass that will be added to the same MooseAp...
Extrude a sideset from a mesh in a given direction. 
const MeshGeneratorName _original_input
Name of the base mesh containing the sideset to extruded. 
MooseApp & _app
The MOOSE application this is associated with. 
static InputParameters validParams()
SideSetExtruderGenerator(const InputParameters ¶meters)
registerMooseObject("MooseApp", SideSetExtruderGenerator)
static InputParameters validParams()
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh. 
MeshGenerators are objects that can modify or add to an existing mesh. 
void ErrorVector unsigned int
const unsigned int _num_layers
Number of element layers in the direction of the extrusion when extruding.