MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
Classes | Typedefs | Functions | Variables
Mesh Namespace Reference

Mesh generation More...

Classes

class  AlphaShape
struct  Share
 Forward declaration due to the following definitions. More...
struct  Vertex
struct  Cell
class  Generic
class  Block
class  Structured
class  Unstructured

Typedefs

typedef
CGAL::Exact_predicates_inexact_constructions_kernel 
CGAL_K
typedef
CGAL::Alpha_shape_vertex_base_2
< CGAL_K
CGAL_VB_2
typedef
CGAL::Triangulation_face_base_2
< CGAL_K
CGAL_TF_2
typedef
CGAL::Alpha_shape_face_base_2
< CGAL_K, CGAL_TF_2
CGAL_FB_2
typedef
CGAL::Triangulation_default_data_structure_2
< CGAL_K, CGAL_VB_2, CGAL_FB_2
CGAL_TDS_2
typedef
CGAL::Delaunay_triangulation_2
< CGAL_K, CGAL_TDS_2
CGAL_DT_2
typedef CGAL::Alpha_shape_2
< CGAL_DT_2
CGAL_ALPHA_SHAPE_2
typedef
CGAL::Alpha_shape_vertex_base_3
< CGAL_K
CGAL_VB_3
typedef
CGAL::Alpha_shape_cell_base_3
< CGAL_K
CGAL_FB_3
typedef
CGAL::Triangulation_data_structure_3
< CGAL_VB_3, CGAL_FB_3
CGAL_TDS_3
typedef
CGAL::Delaunay_triangulation_3
< CGAL_K, CGAL_TDS_3
CGAL_DT_3
typedef CGAL::Alpha_shape_3
< CGAL_DT_3
CGAL_ALPHA_SHAPE_3
typedef std::map< int, int > BryTag_t
 Map: edge/face ID => edge/face tag.
typedef boost::tuple< int, int,
int, int > 
BryKey_t
 Edge/face key = (left_node,right_node) for edges or (node0,node1,node2) for faces.
typedef std::pair< int, Cell * > NeighDat_t
 Pair: local edge/face ID, neighbour cell.
typedef std::map< BryKey_t,
NeighDat_t
Neighs_t
 Map: edge/face key => neighbour data.
typedef std::map< BryKey_t,
Array< NeighDat_t > > 
BryCell_t
 Map: edge/face key => cells sharing this boundary (edge/face)
typedef std::map< Vertex
*, Array< Vertex * > > 
Pin_t
 Pin type.
typedef std::map< int, SDPairSide2Ctr_t
 Side to constraint map.
typedef triangulateio TriIO
typedef tetgenio TetIO

Functions

int CellGetBryTag (int iSide, Cell const *c)
int CellGetNeigh (int iSide, Cell const *c)
std::ostream & operator<< (std::ostream &os, BryKey_t const &BK)
std::ostream & operator<< (std::ostream &os, Generic const &M)
std::ostream & operator<< (std::ostream &os, Block const &B)
void TriAllocate (int NPoints, int NSegments, int NRegions, int NHoles, TriIO &Tio)
void TriSetAllToNull (TriIO &Tio)
void TriDeallocateAll (TriIO &Tio)

Variables

size_t MaxNVerts2D = 8
size_t NVertsToNEdges2D [] = {0,0,0,3,4,0,3,0,4}
size_t NVertsToNVertsPerEdge2D [] = {0,0,0,2,2,0,3,0,3}
int NVertsToEdge2D [][4][3]
size_t MaxNVerts3D = 20
size_t NVertsToNFaces3D [] = {0,0,0,0, 4, 0,0,0, 6, 0, 4, 0,0,0,0,0,0,0,0,0, 6}
size_t NVertsToNVertsPerFace3D [] = {0,0,0,0, 3, 0,0,0, 4, 0, 3, 0,0,0,0,0,0,0,0,0, 4}
int NVertsToFace3D [][6][4]
size_t NVertsToNEdges3D [] = {0,0,0,0, 6, 0,0,0, 12, 0, 6, 0,0,0,0,0,0,0,0,0, 12}
int NVertsToEdge3D [][12][3]
size_t NVertsToGeoNVerts2D []
size_t NVertsToGeoNVerts3D []

Detailed Description

Mesh generation


Typedef Documentation

typedef std::map<BryKey_t, Array<NeighDat_t> > Mesh::BryCell_t

Map: edge/face key => cells sharing this boundary (edge/face)

typedef boost::tuple<int,int,int,int> Mesh::BryKey_t

Edge/face key = (left_node,right_node) for edges or (node0,node1,node2) for faces.

typedef std::map<int,int> Mesh::BryTag_t

Map: edge/face ID => edge/face tag.

typedef CGAL::Alpha_shape_2<CGAL_DT_2> Mesh::CGAL_ALPHA_SHAPE_2
typedef CGAL::Alpha_shape_3<CGAL_DT_3> Mesh::CGAL_ALPHA_SHAPE_3
typedef CGAL::Delaunay_triangulation_2<CGAL_K,CGAL_TDS_2> Mesh::CGAL_DT_2
typedef CGAL::Delaunay_triangulation_3<CGAL_K,CGAL_TDS_3> Mesh::CGAL_DT_3
typedef CGAL::Alpha_shape_face_base_2<CGAL_K,CGAL_TF_2> Mesh::CGAL_FB_2
typedef CGAL::Alpha_shape_cell_base_3<CGAL_K> Mesh::CGAL_FB_3
typedef CGAL::Exact_predicates_inexact_constructions_kernel Mesh::CGAL_K
typedef CGAL::Triangulation_default_data_structure_2<CGAL_K,CGAL_VB_2,CGAL_FB_2> Mesh::CGAL_TDS_2
typedef CGAL::Triangulation_data_structure_3<CGAL_VB_3,CGAL_FB_3> Mesh::CGAL_TDS_3
typedef CGAL::Triangulation_face_base_2<CGAL_K> Mesh::CGAL_TF_2
typedef CGAL::Alpha_shape_vertex_base_2<CGAL_K> Mesh::CGAL_VB_2
typedef CGAL::Alpha_shape_vertex_base_3<CGAL_K> Mesh::CGAL_VB_3
typedef std::pair<int,Cell*> Mesh::NeighDat_t

