mmgs
|
Go to the source code of this file.
Macros | |
#define | MMG5_DATA_PTR_T INTEGER(kind=4) |
#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_NSOLS_MAX 100 |
#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_Edg 2 |
#define | MMG5_Triangle 3 |
#define | MMG5_Tetrahedron 4 |
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 hgradreq | |
! double hausd | |
! double min [3] | |
! double max [3] | |
! double delta | |
! double ls | |
! int mem | |
! int npar | |
! int npari | |
! int opnbdy | |
! int renum | |
! int PROctree | |
! 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 | |
! unsigned char inputMet | |
! 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 { | |
! int a | |
! int b | |
! int nxt | |
! int k | |
! int s | |
} | MMG5_hedge |
struct { | |
! int siz | |
! int max | |
! int nxt | |
! MMG5_hedge * item | |
} | MMG5_Hash |
struct { | |
! size_t memMax | |
! size_t 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 | |
! int * ipar | |
! 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=4) |
#define MMG5_Edg 2 |
< Edge entity
#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_NSOLS_MAX 100 |
! * ! * ! * Maximal number of solutions per entity ! * !
#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 4 |
< Tetra entity
#define MMG5_Triangle 3 |
< 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 hgradreq |
! double hmax |
maximal size for edges
! double hmin |
minimal size for edges
! double hsiz |
! MMG5_HGeom htab |
MMG5_HGeom structure
! char imprim |
! unsigned char inputMet |
1 if we don't have a metric when we enter in mmg3d1, 0 otherwise
! int* ipar |
Store indices of the local parameters
! char iso |
! MMG5_hedge* item |
! int k |
k = point along edge a b or triangle index
! 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 |
! size_t memCur |
Current memory used
! size_t memMax |
Maximum memory available
! double min[3] |
! { ... } MMG5_Edge |
! { ... } MMG5_Hash |
! { ... } MMG5_hedge |
! { ... } MMG5_hgeom |
! { ... } MMG5_HGeom |
! { ... } MMG5_Info |
! { ... } MMG5_Mat |
To store user-defined references in the mesh (useful in LS mode) !
! * \struc 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 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
! int PROctree |
! 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 |