Nektar++
|
class for surface meshes on individual surfaces (paramter plane meshes) More...
#include <FaceMesh.h>
Public Member Functions | |
FaceMesh (const int id, MeshSharedPtr m, const std::map< int, CurveMeshSharedPtr > &cmeshes, const int comp) | |
Default constructor. More... | |
void | Mesh () |
mesh exectuation command More... | |
bool | ValidateCurves () |
validate the curve meshes More... | |
Private Member Functions | |
void | OrientateCurves () |
Get the boundries of the surface and extracts the nodes from the curve meshes in the correct order. More... | |
void | Stretching () |
Calculate the paramter plane streching factor. More... | |
void | Smoothing () |
performs node smoothing on face More... | |
void | DiagonalSwap () |
performs diagonal swapping of edges More... | |
void | BuildLocalMesh () |
build a local version of mesh elements More... | |
void | OptimiseLocalMesh () |
function which calls the optimisation routines More... | |
bool | Validate () |
Validate the surface mesh base on the octree and real dimensions of the edges. More... | |
void | AddNewPoint (Array< OneD, NekDouble > uv) |
adds a new stiener point to the triangulation for meshing More... | |
void | MakeBL () |
adds a quad layer around any interior loops More... | |
Private Attributes | |
MeshSharedPtr | m_mesh |
mesh pointer More... | |
CADSurfSharedPtr | m_cadsurf |
CAD surface. More... | |
std::map< int, CurveMeshSharedPtr > | m_curvemeshes |
Map of the curve meshes which bound the surfaces. More... | |
std::vector < CADSystem::EdgeLoopSharedPtr > | m_edgeloops |
data structure containing the edges, their order and oreientation for the surface More... | |
int | m_id |
id of the surface mesh More... | |
std::vector< std::vector < NodeSharedPtr > > | orderedLoops |
list of boundary nodes in their order loops More... | |
std::vector< NodeSharedPtr > | m_stienerpoints |
list of stiener points in the triangulation More... | |
NekDouble | m_str |
pplane stretching More... | |
std::vector< std::vector < NodeSharedPtr > > | m_connec |
triangle connectiviities More... | |
NodeSet | m_localNodes |
local set of nodes More... | |
EdgeSet | m_localEdges |
local set of edges More... | |
std::vector< ElementSharedPtr > | m_localElements |
local list of elements More... | |
NodeSet | m_inBoundary |
set of nodes which are in the boundary (easier to identify conflicts with) More... | |
int | m_compId |
identity to put into element tags More... | |
Friends | |
class | MemoryManager< FaceMesh > |
class for surface meshes on individual surfaces (paramter plane meshes)
Definition at line 52 of file FaceMesh.h.
|
inline |
Default constructor.
Definition at line 60 of file FaceMesh.h.
References m_cadsurf, m_edgeloops, m_id, and m_mesh.
adds a new stiener point to the triangulation for meshing
Definition at line 1109 of file FaceMesh.cpp.
References class_topology::Node.
|
private |
build a local version of mesh elements
Definition at line 883 of file FaceMesh.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::LibUtilities::eTriangle, Nektar::NekMeshUtils::GetElementFactory(), and Nektar::iterator.
|
private |
performs diagonal swapping of edges
Definition at line 488 of file FaceMesh.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::LibUtilities::eTriangle, Nektar::NekMeshUtils::GetElementFactory(), and Nektar::iterator.
|
private |
adds a quad layer around any interior loops
void Nektar::NekMeshUtils::FaceMesh::Mesh | ( | ) |
mesh exectuation command
Definition at line 127 of file FaceMesh.cpp.
References ASSERTL0.
|
private |
function which calls the optimisation routines
Definition at line 225 of file FaceMesh.cpp.
|
private |
Get the boundries of the surface and extracts the nodes from the curve meshes in the correct order.
Definition at line 1155 of file FaceMesh.cpp.
References Nektar::StdRegions::eForwards.
|
private |
performs node smoothing on face
Definition at line 237 of file FaceMesh.cpp.
References ASSERTL0, Nektar::iterator, and class_topology::Node.
|
private |
Calculate the paramter plane streching factor.
Definition at line 944 of file FaceMesh.cpp.
|
private |
Validate the surface mesh base on the octree and real dimensions of the edges.
Definition at line 998 of file FaceMesh.cpp.
bool Nektar::NekMeshUtils::FaceMesh::ValidateCurves | ( | ) |
validate the curve meshes
Definition at line 47 of file FaceMesh.cpp.
|
friend |
Definition at line 55 of file FaceMesh.h.
|
private |
|
private |
identity to put into element tags
Definition at line 158 of file FaceMesh.h.
|
private |
triangle connectiviities
Definition at line 148 of file FaceMesh.h.
|
private |
Map of the curve meshes which bound the surfaces.
Definition at line 135 of file FaceMesh.h.
|
private |
data structure containing the edges, their order and oreientation for the surface
Definition at line 138 of file FaceMesh.h.
Referenced by FaceMesh().
|
private |
|
private |
set of nodes which are in the boundary (easier to identify conflicts with)
Definition at line 156 of file FaceMesh.h.
|
private |
local set of edges
Definition at line 152 of file FaceMesh.h.
|
private |
local list of elements
Definition at line 154 of file FaceMesh.h.
|
private |
local set of nodes
Definition at line 150 of file FaceMesh.h.
|
private |
|
private |
list of stiener points in the triangulation
Definition at line 144 of file FaceMesh.h.
|
private |
pplane stretching
Definition at line 146 of file FaceMesh.h.
|
private |
list of boundary nodes in their order loops
Definition at line 142 of file FaceMesh.h.