Pair: local edge/face ID, neighbour cell.

typedef std::map<BryKey_t, NeighDat_t> Mesh::Neighs_t

Map: edge/face key => neighbour data.

typedef std::map<Vertex*,Array<Vertex*> > Mesh::Pin_t

Pin type.

typedef std::map<int,SDPair> Mesh::Side2Ctr_t

Side to constraint map.

typedef tetgenio Mesh::TetIO

HSI' Tetgen Input/Output structure.

typedef triangulateio Mesh::TriIO

JRS' Triangle Input/Output structure.


Function Documentation

int Mesh::CellGetBryTag ( int  iSide,
Cell const *  c 
) [inline]
int Mesh::CellGetNeigh ( int  iSide,
Cell const *  c 
) [inline]
std::ostream& Mesh::operator<< ( std::ostream &  os,
BryKey_t const &  BK 
)
std::ostream& Mesh::operator<< ( std::ostream &  os,
Generic const &  M 
)
std::ostream& Mesh::operator<< ( std::ostream &  os,
Block const &  B 
)
void Mesh::TriAllocate ( int  NPoints,
int  NSegments,
int  NRegions,
int  NHoles,
TriIO &  Tio 
) [inline]
void Mesh::TriDeallocateAll ( TriIO &  Tio) [inline]
void Mesh::TriSetAllToNull ( TriIO &  Tio) [inline]

Variable Documentation

size_t Mesh::MaxNVerts2D = 8
size_t Mesh::MaxNVerts3D = 20
int Mesh::NVertsToEdge2D[][4][3]
Initial value:
{
    NOEDGES,NOEDGES,NOEDGES,               
    {{0,1,-1},{1,2,-1},{2,0,-1},NOEDGE},   
    {{0,1,-1},{1,2,-1},{2,3,-1},{3,0,-1}}, 
    NOEDGES,                               
    {{0,1,3},{1,2,4},{2,0,5},NOEDGE},      
    NOEDGES,                               
    {{0,1,4},{1,2,5},{2,3,6},{3,0,7}}      
}
int Mesh::NVertsToEdge3D[][12][3]
Initial value:
{
    NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,                                                                       
    {{0,1,-1},{1,2,-1},{2,0,-1},{0,3,-1},{1,3,-1},{2,3,-1},NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE},             
    NOEDGES3D,NOEDGES3D,NOEDGES3D,                                                                                 
    {{0,1,-1},{1,2,-1},{2,3,-1},{3,0,-1},{4,5,-1},{5,6,-1},{6,7,-1},{7,4,-1},{0,4,-1},{1,5,-1},{2,6,-1},{3,7,-1}}, 
    NOEDGES3D,                                                                                                     
    {{0,1,4},{1,2,5},{2,0,6},{0,3,7},{1,3,8},{2,3,9},NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE},                   
    NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,                     
    {{0,1,8},{1,2,9},{2,3,10},{3,0,11},{4,5,12},{5,6,13},{6,7,14},{7,4,15},{0,4,16},{1,5,17},{2,6,18},{3,7,19}}    
}
int Mesh::NVertsToFace3D[][6][4]
Initial value:
{
    NOFACES,NOFACES,NOFACES,NOFACES,                                         
    {{0,3,2,-1},{0,1,3,-1},{0,2,1,-1},{1,2,3,-1},NOFACE,NOFACE},             
    NOFACES,NOFACES,NOFACES,                                                 
    {{0,4,7,3},{1,2,6,5},{0,1,5,4},{2,3,7,6},{0,3,2,1},{4,5,6,7}},           
    NOFACES,                                                                 
    {{0,3,2,-1},{0,1,3,-1},{0,2,1,-1},{1,2,3,-1},NOFACE,NOFACE},             
    NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES, 
    {{0,4,7,3},{1,2,6,5},{0,1,5,4},{2,3,7,6},{0,3,2,1},{4,5,6,7}}            
}
Initial value:
 {-1,                
                                -1,                
                                 2,                
                                 3,                
                                 4,                
                                -1,                
                                 3,                
                                -1,                
                                 4,                
                                -1,-1,-1,-1,-1,-1, 
                                 3}
Initial value:
 {-1,                         
                                -1,                         
                                 2,                         
                                -1,                         
                                 4,                         
                                -1,                         
                                -1,                         
                                -1,                         
                                 8,                         
                                -1,                         
                                 4,                         
                                -1,-1,-1,-1,-1,-1,-1,-1,-1, 
                                 8}
size_t Mesh::NVertsToNEdges2D[] = {0,0,0,3,4,0,3,0,4}
size_t Mesh::NVertsToNEdges3D[] = {0,0,0,0, 6, 0,0,0, 12, 0, 6, 0,0,0,0,0,0,0,0,0, 12}
size_t Mesh::NVertsToNFaces3D[] = {0,0,0,0, 4, 0,0,0, 6, 0, 4, 0,0,0,0,0,0,0,0,0, 6}
size_t Mesh::NVertsToNVertsPerEdge2D[] = {0,0,0,2,2,0,3,0,3}
size_t Mesh::NVertsToNVertsPerFace3D[] = {0,0,0,0, 3, 0,0,0, 4, 0, 3, 0,0,0,0,0,0,0,0,0, 4}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines