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)
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 ...
void paramError(const std::string ¶m, Args... args) const
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
std::unique_ptr< MeshBase > generate() override
PatternedCartesianPeripheralModifier(const InputParameters ¶meters)