27 declareMeshProperty<bool>(
"hexagon_peripheral_trimmability",
false);
28 declareMeshProperty<bool>(
"hexagon_center_trimmability",
false);
31 std::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.");
const MeshGeneratorName _input_name
Name of the input mesh that needs the modification.
T & setMeshProperty(const std::string &data_name, Args &&... args)
static InputParameters validParams()
unsigned int _num_sides
Number of sides of the mesh to be generated.
This PatternedHexPeripheralModifier object removes the outmost layer of the input mesh and add a tran...
void paramError(const std::string ¶m, Args... args) const
static InputParameters validParams()
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
std::unique_ptr< MeshBase > generate() override
std::unique_ptr< MeshBase > generate() override
PatternedHexPeripheralModifier(const InputParameters ¶meters)
registerMooseObject("ReactorApp", PatternedHexPeripheralModifier)