Line data Source code
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 : 15 : /** 16 : * Mesh generator that builds a 3D mesh representing quadrilateral subchannels 17 : */ 18 : class SCMDetailedQuadInterWrapperMeshGenerator : public MeshGenerator 19 : { 20 : public: 21 : SCMDetailedQuadInterWrapperMeshGenerator(const InputParameters & parameters); 22 : virtual std::unique_ptr<MeshBase> generate() override; 23 : 24 : protected: 25 2664 : EChannelType getSubchannelType(unsigned int index) const { return _subch_type[index]; } 26 : 27 : /// unheated length of the fuel Pin at the entry of the assembly 28 : const Real _unheated_length_entry; 29 : /// heated length of the fuel Pin 30 : const Real _heated_length; 31 : /// unheated length of the fuel Pin at the exit of the assembly 32 : const Real _unheated_length_exit; 33 : /// axial location of nodes 34 : std::vector<Real> _z_grid; 35 : /// Distance between the neighbor fuel pins, pitch 36 : const Real _assembly_pitch; 37 : /// Fuel assembly dimensions 38 : const Real _assembly_side_x; 39 : const Real _assembly_side_y; 40 : /// Number of cells in the axial direction 41 : const unsigned int _n_cells; 42 : /// Number of subchannels in the x direction 43 : const unsigned int _nx; 44 : /// Number of subchannels in the y direction 45 : const unsigned int _ny; 46 : /// Total number of subchannels 47 : unsigned int _n_channels; 48 : /// Half of gap between adjacent assemblies 49 : const Real _side_bypass_length; 50 : /// Subchannel type 51 : std::vector<EChannelType> _subch_type; 52 : /// Subdomain ID used for the mesh block 53 : const unsigned int & _block_id; 54 : 55 : public: 56 : static InputParameters validParams(); 57 : };