Line data Source code
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 : 10 : #include "PatternedCartesianPeripheralModifier.h" 11 : 12 : #include "MooseMeshUtils.h" 13 : 14 : registerMooseObject("ReactorApp", PatternedCartesianPeripheralModifier); 15 : 16 : InputParameters 17 164 : PatternedCartesianPeripheralModifier::validParams() 18 : { 19 164 : InputParameters params = PatternedPolygonPeripheralModifierBase::validParams(); 20 164 : return params; 21 : } 22 : 23 78 : PatternedCartesianPeripheralModifier::PatternedCartesianPeripheralModifier( 24 78 : const InputParameters & parameters) 25 78 : : PatternedPolygonPeripheralModifierBase(parameters) 26 : { 27 78 : _num_sides = SQUARE_NUM_SIDES; 28 78 : declareMeshProperty<bool>("square_peripheral_trimmability", false); 29 78 : declareMeshProperty<bool>("square_center_trimmability", false); 30 78 : } 31 : 32 : std::unique_ptr<MeshBase> 33 78 : PatternedCartesianPeripheralModifier::generate() 34 : { 35 156 : if (hasMeshProperty<bool>("square_center_trimmability", _input_name)) 36 152 : setMeshProperty("square_center_trimmability", 37 : getMeshProperty<bool>("square_center_trimmability", _input_name)); 38 : 39 : // Check if the input mesh is compatible 40 78 : if (!getMeshProperty<bool>("peripheral_modifier_compatible", _input_name)) 41 2 : paramError("input", 42 : "The input mesh is generated by a mesh generator that is not compatible with " 43 : "PatternedCartesianPeripheralModifier."); 44 : // Whether the input mesh is cartesian 45 152 : if (!hasMeshProperty<bool>("square_center_trimmability", _input_name)) 46 2 : paramError("input", "The input mesh is not declared as center-trimmable in its metadata."); 47 : 48 74 : return PatternedPolygonPeripheralModifierBase::generate(); 49 : }