Cardinal
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 {
30 public:
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 
51 protected:
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 };
HexagonalSubchannelGapBin::gapIndex
virtual unsigned int gapIndex(const Point &point) const override
Definition: HexagonalSubchannelGapBin.C:93
HexagonalSubchannelGapBin
Definition: HexagonalSubchannelGapBin.h:28
HexagonalSubchannelGapBin::bin
virtual unsigned int bin(const Point &p) const override
Definition: HexagonalSubchannelGapBin.C:74
PlaneSpatialBinUserObject.h
PlaneSpatialBinUserObject
Definition: PlaneSpatialBinUserObject.h:26
HexagonalSubchannelGapBin::_axis
const unsigned int _axis
Vertical axis of the bundle along which the pins are aligned.
Definition: HexagonalSubchannelGapBin.h:65
HexagonalSubchannelGapBin::validParams
static InputParameters validParams()
Definition: HexagonalSubchannelGapBin.C:24
HexagonalSubchannelGapBin::_n_rings
const unsigned int & _n_rings
Total number of rings of pins.
Definition: HexagonalSubchannelGapBin.h:62
HexagonalSubchannelGapBin::_bundle_pitch
const Real & _bundle_pitch
Bundle pitch.
Definition: HexagonalSubchannelGapBin.h:53
HexagonalSubchannelGapBin::gapIndexAndDistance
virtual void gapIndexAndDistance(const Point &point, unsigned int &index, Real &distance) const override
Definition: HexagonalSubchannelGapBin.C:99
HexagonalSubchannelGapBin::distanceFromGap
virtual Real distanceFromGap(const Point &point, const unsigned int &gap_index) const override
Definition: HexagonalSubchannelGapBin.C:86
HexagonalSubchannelGapBin::_hex_lattice
std::unique_ptr< HexagonalLatticeUtils > _hex_lattice
Underlying utility providing hexagonal lattice capabilities.
Definition: HexagonalSubchannelGapBin.h:68
HexagonalSubchannelGapBin::num_bins
virtual unsigned int num_bins() const override
Definition: HexagonalSubchannelGapBin.C:80
HexagonalSubchannelGapBin::_pin_diameter
const Real & _pin_diameter
Pin diameter.
Definition: HexagonalSubchannelGapBin.h:59
HexagonalSubchannelGapBin::gapUnitNormals
virtual const std::vector< Point > & gapUnitNormals() const override
Definition: HexagonalSubchannelGapBin.h:46
HexagonalSubchannelGapBin::_pin_pitch
const Real & _pin_pitch
Pin pitch.
Definition: HexagonalSubchannelGapBin.h:56
HexagonalSubchannelGapBin::HexagonalSubchannelGapBin
HexagonalSubchannelGapBin(const InputParameters &parameters)
Definition: HexagonalSubchannelGapBin.C:44