11 #include "libmesh/cell_prism6.h" 18 "Base Class used to create the detailed pin mesh in a square lattice arrangement");
21 params.
addParam<
Real>(
"unheated_length_entry", 0.0,
"Unheated length at entry [m]");
23 params.
addParam<
Real>(
"unheated_length_exit", 0.0,
"Unheated length at exit [m]");
24 params.
addRequiredParam<
unsigned int>(
"n_cells",
"The number of cells in the axial direction");
25 params.
addParam<
unsigned int>(
"block_id", 1,
"Block ID used for the mesh subdomain.");
28 "num_radial_parts>=4",
29 "Number of radial parts (must be at least 4).");
35 _unheated_length_entry(getParam<
Real>(
"unheated_length_entry")),
36 _heated_length(getParam<
Real>(
"heated_length")),
37 _unheated_length_exit(getParam<
Real>(
"unheated_length_exit")),
38 _pitch(getParam<
Real>(
"pitch")),
39 _pin_diameter(getParam<
Real>(
"pin_diameter")),
40 _n_cells(getParam<unsigned
int>(
"n_cells")),
41 _block_id(getParam<unsigned
int>(
"block_id")),
42 _num_radial_parts(getParam<unsigned
int>(
"num_radial_parts"))
46 for (
unsigned int i = 0; i <
_n_cells + 1; i++)
58 std::vector<std::vector<Node *>> nodes;
64 nodes[
k].push_back(mesh_base->add_point(Point(
center(0),
center(1), elev)));
72 nodes[
k].push_back(mesh_base->add_point(pt));
81 Elem * elem =
new Prism6;
84 mesh_base->add_elem(elem);
85 const unsigned int ctr_idx = 0;
88 elem->set_node(0, nodes[
k][ctr_idx]);
89 elem->set_node(1, nodes[
k][idx1]);
90 elem->set_node(2, nodes[
k][idx2]);
91 elem->set_node(3, nodes[
k + 1][ctr_idx]);
92 elem->set_node(4, nodes[
k + 1][idx1]);
93 elem->set_node(5, nodes[
k + 1][idx2]);
const unsigned int _n_cells
Number of cells in the axial direction.
DetailedPinMeshGeneratorBase(const InputParameters ¶meters)
const unsigned int & _num_radial_parts
Number of radial parts.
const Real _unheated_length_entry
unheated length of the fuel Pin at the entry of the assembly
dof_id_type _elem_id
Counter for element numbering.
const Real _heated_length
heated length of the fuel Pin
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)
std::vector< Real > _z_grid
axial location of nodes
static InputParameters validParams()
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string alpha
static const std::string k
void ErrorVector unsigned int
const unsigned int & _block_id
Subdomain ID used for the mesh block.
static const std::string center
const Real _pin_diameter
fuel Pin diameter