https://mooseframework.inl.gov
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 {
20 public:
22 
24 
25  std::unique_ptr<MeshBase> generate() override;
26 
27 protected:
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 
75 };
const BoundaryName _boundary_name_prefix
prefix string for the boundary names
const std::vector< Real > _radial_positions
Radial positions of intermediate rings of nodes (optional)
const unsigned _nt
Number of elements in angular direction.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const Real _dmax
Maximum angle in degrees.
const Real _rmax
Maximum radius.
const SubdomainID _quad_subdomain_id
Subdomain ID of created quad elements.
const SubdomainID _tri_subdomain_id
Subdomain ID of created tri elements (that only exist if rmin=0)
const bool _full_annulus
Whether a full annulus (as opposed to a sector) will needs to generate.
int8_t boundary_id_type
const Real _growth_r
Bias on radial meshing.
const Real _rmin
Minimum radius.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const boundary_id_type _boundary_id_offset
offset that is added to the boundary IDs
static InputParameters validParams()
const bool & _equal_area
Whether to construct rings to have equal areas.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
AnnularMeshGenerator(const InputParameters &parameters)
const unsigned _nr
Number of elements in radial direction.
const InputParameters & parameters() const
Get the parameters of the object.
const bool _radians
Bool to check if radians are given in the input file.
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) ...
Generates an annular mesh given all the parameters.
const Real _dmin
Minimum angle in degrees.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:32