27 declareMeshProperty<bool>(
"hexagon_peripheral_trimmability",
false);
28 declareMeshProperty<bool>(
"hexagon_center_trimmability",
false);
31std::unique_ptr<MeshBase>
34 if (hasMeshProperty<bool>(
"hexagon_center_trimmability",
_input_name))
36 getMeshProperty<bool>(
"hexagon_center_trimmability",
_input_name));
39 if (!hasMeshProperty<bool>(
"peripheral_modifier_compatible",
_input_name) ||
40 !getMeshProperty<bool>(
"peripheral_modifier_compatible",
_input_name))
42 "The input mesh is generated by a mesh generator that is not compatible with "
43 "PatternedHexPeripheralModifier.");
45 if (!hasMeshProperty<bool>(
"hexagon_center_trimmability",
_input_name))
46 paramError(
"input",
"The input mesh is not declared as center-trimmable in its metadata.");
registerMooseObject("ReactorApp", PatternedHexPeripheralModifier)
T & setMeshProperty(const std::string &data_name, Args &&... args)
void paramError(const std::string ¶m, Args... args) const
This PatternedHexPeripheralModifier object removes the outmost layer of the input mesh and add a tran...
PatternedHexPeripheralModifier(const InputParameters ¶meters)
static InputParameters validParams()
std::unique_ptr< MeshBase > generate() override
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
static InputParameters validParams()
const MeshGeneratorName _input_name
Name of the input mesh that needs the modification.
std::unique_ptr< MeshBase > generate() override
unsigned int _num_sides
Number of sides of the mesh to be generated.