22 std::unique_ptr<MeshBase>
generate()
override;
31 ductPointIndex(
unsigned int points_per_layer,
unsigned int layer,
unsigned int point)
const;
42 void ductXsec(std::vector<Point> & xsec,
43 const std::vector<Point> & corners,
46 Real flat_to_flat)
const;
53 const std::vector<Point> & xsec,
54 const std::vector<Real> & z_layers)
const;
63 void ductElems(std::vector<std::vector<size_t>> & elem_point_indices,
64 unsigned int n_layers,
65 unsigned int points_per_layer)
const;
73 std::vector<Node *> & duct_nodes,
74 const std::vector<Point> & points,
75 const std::vector<std::vector<size_t>> & elem_point_indices,
void ductElems(std::vector< std::vector< size_t >> &elem_point_indices, unsigned int n_layers, unsigned int points_per_layer) const
Calculates the groups of points/nodes that comprise each element in the duct mesh.
const Real _unheated_length_entry
unheated length of the fuel Pin at the entry of the assembly
std::unique_ptr< MeshBase > generate() override
const Real _flat_to_flat
the distance between flat surfaces of the duct facing each other
const Real _unheated_length_exit
unheated length of the fuel Pin at the exit of the assembly
static InputParameters validParams()
const unsigned int _n_cells
number of axial cells
static const std::string pitch
const unsigned int _block_id
block index
std::unique_ptr< MeshBase > & _input
Mesh that comes from another generator.
void buildDuct(std::unique_ptr< MeshBase > &mesh, std::vector< Node *> &duct_nodes, const std::vector< Point > &points, const std::vector< std::vector< size_t >> &elem_point_indices, SubdomainID block) const
buildDuct generates and adds mesh node and element objects to the given mesh corresponding to the giv...
const Real _pitch
Distance between the neighbor fuel pins, pitch.
const unsigned int _n_rings
number of rings of fuel pins
void ductPoints(std::vector< Point > &points, const std::vector< Point > &xsec, const std::vector< Real > &z_layers) const
Calculates all the point/node positions that will be used to form elements making the duct...
SCMTriDuctMeshGenerator(const InputParameters ¶meters)
void ductCorners(std::vector< Point > &corners, Real flat_to_flat, const Point ¢er) const
calculate the x-y coordinates of the corner points for the duct cross section.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _z_grid
axial location of nodes
const InputParameters & parameters() const
size_t ductPointIndex(unsigned int points_per_layer, unsigned int layer, unsigned int point) const
Returns an index into the vector of point/node positions used/generated by ductPoints.
const Real _heated_length
heated length of the fuel Pin
static const std::string center
void ductXsec(std::vector< Point > &xsec, const std::vector< Point > &corners, unsigned int nrings, Real pitch, Real flat_to_flat) const
calcultes the points around the duct cross section boundary (perpendicular to z axis) using assembly ...
Mesh generator for hexagonal duct.