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... | |
void | ValidateLoops () |
validate the curve meshes considering the loops 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< 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 51 of file FaceMesh.h.
|
inline |
Default constructor.
Definition at line 59 of file FaceMesh.h.
References AddNewPoint(), BuildLocalMesh(), DiagonalSwap(), m_cadsurf, m_edgeloops, m_id, m_mesh, MakeBL(), Mesh(), OptimiseLocalMesh(), OrientateCurves(), Smoothing(), Stretching(), Validate(), ValidateCurves(), and ValidateLoops().
adds a new stiener point to the triangulation for meshing
Definition at line 1129 of file FaceMesh.cpp.
References class_topology::Node.
Referenced by FaceMesh().
|
private |
build a local version of mesh elements
Definition at line 902 of file FaceMesh.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::eTriangle, and Nektar::NekMeshUtils::GetElementFactory().
Referenced by FaceMesh().
|
private |
performs diagonal swapping of edges
Definition at line 506 of file FaceMesh.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::eTriangle, and Nektar::NekMeshUtils::GetElementFactory().
Referenced by FaceMesh().
|
private |
adds a quad layer around any interior loops
Referenced by FaceMesh().
void Nektar::NekMeshUtils::FaceMesh::Mesh | ( | ) |
mesh exectuation command
Definition at line 145 of file FaceMesh.cpp.
References ASSERTL0.
Referenced by FaceMesh().
|
private |
function which calls the optimisation routines
Definition at line 243 of file FaceMesh.cpp.
Referenced by FaceMesh().
|
private |
Get the boundries of the surface and extracts the nodes from the curve meshes in the correct order.
Definition at line 1175 of file FaceMesh.cpp.
References Nektar::StdRegions::eForwards.
Referenced by FaceMesh().
|
private |
performs node smoothing on face
Definition at line 255 of file FaceMesh.cpp.
References ASSERTL0, and class_topology::Node.
Referenced by FaceMesh().
|
private |
Calculate the paramter plane streching factor.
Definition at line 964 of file FaceMesh.cpp.
Referenced by FaceMesh().
|
private |
Validate the surface mesh base on the octree and real dimensions of the edges.
Definition at line 1018 of file FaceMesh.cpp.
Referenced by FaceMesh().
bool Nektar::NekMeshUtils::FaceMesh::ValidateCurves | ( | ) |
validate the curve meshes
Definition at line 46 of file FaceMesh.cpp.
References CG_Iterations::loc.
Referenced by FaceMesh().
void Nektar::NekMeshUtils::FaceMesh::ValidateLoops | ( | ) |
validate the curve meshes considering the loops
Definition at line 126 of file FaceMesh.cpp.
Referenced by FaceMesh().
|
friend |
Definition at line 54 of file FaceMesh.h.
|
private |
|
private |
identity to put into element tags
Definition at line 162 of file FaceMesh.h.
|
private |
triangle connectiviities
Definition at line 152 of file FaceMesh.h.
|
private |
Map of the curve meshes which bound the surfaces.
Definition at line 139 of file FaceMesh.h.
|
private |
data structure containing the edges, their order and oreientation for the surface
Definition at line 142 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 160 of file FaceMesh.h.
|
private |
local set of edges
Definition at line 156 of file FaceMesh.h.
|
private |
local list of elements
Definition at line 158 of file FaceMesh.h.
|
private |
local set of nodes
Definition at line 154 of file FaceMesh.h.
|
private |
|
private |
list of stiener points in the triangulation
Definition at line 148 of file FaceMesh.h.
|
private |
pplane stretching
Definition at line 150 of file FaceMesh.h.
|
private |
list of boundary nodes in their order loops
Definition at line 146 of file FaceMesh.h.