https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PatternedHexPeripheralModifier.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
11
12#include "MooseMeshUtils.h"
13
15
22
25{
27 declareMeshProperty<bool>("hexagon_peripheral_trimmability", false);
28 declareMeshProperty<bool>("hexagon_center_trimmability", false);
29}
30
31std::unique_ptr<MeshBase>
33{
34 if (hasMeshProperty<bool>("hexagon_center_trimmability", _input_name))
35 setMeshProperty("hexagon_center_trimmability",
36 getMeshProperty<bool>("hexagon_center_trimmability", _input_name));
37
38 // Check if the input mesh is compatible
39 if (!hasMeshProperty<bool>("peripheral_modifier_compatible", _input_name) ||
40 !getMeshProperty<bool>("peripheral_modifier_compatible", _input_name))
41 paramError("input",
42 "The input mesh is generated by a mesh generator that is not compatible with "
43 "PatternedHexPeripheralModifier.");
44 // Whether the input mesh is hexagonal
45 if (!hasMeshProperty<bool>("hexagon_center_trimmability", _input_name))
46 paramError("input", "The input mesh is not declared as center-trimmable in its metadata.");
47
49}
registerMooseObject("ReactorApp", PatternedHexPeripheralModifier)
T & setMeshProperty(const std::string &data_name, Args &&... args)
void paramError(const std::string &param, Args... args) const
This PatternedHexPeripheralModifier object removes the outmost layer of the input mesh and add a tran...
PatternedHexPeripheralModifier(const InputParameters &parameters)
std::unique_ptr< MeshBase > generate() override
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
const MeshGeneratorName _input_name
Name of the input mesh that needs the modification.
unsigned int _num_sides
Number of sides of the mesh to be generated.