28 declareMeshProperty<bool>(
"square_peripheral_trimmability",
false);
29 declareMeshProperty<bool>(
"square_center_trimmability",
false);
32 std::unique_ptr<MeshBase>
35 if (hasMeshProperty<bool>(
"square_center_trimmability",
_input_name))
37 getMeshProperty<bool>(
"square_center_trimmability",
_input_name));
40 if (!getMeshProperty<bool>(
"peripheral_modifier_compatible",
_input_name))
42 "The input mesh is generated by a mesh generator that is not compatible with " 43 "PatternedCartesianPeripheralModifier.");
45 if (!hasMeshProperty<bool>(
"square_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.
std::unique_ptr< MeshBase > generate() override
T & setMeshProperty(const std::string &data_name, Args &&... args)
void paramError(const std::string ¶m, Args... args) const
registerMooseObject("ReactorApp", PatternedCartesianPeripheralModifier)
static InputParameters validParams()
static InputParameters validParams()
unsigned int _num_sides
Number of sides of the mesh to be generated.
This PatternedCartesianPeripheralModifier object removes the outmost layer of the input mesh and add ...
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
std::unique_ptr< MeshBase > generate() override
PatternedCartesianPeripheralModifier(const InputParameters ¶meters)