35 #ifndef NEKTAR_MESHUTILS_BLMESHING_BLMESH_H
36 #define NEKTAR_MESHUTILS_BLMESHING_BLMESH_H
43 namespace NekMeshUtils
75 std::map<NodeSharedPtr, NodeSharedPtr>
GetSymNodes();
90 std::vector<ElementSharedPtr>
els;
131 std::map<NodeSharedPtr, std::vector<blInfoSharedPtr> >
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
void Mesh()
Execute boundary layer meshing.
MeshSharedPtr m_mesh
mesh object containing surface mesh
Array< OneD, NekDouble > m_layerT
std::vector< ElementSharedPtr > GetPseudoSurface()
std::shared_ptr< blInfo > blInfoSharedPtr
std::map< NodeSharedPtr, blInfoSharedPtr > m_blData
data structure used to store and develop bl information
NekDouble m_bl
thickness of the boundary layer
std::map< NodeSharedPtr, NodeSharedPtr > GetSymNodes()
std::vector< unsigned int > GetSymSurfs()
std::vector< unsigned int > m_blsurfs
List of surfaces onto which boundary layers are placed.
NekMatrix< NekDouble > m_deriv[3]
bool IsPrismValid(ElementSharedPtr el)
Array< OneD, NekDouble > GetNormal(std::vector< ElementSharedPtr > tris)
bool TestIntersectionEl(ElementSharedPtr e1, ElementSharedPtr e2)
NekDouble Visability(std::vector< ElementSharedPtr > tris, Array< OneD, NekDouble > N)
NekDouble Proximity(NodeSharedPtr n, ElementSharedPtr el)
std::map< NodeSharedPtr, std::vector< blInfoSharedPtr > > m_nToNInfo
std::vector< ElementSharedPtr > m_psuedoSurface
std::vector< unsigned int > m_symSurfs
list of surfaces to be remeshed due to the boundary layer
std::map< ElementSharedPtr, ElementSharedPtr > m_priToTri
std::vector< unsigned int > GetBLSurfs()
BLMesh(MeshSharedPtr m, std::vector< unsigned int > bls, NekDouble b, int l, NekDouble p, int id)
default constructor
std::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
std::shared_ptr< BLMesh > BLMeshSharedPtr
std::shared_ptr< Element > ElementSharedPtr
std::shared_ptr< Node > NodeSharedPtr
void AlignNode(NekDouble t)
std::vector< ElementSharedPtr > els
Array< OneD, NekDouble > N