www.mooseframework.org
AnnularMesh.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef ANNULARMESH_H
16 #define ANNULARMESH_H
17 
18 #include "MooseMesh.h"
19 
20 class AnnularMesh;
21 
22 template <>
24 
28 class AnnularMesh : public MooseMesh
29 {
30 public:
32  AnnularMesh(const AnnularMesh & other_mesh) = default;
33 
34  // No copy
35  AnnularMesh & operator=(const AnnularMesh & other_mesh) = delete;
36 
37  virtual MooseMesh & clone() const override;
38  virtual void buildMesh() override;
39  virtual Real getMinInDimension(unsigned int component) const override;
40  virtual Real getMaxInDimension(unsigned int component) const override;
41 
42 protected:
44  const unsigned _nr;
45 
47  const unsigned _nt;
48 
50  const Real _rmin;
51 
53  const Real _rmax;
54 
56  const Real _tmin;
57 
59  const Real _tmax;
60 
62  const Real _growth_r;
63 
65  const Real _len;
66 
68  const bool _full_annulus;
69 
72 
75 };
76 
77 #endif /* ANNULARMESH_H */
virtual void buildMesh() override
Must be overridden by child classes.
Definition: AnnularMesh.C:126
const Real _growth_r
Bias on radial meshing.
Definition: AnnularMesh.h:62
const SubdomainID _tri_subdomain_id
Subdomain ID of created tri elements (that only exist if rmin=0)
Definition: AnnularMesh.h:74
const Real _rmin
Minimum radius.
Definition: AnnularMesh.h:50
subdomain_id_type SubdomainID
Definition: MooseTypes.h:77
virtual Real getMinInDimension(unsigned int component) const override
Returns the min or max of the requested dimension respectively.
Definition: AnnularMesh.C:88
const Real _rmax
Maximum radius.
Definition: AnnularMesh.h:53
const unsigned _nr
Number of elements in radial direction.
Definition: AnnularMesh.h:44
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual Real getMaxInDimension(unsigned int component) const override
Definition: AnnularMesh.C:104
AnnularMesh(const InputParameters &parameters)
Definition: AnnularMesh.C:58
virtual MooseMesh & clone() const override
Clone method.
Definition: AnnularMesh.C:120
AnnularMesh & operator=(const AnnularMesh &other_mesh)=delete
const bool _full_annulus
Whether a full annulus (as opposed to a sector) will needs to generate.
Definition: AnnularMesh.h:68
const SubdomainID _quad_subdomain_id
Subdomain ID of created quad elements.
Definition: AnnularMesh.h:71
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
InputParameters validParams< AnnularMesh >()
Definition: AnnularMesh.C:22
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) ...
Definition: AnnularMesh.h:65
Mesh generated from parameters.
Definition: AnnularMesh.h:28
const Real _tmin
Minimum angle.
Definition: AnnularMesh.h:56
const Real _tmax
Maximum angle.
Definition: AnnularMesh.h:59
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
const unsigned _nt
Number of elements in angular direction.
Definition: AnnularMesh.h:47