22 virtual std::unique_ptr<MeshBase>
generate()
override;
30 void generatePin(std::unique_ptr<MeshBase> & mesh_base,
const Point & center);
EChannelType
Enum for describing the center, edge and corner subchannels or gap types.
const InputParameters & parameters() const
Mesh generator that builds a 3D mesh representing triangular subchannels and pins.
static InputParameters validParams()
const unsigned int _n_rings
Number of rings in the geometry.
std::vector< EChannelType > _subch_type
Subchannel type.
const Real _heated_length
heated length of the fuel Pin
const Real _pin_diameter
fuel Pin diameter
std::vector< std::vector< unsigned int > > _chan_to_pin_map
stores the fuel pins belonging to each subchannel
const Real _flat_to_flat
Half of gap between adjacent assemblies.
std::vector< Point > _pin_position
x,y coordinates of the fuel pins
const Real _pitch
Distance between the neighbor fuel pins, pitch.
unsigned int _n_channels
number of subchannels
const unsigned int _num_sectors
Number of azimuthal sectors used to discretize each circular pin cross section.
virtual std::unique_ptr< MeshBase > generate() override
const unsigned int _n_cells
Number of cells in the axial direction.
Point rotatePoint(Point b, Real theta)
rotate a point by theta radians about the origin
std::vector< std::vector< unsigned int > > _pins_in_rings
fuel pins that are belonging to each ring
Point getPinPosition(unsigned int i)
returns the position of pin given pin index
EChannelType getSubchannelType(unsigned int index) const
returns the type of the subchannel given the index
const Real _unheated_length_exit
unheated length of the fuel Pin at the exit of the assembly
void generatePin(std::unique_ptr< MeshBase > &mesh_base, const Point ¢er)
Generate one detailed fuel pin volume centered at the supplied point.
std::vector< unsigned int > getSubChannelPins(unsigned int i)
returns the index of neighboring pins given subchannel index
unsigned int _nrods
Number of pins.
const Real _unheated_length_entry
unheated length of the fuel Pin at the entry of the assembly
const unsigned int _subchannel_block_id
Subchannel subdomain ID.
const unsigned int _pin_block_id
Pin subdomain ID.
std::vector< Real > _z_grid
axial location of nodes
dof_id_type _elem_id
counter for element numbering
const bool _verbose
Flag to print out the detailed mesh assembly and coordinates.
std::map< unsigned int, Real > _orientation_map
map inner and outer rings
std::vector< Real > getSubchannelPosition(unsigned int i)
returns the position of subchannel given pin index
std::vector< std::vector< Real > > _subchannel_position
x,y coordinates of the subchannels