12#include "libmesh/replicated_mesh.h"
13#include "libmesh/mesh_triangle_holes.h"
41 MeshBase & input_mesh,
42 const std::vector<BoundaryName> & boundary_names,
43 unsigned int num_layers,
49 const SubdomainName & output_subdomain_name);
67 std::unique_ptr<libMesh::UnstructuredMesh> & ply_mesh_u,
68 std::vector<Point> & points,
69 std::vector<Point> & mid_points,
71 const Real thickness);
84 std::vector<Point> & points,
85 std::vector<Point> & mid_points,
86 const bool skip_node_reduction =
false);
95Point
getKeyNormal(
const Elem * elem,
const unsigned int s,
const unsigned int node_index);
MeshGenerators are objects that can modify or add to an existing mesh.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
std::unique_ptr< MeshBase > buildBoundaryLayerRing(MeshGenerator &mg, MeshBase &input_mesh, const std::vector< BoundaryName > &boundary_names, unsigned int num_layers, Real thickness, Real layer_bias, bool outward, const MooseEnum &tri_elem_type, SubdomainID output_subdomain_id, const SubdomainName &output_subdomain_name)
Builds a conformal boundary-layer ring of triangulated annuli along a boundary of an input 2D mesh (o...
Point getKeyNormal(const Elem *elem, const unsigned int s, const unsigned int node_index)
Extracts the normal vector of the EDGE3 side of a quadratic element at a given node index.
void collectExteriorVertexPointsFromMesh(libMesh::TriangulatorInterface::MeshedHole &bdry_mh, std::vector< Point > &points, std::vector< Point > &mid_points, const bool skip_node_reduction=false)
Collects key vertex points (and optional midpoints) from a meshed hole, optionally discarding colinea...
std::vector< Point > generateOffsetPolyline(MeshGenerator *mg, std::unique_ptr< libMesh::UnstructuredMesh > &ply_mesh_u, std::vector< Point > &points, std::vector< Point > &mid_points, const bool outward, const Real thickness)
Generates a list of points offset from the input boundary polyline by a specified thickness in either...