https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ConcentricCircleMesh.h
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
10#pragma once
11
12#include "MooseMesh.h"
13#include "MooseEnum.h"
14
19{
20public:
22
24
25 ConcentricCircleMesh(const ConcentricCircleMesh & /* other_mesh */) = default;
26
27 ConcentricCircleMesh & operator=(const ConcentricCircleMesh & other_mesh) = delete;
28 virtual std::unique_ptr<MooseMesh> safeClone() const override;
29
30 virtual void buildMesh() override;
31
32protected:
34 unsigned int _num_sectors;
36 std::vector<Real> _radii;
38 std::vector<unsigned int> _rings;
43 Real _pitch;
48};
Mesh generated from parameters.
std::vector< unsigned int > _rings
Number of rings in each circle or in the moderator.
std::vector< Real > _radii
Radii of concentric circles.
MooseEnum _portion
Control of which portion of mesh will be developed.
Real _inner_mesh_fraction
Size of inner square in relation to radius of the innermost concentric circle.
bool _preserve_volumes
Volume preserving function is optional.
bool _has_outer_square
Adding the moderator is optional.
static InputParameters validParams()
ConcentricCircleMesh(const ConcentricCircleMesh &)=default
unsigned int _num_sectors
Number of sectors in one quadrant.
virtual void buildMesh() override
Must be overridden by child classes.
virtual std::unique_ptr< MooseMesh > safeClone() const override
A safer version of the clone() method that hands back an allocated object wrapped in a smart pointer.
ConcentricCircleMesh & operator=(const ConcentricCircleMesh &other_mesh)=delete
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95