22 std::unique_ptr<MeshBase>
generate()
override;
31 ductPointIndex(
unsigned int points_per_layer,
unsigned int layer,
unsigned int point)
const;
58 const std::vector<Point> & cross_sec,
59 const std::vector<Real> & z_layers)
const;
65 void ductElems(std::vector<std::vector<size_t>> & elem_point_indices,
66 unsigned int n_layers,
67 unsigned int points_per_layer)
const;
76 std::vector<Node *> & duct_nodes,
77 const std::vector<Point> & points,
78 const std::vector<std::vector<size_t>> & elem_point_indices,
94 const unsigned int _nx;
95 const unsigned int _ny;
Mesh generator for a square/rectangular duct around a square-lattice subassembly. ...
std::unique_ptr< MeshBase > generate() override
std::vector< Real > _z_grid
axial location of nodes
const unsigned int _n_cells
number of axial cells
const InputParameters & parameters() const
std::unique_ptr< MeshBase > & _input
Mesh that comes from another generator.
const Real _unheated_length_entry
static InputParameters validParams()
size_t ductPointIndex(unsigned int points_per_layer, unsigned int layer, unsigned int point) const
Maps a duct cross-section point and axial layer to a linear point index.
void ductPoints(std::vector< Point > &points, const std::vector< Point > &cross_sec, const std::vector< Real > &z_layers) const
Computes all 3D point locations used to construct the duct mesh.
SCMQuadDuctMeshGenerator(const InputParameters ¶meters)
void ductCorners(std::vector< Point > &corners, Real half_x, Real half_y, const Point ¢er) const
Computes the x-y corner coordinates of a rectangular duct cross-section.
static const std::string pitch
const Real _unheated_length_exit
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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
Builds duct mesh nodes and elements and inserts them into the mesh.
const Real _heated_length
const Real _pitch
lattice geometry
void ductCrossSec(std::vector< Point > &cross_sec, unsigned int nx, unsigned int ny, Real pitch, Real side_gap) const
Generates the points along the rectangular duct cross-section boundary.
const unsigned int _block_id
block index
void ductElems(std::vector< std::vector< size_t >> &elem_point_indices, unsigned int n_layers, unsigned int points_per_layer) const
Determines element connectivity for the duct mesh.
static const std::string center