Loading [MathJax]/extensions/tex2jax.js
Cardinal
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
HexagonalSubchannelGapBin.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
22#include "HexagonalLatticeUtils.h"
23
29{
30public:
31 static InputParameters validParams();
32
33 HexagonalSubchannelGapBin(const InputParameters & parameters);
34
35 virtual unsigned int bin(const Point & p) const override;
36
37 virtual unsigned int num_bins() const override;
38
39 virtual Real distanceFromGap(const Point & point, const unsigned int & gap_index) const override;
40
41 virtual unsigned int gapIndex(const Point & point) const override;
42
43 virtual void
44 gapIndexAndDistance(const Point & point, unsigned int & index, Real & distance) const override;
45
46 virtual const std::vector<Point> & gapUnitNormals() const override
47 {
48 return _hex_lattice->gapUnitNormals();
49 }
50
51protected:
53 const Real & _bundle_pitch;
54
56 const Real & _pin_pitch;
57
59 const Real & _pin_diameter;
60
62 const unsigned int & _n_rings;
63
65 const unsigned int _axis;
66
68 std::unique_ptr<HexagonalLatticeUtils> _hex_lattice;
69};
Definition HexagonalSubchannelGapBin.h:29
const Real & _bundle_pitch
Bundle pitch.
Definition HexagonalSubchannelGapBin.h:53
static InputParameters validParams()
Definition HexagonalSubchannelGapBin.C:24
const Real & _pin_pitch
Pin pitch.
Definition HexagonalSubchannelGapBin.h:56
const unsigned int & _n_rings
Total number of rings of pins.
Definition HexagonalSubchannelGapBin.h:62
const unsigned int _axis
Vertical axis of the bundle along which the pins are aligned.
Definition HexagonalSubchannelGapBin.h:65
virtual Real distanceFromGap(const Point &point, const unsigned int &gap_index) const override
Definition HexagonalSubchannelGapBin.C:86
virtual const std::vector< Point > & gapUnitNormals() const override
Definition HexagonalSubchannelGapBin.h:46
virtual unsigned int gapIndex(const Point &point) const override
Definition HexagonalSubchannelGapBin.C:93
virtual void gapIndexAndDistance(const Point &point, unsigned int &index, Real &distance) const override
Definition HexagonalSubchannelGapBin.C:99
virtual unsigned int num_bins() const override
Definition HexagonalSubchannelGapBin.C:80
virtual unsigned int bin(const Point &p) const override
Definition HexagonalSubchannelGapBin.C:74
std::unique_ptr< HexagonalLatticeUtils > _hex_lattice
Underlying utility providing hexagonal lattice capabilities.
Definition HexagonalSubchannelGapBin.h:68
const Real & _pin_diameter
Pin diameter.
Definition HexagonalSubchannelGapBin.h:59
Definition PlaneSpatialBinUserObject.h:27