Loading [MathJax]/extensions/tex2jax.js
Cardinal
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
HexagonalSubchannelMeshBase.h
Go to the documentation of this file.
1/********************************************************************/
2/* SOFTWARE COPYRIGHT NOTIFICATION */
3/* Cardinal */
4/* */
5/* (c) 2021 UChicago Argonne, LLC */
6/* ALL RIGHTS RESERVED */
7/* */
8/* Prepared by UChicago Argonne, LLC */
9/* Under Contract No. DE-AC02-06CH11357 */
10/* With the U. S. Department of Energy */
11/* */
12/* Prepared by Battelle Energy Alliance, LLC */
13/* Under Contract No. DE-AC07-05ID14517 */
14/* With the U. S. Department of Energy */
15/* */
16/* See LICENSE for full restrictions */
17/********************************************************************/
18
19#pragma once
20
21#include "MooseMesh.h"
22#include "HexagonalLatticeUtils.h"
23
28class HexagonalSubchannelMeshBase : public MooseMesh
29{
30public:
31 static InputParameters validParams();
32
33 HexagonalSubchannelMeshBase(const InputParameters & parameters);
34 HexagonalSubchannelMeshBase(const HexagonalSubchannelMeshBase & /* other_mesh */) = default;
35
37
38protected:
45 const Point rotatePoint(const Point & p, const Real & theta) const;
46
48 const Real & _bundle_pitch;
49
51 const Real & _pin_pitch;
52
54 const Real & _pin_diameter;
55
57 const unsigned int & _n_rings;
58
60 const unsigned int _axis;
61
63 HexagonalLatticeUtils _hex_lattice;
64
66 const std::vector<Point> & _pin_centers;
67
70
73
74 static const Real SIN30;
75
76 static const Real COS30;
77
79 static const unsigned int NODES_PER_PRISM;
80
82 static const unsigned int NUM_SIDES;
83};
Definition HexagonalSubchannelMeshBase.h:29
const Real & _bundle_pitch
Bundle pitch (distance across bundle measured flat-to-flat on the inside of the duct)
Definition HexagonalSubchannelMeshBase.h:48
const Real & _pin_pitch
Pin pitch.
Definition HexagonalSubchannelMeshBase.h:51
static const unsigned int NODES_PER_PRISM
Number of nodes per prism6 element.
Definition HexagonalSubchannelMeshBase.h:79
static const Real SIN30
Definition HexagonalSubchannelMeshBase.h:74
static const Real COS30
Definition HexagonalSubchannelMeshBase.h:76
static InputParameters validParams()
Definition HexagonalSubchannelMeshBase.C:27
int _node_id_counter
Node ID.
Definition HexagonalSubchannelMeshBase.h:72
HexagonalLatticeUtils _hex_lattice
Utility providing hexagonal lattice geometry calculations.
Definition HexagonalSubchannelMeshBase.h:63
static const unsigned int NUM_SIDES
Number of sides in a hexagon.
Definition HexagonalSubchannelMeshBase.h:82
HexagonalSubchannelMeshBase(const HexagonalSubchannelMeshBase &)=default
HexagonalSubchannelMeshBase & operator=(const HexagonalSubchannelMeshBase &other_mesh)=delete
const std::vector< Point > & _pin_centers
Coordinates for the pin centers.
Definition HexagonalSubchannelMeshBase.h:66
const unsigned int _axis
Vertical axis of the bundle along which the pins are aligned.
Definition HexagonalSubchannelMeshBase.h:60
const Point rotatePoint(const Point &p, const Real &theta) const
Definition HexagonalSubchannelMeshBase.C:65
const Real & _pin_diameter
Pin diameter.
Definition HexagonalSubchannelMeshBase.h:54
const unsigned int & _n_rings
Total number of rings of pins.
Definition HexagonalSubchannelMeshBase.h:57
int _elem_id_counter
Element ID.
Definition HexagonalSubchannelMeshBase.h:69