https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AnnularMeshGenerator.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 "MeshGenerator.h"
13#include <vector>
14
19{
20public:
22
24
25 std::unique_ptr<MeshBase> generate() override;
26
27protected:
29 const unsigned _nt;
30
32 const Real _rmin;
33
35 const Real _rmax;
36
38 const std::vector<Real> _radial_positions;
39
41 const unsigned _nr;
42
44 const Real _dmin;
45
47 const Real _dmax;
48
50 const bool _radians;
51
53 const Real _growth_r;
54
56 const Real _len;
57
59 const bool _full_annulus;
60
63
66
68 const bool & _equal_area;
69
71 const BoundaryName _boundary_name_prefix;
72
74 const boundary_id_type _boundary_id_offset;
75};
Generates an annular mesh given all the parameters.
const BoundaryName _boundary_name_prefix
prefix string for the boundary names
const SubdomainID _tri_subdomain_id
Subdomain ID of created tri elements (that only exist if rmin=0)
const unsigned _nt
Number of elements in angular direction.
const Real _rmax
Maximum radius.
const Real _rmin
Minimum radius.
const bool _radians
Bool to check if radians are given in the input file.
const SubdomainID _quad_subdomain_id
Subdomain ID of created quad elements.
const Real _len
rmax = rmin + len + len*g + len*g^2 + len*g^3 + ... + len*g^(nr-1) = rmin + len*(1 - g^nr)/(1 - g)
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::vector< Real > _radial_positions
Radial positions of intermediate rings of nodes (optional)
static InputParameters validParams()
const unsigned _nr
Number of elements in radial direction.
const Real _growth_r
Bias on radial meshing.
const Real _dmax
Maximum angle in degrees.
const Real _dmin
Minimum angle in degrees.
const bool _full_annulus
Whether a full annulus (as opposed to a sector) will needs to generate.
const boundary_id_type _boundary_id_offset
offset that is added to the boundary IDs
const bool & _equal_area
Whether to construct rings to have equal areas.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131