mmg3d
mmg3d.h
Go to the documentation of this file.
1 /* =============================================================================
2 ** This file is part of the mmg software package for the tetrahedral
3 ** mesh modification.
4 ** Copyright (c) Bx INP/CNRS/Inria/UBordeaux/UPMC, 2004-
5 **
6 ** mmg is free software: you can redistribute it and/or modify it
7 ** under the terms of the GNU Lesser General Public License as published
8 ** by the Free Software Foundation, either version 3 of the License, or
9 ** (at your option) any later version.
10 **
11 ** mmg is distributed in the hope that it will be useful, but WITHOUT
12 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 ** License for more details.
15 **
16 ** You should have received a copy of the GNU Lesser General Public
17 ** License and of the GNU General Public License along with mmg (in
18 ** files COPYING.LESSER and COPYING). If not, see
19 ** <http://www.gnu.org/licenses/>. Please read their terms carefully and
20 ** use this copy of the mmg distribution only if you accept them.
21 ** =============================================================================
22 */
23 
24 #ifndef MMG3D_H
25 #define MMG3D_H
26 
27 #include "libmmg3d.h"
28 #include "libmmgcommon.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
35 #define MMG5_RETURN_AND_FREE(mesh,met,ls,disp,val)do \
36  { \
37  if ( !MMG3D_Free_all(MMG5_ARG_start, \
38  MMG5_ARG_ppMesh,&mesh,MMG5_ARG_ppMet,&met, \
39  MMG5_ARG_ppLs,&ls,MMG5_ARG_ppDisp,&disp, \
40  MMG5_ARG_end) ) { \
41  return MMG5_LOWFAILURE; \
42  } \
43  return val; \
44  }while(0)
45 
48 #define MMG3D_POINT_REALLOC(mesh,sol,ip,wantedGap,law,o,tag,src ) do \
49  { \
50  int klink,oldnpmax; \
51  assert ( mesh && mesh->point ); \
52  \
53  oldnpmax = mesh->npmax; \
54  MMG5_TAB_RECALLOC(mesh,mesh->point,mesh->npmax,wantedGap,MMG5_Point, \
55  "larger point table",law); \
56  \
57  mesh->npnil = mesh->np+1; \
58  for (klink=mesh->npnil; klink<mesh->npmax-1; klink++) \
59  mesh->point[klink].tmp = klink+1; \
60  \
61  /* solution */ \
62  if ( sol ) { \
63  if ( sol->m ) { \
64  MMG5_ADD_MEM(mesh,(sol->size*(mesh->npmax-sol->npmax))*sizeof(double), \
65  "larger solution", \
66  MMG5_SAFE_RECALLOC(mesh->point,mesh->npmax+1,oldnpmax+1,MMG5_Point,,); \
67  mesh->memCur -= (mesh->npmax - oldnpmax)*sizeof(MMG5_Point); \
68  mesh->npmax = oldnpmax; \
69  mesh->np = mesh->npmax-1; \
70  mesh->npnil = 0; \
71  law); \
72  MMG5_SAFE_REALLOC(sol->m,sol->size*(sol->npmax+1), \
73  sol->size*(mesh->npmax+1), \
74  double,"larger solution", \
75  MMG5_SAFE_RECALLOC(mesh->point,mesh->npmax+1,oldnpmax+1,MMG5_Point,,); \
76  mesh->memCur -= (mesh->npmax - oldnpmax)*sizeof(MMG5_Point); \
77  mesh->npmax = oldnpmax; \
78  mesh->np = mesh->npmax-1; \
79  mesh->npnil = 0; \
80  law); \
81  } \
82  sol->npmax = mesh->npmax; \
83  } \
84  \
85  /* We try again to add the point */ \
86  ip = MMG3D_newPt(mesh,o,tag,src); \
87  if ( !ip ) { law; } \
88  }while(0)
89 
90 
93 #define MMG3D_TETRA_REALLOC(mesh,jel,wantedGap,law ) do \
94  { \
95  int klink,oldSiz; \
96  \
97  oldSiz = mesh->nemax; \
98  MMG5_TAB_RECALLOC(mesh,mesh->tetra,mesh->nemax,wantedGap,MMG5_Tetra, \
99  "larger tetra table",law); \
100  \
101  mesh->nenil = mesh->ne+1; \
102  for (klink=mesh->nenil; klink<mesh->nemax-1; klink++) \
103  mesh->tetra[klink].v[3] = klink+1; \
104  \
105  if ( mesh->adja ) { \
106  /* adja table */ \
107  MMG5_ADD_MEM(mesh,4*(mesh->nemax-oldSiz)*sizeof(int), \
108  "larger adja table",law); \
109  MMG5_SAFE_RECALLOC(mesh->adja,4*oldSiz+5,4*mesh->nemax+5,int \
110  ,"larger adja table",law); \
111  } \
112  \
113  /* We try again to add the point */ \
114  jel = MMG3D_newElt(mesh); \
115  if ( !jel ) {law;} \
116  }while(0)
117 
118 /* numerical accuracy */
119 #define MMG3D_ALPHAD 20.7846096908265 /* 12*sqrt(3) */
120 #define MMG3D_LLONG 2.5
121 #define MMG3D_LSHRT 0.3
122 #define MMG3D_LOPTL 1.3
123 #define MMG3D_LOPTS 0.6
124 
125 #define MMG3D_SWAP06 0.0288675 /* 0.6/MMG3D_ALPHAD */
126 #define MMG3D_SSWAPIMPROVE 1.053
127 #define MMG3D_LSWAPIMPROVE 1.1
128 #define MMG3D_DET2VOL 0.1666666666666667 /* 1/6 */
129 
130 #define MMG3D_BADKAL 0.2
131 #define MMG3D_MAXKAL 1.
132 
133 
134 #define MMG3D_NPMAX 1000000 //200000
135 #define MMG3D_NAMAX 200000 //40000
136 #define MMG3D_NTMAX 2000000 //400000
137 #define MMG3D_NEMAX 6000000 //1200000
138 
139 #define MMG3D_SHORTMAX 0x7fff
140 
141 #define MMG3D_VOLFRAC 1.e-5
142 
144 static const uint8_t MMG5_inxt3[7] = { 1,2,3,0,1,2,3 };
146 static const uint8_t MMG5_iprv3[7] = { 3,0,1,2,3,0,1 };
148 static const uint8_t MMG5_idir[4][3] = { {1,2,3}, {0,3,2}, {0,1,3}, {0,2,1} };
149 /* \var idirinv[i][j]: num of the jth point in the ith face */
150 static const int8_t MMG5_idirinv[4][4] = {{-1,0,1,2},{0,-1,2,1},{0,1,-1,2},{0,2,1,-1}};
152 static const int8_t MMG5_iarf[4][3] = { {5,4,3}, {5,1,2}, {4,2,0}, {3,0,1} };
154 static const int8_t MMG5_iarfinv[4][6] = { {-1,-1,-1,2,1,0}, {-1,1,2,-1,-1,0},{2,-1,1,-1,0,-1},{1,2,-1,0,-1,-1}};
156 static const uint8_t MMG5_iare[6][2] = { {0,1}, {0,2}, {0,3}, {1,2}, {1,3}, {2,3} };
158 static const uint8_t MMG5_ifar[6][2] = { {2,3}, {1,3}, {1,2}, {0,3}, {0,2}, {0,1} };
160 static const uint8_t MMG5_isar[6][2] = { {2,3}, {3,1}, {1,2}, {0,3}, {2,0}, {0,1} };
162 static const uint8_t MMG5_arpt[4][3] = { {0,1,2}, {0,4,3}, {1,3,5}, {2,5,4} };
163 
165 static const uint8_t MMG5_idir_pr[5][4] = { {0,1,2,0},{3,5,4,3},{1,4,5,2},{0,2,5,3},{0,3,4,1} };
167 static const uint8_t MMG5_iarf_pr[5][5] = { {0,1,3,0}, {6,8,7,6}, {3,5,8,4}, {5,1,2,7},{0,4,6,2} };
168 
185 static const uint8_t MMG5_permedge[12][6] = {
186  {0,1,2,3,4,5}, {1,2,0,5,3,4}, {2,0,1,4,5,3}, {0,4,3,2,1,5},
187  {3,0,4,1,5,2}, {4,3,0,5,2,1}, {1,3,5,0,2,4}, {3,5,1,4,0,2},
188  {5,1,3,2,4,0}, {2,5,4,1,0,3}, {4,2,5,0,3,1}, {5,4,2,3,1,0} };
189 
195 typedef struct MMG3D_PROctree_s
196 {
198  int* v;
199  int nbVer;
200  int depth;
202 
207 typedef struct
208 {
209  int nv;
210  int nc;
214 
215 
216 /* PROctree */
221 int MMG3D_isCellIncluded(double* cellCenter, double l, double* zoneCenter, double l0);
222 void MMG3D_placeInListDouble(double*, double, int, int);
224 int MMG3D_seekIndex (double* distList, double dist, int indexMin, int indexMax);
225 int MMG3D_intersectRect(double *rectin, double *rectinout);
226 int MMG3D_getListSquareRec(MMG3D_PROctree_s*,double*,double*,
227  MMG3D_PROctree_s***,double*,double*,double, int, int, int*);
229 int MMG3D_addPROctreeRec(MMG5_pMesh,MMG3D_PROctree_s*,double*, const int, int);
230 int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_PROctree* q, const int no);
232 int MMG3D_movePROctree(MMG5_pMesh, MMG3D_pPROctree,int, double*, double*);
234 void MMG3D_mergeBranches(MMG5_pMesh mesh,MMG3D_PROctree_s* q, int dim, int nv);
235 int MMG3D_delPROctreeRec(MMG5_pMesh,MMG3D_PROctree_s*,double*, const int,const int);
236 int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no);
237 void MMG3D_printArbreDepth(MMG3D_PROctree_s* q, int depth, int nv, int dim);
239 void MMG3D_sizeArbreRec(MMG3D_PROctree_s* q, int nv, int dim, int*,int*);
240 int* MMG3D_sizeArbre(MMG3D_PROctree* q, int dim);
243 int64_t MMG3D_getPROctreeCoordinate(MMG3D_pPROctree q, double* ver, int dim);
244 
245 /* prototypes */
246 int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met,int8_t metRidTyp);
247 extern int MMG5_directsurfball(MMG5_pMesh mesh, int ip, int *list, int ilist, double n[3]);
248 
249 int MMG3D_Init_mesh_var( va_list argptr );
250 int MMG3D_Free_all_var( va_list argptr );
251 int MMG3D_Free_structures_var( va_list argptr );
252 int MMG3D_Free_names_var( va_list argptr );
254 int MMG3D_newPt(MMG5_pMesh mesh,double c[3],int16_t tag,int src);
256 int MMG3D_delElt(MMG5_pMesh mesh,int iel);
257 void MMG3D_delPt(MMG5_pMesh mesh,int ip);
264 extern int MMG5_BezierTgt(double c1[3],double c2[3],double n1[3],double n2[3],double t1[3],double t2[3]);
265 extern double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3]);
266 int MMG3D_bezierInt(MMG5_pBezier pb,double uv[2],double o[3],double no[3],double to[3]);
267 extern int MMG5_BezierReg(MMG5_pMesh mesh,int ip0, int ip1, double s, double v[3], double *o, double *no);
268 extern int MMG5_BezierRef(MMG5_pMesh mesh,int ip0, int ip1, double s, double *o, double *no, double *to);
269 extern int MMG5_BezierEdge(MMG5_pMesh mesh,int ip0, int ip1, double b0[3], double b1[3],int8_t isrid, double v[3]);
270 extern int MMG5_BezierRidge(MMG5_pMesh mesh,int ip0, int ip1, double s, double *o, double *no1, double *no2, double *to);
271 extern int MMG5_BezierNom(MMG5_pMesh mesh,int ip0,int ip1,double s,double *o,double *no,double *to);
272 int MMG5_norface(MMG5_pMesh mesh ,int k, int iface, double v[3]);
273 int MMG3D_findEdge(MMG5_pMesh,MMG5_pTetra,int,int,int,int,int8_t*,int8_t* );
274 int MMG5_boulernm (MMG5_pMesh mesh,MMG5_Hash *hash, int start, int ip, int *ng, int *nr);
275 int MMG5_boulenm(MMG5_pMesh mesh, int start, int ip, int iface, double n[3],double t[3]);
276 int MMG5_boulenmInt(MMG5_pMesh mesh, int start, int ip, double t[3]);
277 int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int * list);
278 int MMG5_boulesurfvolpNom(MMG5_pMesh mesh,int start,int ip,int iface,int *listv,
279  int *ilistv,int *lists,int*ilists,int*refmin,int*refplus,int isnm);
280 int MMG5_boulesurfvolp(MMG5_pMesh mesh,int start,int ip,int iface,int *listv,
281  int *ilistv,int *lists,int*ilists, int isnm);
282 int MMG5_bouletrid(MMG5_pMesh,int,int,int,int *,int *,int *,int *,int *,int *);
283 int MMG5_startedgsurfball(MMG5_pMesh mesh,int nump,int numq,int *list,int ilist);
284 int MMG5_srcbdy(MMG5_pMesh mesh,int start,int ia);
285 int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int * list);
286 int MMG5_coquilface(MMG5_pMesh mesh, int start,int8_t iface,int,int*,int*,int*,int);
287 int MMG3D_coquilFaceFirstLoop(MMG5_pMesh mesh,int start,int na,int nb,int8_t iface,
288  int8_t ia,int *list,int *ilist,int *it1,int *it2,
289  int *piv,int *adj,int8_t *hasadja,int *nbdy,int silent);
290 void MMG3D_coquilFaceSecondLoopInit(MMG5_pMesh mesh,int piv,int8_t *iface,int8_t *i,
291  int *list,int *ilist,int *it1,int *pradj,
292  int *adj);
293 void MMG5_coquilFaceErrorMessage(MMG5_pMesh mesh, int k1, int k2);
294 int16_t MMG5_coquilTravel(MMG5_pMesh,int,int,int*,int*,int8_t*,int8_t*);
295 int16_t MMG5_openCoquilTravel(MMG5_pMesh,int,int,int*,int*,int8_t*,int8_t*);
296 int MMG5_settag(MMG5_pMesh,int,int,int16_t,int);
297 int MMG5_deltag(MMG5_pMesh,int,int,int16_t);
299 int MMG5_chkcol_int(MMG5_pMesh,MMG5_pSol,int,int8_t,int8_t,int*,int,int8_t);
300 int MMG5_chkcol_bdy(MMG5_pMesh,MMG5_pSol,int,int8_t,int8_t,int*,int,int*,int,int,int,int8_t,int);
301 int MMG5_chkcol_nomint(MMG5_pMesh,MMG5_pSol,int,int8_t,int8_t,int*,int,int8_t);
302 int MMG5_chkmanicoll(MMG5_pMesh,int,int,int,int,int,int,int,int8_t,int8_t);
304 int MMG5_colver(MMG5_pMesh,MMG5_pSol,int *,int,int8_t,int8_t);
314 int MMG5_hashFace(MMG5_pMesh,MMG5_Hash*,int,int,int,int);
315 int MMG5_hashGetFace(MMG5_Hash*,int,int,int);
318 int MMG5_hashPop(MMG5_Hash *hash,int a,int b);
319 int MMG5_hPop(MMG5_HGeom *hash,int a,int b,int *ref,int16_t *tag);
320 int MMG5_hTag(MMG5_HGeom *hash,int a,int b,int ref,int16_t tag);
321 int MMG5_hGet(MMG5_HGeom *hash,int a,int b,int *ref,int16_t *tag);
322 int MMG5_hEdge(MMG5_pMesh mesh,MMG5_HGeom *hash,int a,int b,int ref,int16_t tag);
323 int MMG5_hNew(MMG5_pMesh mesh,MMG5_HGeom *hash,int hsiz,int hmax);
330 int MMG5_cntbdypt(MMG5_pMesh mesh, int nump);
331 size_t MMG5_memSize(void);
339 int MMG5_mmg3dChkmsh(MMG5_pMesh,int,int);
340 int MMG3D_setMeshSize_initData(MMG5_pMesh,int,int,int,int,int,int);
342 int MMG3D_split1_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
343 int MMG5_split1(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t metRidTyp);
344 int MMG5_split1b(MMG5_pMesh,MMG5_pSol,int*,int,int,int,int8_t,int8_t);
345 int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met,int iel, int iar, double crit);
346 int MMG3D_split2sf_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
347 int MMG5_split2sf(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
348 int MMG3D_split2_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
349 int MMG5_split2(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
350 int MMG3D_split3_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
351 int MMG5_split3(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
352 int MMG3D_split3cone_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
353 int MMG5_split3cone(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
354 int MMG3D_split3op_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
355 int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6],int8_t);
356 int MMG3D_split4sf_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
357 int MMG5_split4sf(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
358 int MMG3D_split4op_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
359 int MMG5_split4op(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
360 int MMG3D_split5_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
361 int MMG5_split5(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
362 int MMG3D_split6_sim(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6]);
363 int MMG5_split6(MMG5_pMesh mesh,MMG5_pSol met,int k,int vx[6],int8_t);
364 int MMG5_split4bar(MMG5_pMesh mesh,MMG5_pSol met,int k,int8_t);
365 int MMG3D_simbulgept(MMG5_pMesh mesh,MMG5_pSol met, int *list, int ilist,int);
366 void MMG5_nsort(int ,double *,int8_t *);
368 int MMG5_movintpt_iso(MMG5_pMesh ,MMG5_pSol,MMG3D_pPROctree, int *, int , int);
369 int MMG3D_movnormal_iso(MMG5_pMesh ,MMG5_pSol ,int ,int );
373  int*, int, int*, int, int ,int);
375  int*, int, int*, int, int ,int);
377  int*, int ,int);
379  int*, int ,int);
381  int*, int ,int);
384  int*, int ,int);
386  int*, int ,int);
388  int*, int ,int);
389 int MMG3D_movv_ani(MMG5_pMesh ,MMG5_pSol ,int ,int );
390 int MMG3D_movv_iso(MMG5_pMesh ,MMG5_pSol ,int ,int );
391 int MMG3D_normalAdjaTri(MMG5_pMesh,int,int8_t,int,double n[3]);
392 int MMG5_chkswpbdy(MMG5_pMesh, MMG5_pSol,int*, int, int, int,int8_t);
393 int MMG5_swpbdy(MMG5_pMesh,MMG5_pSol,int*,int,int,MMG3D_pPROctree,int8_t);
394 int MMG5_swpgen(MMG5_pMesh,MMG5_pSol,int, int, int*,MMG3D_pPROctree,int8_t);
395 int MMG5_chkswpgen(MMG5_pMesh,MMG5_pSol,int,int,int*,int*,double,int8_t);
396 int MMG3D_swap23(MMG5_pMesh,MMG5_pSol,int,int8_t,int,int,int,int);
397 int MMG5_srcface(MMG5_pMesh mesh,int n0,int n1,int n2);
398 int MMG5_chkptonbdy(MMG5_pMesh,int);
399 double MMG5_orcal_poi(double a[3],double b[3],double c[3],double d[3]);
400 int MMG5_countelt(MMG5_pMesh mesh,MMG5_pSol sol, double *weightelt, long *npcible);
401 /*function for agressive optimization*/
404 int MMG3D_splitItem(MMG5_pMesh , MMG5_pSol ,MMG3D_pPROctree ,int ,int ,double );
407 
408 int MMG5_trydisp(MMG5_pMesh,double *,short);
409 int MMG5_dichodisp(MMG5_pMesh,double *);
410 int MMG5_lapantilap(MMG5_pMesh,double *);
411 int MMG5_ppgdisp(MMG5_pMesh,double *);
413 int MMG3D_displayQualHisto(int,double,double,double,int,int,int,
414  int his[5],int,int,int);
415 int MMG3D_displayQualHisto_internal(int,double,double,double,int,int,int,
416  int his[5],int,int,int);
417 void MMG3D_computeInqua(MMG5_pMesh,MMG5_pSol,int*,double*,double*,double*,int*,int*,
418  int*,int his[5],int);
420 void MMG3D_computeOutqua(MMG5_pMesh,MMG5_pSol,int*,double*,double*,double*,int*,int*,
421  int*,int his[5],int*,int);
423 void MMG3D_computeLESqua(MMG5_pMesh,MMG5_pSol,int*,double*,double*,double*,int*,int*,
424  int*,int his[5],int);
425 int MMG3D_computePrilen(MMG5_pMesh,MMG5_pSol,double*,double*,double*,int*,int*,int*,
426  int*,int*,int*,int8_t,double**, int [9] );
427 int MMG3D_prilen(MMG5_pMesh mesh,MMG5_pSol met,int8_t);
429 int MMG5_intridmet(MMG5_pMesh,MMG5_pSol,int,int,double,double*,double*);
430 int MMG5_intregmet(MMG5_pMesh,MMG5_pSol,int,int8_t,double, double*);
431 int MMG5_intvolmet(MMG5_pMesh,MMG5_pSol,int,int8_t,double, double*);
432 int MMG3D_localParamReg(MMG5_pMesh,int,int*,int,int*,int,double*,double*,double*);
433 int MMG3D_localParamNm(MMG5_pMesh,int,int,int,double*,double*,double*);
434 int MMG3D_mark_packedPoints(MMG5_pMesh mesh,int *np,int *nc);
445 
446 /* rmc option */
447 double MMG3D_vfrac(MMG5_pMesh ,MMG5_pSol ,int ,int );
449 int MMG5_isbr(MMG5_pMesh ,int );
450 
451 
452 /* tools_3d.c */
453 void MMG3D_keep_only1Subdomain ( MMG5_pMesh mesh,int nsd );
454 
455 /* useful functions to debug */
456 int MMG3D_indElt(MMG5_pMesh mesh,int kel);
457 int MMG3D_indPt(MMG5_pMesh mesh,int kp);
458 void MMG5_printTetra(MMG5_pMesh mesh,char* fileName);
459 
460 
461 #ifdef USE_SCOTCH
462 int MMG5_mmg3dRenumbering(int,MMG5_pMesh,MMG5_pSol,MMG5_pSol,int*);
463 #endif
464 
465 int MMG5_meancur(MMG5_pMesh mesh,int np,double c[3],int ilist,int *list,double h[3]);
466 double MMG5_surftri(MMG5_pMesh,int,int);
467 double MMG5_timestepMCF(MMG5_pMesh,double);
469 double MMG5_volint(MMG5_pMesh);
470 
471 /* Lagrangian mode functions */
472 double MMG5_estavglen(MMG5_pMesh);
473 int MMG5_stiffelt(MMG5_pMesh,int,double*,double*);
477 
478 /* Delaunay functions*/
479 int MMG5_delone(MMG5_pMesh mesh,MMG5_pSol sol,int ip,int *list,int ilist);
480  int MMG5_cavity_iso(MMG5_pMesh mesh,MMG5_pSol sol,int iel,int ip,int *list,int lon,double volmin);
481  int MMG5_cavity_ani(MMG5_pMesh mesh,MMG5_pSol sol,int iel,int ip,int *list,int lon,double volmin);
482 int MMG5_cenrad_iso(MMG5_pMesh mesh,double *ct,double *c,double *rad);
483 int MMG5_cenrad_ani(MMG5_pMesh mesh,double *ct,double *m,double *c,double *rad);
484 
485 /* mmg3d1.c */
486 void MMG5_tet2tri(MMG5_pMesh mesh,int k,int8_t ie,MMG5_Tria *ptt);
487 int MMG3D_dichoto(MMG5_pMesh mesh,MMG5_pSol met,int k,int *vx);
488 int MMG3D_dichoto1b(MMG5_pMesh mesh,MMG5_pSol met,int *list,int ret,int);
489 int8_t MMG5_chkedg(MMG5_pMesh mesh,MMG5_Tria *pt,int8_t ori,double,double,int);
491  int8_t,int8_t,int* );
492 int MMG5_anatet(MMG5_pMesh mesh,MMG5_pSol met, int8_t typchk, int patternMode) ;
494  double clickSurf,double clickVol,int moveVol,int improveSurf,int improveVolSurf,
495  int improveVol,int maxit,int testmark);
496 int MMG5_swpmsh(MMG5_pMesh mesh,MMG5_pSol met,MMG3D_pPROctree PROctree, int);
497  int MMG5_swptet(MMG5_pMesh mesh,MMG5_pSol met,double,double,MMG3D_pPROctree, int,int);
498 
499 /* pointers */
500 /* init structures */
502 /* iso/aniso computations */
504 extern double MMG5_lenedgCoor_iso(double*, double*, double*, double*);
505 int MMG5_intmet_iso(MMG5_pMesh,MMG5_pSol,int,int8_t,int, double);
506 int MMG5_intmet_ani(MMG5_pMesh,MMG5_pSol,int,int8_t,int, double);
507 int MMG3D_intmet33_ani(MMG5_pMesh,MMG5_pSol,int,int8_t,int, double);
508 int MMG5_interp4bar_ani(MMG5_pMesh,MMG5_pSol,int,int,double *);
509 int MMG5_interp4bar33_ani(MMG5_pMesh,MMG5_pSol,int,int,double *);
510 int MMG5_interp4bar_iso(MMG5_pMesh,MMG5_pSol,int,int,double *);
517 double MMG5_meansizreg_iso(MMG5_pMesh,MMG5_pSol,int,int*,int,double,double);
519 extern int MMG5_moymet(MMG5_pMesh ,MMG5_pSol ,MMG5_pTetra ,double *);
522 
523 extern double (*MMG5_lenedg)(MMG5_pMesh ,MMG5_pSol ,int, MMG5_pTetra );
524 extern double (*MMG5_lenedgspl)(MMG5_pMesh ,MMG5_pSol ,int, MMG5_pTetra );
525 extern double (*MMG5_caltet)(MMG5_pMesh mesh,MMG5_pSol met,MMG5_pTetra pt);
526 extern double (*MMG5_caltri)(MMG5_pMesh mesh,MMG5_pSol met,MMG5_pTria ptt);
527 extern int (*MMG3D_defsiz)(MMG5_pMesh ,MMG5_pSol );
528 extern int (*MMG3D_gradsiz)(MMG5_pMesh ,MMG5_pSol );
529 extern int (*MMG3D_gradsizreq)(MMG5_pMesh ,MMG5_pSol );
530 extern int (*MMG5_intmet)(MMG5_pMesh,MMG5_pSol,int,int8_t,int, double);
531 extern int (*MMG5_interp4bar)(MMG5_pMesh,MMG5_pSol,int,int,double *);
532 extern int (*MMG5_movintpt)(MMG5_pMesh ,MMG5_pSol, MMG3D_pPROctree ,int *, int , int );
533 extern int (*MMG5_movbdyregpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree ,int*, int, int*, int, int ,int);
534 extern int (*MMG5_movbdyrefpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree ,int*, int, int*, int ,int);
535 extern int (*MMG5_movbdynompt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree ,int*, int, int*, int ,int);
536 extern int (*MMG5_movbdyridpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree ,int*, int, int*, int ,int);
537 extern int (*MMG5_cavity)(MMG5_pMesh ,MMG5_pSol ,int ,int ,int *,int ,double);
538 extern int (*MMG3D_PROctreein)(MMG5_pMesh ,MMG5_pSol ,MMG3D_pPROctree ,int,double );
539 
540 /* input */
541 int MMG3D_openMesh(int imprim,const char *filename,FILE **inm,int *bin,char*,char*);
542 int MMG3D_loadMesh_opened(MMG5_pMesh mesh,FILE *inm,int bin);
543 
550 static inline
552  if ( mesh->xt ) {
553  if ( mesh->xt != mesh->ne ) {
554  fprintf(stderr,"\n ## Warning: %s: %d tetra on %d reoriented.\n",
555  __func__,mesh->xt,mesh->ne);
556  fprintf(stderr," Your mesh may be non-conform.\n");
557  }
558  else {
559  fprintf(stderr,"\n ## Warning: %s: all tetra reoriented.\n",__func__);
560  }
561  }
562  mesh->xt = 0;
563 }
564 
569 static inline
577 #ifdef USE_SCOTCH
578  MMG5_renumbering = MMG5_mmg3dRenumbering;
579 #endif
580 }
581 
582 #ifdef __cplusplus
583 }
584 #endif
585 
586 #endif
MMG5_Mesh::nprism
int nprism
Definition: libmmgtypes.h:560
MMG5_buildridmet
int MMG5_buildridmet(MMG5_pMesh mesh, MMG5_pSol met, int np0, double ux, double uy, double uz, double mr[6], double r[3][3])
Definition: mettools.c:127
MMG3D_PROctree_s::v
int * v
Definition: mmg3d.h:198
MMG5_chkmanicoll
int MMG5_chkmanicoll(MMG5_pMesh, int, int, int, int, int, int, int, int8_t, int8_t)
Definition: mmg3d2.c:1653
MMG5_swpbdy
int MMG5_swpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, MMG3D_pPROctree, int8_t)
Definition: swap_3d.c:434
MMG5_Mesh::prism
MMG5_pPrism prism
Definition: libmmgtypes.h:593
MMG5_bdryIso
int MMG5_bdryIso(MMG5_pMesh)
MMG5_Info::nmat
int nmat
Definition: libmmgtypes.h:483
MMG5_movbdyrefpt
int(* MMG5_movbdyrefpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3dexterns.c:16
MMG5_movbdynompt_iso
int MMG5_movbdynompt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: movpt_3d.c:1135
MMG5_Info::npar
int npar
Definition: libmmgtypes.h:478
MMG5_boulenm
int MMG5_boulenm(MMG5_pMesh mesh, int start, int ip, int iface, double n[3], double t[3])
Definition: boulep_3d.c:155
MMG5_intersecmet22
int MMG5_intersecmet22(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:254
MMG5_Mesh::nenil
int nenil
Definition: libmmgtypes.h:570
MMG5_chkVertexConnectedDomains
int MMG5_chkVertexConnectedDomains(MMG5_pMesh mesh)
Definition: analys_3d.c:355
MMG5_RETURN_AND_FREE
#define MMG5_RETURN_AND_FREE(mesh, met, ls, disp, val)
Definition: mmg3d.h:35
MMG5_Sol::np
int np
Definition: libmmgtypes.h:613
MMG5_lenedg
double(* MMG5_lenedg)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:5
MMG5_endcod
static void MMG5_endcod(void)
Definition: mmg3d.c:42
MMG5_srcface
int MMG5_srcface(MMG5_pMesh mesh, int n0, int n1, int n2)
MMG3D_Free_all_var
int MMG3D_Free_all_var(va_list argptr)
Definition: variadic_3d.c:271
MMG5_anatet
int MMG5_anatet(MMG5_pMesh mesh, MMG5_pSol met, int8_t typchk, int patternMode)
Definition: mmg3d1.c:2689
MMG5_warnOrientation
static void MMG5_warnOrientation(MMG5_pMesh mesh)
Definition: mmg3d.h:551
MMG3D_bdryBuild
int MMG3D_bdryBuild(MMG5_pMesh)
Definition: libmmg3d.c:97
MMG3D_computePrilen
int MMG3D_computePrilen(MMG5_pMesh, MMG5_pSol, double *, double *, double *, int *, int *, int *, int *, int *, int *, int8_t, double **, int[9])
Definition: quality_3d.c:206
MMG5_boulevolp
int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_3d.c:53
MMG3D_Init_mesh_var
int MMG3D_Init_mesh_var(va_list argptr)
Definition: variadic_3d.c:177
MMG3D_PROctree::q0
MMG3D_PROctree_s * q0
Definition: mmg3d.h:211
MMG5_split1b
int MMG5_split1b(MMG5_pMesh, MMG5_pSol, int *, int, int, int, int8_t, int8_t)
Definition: split_3d.c:512
MMG5_Get_formatName
const char * MMG5_Get_formatName(enum MMG5_Format fmt)
Definition: mmg.c:556
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:135
MMG5_FMT_GmshASCII
@ MMG5_FMT_GmshASCII
Definition: mmgcommon.h:534
MMG5_Info::hmin
double hmin
Definition: libmmgtypes.h:476
MMG5_srcbdy
int MMG5_srcbdy(MMG5_pMesh mesh, int start, int ia)
Definition: boulep_3d.c:1500
MMG5_bezierCP
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, int8_t)
Definition: mmgexterns.c:28
MMG5_MILLION
#define MMG5_MILLION
Definition: mmgcommon.h:81
MMG5_Tetra
Definition: libmmgtypes.h:370
MG_MINUS
#define MG_MINUS
Definition: mmgcommon.h:72
MMG3D_zaldy
int MMG3D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_3d.c:314
MMG5_Sol
Definition: libmmgtypes.h:610
MMG5_Get_basename
char * MMG5_Get_basename(char *path)
Definition: mmg.c:402
MG_SIN
#define MG_SIN(tag)
Definition: mmgcommon.h:164
MMG5_Remove_ext
char * MMG5_Remove_ext(char *path, char *ext)
Definition: mmg.c:454
MMG5_meancur
int MMG5_meancur(MMG5_pMesh mesh, int np, double c[3], int ilist, int *list, double h[3])
MMG5_movbdynompt
int(* MMG5_movbdynompt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3dexterns.c:17
MMG5_intmetsavedir
int MMG5_intmetsavedir(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:86
MMG3D_prilen
int MMG3D_prilen(MMG5_pMesh mesh, MMG5_pSol met, int8_t)
Definition: quality_3d.c:324
MMG5_FMT_MeditASCII
@ MMG5_FMT_MeditASCII
Definition: mmgcommon.h:532
MMG5_idir_pr
static const uint8_t MMG5_idir_pr[5][4]
idir[i]: vertices of face i for a prism
Definition: mmg3d.h:165
MMG3D_gradsizreq
int(* MMG3D_gradsizreq)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3dexterns.c:11
MMG5_SAFE_MALLOC
MMG5_SAFE_MALLOC(tmp, *strlen0+1, char, return)
MMG5_ARG_ppDisp
#define MMG5_ARG_ppDisp
Definition: libmmgtypes.h:115
MMG5_hTag
int MMG5_hTag(MMG5_HGeom *hash, int a, int b, int ref, int16_t tag)
Definition: hash_3d.c:854
MMG3D_hashTetra
int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:180
MMG3D_setMeshSize_initData
int MMG3D_setMeshSize_initData(MMG5_pMesh, int, int, int, int, int, int)
Definition: API_functions_3d.c:214
MMG5_nsort
void MMG5_nsort(int, double *, int8_t *)
Definition: tools_3d.c:51
MMG3D_writeLocalParam
static int MMG3D_writeLocalParam(MMG5_pMesh mesh)
Definition: mmg3d.c:131
MMG5_freeXTets
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:327
MMG3D_newElt
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:98
MMG5_FMT_MeditBinary
@ MMG5_FMT_MeditBinary
Definition: mmgcommon.h:533
MMG3D_printArbreDepth
void MMG3D_printArbreDepth(MMG3D_PROctree_s *q, int depth, int nv, int dim)
Definition: PRoctree_3d.c:1003
MG_EOK
#define MG_EOK(pt)
Definition: mmgcommon.h:161
MMG5_paktet
int MMG5_paktet(MMG5_pMesh mesh)
Definition: hash_3d.c:49
MMG5_split4op
int MMG5_split4op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:4116
MMG3D_printArbre
void MMG3D_printArbre(MMG3D_PROctree *q)
MMG5_ppgdisp
int MMG5_ppgdisp(MMG5_pMesh, double *)
MMG5_Mat::rex
int rex
Definition: libmmgtypes.h:466
MMG5_excfun
static void MMG5_excfun(int sigid)
Definition: mmgcommon.h:463
MMG3D_movnormal_iso
int MMG3D_movnormal_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2066
MG_NOM
#define MG_NOM
Definition: mmgcommon.h:143
MMG5_split6
int MMG5_split6(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:4834
MMG5_interp4bar
int(* MMG5_interp4bar)(MMG5_pMesh, MMG5_pSol, int, int, double *)
Definition: mmg3dexterns.c:13
MMG5_advancedUsage
void MMG5_advancedUsage(void)
Definition: mmg.c:135
MMG3D_split2sf_sim
int MMG3D_split2sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1115
MMG5_Mesh::xt
int xt
Definition: libmmgtypes.h:568
MMG5_Sol::namein
char * namein
Definition: libmmgtypes.h:620
MMG3D_defsiz
int(* MMG3D_defsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3dexterns.c:9
MMG5_saveDisp
int MMG5_saveDisp(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d3.c:609
MMG5_ARG_start
#define MMG5_ARG_start
Definition: libmmgtypes.h:76
MMG5_cavity_iso
int MMG5_cavity_iso(MMG5_pMesh mesh, MMG5_pSol sol, int iel, int ip, int *list, int lon, double volmin)
Definition: delaunay_3d.c:741
MMG5_chkedg
int8_t MMG5_chkedg(MMG5_pMesh mesh, MMG5_Tria *pt, int8_t ori, double, double, int)
Definition: mmg3d1.c:309
main
int main(int argc, char *argv[])
Definition: mmg3d.c:301
MMG3D_mergeBranches
void MMG3D_mergeBranches(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int dim, int nv)
Definition: PRoctree_3d.c:862
MMG5_grad2metreq_ani
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:33
MMG3D_displayQualHisto
int MMG3D_displayQualHisto(int, double, double, double, int, int, int, int his[5], int, int, int)
Definition: quality_3d.c:443
MMG5_HGeom
Hash table to store geometric edges.
Definition: libmmgtypes.h:521
MMG5_Sol::size
int size
Definition: libmmgtypes.h:616
MMG5_boulesurfvolp
int MMG5_boulesurfvolp(MMG5_pMesh mesh, int start, int ip, int iface, int *listv, int *ilistv, int *lists, int *ilists, int isnm)
Definition: boulep_3d.c:594
MMG5_cenrad_iso
int MMG5_cenrad_iso(MMG5_pMesh mesh, double *ct, double *c, double *rad)
Definition: cenrad_3d.c:45
MMG3D_mmg3d2
int MMG3D_mmg3d2(MMG5_pMesh, MMG5_pSol, MMG5_pSol)
Definition: mmg3d2.c:2188
MMG5_Mat::rin
int rin
Definition: libmmgtypes.h:466
MMG5_Info::imprim
int imprim
Definition: libmmgtypes.h:484
MMG5_volint
double MMG5_volint(MMG5_pMesh)
MG_STR
#define MG_STR
Definition: mmgcommon.h:57
MMG3D_pack_points
int MMG3D_pack_points(MMG5_pMesh mesh)
Definition: libmmg3d.c:849
MMG5_settag
int MMG5_settag(MMG5_pMesh, int, int, int16_t, int)
Definition: boulep_3d.c:1148
MMG3D_mmg3dmov
int MMG3D_mmg3dmov(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg3d.c:1480
MMG5_Hash
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:542
MMG3D_pack_tetraAndAdja
int MMG3D_pack_tetraAndAdja(MMG5_pMesh mesh)
Definition: libmmg3d.c:272
MMG3D_optlap
int MMG3D_optlap(MMG5_pMesh, MMG5_pSol)
Definition: optlap_3d.c:44
MMG3D_loadMesh
int MMG3D_loadMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1187
MMG5_grad2metSurf
int MMG5_grad2metSurf(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt, int np1, int np2)
Definition: anisosiz.c:910
MMG3D_PROctreein_iso
int MMG3D_PROctreein_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, double)
Definition: PRoctree_3d.c:1140
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:589
MMG3D_memOption_memRepartition
int MMG3D_memOption_memRepartition(MMG5_pMesh mesh)
Definition: zaldy_3d.c:172
MMG3D_split5_sim
int MMG3D_split5_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4436
MMG5_arpt
static const uint8_t MMG5_arpt[4][3]
arpt[i]: edges passing through vertex i
Definition: mmg3d.h:162
MMG3D_PROctree_s::nbVer
int nbVer
Definition: mmg3d.h:199
MMG5_split4sf
int MMG5_split4sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:3758
MMG3D_delPt
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:79
MMG5_movintptLES_iso
int MMG5_movintptLES_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree, int *, int, int)
Definition: movpt_3d.c:194
MMG3D_loadMesh_opened
int MMG3D_loadMesh_opened(MMG5_pMesh mesh, FILE *inm, int bin)
Definition: inout_3d.c:112
MMG5_chkptonbdy
int MMG5_chkptonbdy(MMG5_pMesh, int)
Definition: chkmsh_3d.c:301
MMG5_BezierEdge
int MMG5_BezierEdge(MMG5_pMesh mesh, int ip0, int ip1, double b0[3], double b1[3], int8_t isrid, double v[3])
Definition: bezier_3d.c:152
MMG3D_mmg3dls
int MMG3D_mmg3dls(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol umet)
Definition: libmmg3d.c:1199
MMG5_indPt
int(* MMG5_indPt)(MMG5_pMesh mesh, int kp)
Definition: mmgexterns.c:31
MMG5_Mesh::memMax
size_t memMax
Definition: libmmgtypes.h:553
MMG5_iprv3
static const uint8_t MMG5_iprv3[7]
previous vertex of tetra: {3,0,1,2,3,0,1}
Definition: mmg3d.h:146
MMG3D_pPROctree
MMG3D_PROctree * MMG3D_pPROctree
Definition: mmg3d.h:213
MMG3D_getListSquareRec
int MMG3D_getListSquareRec(MMG3D_PROctree_s *, double *, double *, MMG3D_PROctree_s ***, double *, double *, double, int, int, int *)
Definition: PRoctree_3d.c:441
MMG5_movbdyregpt_ani
int MMG5_movbdyregpt_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: anisomovpt_3d.c:195
MMG5_directsurfball
int MMG5_directsurfball(MMG5_pMesh mesh, int ip, int *list, int ilist, double n[3])
Definition: tools_3d.c:83
MMG5_iarf_pr
static const uint8_t MMG5_iarf_pr[5][5]
iarf[i]: edges of face i for a prism
Definition: mmg3d.h:167
MMG3D_defsiz_ani
int MMG3D_defsiz_ani(MMG5_pMesh, MMG5_pSol)
Definition: anisosiz_3d.c:1254
MMG5_countelt
int MMG5_countelt(MMG5_pMesh mesh, MMG5_pSol sol, double *weightelt, long *npcible)
Definition: quality_3d.c:786
MMG3D_hashPrism
int MMG3D_hashPrism(MMG5_pMesh mesh)
Definition: hash_3d.c:297
MMG3D_localParamNm
int MMG3D_localParamNm(MMG5_pMesh, int, int, int, double *, double *, double *)
Definition: tools_3d.c:1070
MMG5_Info::hgradreq
double hgradreq
Definition: libmmgtypes.h:476
MMG3D_splsurfedge
int MMG3D_splsurfedge(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra, MMG5_pxTetra, int8_t, int8_t, int8_t, int *)
Definition: mmg3d1.c:1449
MMG3D_normalAdjaTri
int MMG3D_normalAdjaTri(MMG5_pMesh, int, int8_t, int, double n[3])
Definition: split_3d.c:463
MMG5_solTruncatureForOptim
void MMG5_solTruncatureForOptim(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg.c:263
MMG3D_pack_pointArray
int MMG3D_pack_pointArray(MMG5_pMesh mesh)
Definition: libmmg3d.c:468
MMG3D_gradsiz_ani
int MMG3D_gradsiz_ani(MMG5_pMesh, MMG5_pSol)
Definition: anisosiz_3d.c:1886
MG_VOK
#define MG_VOK(ppt)
Definition: mmgcommon.h:160
MMG3D_loadVtkMesh
int MMG3D_loadVtkMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
MMG5_orcal_poi
double MMG5_orcal_poi(double a[3], double b[3], double c[3], double d[3])
MMG5_Mesh::np
int np
Definition: libmmgtypes.h:559
MMG5_FILESTR_LGTH
#define MMG5_FILESTR_LGTH
Definition: mmgcommon.h:132
MMG5_interp4bar_iso
int MMG5_interp4bar_iso(MMG5_pMesh, MMG5_pSol, int, int, double *)
MMG5_idirinv
static const int8_t MMG5_idirinv[4][4]
Definition: mmg3d.h:150
MMG5_paramUsage1
void MMG5_paramUsage1(void)
Definition: mmg.c:72
MMG5_movintpt
int(* MMG5_movintpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: mmg3dexterns.c:14
MMG3D_movePROctree
int MMG3D_movePROctree(MMG5_pMesh, MMG3D_pPROctree, int, double *, double *)
Definition: PRoctree_3d.c:223
MMG5_coquilface
int MMG5_coquilface(MMG5_pMesh mesh, int start, int8_t iface, int, int *, int *, int *, int)
Definition: boulep_3d.c:1783
MMG5_iarf
static const int8_t MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:152
MMG5_mmg3dBezierCP
int MMG5_mmg3dBezierCP(MMG5_pMesh mesh, MMG5_Tria *pt, MMG5_pBezier pb, int8_t ori)
Definition: bezier_3d.c:327
MMG3D_getListSquare
int MMG3D_getListSquare(MMG5_pMesh, double *, MMG3D_PROctree *, double *, MMG3D_PROctree_s ***)
MMG5_writeLocalParamAtTet
static int MMG5_writeLocalParamAtTet(MMG5_pMesh mesh, MMG5_iNode *bdryRefs, FILE *out)
Definition: mmg3d.c:105
MMG5_chkcol_bdy
int MMG5_chkcol_bdy(MMG5_pMesh, MMG5_pSol, int, int8_t, int8_t, int *, int, int *, int, int, int, int8_t, int)
Definition: colver_3d.c:363
MMG5_Add_inode
int MMG5_Add_inode(MMG5_pMesh mesh, MMG5_iNode **liLi, int val)
Definition: tools.c:644
MMG5_hGet
int MMG5_hGet(MMG5_HGeom *hash, int a, int b, int *ref, int16_t *tag)
Definition: hash_3d.c:945
MMG3D_computeLESqua
void MMG3D_computeLESqua(MMG5_pMesh, MMG5_pSol, int *, double *, double *, double *, int *, int *, int *, int his[5], int)
Definition: quality_3d.c:359
MMG5_split3op
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:2852
MMG5_surftri
double MMG5_surftri(MMG5_pMesh, int, int)
MMG3D_PROctree::nc
int nc
Definition: mmg3d.h:210
MMG5_countLocalParamAtTet
static int MMG5_countLocalParamAtTet(MMG5_pMesh mesh, MMG5_iNode **bdyRefs)
Definition: mmg3d.c:61
MMG3D_indPt
int MMG3D_indPt(MMG5_pMesh mesh, int kp)
Definition: tools_3d.c:884
MMG3D_movv_iso
int MMG3D_movv_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2176
MMG3D_inqua
int MMG3D_inqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:613
MMG5_Mat
To store user-defined references in the mesh (useful in LS mode)
Definition: libmmgtypes.h:464
MMG5_printTetra
void MMG5_printTetra(MMG5_pMesh mesh, char *fileName)
Definition: tools_3d.c:900
MMG5_movbdyridpt_iso
int MMG5_movbdyridpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: movpt_3d.c:1612
MMG3D_seekIndex
int MMG3D_seekIndex(double *distList, double dist, int indexMin, int indexMax)
Definition: PRoctree_3d.c:335
MMG3D_freePROctree_s
void MMG3D_freePROctree_s(MMG5_pMesh, MMG3D_PROctree_s *q, int nv)
Definition: PRoctree_3d.c:111
MMG3D_PROctree::nv
int nv
Definition: mmg3d.h:209
MMG5_mmgDefaultValues
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:150
MMG5_grad2met_ani
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:32
MMG3D_update_xtetra
int MMG3D_update_xtetra(MMG5_pMesh mesh)
Definition: mmg3d2.c:1296
MMG3D_loadVtuMesh
int MMG3D_loadVtuMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
MMG3D_Set_inputSolName
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:68
MMG5_Mesh::ne
int ne
Definition: libmmgtypes.h:559
MMG3D_saveSol
int MMG3D_saveSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:2268
MMG5_Format
MMG5_Format
Type of supported file format.
Definition: mmgcommon.h:531
MMG5_chkfemtopo
int MMG5_chkfemtopo(MMG5_pMesh mesh)
Definition: chkmsh_3d.c:411
MMG3D_split1_sim
int MMG3D_split1_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:50
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:572
MMG3D_saveVtuMesh
int MMG3D_saveVtuMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
MMG5_BezierNom
int MMG5_BezierNom(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:535
MMG5_dichodisp
int MMG5_dichodisp(MMG5_pMesh, double *)
MMG5_Info::hausd
double hausd
Definition: libmmgtypes.h:476
MMG5_Prism::v
int v[6]
Definition: libmmgtypes.h:432
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:595
MMG3D_optbdry
int MMG3D_optbdry(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: optbdry_3d.c:250
MMG5_indElt
int(* MMG5_indElt)(MMG5_pMesh mesh, int kel)
Definition: mmgexterns.c:30
MMG5_intregmet
int MMG5_intregmet(MMG5_pMesh, MMG5_pSol, int, int8_t, double, double *)
MMG5_FMT_VtkPvtu
@ MMG5_FMT_VtkPvtu
Definition: mmgcommon.h:537
argptr
const int va_list argptr
Definition: API_functionsf_3d.c:977
MMG3D_split2_sim
int MMG3D_split2_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1457
MG_REQ
#define MG_REQ
Definition: mmgcommon.h:142
MMG5_bdyMCF
int MMG5_bdyMCF(MMG5_pMesh)
MMG3D_Set_commonFunc
static void MMG3D_Set_commonFunc(void)
Definition: mmg3d.h:570
MMG3D_rmc
int MMG3D_rmc(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d2.c:767
MMG3D_coquilFaceFirstLoop
int MMG3D_coquilFaceFirstLoop(MMG5_pMesh mesh, int start, int na, int nb, int8_t iface, int8_t ia, int *list, int *ilist, int *it1, int *it2, int *piv, int *adj, int8_t *hasadja, int *nbdy, int silent)
Definition: boulep_3d.c:1632
MMG3D_keep_only1Subdomain
void MMG3D_keep_only1Subdomain(MMG5_pMesh mesh, int nsd)
Definition: tools_3d.c:1314
MMG5_Mesh::mark
int mark
Definition: libmmgtypes.h:566
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_3d.c:65
MMG5_ADD_MEM
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:290
MMG3D_intmet33_ani
int MMG3D_intmet33_ani(MMG5_pMesh, MMG5_pSol, int, int8_t, int, double)
Definition: intmet_3d.c:101
MMG3D_mark_packedPoints
int MMG3D_mark_packedPoints(MMG5_pMesh mesh, int *np, int *nc)
Definition: libmmg3d.c:197
MMG5_Mesh::quadra
MMG5_pQuad quadra
Definition: libmmgtypes.h:596
MMG3D_addPROctreeRec
int MMG3D_addPROctreeRec(MMG5_pMesh, MMG3D_PROctree_s *, double *, const int, int)
Definition: PRoctree_3d.c:648
MMG3D_setfunc
void MMG3D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:36
MMG5_intmet_iso
int MMG5_intmet_iso(MMG5_pMesh, MMG5_pSol, int, int8_t, int, double)
Definition: intmet_3d.c:131
MMG5_isbr
int MMG5_isbr(MMG5_pMesh, int)
Definition: tools_3d.c:41
MG_GEO
#define MG_GEO
Definition: mmgcommon.h:141
MMG5_eigenv
int MMG5_eigenv(int symmat, double *mat, double lambda[3], double v[3][3])
Find eigenvalues and vectors of a 3x3 matrix.
Definition: eigenv.c:384
MMG5_split3cone
int MMG5_split3cone(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:2186
MMG5_hPop
int MMG5_hPop(MMG5_HGeom *hash, int a, int b, int *ref, int16_t *tag)
Definition: hash_3d.c:886
libmmg3d.h
API headers for the mmg3d library.
chrono
void chrono(int cmode, mytime *ptt)
Function to measure time.
Definition: chrono.c:49
MMG5_hashPop
int MMG5_hashPop(MMG5_Hash *hash, int a, int b)
Definition: hash_3d.c:791
MMG5_movbdynomintpt_iso
int MMG5_movbdynomintpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: movpt_3d.c:1482
MMG5_lagUsage
void MMG5_lagUsage(void)
Definition: mmg.c:105
MMG3D_PROctree_s::depth
int depth
Definition: mmg3d.h:200
MMG5_Mesh::npi
int npi
Definition: libmmgtypes.h:559
MMG5_FMT_VtkVtu
@ MMG5_FMT_VtkVtu
Definition: mmgcommon.h:538
MMG3D_tetraQual
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, int8_t metRidTyp)
Definition: quality_3d.c:48
MMG3D_hashTria
int MMG3D_hashTria(MMG5_pMesh mesh, MMG5_Hash *)
Definition: hash_3d.c:779
MMG3D_PROctree
Definition: mmg3d.h:207
MMG5_chkswpgen
int MMG5_chkswpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, int *, double, int8_t)
Definition: swapgen_3d.c:55
MMG5_intmet_ani
int MMG5_intmet_ani(MMG5_pMesh, MMG5_pSol, int, int8_t, int, double)
Definition: intmet_3d.c:51
MMG5_Free_ilinkedList
void MMG5_Free_ilinkedList(MMG5_pMesh mesh, MMG5_iNode *liLi)
Definition: tools.c:696
MMG5_bouletrid
int MMG5_bouletrid(MMG5_pMesh, int, int, int, int *, int *, int *, int *, int *, int *)
Definition: boulep_3d.c:935
MMG3D_swap23
int MMG3D_swap23(MMG5_pMesh, MMG5_pSol, int, int8_t, int, int, int, int)
Definition: swap_3d.c:566
MMG3D_set_metricAtPointsOnReqEdges
int MMG3D_set_metricAtPointsOnReqEdges(MMG5_pMesh, MMG5_pSol, int8_t)
Definition: isosiz_3d.c:544
MMG5_split2
int MMG5_split2(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:1519
MMG5_openCoquilTravel
int16_t MMG5_openCoquilTravel(MMG5_pMesh, int, int, int *, int *, int8_t *, int8_t *)
Definition: boulep_3d.c:1944
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:304
MMG3D_gradsizreq_ani
int MMG3D_gradsizreq_ani(MMG5_pMesh, MMG5_pSol)
Definition: anisosiz_3d.c:2025
MMG5_isar
static const uint8_t MMG5_isar[6][2]
isar[i][]: vertices of extremities of the edge opposite to the ith edge
Definition: mmg3d.h:160
MMG3D_coquilFaceSecondLoopInit
void MMG3D_coquilFaceSecondLoopInit(MMG5_pMesh mesh, int piv, int8_t *iface, int8_t *i, int *list, int *ilist, int *it1, int *pradj, int *adj)
Definition: boulep_3d.c:1727
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
MMG5_Init_parameters
void MMG5_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions.c:51
MMG3D_gradsizreq_iso
int MMG3D_gradsizreq_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz_3d.c:1143
MMG3D_delElt
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:121
MMG5_Sol::nameout
char * nameout
Definition: libmmgtypes.h:621
MMG3D_gradsiz
int(* MMG3D_gradsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3dexterns.c:10
MMG5_FMT_VtkVtp
@ MMG5_FMT_VtkVtp
Definition: mmgcommon.h:539
MMG5_movbdyregpt
int(* MMG5_movbdyregpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: mmg3dexterns.c:15
MMG5_Info::ddebug
int8_t ddebug
Definition: libmmgtypes.h:487
mytime
Chrono object.
Definition: chrono.h:58
MMG3D_pack_sol
int MMG3D_pack_sol(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg3d.c:420
MMG5_split2sf
int MMG5_split2sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:1225
MMG3D_openMesh
int MMG3D_openMesh(int imprim, const char *filename, FILE **inm, int *bin, char *, char *)
Definition: inout_3d.c:52
MMG5_tet2tri
void MMG5_tet2tri(MMG5_pMesh mesh, int k, int8_t ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:618
MMG5_ARG_end
#define MMG5_ARG_end
Definition: libmmgtypes.h:162
MMG3D_sizeArbre
int * MMG3D_sizeArbre(MMG3D_PROctree *q, int dim)
MMG3D_saveMesh
int MMG3D_saveMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1324
MMG3D_opttyp
int MMG3D_opttyp(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: opttyp_3d.c:467
MMG3D_PROctreein
int(* MMG3D_PROctreein)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, double)
Definition: mmg3dexterns.c:20
MMG5_freeXPrisms
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:346
MMG5_rotmatrix
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:233
libmmgcommon.h
API header for the common part of the MMG libraries.
MMG3D_mark_pointsOnReqEdge_fromTetra
void MMG3D_mark_pointsOnReqEdge_fromTetra(MMG5_pMesh mesh)
Definition: isosiz_3d.c:1024
MMG5_STRONGFAILURE
#define MMG5_STRONGFAILURE
Definition: libmmgtypes.h:59
MMG3D_intersectRect
int MMG3D_intersectRect(double *rectin, double *rectinout)
Definition: PRoctree_3d.c:383
MMG5_movbdynompt_ani
int MMG5_movbdynompt_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: anisomovpt_3d.c:1028
MMG3D_nmgeom
int MMG3D_nmgeom(MMG5_pMesh mesh)
Definition: analys_3d.c:671
MMG5_colver
int MMG5_colver(MMG5_pMesh, MMG5_pSol, int *, int, int8_t, int8_t)
Definition: colver_3d.c:839
MMG3D_delPROctreeVertex
int MMG3D_delPROctreeVertex(MMG5_pMesh, MMG3D_PROctree_s *q, int no)
Definition: PRoctree_3d.c:798
MMG3D_doSol
int MMG3D_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1207
MMG5_Compute_constantSize
int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsiz)
Definition: API_functions.c:555
MMG3D_memOption
int MMG3D_memOption(MMG5_pMesh mesh)
Definition: zaldy_3d.c:239
MMG5_split1
int MMG5_split1(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:116
MMG3D_findEdge
int MMG3D_findEdge(MMG5_pMesh, MMG5_pTetra, int, int, int, int, int8_t *, int8_t *)
Definition: boulep_3d.c:110
MMG5_interp4bar33_ani
int MMG5_interp4bar33_ani(MMG5_pMesh, MMG5_pSol, int, int, double *)
MMG5_iare
static const uint8_t MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:156
MMG5_Quad::v
int v[4]
Definition: libmmgtypes.h:336
MMG5_Get_filenameExt
char * MMG5_Get_filenameExt(char *filename)
Definition: mmg.c:375
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
MMG5_startedgsurfball
int MMG5_startedgsurfball(MMG5_pMesh mesh, int nump, int numq, int *list, int ilist)
Definition: tools_3d.c:107
MMG3D_split6_sim
int MMG3D_split6_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4765
MMG5_hNew
int MMG5_hNew(MMG5_pMesh mesh, MMG5_HGeom *hash, int hsiz, int hmax)
Definition: hash_3d.c:1019
MMG5_estavglen
double MMG5_estavglen(MMG5_pMesh)
Definition: mmg3d3.c:44
MMG5_movbdyregpt_iso
int MMG5_movbdyregpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: movpt_3d.c:366
MMG5_boulenmInt
int MMG5_boulenmInt(MMG5_pMesh mesh, int start, int ip, double t[3])
Definition: boulep_3d.c:316
MMG5_Info::hgrad
double hgrad
Definition: libmmgtypes.h:476
MMG5_EPS
#define MMG5_EPS
Definition: eigenv.h:32
MMG5_Point::tag
int16_t tag
Definition: libmmgtypes.h:253
MMG5_xPoint::n1
double n1[3]
Definition: libmmgtypes.h:264
MMG5_Tria
Definition: libmmgtypes.h:301
MMG3D_bezierInt
int MMG3D_bezierInt(MMG5_pBezier pb, double uv[2], double o[3], double no[3], double to[3])
Definition: bezier_3d.c:571
MMG3D_delPROctreeRec
int MMG3D_delPROctreeRec(MMG5_pMesh, MMG3D_PROctree_s *, double *, const int, const int)
Definition: PRoctree_3d.c:894
MMG3D_sizeArbreRec
void MMG3D_sizeArbreRec(MMG3D_PROctree_s *q, int nv, int dim, int *, int *)
Definition: PRoctree_3d.c:1075
MMG5_SUCCESS
#define MMG5_SUCCESS
Definition: libmmgtypes.h:43
MMG5_2d3dUsage
void MMG5_2d3dUsage(void)
Definition: mmg.c:121
MMG5_Bezier
Definition: mmgcommon.h:557
MMG3D_isCellIncluded
int MMG3D_isCellIncluded(double *cellCenter, double l, double *zoneCenter, double l0)
Definition: PRoctree_3d.c:263
MMG5_split5
int MMG5_split5(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:4527
MMG5_lenedgspl
double(* MMG5_lenedgspl)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:6
MMG5_iNode
Cell for linked list of integer value.
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:797
MMG3D_saveVtkMesh
int MMG3D_saveVtkMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
MMG5_bdryUpdate
int MMG5_bdryUpdate(MMG5_pMesh)
Definition: hash_3d.c:2042
MMG5_BezierRidge
int MMG5_BezierRidge(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no1, double *no2, double *to)
Definition: tools_3d.c:160
MMG5_Mat::dospl
int8_t dospl
Definition: libmmgtypes.h:465
MMG3D_outqua
int MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:744
MG_PLUS
#define MG_PLUS
Definition: mmgcommon.h:71
MMG5_LOWFAILURE
#define MMG5_LOWFAILURE
Definition: libmmgtypes.h:51
MMG5_Mesh::nquad
int nquad
Definition: libmmgtypes.h:560
MMG5_Get_path
char * MMG5_Get_path(char *path)
Definition: mmg.c:419
MMG5_unscaleMesh
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol ls)
Definition: scalem.c:401
MG_NUL
#define MG_NUL
Definition: mmgcommon.h:151
MMG5_Info::mat
MMG5_pMat mat
Definition: libmmgtypes.h:502
MMG3D_mergeBranchesRec
void MMG3D_mergeBranchesRec(MMG3D_PROctree_s *, MMG3D_PROctree_s *, int, int, int *)
Definition: PRoctree_3d.c:833
MMG3D_dichoto1b
int MMG3D_dichoto1b(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int)
Definition: mmg3d1.c:240
MMG3D_Free_topoTables
void MMG3D_Free_topoTables(MMG5_pMesh mesh)
Definition: libmmg3d.c:65
MMG5_grad2metSurfreq
int MMG5_grad2metSurfreq(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt, int npmaster, int npslave)
Definition: anisosiz.c:1448
MMG5_mmgUsage
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
MMG3D_dichoto
int MMG3D_dichoto(MMG5_pMesh mesh, MMG5_pSol met, int k, int *vx)
Definition: mmg3d1.c:88
MMG5_chkmsh
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
MMG5_boulernm
int MMG5_boulernm(MMG5_pMesh mesh, MMG5_Hash *hash, int start, int ip, int *ng, int *nr)
Definition: boulep_3d.c:451
MMG5_PATHSEP
#define MMG5_PATHSEP
Definition: mmgcommon.h:109
MMG3D_saveMshMesh
int MMG3D_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:2094
MMG5_Mesh::xpoint
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:590
MMG5_splitedg
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5264
MMG5_mmgIntextmet
int MMG5_mmgIntextmet(MMG5_pMesh mesh, MMG5_pSol met, int np, double me[6], double n[3])
Definition: mettools.c:443
MMG5_Mesh::npnil
int npnil
Definition: libmmgtypes.h:569
MMG3D_chk4ridVertices
int MMG3D_chk4ridVertices(MMG5_pMesh mesh, MMG5_pTetra pt)
Definition: anisosiz_3d.c:39
MMG5_pSol
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:623
printim
void printim(double elps, char *stim)
Print real time.
Definition: chrono.c:149
MMG3D_computeInqua
void MMG3D_computeInqua(MMG5_pMesh, MMG5_pSol, int *, double *, double *, double *, int *, int *, int *, int his[5], int)
Definition: quality_3d.c:542
MMG5_isSplit
int MMG5_isSplit(MMG5_pMesh mesh, int ref, int *refint, int *refext)
Definition: mmg2.c:48
MMG5_lapantilap
int MMG5_lapantilap(MMG5_pMesh, double *)
MMG3D_indElt
int MMG3D_indElt(MMG5_pMesh mesh, int kel)
Definition: tools_3d.c:868
MMG3D_movv_ani
int MMG3D_movv_ani(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1951
MMG5_Point::xp
int xp
Definition: libmmgtypes.h:248
MMG5_singul
int MMG5_singul(MMG5_pMesh mesh)
Definition: analys_3d.c:425
MMG3D_Init_mesh
int MMG3D_Init_mesh(const int starter,...)
Definition: API_functions_3d.c:44
MMG5_Mesh::tetra
MMG5_pTetra tetra
Definition: libmmgtypes.h:591
MMG5_xTetra
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:387
MMG5_hashFace
int MMG5_hashFace(MMG5_pMesh, MMG5_Hash *, int, int, int, int)
Definition: hash_3d.c:95
MMG3D_Free_names
int MMG3D_Free_names(const int starter,...)
Definition: API_functions_3d.c:2514
MMG5_paratmet
int MMG5_paratmet(double c0[3], double n0[3], double m[6], double c1[3], double n1[3], double mt[6])
Definition: mettools.c:652
MMG5_velextLS
int MMG5_velextLS(MMG5_pMesh, MMG5_pSol)
MMG5_timestepMCF
double MMG5_timestepMCF(MMG5_pMesh, double)
MMG3D_set_reqBoundaries
void MMG3D_set_reqBoundaries(MMG5_pMesh mesh)
Definition: analys_3d.c:45
MMG5_ARG_ppMesh
#define MMG5_ARG_ppMesh
Definition: libmmgtypes.h:85
MMG5_FMT_VtkVtk
@ MMG5_FMT_VtkVtk
Definition: mmgcommon.h:540
MMG5_split3
int MMG5_split3(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t)
Definition: split_3d.c:1793
MMG5_permedge
static const uint8_t MMG5_permedge[12][6]
Definition: mmg3d.h:185
mmgcommon.h
MMG3D_defsiz_iso
int MMG3D_defsiz_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz_3d.c:641
MMG5_inxt3
static const uint8_t MMG5_inxt3[7]
next vertex of tetra: {1,2,3,0,1,2,3}
Definition: mmg3d.h:144
MMG5_Mat::ref
int ref
Definition: libmmgtypes.h:466
MMG5_SAFE_REALLOC
#define MMG5_SAFE_REALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:325
MMG3D_split3_sim
int MMG3D_split3_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1722
MMG5_Info::dhd
double dhd
Definition: libmmgtypes.h:476
MMG5_BezierGeod
double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:111
tminit
void tminit(mytime *t, int maxtim)
Initialize mytime object.
Definition: chrono.c:120
MMG5_norver
int MMG5_norver(MMG5_pMesh mesh)
Definition: analys_3d.c:499
MMG5_pMesh
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:604
MMG3D_PROctree_s
Definition: mmg3d.h:195
MMG5_buildridmetnor
int MMG5_buildridmetnor(MMG5_pMesh mesh, MMG5_pSol met, int np0, double nt[3], double mr[6], double r[3][3])
Definition: mettools.c:191
MMG3D_PROctreein_ani
int MMG3D_PROctreein_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, double)
Definition: PRoctree_3d.c:1220
MMG5_Info::optim
uint8_t optim
Definition: libmmgtypes.h:500
MMG3D_defaultOption
static int MMG3D_defaultOption(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: mmg3d.c:199
MMG3D_initPROctree_s
void MMG3D_initPROctree_s(MMG3D_PROctree_s *q)
Definition: PRoctree_3d.c:46
MMG5_stiffelt
int MMG5_stiffelt(MMG5_pMesh, int, double *, double *)
MMG5_ifar
static const uint8_t MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
Definition: mmg3d.h:158
MMG5_caltri
double(* MMG5_caltri)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmg3dexterns.c:8
MMG5_Mesh::nt
int nt
Definition: libmmgtypes.h:559
MMG5_boulesurfvolpNom
int MMG5_boulesurfvolpNom(MMG5_pMesh mesh, int start, int ip, int iface, int *listv, int *ilistv, int *lists, int *ilists, int *refmin, int *refplus, int isnm)
Definition: boulep_3d.c:755
MMG3D_Set_solSize
int MMG3D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_3d.c:110
MMG3D_split3cone_sim
int MMG3D_split3cone_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2005
MMG5_getIniRef
int MMG5_getIniRef(MMG5_pMesh mesh, int ref)
Definition: mmg2.c:82
_LIBMMG5_RETURN
#define _LIBMMG5_RETURN(mesh, sol, met, val)
Definition: mmgcommon.h:182
MMG3D_computeOutqua
void MMG3D_computeOutqua(MMG5_pMesh, MMG5_pSol, int *, double *, double *, double *, int *, int *, int *, int his[5], int *, int)
Definition: quality_3d.c:661
MMG5_chkcol_int
int MMG5_chkcol_int(MMG5_pMesh, MMG5_pSol, int, int8_t, int8_t, int *, int, int8_t)
Definition: colver_3d.c:42
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:552
MMG5_Get_format
int MMG5_Get_format(char *ptr, int fmt)
Definition: mmg.c:508
MMG5_countLocalParamAtTri
int MMG5_countLocalParamAtTri(MMG5_pMesh mesh, MMG5_iNode **bdryRefs)
Definition: mmg.c:192
MMG3D_newPt
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag, int src)
Definition: zaldy_3d.c:39
MMG5_ctim
mytime MMG5_ctim[TIMEMAX]
Definition: mmg3d.c:37
MMG5_mmg3d1_pattern
int MMG5_mmg3d1_pattern(MMG5_pMesh, MMG5_pSol, int *)
Definition: mmg3d1_pattern.c:454
MMG5_BezierTgt
int MMG5_BezierTgt(double c1[3], double c2[3], double n1[3], double n2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:53
MMG5_idir
static const uint8_t MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:148
MMG3D_split3op_sim
int MMG3D_split3op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2720
MMG5_xPoint::n2
double n2[3]
Definition: libmmgtypes.h:264
MMG5_coquil
int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int *list)
Definition: boulep_3d.c:1362
MMG3D_memOption_memSet
int MMG3D_memOption_memSet(MMG5_pMesh mesh)
Definition: zaldy_3d.c:157
MMG5_mmg3d3
int MMG5_mmg3d3(MMG5_pMesh, MMG5_pSol, MMG5_pSol, int **)
Definition: mmg3d3.c:651
MMG5_xPoint
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:263
MMG3D_update_eltsVertices
int MMG3D_update_eltsVertices(MMG5_pMesh mesh)
Definition: libmmg3d.c:803
MMG5_memSize
size_t MMG5_memSize(void)
Definition: tools.c:547
MMG3D_PROctree_s
struct MMG3D_PROctree_s MMG3D_PROctree_s
MMG5_writeLocalParamAtTri
int MMG5_writeLocalParamAtTri(MMG5_pMesh mesh, MMG5_iNode *bdryRefs, FILE *out)
Definition: mmg.c:236
MMG5_denoisbdy
int MMG5_denoisbdy(MMG5_pMesh)
MMG5_deltag
int MMG5_deltag(MMG5_pMesh, int, int, int16_t)
Definition: boulep_3d.c:1266
MMG5_caltet33_ani
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:95
MMG5_coquilTravel
int16_t MMG5_coquilTravel(MMG5_pMesh, int, int, int *, int *, int8_t *, int8_t *)
Definition: boulep_3d.c:1892
MMG5_movintpt_iso
int MMG5_movintpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: movpt_3d.c:55
MMG5_Info::iso
int8_t iso
Definition: libmmgtypes.h:489
MMG5_paramUsage2
void MMG5_paramUsage2(void)
Definition: mmg.c:89
MMG3D_placeInListDouble
void MMG3D_placeInListDouble(double *, double, int, int)
Definition: PRoctree_3d.c:296
MMG5_ARG_ppMet
#define MMG5_ARG_ppMet
Definition: libmmgtypes.h:105
MMG5_chkBdryTria
int MMG5_chkBdryTria(MMG5_pMesh mesh)
Definition: hash_3d.c:1452
MMG5_Info::hmax
double hmax
Definition: libmmgtypes.h:476
MMG5_iarfinv
static const int8_t MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:154
MMG3D_split4sf_sim
int MMG3D_split4sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3655
MMG3D_movetetrapoints
int MMG3D_movetetrapoints(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: optbdry_3d.c:45
MMG5_Mesh::namein
char * namein
Definition: libmmgtypes.h:600
MMG3D_freePROctree
void MMG3D_freePROctree(MMG5_pMesh, MMG3D_PROctree **q)
MMG3D_loadSol
int MMG3D_loadSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:2104
MMG5_Mesh::info
MMG5_Info info
Definition: libmmgtypes.h:599
MMG5_movbdyridpt
int(* MMG5_movbdyridpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3dexterns.c:18
MMG3D_split4op_sim
int MMG3D_split4op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3995
MMG5_BezierRef
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:362
MMG3D_vfrac
double MMG3D_vfrac(MMG5_pMesh, MMG5_pSol, int, int)
Definition: mmg3d2.c:105
MMG5_movbdyrefpt_iso
int MMG5_movbdyrefpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: movpt_3d.c:782
MMG5_intridmet
int MMG5_intridmet(MMG5_pMesh, MMG5_pSol, int, int, double, double *, double *)
MMG5_Point::flag
int flag
Definition: libmmgtypes.h:251
MMG3D_Free_arrays
void MMG3D_Free_arrays(MMG5_pMesh *, MMG5_pSol *, MMG5_pSol *, MMG5_pSol *, MMG5_pSol *)
Definition: variadic_3d.c:369
MMG5_Mesh::npmax
int npmax
Definition: libmmgtypes.h:559
MMG5_hashGetFace
int MMG5_hashGetFace(MMG5_Hash *, int, int, int)
Definition: hash_3d.c:143
MMG5_FMT_Tetgen
@ MMG5_FMT_Tetgen
Definition: mmgcommon.h:541
MMG5_split4bar
int MMG5_split4bar(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t)
Definition: split_3d.c:3302
MMG5_rmtr
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:199
MMG3D_parsop
int MMG3D_parsop(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:552
MMG3D_analys
int MMG3D_analys(MMG5_pMesh mesh)
Definition: analys_3d.c:761
MMG3D_pack_prismsAndQuads
int MMG3D_pack_prismsAndQuads(MMG5_pMesh mesh)
Definition: libmmg3d.c:376
MMG5_bdryPerm
int MMG5_bdryPerm(MMG5_pMesh)
Definition: hash_3d.c:2132
MMG5_chkmani
int MMG5_chkmani(MMG5_pMesh mesh)
Definition: mmg3d2.c:1508
MMG5_Tetra::ref
int ref
Definition: libmmgtypes.h:373
MMG3D_addPROctree
int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_PROctree *q, const int no)
tmp
tmp[*strlen0]
Definition: API_functionsf_3d.c:1021
MMG3D_splitItem
int MMG3D_splitItem(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, int, double)
Definition: opttyp_3d.c:390
MMG5_hGeom
int MMG5_hGeom(MMG5_pMesh mesh)
Definition: hash_3d.c:1047
MMG3D_localParamReg
int MMG3D_localParamReg(MMG5_pMesh, int, int *, int, int *, int, double *, double *, double *)
Definition: tools_3d.c:950
MMG5_setNmTag
int MMG5_setNmTag(MMG5_pMesh mesh, MMG5_Hash *hash)
Definition: hash_3d.c:757
MMG5_movbdyridpt_ani
int MMG5_movbdyridpt_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: anisomovpt_3d.c:1375
MMG3D_initPROctree
int MMG3D_initPROctree(MMG5_pMesh, MMG3D_pPROctree *q, int nv)
Definition: PRoctree_3d.c:63
MMG3D_mmg3dlib
int MMG3D_mmg3dlib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:970
MMG3D_unset_reqBoundaries
void MMG3D_unset_reqBoundaries(MMG5_pMesh mesh)
Definition: libmmg3d.c:871
MMG5_Mesh::nameout
char * nameout
Definition: libmmgtypes.h:601
MMG5_meansizreg_iso
double MMG5_meansizreg_iso(MMG5_pMesh, MMG5_pSol, int, int *, int, double, double)
Definition: isosiz_3d.c:462
MMG5_ARG_ppLs
#define MMG5_ARG_ppLs
Definition: libmmgtypes.h:95
mmg3d.h
MMG5_chkswpbdy
int MMG5_chkswpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, int, int8_t)
Definition: swap_3d.c:55
MMG5_bdrySet
int MMG5_bdrySet(MMG5_pMesh)
Definition: hash_3d.c:1757
MMG5_SAFE_CALLOC
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:304
MMG5_swptet
int MMG5_swptet(MMG5_pMesh mesh, MMG5_pSol met, double, double, MMG3D_pPROctree, int, int)
Definition: mmg3d1.c:611
MMG3D_delPROctree
int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:975
MMG3D_placeInListPROctree
void MMG3D_placeInListPROctree(MMG3D_PROctree_s **, MMG3D_PROctree_s *, int, int)
Definition: PRoctree_3d.c:314
MMG5_interp4bar_ani
int MMG5_interp4bar_ani(MMG5_pMesh, MMG5_pSol, int, int, double *)
MMG5_check_hminhmax
void MMG5_check_hminhmax(MMG5_pMesh mesh, int8_t sethmin, int8_t sethmax)
Definition: scalem.c:88
MMG5_Scalar
@ MMG5_Scalar
Definition: libmmgtypes.h:202
MMG5_moymet
int MMG5_moymet(MMG5_pMesh, MMG5_pSol, MMG5_pTetra, double *)
Definition: anisosiz_3d.c:70
MMG3D_Free_structures_var
int MMG3D_Free_structures_var(va_list argptr)
Definition: variadic_3d.c:459
MMG5_DEL_MEM
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:281
MMG5_coquilFaceErrorMessage
void MMG5_coquilFaceErrorMessage(MMG5_pMesh mesh, int k1, int k2)
Definition: boulep_3d.c:1559
MMG5_hEdge
int MMG5_hEdge(MMG5_pMesh mesh, MMG5_HGeom *hash, int a, int b, int ref, int16_t tag)
Definition: hash_3d.c:977
MMG5_BezierReg
int MMG5_BezierReg(MMG5_pMesh mesh, int ip0, int ip1, double s, double v[3], double *o, double *no)
Definition: tools_3d.c:702
MMG3D_loadMshMesh
int MMG3D_loadMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:1201
MMG3D_setMeshSize_alloc
int MMG3D_setMeshSize_alloc(MMG5_pMesh)
Definition: zaldy_3d.c:256
ier
int ier
Definition: API_functionsf_3d.c:979
MMG5_trydisp
int MMG5_trydisp(MMG5_pMesh, double *, short)
MMG3D_parsar
int MMG3D_parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: libmmg3d_tools.c:179
strncpy
strncpy(tmp, filename, *strlen0)
MMG5_cavity_ani
int MMG5_cavity_ani(MMG5_pMesh mesh, MMG5_pSol sol, int iel, int ip, int *list, int lon, double volmin)
Definition: delaunay_3d.c:582
MMG5_Info::lag
int8_t lag
Definition: libmmgtypes.h:494
MMG5_GAP
#define MMG5_GAP
Definition: mmgcommon.h:127
MMG5_buildridmetfic
int MMG5_buildridmetfic(MMG5_pMesh mesh, double t[3], double n[3], double dtan, double dv, double dn, double m[6])
Definition: mettools.c:52
MMG5_swpgen
int MMG5_swpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, MMG3D_pPROctree, int8_t)
Definition: swapgen_3d.c:246
MMG5_Prism
Definition: libmmgtypes.h:431
MMG3D_simbulgept
int MMG3D_simbulgept(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int)
Definition: split_3d.c:322
MMG5_cenrad_ani
int MMG5_cenrad_ani(MMG5_pMesh mesh, double *ct, double *m, double *c, double *rad)
Definition: cenrad_3d.c:142
MMG5_defaultValues
void MMG5_defaultValues(MMG5_pMesh)
MMG5_FMT_GmshBinary
@ MMG5_FMT_GmshBinary
Definition: mmgcommon.h:535
MMG5_movtet
int MMG5_movtet(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, double clickSurf, double clickVol, int moveVol, int improveSurf, int improveVolSurf, int improveVol, int maxit, int testmark)
Definition: mmg3d1.c:673
MMG3D_pack_tetra
int MMG3D_pack_tetra(MMG5_pMesh mesh)
Definition: libmmg3d.c:332
MMG5_setdhd
int MMG5_setdhd(MMG5_pMesh mesh)
Definition: analys_3d.c:288
MMG5_caltet
double(* MMG5_caltet)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: mmg3dexterns.c:7
MMG3D_PROctree_s::branches
struct MMG3D_PROctree_s * branches
Definition: mmg3d.h:197
MMG5_swpmsh
int MMG5_swpmsh(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int)
Definition: mmg3d1.c:542
MMG3D_swpItem
int MMG3D_swpItem(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, int)
Definition: opttyp_3d.c:326
MMG5_delone
int MMG5_delone(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list, int ilist)
Definition: delaunay_3d.c:140
MMG5_Info::hsiz
double hsiz
Definition: libmmgtypes.h:476
MMG3D_getPROctreeCoordinate
int64_t MMG3D_getPROctreeCoordinate(MMG3D_pPROctree q, double *ver, int dim)
Definition: PRoctree_3d.c:181
MMG3D_Free_names_var
int MMG3D_Free_names_var(va_list argptr)
Definition: variadic_3d.c:557
librnbg.h
header file for the librnbg.c librnbg_s.c librnbg_3d.c files
MMG5_Point::tmp
int tmp
Definition: libmmgtypes.h:249
MMG5_movbdyrefpt_ani
int MMG5_movbdyrefpt_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: anisomovpt_3d.c:678
MMG5_mmg3d1_delone
int MMG5_mmg3d1_delone(MMG5_pMesh, MMG5_pSol, int *)
Definition: mmg3d1_delone.c:1298
MMG5_setadj
int MMG5_setadj(MMG5_pMesh mesh)
Definition: analys_3d.c:96
filename
MMG5_pMesh char * filename
Definition: API_functionsf_3d.c:1015
MMG5_norface
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:69
MMG5_FMT_VtkPvtp
@ MMG5_FMT_VtkPvtp
Definition: mmgcommon.h:536
MMG3D_saveTetgenMesh
int MMG3D_saveTetgenMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:2568
TIMEMAX
#define TIMEMAX
Definition: chrono.h:49
MMG5_lenedgCoor_iso
double MMG5_lenedgCoor_iso(double *, double *, double *, double *)
Compute edge length from edge's coordinates.
Definition: isosiz_3d.c:60
MMG5_Mesh::nemax
int nemax
Definition: libmmgtypes.h:559
MMG5_chkcol_nomint
int MMG5_chkcol_nomint(MMG5_pMesh, MMG5_pSol, int, int8_t, int8_t, int *, int, int8_t)
Definition: colver_3d.c:728
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
MMG5_cntbdypt
int MMG5_cntbdypt(MMG5_pMesh mesh, int nump)
Definition: chkmsh_3d.c:363
MMG5_Vertex
@ MMG5_Vertex
Definition: libmmgtypes.h:213
MMG3D_gradsiz_iso
int MMG3D_gradsiz_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz_3d.c:1059
MMG3D_packMesh
int MMG3D_packMesh(MMG5_pMesh, MMG5_pSol, MMG5_pSol)
Definition: libmmg3d.c:900
MMG5_mmg3dChkmsh
int MMG5_mmg3dChkmsh(MMG5_pMesh, int, int)
Definition: chkmsh_3d.c:111
MMG5_scaleMesh
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol ls)
Definition: scalem.c:273
MMG3D_displayQualHisto_internal
int MMG3D_displayQualHisto_internal(int, double, double, double, int, int, int, int his[5], int, int, int)
Definition: quality_3d.c:477
MMG5_intmet
int(* MMG5_intmet)(MMG5_pMesh, MMG5_pSol, int, int8_t, int, double)
Definition: mmg3dexterns.c:12
MMG5_cavity
int(* MMG5_cavity)(MMG5_pMesh, MMG5_pSol, int, int, int *, int, double)
Definition: mmg3dexterns.c:19
MMG5_intvolmet
int MMG5_intvolmet(MMG5_pMesh, MMG5_pSol, int, int8_t, double, double *)
MMG5_Tetra::v
int v[4]
Definition: libmmgtypes.h:372
MMG5_pTetra
MMG5_Tetra * MMG5_pTetra
Definition: libmmgtypes.h:381
MMG5_movintpt_ani
int MMG5_movintpt_ani(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: anisomovpt_3d.c:55
MMG5_Point::n
double n[3]
Definition: libmmgtypes.h:243