https://mooseframework.inl.gov
SCMQuadSubChannelMeshGenerator.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 #include <vector>
12 #include "MeshGenerator.h"
13 #include "libmesh/point.h"
14 #include "SubChannelEnums.h"
15 
20 {
21 public:
23  std::unique_ptr<MeshBase> generate() override;
24 
25 protected:
33  std::vector<Real> _z_grid;
35  std::vector<std::vector<Real>> _k_grid;
37  const std::vector<Real> & _spacer_z;
39  const std::vector<Real> & _spacer_k;
41  const std::vector<Real> _z_blockage;
43  const std::vector<unsigned int> _index_blockage;
45  const std::vector<Real> _reduction_blockage;
47  const std::vector<Real> _k_blockage;
49  const Real & _kij;
51  const Real _pitch;
55  const unsigned int _n_cells;
57  unsigned int _n_blocks;
59  const unsigned int _nx;
61  const unsigned int _ny;
63  const unsigned int _n_channels;
65  const unsigned int _n_gaps;
67  const unsigned int _n_pins;
72  const Real _gap;
74  const unsigned int _block_id;
76  std::vector<std::vector<Node *>> _nodes;
78  std::vector<std::vector<Node *>> _gapnodes;
79  std::vector<std::pair<unsigned int, unsigned int>> _gap_to_chan_map;
80  std::vector<std::pair<unsigned int, unsigned int>> _gap_to_pin_map;
81  std::vector<std::vector<unsigned int>> _chan_to_gap_map;
82  std::vector<std::vector<unsigned int>> _chan_to_pin_map;
83  std::vector<std::vector<unsigned int>> _pin_to_chan_map;
85  std::vector<std::vector<double>> _sign_id_crossflow_map;
87  std::vector<std::vector<Real>> _gij_map;
89  std::vector<std::vector<Real>> _subchannel_position;
91  std::vector<EChannelType> _subch_type;
92 
93 public:
95 
97 };
const unsigned int _n_gaps
Number of gaps per layer.
Class for Subchannel mesh generation in the square lattice geometry.
const std::vector< Real > & _spacer_k
form loss coefficient of the spacers
const Real _pitch
Distance between the neighbor fuel pins, pitch.
std::vector< std::pair< unsigned int, unsigned int > > _gap_to_chan_map
const std::vector< unsigned int > _index_blockage
index of subchannels affected by blockage
const Real _gap
The gap, not to be confused with the gap between pins, this refers to the gap next to the duct...
const std::vector< Real > _z_blockage
axial location of blockage (inlet, outlet) [m]
std::vector< std::vector< unsigned int > > _chan_to_pin_map
const unsigned int _n_cells
number of axial cells
const unsigned int _ny
Number of subchannels in the y direction.
std::vector< std::vector< Real > > _subchannel_position
x,y coordinates of the subchannel centroid
const unsigned int _n_channels
Total number of subchannels.
const Real _unheated_length_entry
unheated length of the fuel Pin at the entry of the assembly
const std::vector< Real > _k_blockage
form loss coefficient of subchannels affected by blockage
std::vector< std::vector< Node * > > _nodes
Channel nodes.
const unsigned int _nx
Number of subchannels in the x direction.
const std::vector< Real > _reduction_blockage
area reduction of subchannels affected by blockage
std::vector< EChannelType > _subch_type
Subchannel type.
std::unique_ptr< MeshBase > generate() override
std::vector< std::vector< Real > > _gij_map
Vector to store gap size.
SCMQuadSubChannelMeshGenerator(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< std::vector< Node * > > _gapnodes
gap nodes
const Real _pin_diameter
fuel Pin diameter
std::vector< std::vector< unsigned int > > _chan_to_gap_map
const Real _unheated_length_exit
unheated length of the fuel Pin at the exit of the assembly
const std::vector< Real > & _spacer_z
axial location of the spacers
std::vector< std::vector< unsigned int > > _pin_to_chan_map
std::vector< std::vector< double > > _sign_id_crossflow_map
Matrix used to give local sign to crossflow quantities.
const InputParameters & parameters() const
const unsigned int _block_id
block index
const Real & _kij
Lateral form loss coefficient.
std::vector< std::vector< Real > > _k_grid
axial form loss coefficient per computational cell
std::vector< std::pair< unsigned int, unsigned int > > _gap_to_pin_map
const Real _heated_length
heated length of the fuel Pin
std::vector< Real > _z_grid
axial location of nodes
const unsigned int _n_pins
Number of pins.
unsigned int _n_blocks
number of axial blocks
Class to create Pin mesh in the square lattice geometry.