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 "PolygonConcentricCircleMeshGenerator.h" 11 : 12 : using namespace libMesh; 13 : 14 : registerMooseObject("ReactorApp", PolygonConcentricCircleMeshGenerator); 15 : 16 : InputParameters 17 3538 : PolygonConcentricCircleMeshGenerator::validParams() 18 : { 19 3538 : InputParameters params = PolygonConcentricCircleMeshGeneratorBase::validParams(); 20 7076 : params.addRequiredRangeCheckedParam<Real>("polygon_size", 21 : "polygon_size>0.0", 22 : "Size of the polygon to be generated (given as either " 23 : "apothem or radius depending on polygon_size_style)."); 24 7076 : MooseEnum polygon_size_style("apothem radius", "apothem"); 25 7076 : params.addParam<MooseEnum>("polygon_size_style", 26 : polygon_size_style, 27 : "Style in which polygon size is given (default: apothem)."); 28 10614 : params.addRangeCheckedParam<unsigned int>( 29 7076 : "num_sides", 6, "num_sides>=3", "Number of sides of the polygon."); 30 3538 : params.addClassDescription("This PolygonConcentricCircleMeshGenerator object is designed to mesh " 31 : "a polygon geometry with optional rings centered inside."); 32 : 33 3538 : return params; 34 3538 : } 35 : 36 1809 : PolygonConcentricCircleMeshGenerator::PolygonConcentricCircleMeshGenerator( 37 1809 : const InputParameters & parameters) 38 1809 : : PolygonConcentricCircleMeshGeneratorBase(parameters) 39 : { 40 1731 : _is_general_polygon = true; 41 1731 : if (_quad_center_elements && (_num_sectors_per_side.front() != _num_sectors_per_side.back())) 42 2 : paramError("quad_center_elements", 43 : "This parameter must be false if different side sector numbers are set."); 44 1729 : }