https://mooseframework.inl.gov
HexagonalGridPositions.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 "Positions.h"
13 
15 
20 {
21 public:
23 
25 
26  void initialize() override;
27 
28 protected:
30  const Point _center;
31 
32  // Extent of the hexagonal lattice
37 
40 
42  const unsigned int _nr;
43 
45  std::vector<std::vector<unsigned int>> _pattern;
46 
48  std::set<unsigned int> _include_in_pattern;
49 
51  std::vector<std::vector<int>> _positions_pattern;
52 
54  std::map<std::string, unsigned int> _positions_pattern_indexing;
55 
57  std::unique_ptr<HexagonalLatticeUtils> _hex_latt;
58 };
const Real _pin_pitch
Pitch between fuel pins.
std::map< std::string, unsigned int > _positions_pattern_indexing
Indexing of the positions objects in the pattern.
const Real _lattice_flat_to_flat
Distance from one side to the one facing it of the lattice.
Creates positions (points) following an hexagonal grid.
std::vector< std::vector< int > > _positions_pattern
List of positions objects, the positions of which are translated in the parent hexagonal pattern...
std::set< unsigned int > _include_in_pattern
List of the pattern locations to include. Include all if empty.
const Point _center
Center of the lattice.
HexagonalGridPositions(const InputParameters &parameters)
Class providing various utility functions related to triangular lattices of pins enclosed in a hexago...
const MooseEnum _z_axis_index
Axial component for the Z axis.
std::unique_ptr< HexagonalLatticeUtils > _hex_latt
Hexagonal lattice utility object.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
static InputParameters validParams()
std::vector< std::vector< unsigned int > > _pattern
2D pattern of the pins to select (if specified)
const unsigned int _nr
Number of rings in the radial direction.