https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SpiralAnnularMesh.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
18{
19public:
21
23 SpiralAnnularMesh(const SpiralAnnularMesh & /* other_mesh */) = default;
24
25 // No copy
26 SpiralAnnularMesh & operator=(const SpiralAnnularMesh & other_mesh) = delete;
27
28 virtual std::unique_ptr<MooseMesh> safeClone() const override;
29
30 virtual void buildMesh() override;
31
32protected:
34 const Real _inner_radius;
35
37 const Real _outer_radius;
38
42
44 const unsigned int _nodes_per_ring;
45
47 const bool _use_tri6;
48
53 unsigned int _num_rings;
54
56 const boundary_id_type _cylinder_bid, _exterior_bid;
57
58 // Width of the initial layer of elements around the cylinder.
59 // This number should be approximately 2 * pi * inner_radius / nodes_per_ring
60 // to ensure that the initial layer of elements is almost
61 // equilateral
62 const Real _initial_delta_r;
63};
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
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
Mesh generated from parameters.
const Real _inner_radius
Radius of the inner circle.
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.
const Real _outer_radius
Radius of the outer circle. Logically, it's bigger that inner_radius.
const unsigned int _nodes_per_ring
Number of nodes on each ring.
Real _radial_bias
Factor to increase initial_delta_r for each ring.
const bool _use_tri6
Generate mesh of TRI6 elements instead of TRI3 elements.
const Real _initial_delta_r
unsigned int _num_rings
Number of rings.You can't specify both the number of rings and the radial bias if you want to match a...
const boundary_id_type _cylinder_bid
The boundary id to use for the cylinder.
static InputParameters validParams()
SpiralAnnularMesh(const SpiralAnnularMesh &)=default
SpiralAnnularMesh & operator=(const SpiralAnnularMesh &other_mesh)=delete
const boundary_id_type _exterior_bid
virtual void buildMesh() override
Must be overridden by child classes.