https://mooseframework.inl.gov
SCMTriSubChannelMeshGenerator.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 "MeshGenerator.h"
13 #include "SubChannelEnums.h"
14 
19 {
20 public:
22 
23  std::unique_ptr<MeshBase> generate() override;
24 
25 protected:
33  const unsigned int _block_id;
35  std::vector<Real> _z_grid;
37  std::vector<std::vector<Real>> _k_grid;
39  const std::vector<Real> & _spacer_z;
41  const std::vector<Real> & _spacer_k;
43  const std::vector<Real> _z_blockage;
45  const std::vector<unsigned int> _index_blockage;
47  const std::vector<Real> _reduction_blockage;
49  const std::vector<Real> _k_blockage;
51  const Real _pitch;
53  const Real & _kij;
57  const unsigned int _n_cells;
59  const unsigned int _n_rings;
61  unsigned int _n_channels;
65  const Real _dwire;
67  const Real _hwire;
70 
72  std::vector<std::vector<Node *>> _nodes;
74  std::vector<std::pair<unsigned int, unsigned int>> _gap_to_chan_map;
76  std::vector<std::pair<unsigned int, unsigned int>> _gap_to_pin_map;
78  std::vector<std::vector<unsigned int>> _chan_to_gap_map;
83  std::vector<std::vector<Real>> _sign_id_crossflow_map;
85  std::vector<std::vector<Real>> _gij_map;
87  std::vector<std::vector<Real>> _subchannel_position;
89  std::vector<Point> _pin_position;
91  std::vector<std::vector<Real>> _pins_in_rings;
93  std::vector<std::vector<unsigned int>> _chan_to_pin_map;
95  std::vector<std::vector<unsigned int>> _pin_to_chan_map;
97  unsigned int _npins;
99  unsigned int _n_gaps;
101  std::vector<EChannelType> _subch_type;
103  std::vector<EChannelType> _gap_type;
105  std::vector<std::pair<unsigned int, unsigned int>> _gap_pairs_sf;
107  std::vector<std::pair<unsigned int, unsigned int>> _chan_pairs_sf;
108 
109 public:
110  static InputParameters validParams();
111 };
unsigned int _npins
number of fuel pins
std::vector< EChannelType > _gap_type
gap type
std::vector< std::vector< Real > > _pins_in_rings
fuel pins that are belonging to each ring
std::vector< std::pair< unsigned int, unsigned int > > _chan_pairs_sf
sweeping flow model channel pairs to specify directional edge flow
std::vector< std::pair< unsigned int, unsigned int > > _gap_to_chan_map
stores the channel pairs for each gap
std::vector< EChannelType > _subch_type
subchannel type
std::vector< std::pair< unsigned int, unsigned int > > _gap_pairs_sf
sweeping flow model gap pairs per channel to specify directional edge flow
const unsigned int _n_cells
number of axial cells
std::vector< Real > _z_grid
axial location of nodes
const std::vector< unsigned int > _index_blockage
index of subchannels affected by blockage
const std::vector< Real > _z_blockage
axial location of blockage (inlet, outlet) [m]
const std::vector< Real > & _spacer_z
axial location of the spacers
const unsigned int _block_id
block index
const Real _flat_to_flat
the distance between flat surfaces of the duct facing each other
unsigned int _n_channels
number of subchannels
std::vector< std::vector< Real > > _sign_id_crossflow_map
Defines the global cross-flow direction -1 or 1 for each subchannel and for all gaps that are belongi...
const Real _pitch
Distance between the neighbor fuel pins, pitch.
const unsigned int _n_rings
number of rings of fuel pins
const std::vector< Real > _k_blockage
form loss coefficient of subchannels affected by blockage
std::vector< std::vector< Real > > _subchannel_position
x,y coordinates of the subchannel centroids
Mesh class for triangular, edge and corner subchannels for hexagonal lattice fuel assemblies...
std::vector< Point > _pin_position
x,y coordinates of the fuel pins
std::vector< std::vector< Real > > _gij_map
gap size
const Real _pin_diameter
fuel Pin diameter
const Real _heated_length
heated length of the fuel Pin
std::vector< std::vector< unsigned int > > _chan_to_pin_map
stores the fuel pins belonging to each subchannel
const std::vector< Real > _reduction_blockage
area reduction of subchannels affected by blockage
const Real _unheated_length_entry
unheated length of the fuel Pin at the entry of the assembly
std::unique_ptr< MeshBase > generate() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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
stores the fuel pin pairs for each gap each gap
SCMTriSubChannelMeshGenerator(const InputParameters &parameters)
const Real _duct_to_pin_gap
the gap thickness between the duct and peripheral fuel pins
const InputParameters & parameters() const
const Real & _kij
Lateral form loss coefficient.
std::vector< std::vector< unsigned int > > _pin_to_chan_map
stores the map from pins to channels
const std::vector< Real > & _spacer_k
form loss coefficient of the spacers
std::vector< std::vector< Node * > > _nodes
nodes
const Real _unheated_length_exit
unheated length of the fuel Pin at the exit of the assembly
std::vector< std::vector< unsigned int > > _chan_to_gap_map
stores the gaps that forms each subchannel