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);
95 Point
getKeyNormal(
const Elem * elem,
const unsigned int s,
const unsigned int node_index);
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
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...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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::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...
MeshGenerators are objects that can modify or add to an existing mesh.