|
mmg3d
|
Go to the source code of this file.
Macros | |
| #define | MMG5_DATA_PTR_T INTEGER(kind=8) |
| #define | MMG5_SUCCESS 0 |
| #define | MMG5_LOWFAILURE 1 |
| #define | MMG5_STRONGFAILURE 2 |
| #define | MG_ISO 10 |
| #define | MMG5_ARG_start %val(1) |
| #define | MMG5_ARG_ppMesh %val(2) |
| #define | MMG5_ARG_ppLs %val(3) |
| #define | MMG5_ARG_ppMet %val(4) |
| #define | MMG5_ARG_ppDisp %val(5) |
| #define | MMG5_ARG_ppSols %val(6) |
| #define | MMG5_ARG_pMesh %val(7) |
| #define | MMG5_ARG_pMet %val(8) |
| #define | MMG5_ARG_pDisp %val(9) |
| #define | MMG5_ARG_end %val(10) |
| #define | MMG5_Notype 0 |
| #define | MMG5_Scalar 1 |
| #define | MMG5_Vector 2 |
| #define | MMG5_Tensor 3 |
| #define | MMG5_Noentity 0 |
| #define | MMG5_Vertex 1 |
| #define | MMG5_Triangle 2 |
| #define | MMG5_Tetrahedron 3 |
Typedefs | |
| typedef MMG5_Par * | MMG5_pPar |
Variables | |
| struct { | |
| ! double hmin | |
| ! double hmax | |
| ! double hausd | |
| ! int ref | |
| ! char elt | |
| } | MMG5_Par |
| struct { | |
| ! double c [3] | |
| ! double n [3] | |
| ! int ref | |
| ! int xp | |
| ! int tmp | |
| ! int flag | |
| ! int s | |
| ! int16_t tag | |
| ! char tagdel | |
| } | MMG5_Point |
| ! typedef MMG5_Point * | MMG5_pPoint |
| struct { | |
| ! double n1 [3] | |
| ! double n2 [3] | |
| } | MMG5_xPoint |
| ! typedef MMG5_xPoint * | MMG5_pxPoint |
| struct { | |
| ! int a | |
| ! int b | |
| ! int ref | |
| ! int base | |
| ! int16_t tag | |
| } | MMG5_Edge |
| ! typedef MMG5_Edge * | MMG5_pEdge |
| struct { | |
| ! double qual | |
| ! int v [3] | |
| ! int ref | |
| ! int base | |
| ! int cc | |
| ! int edg [3] | |
| ! int flag | |
| ! int16_t tag [3] | |
| } | MMG5_Tria |
| ! typedef MMG5_Tria * | MMG5_pTria |
| struct { | |
| ! int v [4] | |
| ! int ref | |
| ! int base | |
| ! int edg [4] | |
| ! int16_t tag [4] | |
| } | MMG5_Quad |
| ! typedef MMG5_Quad * | MMG5_pQuad |
| struct { | |
| ! double qual | |
| ! int v [4] | |
| ! int ref | |
| ! int base | |
| ! int mark | |
| ! int xt | |
| ! int flag | |
| ! int16_t tag | |
| } | MMG5_Tetra |
| ! typedef MMG5_Tetra * | MMG5_pTetra |
| struct { | |
| ! int ref [4] | |
| ! int edg [6] | |
| ! int16_t ftag [4] | |
| ! int16_t tag [6] | |
| ! char ori | |
| } | MMG5_xTetra |
| ! typedef MMG5_xTetra * | MMG5_pxTetra |
| struct { | |
| ! int v [6] | |
| ! int ref | |
| ! int base | |
| ! int flag | |
| ! int xpr | |
| ! char tag | |
| } | MMG5_Prism |
| ! typedef MMG5_Prism * | MMG5_pPrism |
| struct { | |
| ! int ref [5] | |
| ! int edg [9] | |
| ! int16_t ftag [5] | |
| ! int16_t tag [9] | |
| } | MMG5_xPrism |
| ! typedef MMG5_xPrism * | MMG5_pxPrism |
| struct { | |
| ! char dospl | |
| ! int ref | |
| ! int rin | |
| ! int rex | |
| } | MMG5_Mat |
| To store user-defined references in the mesh (useful in LS mode) ! More... | |
| ! typedef MMG5_Mat * | MMG5_pMat |
| struct { | |
| ! MMG5_pPar par | |
| ! double dhd | |
| ! double hmin | |
| ! double hmax | |
| ! double hsiz | |
| ! double hgrad | |
| ! double hausd | |
| ! double min [3] | |
| ! double max [3] | |
| ! double delta | |
| ! double ls | |
| ! int mem | |
| ! int npar | |
| ! int npari | |
| ! int opnbdy | |
| ! int renum | |
| ! int octree | |
| ! int nmat | |
| ! char nreg | |
| ! char imprim | |
| ! char ddebug | |
| ! char badkal | |
| ! char iso | |
| ! char fem | |
| ! char lag | |
| ! char parTyp | |
| ! unsigned char optim | |
| ! unsigned char optimLES | |
| ! unsigned char noinsert | |
| ! unsigned char noswap | |
| ! unsigned char nomove | |
| ! unsigned char nosurf | |
| ! MMG5_pMat mat | |
| } | MMG5_Info |
| struct { | |
| ! int a | |
| ! int b | |
| ! int ref | |
| ! int nxt | |
| ! int16_t tag | |
| } | MMG5_hgeom |
| struct { | |
| ! MMG5_hgeom * geom | |
| ! int siz | |
| ! int max | |
| ! int nxt | |
| } | MMG5_HGeom |
| struct { | |
| ! long long memMax | |
| ! long long memCur | |
| ! double gap | |
| ! int ver | |
| ! int dim | |
| ! int type | |
| ! int npi | |
| ! int nti | |
| ! int nai | |
| ! int nei | |
| ! int np | |
| ! int na | |
| ! int nt | |
| ! int ne | |
| ! int npmax | |
| ! int namax | |
| ! int ntmax | |
| ! int nemax | |
| ! int xpmax | |
| ! int xtmax | |
| ! int nquad | |
| ! int nprism | |
| ! int nsols | |
| ! int nc1 | |
| ! int base | |
| ! int mark | |
| ! int xp | |
| ! int xt | |
| ! int xpr | |
| ! int npnil | |
| ! int nenil | |
| ! int nanil | |
| ! int * adja | |
| ! int * adjt | |
| ! int * adjapr | |
| ! MMG5_pPoint point | |
| ! MMG5_pxPoint xpoint | |
| ! MMG5_pTetra tetra | |
| ! MMG5_pxTetra xtetra | |
| ! MMG5_pPrism prism | |
| ! MMG5_pxPrism xprism | |
| ! MMG5_pTria tria | |
| ! MMG5_pQuad quadra | |
| ! MMG5_pEdge edge | |
| ! MMG5_HGeom htab | |
| ! MMG5_Info info | |
| ! char * namein | |
| ! char * nameout | |
| } | MMG5_Mesh |
| ! typedef MMG5_Mesh * | MMG5_pMesh |
| struct { | |
| ! int ver | |
| ! int dim | |
| ! int np | |
| ! int npmax | |
| ! int npi | |
| ! int size | |
| ! int type | |
| ! double * m | |
| ! double umin | |
| ! double umax | |
| ! char * namein | |
| ! char * nameout | |
| } | MMG5_Sol |
| ! typedef MMG5_Sol * | MMG5_pSol |
| #define MG_ISO 10 |
! * Implicite domain ref in iso mode ! * !
| #define MMG5_ARG_end %val(10) |
! * ! * ! * To end a list of variadic argument (mandatory last argument for all our ! * variadic functions) ! * ! *
| #define MMG5_ARG_pDisp %val(9) |
! * ! * ! * MMG5_pSol structure storing a displacement field ! * ! *
| #define MMG5_ARG_pMesh %val(7) |
! * ! * ! * MMG5_pMesh structure ! * ! *
| #define MMG5_ARG_pMet %val(8) |
! * ! * ! * MMG5_pSol structure storing a metric field ! * ! *
| #define MMG5_ARG_ppDisp %val(5) |
! * ! * ! * Pointer toward a MMG5_pSol structure storing a displacement (for structure ! * allocations purposes) ! * ! *
| #define MMG5_ARG_ppLs %val(3) |
! * ! * ! * Pointer toward a MMG5_pSol structure storing a level-set (for structure ! * allocations purposes) ! * ! *
| #define MMG5_ARG_ppMesh %val(2) |
! * ! * ! * Pointer toward a MMG5_pMesh structure (for structure allocations purposes) ! * ! *
| #define MMG5_ARG_ppMet %val(4) |
! * ! * ! * Pointer toward a MMG5_pSol structure storing a metric (for structure ! * allocations purposes) ! * ! *
| #define MMG5_ARG_ppSols %val(6) |
! * ! * ! * Pointer toward an array of MMG5_Sol structures storing a list of solutions ! * allocations purposes) ! * ! *
| #define MMG5_ARG_start %val(1) |
! * ! * ! * To begin a list of variadic arguments (mandatory first arg for all our ! * variadic functions) ! * ! *
| #define MMG5_DATA_PTR_T INTEGER(kind=8) |
| #define MMG5_LOWFAILURE 1 |
! * ! * ! * Return value if the remesh process failed but we can save a conform ! * mesh. ! * !
| #define MMG5_Noentity 0 |
< Undefined type (unusable)
| #define MMG5_Notype 0 |
< Undefined type (unusable)
| #define MMG5_Scalar 1 |
< Scalar solution
| #define MMG5_STRONGFAILURE 2 |
! * ! * ! * Return value if the remesh process failed and the mesh is ! * non-conform. ! * !
| #define MMG5_SUCCESS 0 |
! * Types !
! * ! * ! * Return value for success. ! * !
| #define MMG5_Tensor 3 |
< Tensorial solution
| #define MMG5_Tetrahedron 3 |
< Tetra entity
| #define MMG5_Triangle 2 |
< Triangle entity
| #define MMG5_Vector 2 |
< Vectorial solution
| #define MMG5_Vertex 1 |
< Vertex entity
| ! int a |
First extremity of edge
| ! int* adja |
Table of tetrahedron adjacency: if !
then the
and !
tetrahedra are adjacent and share their ! faces j and l (resp.)
| ! int* adjapr |
Table of prisms adjacency: if !
then the
and !
prism are adjacent and share their ! faces j and l (resp.)
| ! int* adjt |
Table of triangles adjacency: if !
then the
and !
triangles are adjacent and share their ! edges j and l (resp.)
| ! int b |
Extremities of the edge
Second extremity of edge
| ! char badkal |
| ! int base |
2Donly: used to store the tria+ tria edge indices ! that allow to access to the edge
Used with flag to know if an entity has been ! treated
| ! double c[3] |
Coordinates of point
| ! int cc |
used to store the tetra + tetra face indices ! that allow to access to the tria
| ! char ddebug |
| ! double delta |
| ! double dhd |
| ! int dim |
Dimension of the mesh
| ! char dospl |
| ! int edg[9] |
edg[i] contains the ref of the
edge ! of triangle
edg[i] contains the ref of the
edge ! of quadrangle
edg[i] contains the reference of the !
edge of the tetrahedron
edges references: ! * edg[0]={0,1},edg[1]={0,2},edg[2]={0,3},edg[3]={1,2}, ! * edg[4]={1,4},edg[5]={2,5},edg[6]={3,4},edg[7]={3,5}, ! * edg[8]={4,5}
| ! MMG5_pEdge edge |
Pointer toward the MMG5_Edge structure
| ! char elt |
Element type
| ! char fem |
| ! int flag |
Flag to know if we have already treated the point
| ! int16_t ftag[5] |
ftag[i] contains the tag associated to the !
face of the tetrahedron
ftag[i] contains the tag associated to the !
face of the prism
| ! double gap |
Gap for table reallocation
| ! MMG5_hgeom* geom |
| ! double hausd |
Hausdorff value
| ! double hgrad |
| ! double hmax |
maximal size for edges
| ! double hmin |
minimal size for edges
| ! double hsiz |
| ! MMG5_HGeom htab |
MMG5_HGeom structure
| ! char imprim |
| ! char iso |
| ! char lag |
| ! double ls |
| ! double* m |
Solution values
| ! int mark |
Used for delaunay
Flag for delaunay (to know if an entity has ! been treated)
| ! MMG5_pMat mat |
| ! int max |
| ! int mem |
| ! long long memCur |
Current memory used
| ! long long memMax |
Maximum memory available
| ! double min[3] |
| ! { ... } MMG5_Edge |
| ! { ... } MMG5_hgeom |
| ! { ... } MMG5_HGeom |
| ! { ... } MMG5_Info |
| ! { ... } MMG5_Mat |
To store user-defined references in the mesh (useful in LS mode) !
! * MMG5_Mat ! *
| ! { ... } MMG5_Mesh |
| ! { ... } MMG5_Par |
| ! typedef MMG5_Edge* MMG5_pEdge |
| ! typedef MMG5_Mesh* MMG5_pMesh |
| ! { ... } MMG5_Point |
| ! typedef MMG5_Point* MMG5_pPoint |
| ! typedef MMG5_Prism* MMG5_pPrism |
| ! typedef MMG5_Quad* MMG5_pQuad |
| ! { ... } MMG5_Prism |
| ! typedef MMG5_Tetra* MMG5_pTetra |
| ! typedef MMG5_Tria* MMG5_pTria |
| ! typedef MMG5_xPoint* MMG5_pxPoint |
| ! typedef MMG5_xPrism* MMG5_pxPrism |
| ! typedef MMG5_xTetra* MMG5_pxTetra |
| ! { ... } MMG5_Quad |
| ! { ... } MMG5_Sol |
| ! { ... } MMG5_Tetra |
| ! { ... } MMG5_Tria |
| ! { ... } MMG5_xPoint |
| ! { ... } MMG5_xPrism |
| ! { ... } MMG5_xTetra |
| ! double n[3] |
Normal or Tangent for mmgs and Tangent (if needed) for mmg3d
| ! double n1[3] |
| ! double n2[3] |
Normals at boundary vertex; ! n1!=n2 if the vertex belong to a ridge
| ! int na |
| ! int nai |
| ! int namax |
| ! char* namein |
Input mesh name
Input solution file name
| ! char* nameout |
Output mesh name
Output solution file name
| ! int nanil |
Index of first unused edge (2d only)
| ! int nc1 |
| ! int ne |
| ! int nei |
| ! int nemax |
| ! int nenil |
Index of first unused element
| ! int nmat |
| ! unsigned char noinsert |
| ! unsigned char nomove |
| ! unsigned char nosurf |
| ! unsigned char noswap |
| ! int np |
| ! int npar |
| ! int npari |
| ! int npi |
| ! int npmax |
| ! int npnil |
Index of first unused point
| ! int nprism |
| ! int nquad |
| ! char nreg |
| ! int nsols |
| ! int nt |
| ! int nti |
| ! int ntmax |
| ! int nxt |
Next element of hash table
| ! int octree |
| ! int opnbdy |
| ! unsigned char optim |
| ! unsigned char optimLES |
| ! char ori |
Orientation of the triangles of the tetrahedron: ! the $
bit of ori is set to 0 when the !
face is bad orientated
| ! MMG5_pPar par |
| ! char parTyp |
Contains binary flags to say which kind of local ! param are setted: if
then the point ! is MG_Vert, MG_Tria and MG_Tetra
| ! MMG5_pPoint point |
Pointer toward the MMG5_Point structure
| ! MMG5_pPrism prism |
Pointer toward the MMG5_Prism structure
| ! MMG5_pQuad quadra |
Pointer toward the MMG5_Quad structure
| ! double qual |
Quality of the element
| ! int ref |
Reference value
Reference of point
Reference of the edge
Reference of the triangle
Reference of the quadrangle
Reference of the tetrahedron
ref[i] is the reference of the opposite triangle to the !
vertex of the tetrahedron;
Reference of the prism
face references: ref[0]={0,1,2}, ref[1]={3,4,5}, ! * ref[2]={0,3,4,1}, ref[3]={0,2,5,1}
Reference of edge
| ! int renum |
| ! int rex |
| ! int rin |
| ! int s |
| ! int siz |
| ! int size |
| ! int16_t tag |
Contains binary flags : if
, then ! the point is MG_REF, MG_GEO, MG_REQ and MG_BDY
Binary flags
tag[i] contains the tag associated to the !
edge of triangle
tag[i] contains the tag associated to the !
edge of quadrangle
tag[i] contains the tag associated to the !
edge of the tetrahedron
tag[i] contains the tag associated to the !
edge of the prism
tag of edge
| ! char tagdel |
Tag for delaunay
| ! MMG5_pTetra tetra |
Pointer toward the MMG5_Tetra structure
| ! int tmp |
Index of point in the saved mesh (we don't count ! the unused points)
| ! MMG5_pTria tria |
Pointer toward the MMG5_Tria structure
| ! int type |
Type of the mesh
| ! double umax |
Min/max values for the solution
| ! double umin |
| ! int v[6] |
Vertices of the triangle
Vertices of the quadrangle
Vertices of the tetrahedron
Vertices of the prism
| ! int ver |
Version of the mesh file
| ! int xp |
Surface point number
| ! int xpmax |
| ! MMG5_pxPoint xpoint |
Pointer toward the MMG5_xPoint structure
| ! int xpr |
Index of the surface MMG5_xPrism associated to ! the prism
Number of surfaces points, triangles/tetrahedra and prisms
| ! MMG5_pxPrism xprism |
Pointer toward the MMG5_pxPrism structure
| ! int xt |
Index of the surface MMG5_xTetra associated to ! the tetrahedron
| ! MMG5_pxTetra xtetra |
Pointer toward the MMG5_xTetra structure
| ! int xtmax |