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 4350 : PolygonConcentricCircleMeshGenerator::validParams() 18 : { 19 4350 : InputParameters params = PolygonConcentricCircleMeshGeneratorBase::validParams(); 20 8700 : 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 8700 : MooseEnum polygon_size_style("apothem radius", "apothem"); 25 8700 : params.addParam<MooseEnum>("polygon_size_style", 26 : polygon_size_style, 27 : "Style in which polygon size is given (default: apothem)."); 28 13050 : params.addRangeCheckedParam<unsigned int>( 29 8700 : "num_sides", 6, "num_sides>=3", "Number of sides of the polygon."); 30 4350 : params.addClassDescription("This PolygonConcentricCircleMeshGenerator object is designed to mesh " 31 : "a polygon geometry with optional rings centered inside."); 32 : 33 4350 : return params; 34 4350 : } 35 : 36 2215 : PolygonConcentricCircleMeshGenerator::PolygonConcentricCircleMeshGenerator( 37 2215 : const InputParameters & parameters) 38 2215 : : PolygonConcentricCircleMeshGeneratorBase(parameters) 39 : { 40 2137 : _is_general_polygon = true; 41 2137 : 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 2135 : }