41 #if (defined(__APPLE__) && defined(__MACH__)) 42 #include <sys/sysctl.h> 43 #elif defined(__unix__) || defined(__unix) || defined(unix) 45 #elif defined(_WIN16) || defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__) 47 #define _WIN32_WINNT 0x0500 61 #define MG_VER "5.4.0" 62 #define MG_REL "Feb. 13, 2019" 63 #define MG_CPY "Copyright (c) Bdx INP/CNRS/Inria/UPMC, 2004-" 64 #define MG_STR "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" 67 #define MG_SMSGN(a,b) (((double)(a)*(double)(b) > (0.0)) ? (1) : (0)) 70 #define MMG5_BOXSIZE 500 73 #define MMG5_MEMMAX 800 74 #define MMG5_BITWIZE_MB_TO_B 20 75 #define MMG5_MEMPERCENT 50/100 85 #define MMG5_DISPREF 10 88 #define MMG5_MILLION 1048576 91 #define MMG5_ANGEDG 0.707106781186548 92 #define MMG5_ANGLIM -0.999999 93 #define MMG5_ATHIRD 0.333333333333333 95 #define MMG5_EPSD 1.e-30 96 #define MMG5_EPSD2 1.0e-200 97 #define MMG5_EPS 1.e-06 98 #define MMG5_EPSOK 1.e-15 99 #define MMG5_NULKAL 1.e-30 101 #define MMG5_SQR32 0.866025403784439 104 #define M_PI 3.14159265358979323846 105 #define M_PI_2 1.57079632679489661923 108 #define A64TH 0.015625 110 #define A32TH 0.03125 112 #define MMG5_MEMMIN 38 115 #define MMG5_NONSET_MEM -1 116 #define MMG5_NONSET_HMIN -1 117 #define MMG5_NONSET_HMAX -1 118 #define MMG5_NONSET_HSIZ -1 119 #define MMG5_HAUSD 0.01 120 #define MMG5_HGRAD 0.26236426446 121 #define MMG5_HGRADREQ 0.83290912294 122 #define MMG5_NOHGRAD -1 126 #define MMG5_PROCTREE 32 130 #define MMG5_HMINCOE 0.001 131 #define MMG5_HMAXCOE 2 132 #define MMG5_HMINMAXGAP 5 136 #define MG_MAX(a,b) (((a) > (b)) ? (a) : (b)) 137 #define MG_MIN(a,b) (((a) < (b)) ? (a) : (b)) 141 #define MG_REF (1 << 0) 142 #define MG_GEO (1 << 1) 143 #define MG_REQ (1 << 2) 144 #define MG_NOM (1 << 3) 145 #define MG_BDY (1 << 4) 146 #define MG_CRN (1 << 5) 147 #define MG_NOSURF (1 << 6) 148 #define MG_OPNBDY (1 << 7) 149 #define MG_OLDPARBDY (1 << 11) 150 #define MG_PARBDYBDY (1 << 12) 151 #define MG_PARBDY (1 << 13) 152 #define MG_NUL (1 << 14) 155 #define MG_Vert (1 << 0 ) 156 #define MG_Tria (1 << 1 ) 157 #define MG_Tetra (1 << 2 ) 159 #define MG_VOK(ppt) (ppt && ((ppt)->tag < MG_NUL)) 160 #define MG_EOK(pt) (pt && ((pt)->v[0] > 0)) 162 #define MG_EDG(tag) ((tag & MG_GEO) || (tag & MG_REF)) 163 #define MG_SIN(tag) ((tag & MG_CRN) || (tag & MG_REQ)) 164 #define MG_RID(tag) ((!( MG_SIN(tag)||(tag & MG_NOM))) && tag & MG_GEO ) 167 #define MG_SET(flag,bit) ((flag) |= (1 << (bit))) 168 #define MG_CLR(flag,bit) ((flag) &= ~(1 << (bit))) 169 #define MG_GET(flag,bit) ((flag) & (1 << (bit))) 177 #define _LIBMMG5_RETURN(mesh,met,val)do \ 179 signal(SIGABRT,SIG_DFL); \ 180 signal(SIGFPE,SIG_DFL); \ 181 signal(SIGILL,SIG_DFL); \ 182 signal(SIGSEGV,SIG_DFL); \ 183 signal(SIGTERM,SIG_DFL); \ 184 signal(SIGINT,SIG_DFL); \ 185 mesh->npi = mesh->np; \ 186 mesh->nti = mesh->nt; \ 187 mesh->nai = mesh->na; \ 188 mesh->nei = mesh->ne; \ 189 met->npi = met->np; \ 196 #define MMG5_CHK_MEM(mesh,size,string,law) do \ 198 if ( (mesh)->memCur > (mesh)->memMax ) { \ 199 fprintf(stderr," ## Error:"); \ 200 fprintf(stderr," unable to allocate %s.\n",string); \ 201 fprintf(stderr," ## Check the mesh size or "); \ 202 fprintf(stderr,"increase maximal authorized memory with the -m option.\n"); \ 203 (mesh)->memCur -= (size); \ 211 ptr = calloc(
c*
s+
sizeof(
size_t),1);
224 ptr = malloc(
s+
sizeof(
size_t));
237 char *ptr_in_c = (
char*)ptr_in;
238 ptr_in_c -=
sizeof(size_t);
239 if (oldsize != *((
size_t*)ptr_in_c)) {
240 fprintf(stderr,
"myrealloc: Error: freed memory mismatch\n");
243 ptr = realloc(ptr_in_c,
s+
sizeof(
size_t));
256 char * ptr_c = (
char*)ptr;
258 ptr_c = ptr_c-
sizeof(size_t);
259 s = *((
size_t*)ptr_c);
266 #define MMG5_DEL_MEM(mesh,ptr) do \ 268 size_t size_to_free = myfree(ptr); \ 269 (mesh)->memCur -= size_to_free; \ 275 #define MMG5_ADD_MEM(mesh,size,message,law) do \ 277 (mesh)->memCur += (size); \ 278 MMG5_CHK_MEM(mesh,size,message,law); \ 282 #define MMG5_SAFE_FREE(ptr) do \ 289 #define MMG5_SAFE_CALLOC(ptr,size,type,law) do \ 291 ptr = (type*)mycalloc(size,sizeof(type)); \ 293 perror(" ## Memory problem: calloc"); \ 299 #define MMG5_SAFE_MALLOC(ptr,size,type,law) do \ 301 size_t size_to_allocate = (size)*sizeof(type); \ 302 ptr = (type*)mymalloc(size_to_allocate); \ 304 perror(" ## Memory problem: malloc"); \ 310 #define MMG5_SAFE_REALLOC(ptr,prevSize,newSize,type,message,law) do \ 313 size_t size_to_allocate = (newSize)*sizeof(type); \ 315 tmp = (type *)myrealloc((ptr),size_to_allocate,(prevSize)*sizeof(type)); \ 317 MMG5_SAFE_FREE(ptr); \ 318 perror(" ## Memory problem: realloc"); \ 326 #define MMG5_SAFE_RECALLOC(ptr,prevSize,newSize,type,message,law) do \ 329 size_t size_to_allocate = (newSize)*sizeof(type); \ 331 tmp = (type *)myrealloc((ptr),size_to_allocate,(prevSize)*sizeof(type)); \ 333 MMG5_SAFE_FREE(ptr); \ 334 perror(" ## Memory problem: realloc"); \ 340 if ( newSize > prevSize ) { \ 341 memset(&((ptr)[prevSize]),0,((newSize)-(prevSize))*sizeof(type)); \ 348 #define MMG5_TAB_RECALLOC(mesh,ptr,initSize,wantedGap,type,message,law) do \ 352 assert ( mesh->memCur < mesh->memMax ); \ 354 gap = (int)(wantedGap * initSize); \ 355 if ( !gap ) gap = 1; \ 357 if ( mesh->memMax < mesh->memCur + gap*sizeof(type) ) { \ 358 gap = (int)((mesh->memMax-mesh->memCur)/sizeof(type)); \ 360 fprintf(stderr," ## Error:"); \ 361 fprintf(stderr," unable to allocate %s.\n",message); \ 362 fprintf(stderr," ## Check the mesh size or "); \ 363 fprintf(stderr,"increase maximal authorized memory with the -m option.\n"); \ 368 MMG5_ADD_MEM(mesh,gap*sizeof(type),message,law); \ 369 MMG5_SAFE_RECALLOC((ptr),initSize+1,initSize+gap+1,type,message,law); \ 370 initSize = initSize+gap; \ 374 #define MMG5_INCREASE_MEM_MESSAGE() do \ 376 printf(" ## Check the mesh size or increase maximal"); \ 377 printf(" authorized memory with the -m option.\n"); \ 380 #define MMG5_SAFELL2LCAST(longlongval) (((longlongval) > (LONG_MAX)) ? 0 : ((long)(longlongval))) 381 #define MMG5_SAFELL2ICAST(longlongval) (((longlongval) > (INT_MAX)) ? 0 : ((int)(longlongval))) 391 fprintf(stdout,
" ## Warning: we will overflow the memory asked with \"-m\"");
392 fprintf(stdout,
" option during Scotch call.\n" );
405 fprintf(stdout,
"\n Unexpected error:"); fflush(stdout);
408 fprintf(stdout,
" *** potential lack of memory.\n");
break;
410 fprintf(stdout,
" *** Floating-point exception\n");
break;
412 fprintf(stdout,
" *** Illegal instruction\n");
break;
414 fprintf(stdout,
" *** Segmentation fault\n");
break;
417 fprintf(stdout,
" *** Program killed\n");
break;
436 #define FORTRAN_NAME(nu,nl,pl,pc) \ 458 #define FORTRAN_VARIADIC(nu,nl,pl,body) \ 509 extern double MMG5_det3pt1vec(
double c0[3],
double c1[3],
double c2[3],
double v[3]);
510 extern double MMG5_det4pt(
double c0[3],
double c1[3],
double c2[3],
double c3[3]);
519 int MMG5_paratmet(
double c0[3],
double n0[3],
double m[6],
double c1[3],
double n1[3],
double mt[6]);
520 void MMG5_mn(
double m[6],
double n[6],
double mn[9] );
521 extern int MMG5_rmtr(
double r[3][3],
double m[6],
double mr[6]);
531 int,
int,
double,
int,
double*,
int*,
char);
533 int,
int,
double,
int,
double*,
539 double *,
double *,
double *,
double *);
572 double *,
double *,
double,
double,
double);
574 double *,
double *,
double *,
double *,
575 double,
double,
double);
589 FILE **inm,
long *posNodes,
long *posElts,
590 long **posNodeData,
int *bin,
int *iswp,
591 int *nelts,
int *
nsols);
594 const long posNodes,
const long posElts,
595 const long *posNodeData,
const int bin,
596 const int iswp,
const int nelts,
600 int*,
int*,
int**,
long*,
int);
void MMG5_mark_pointsOnReqEdge_fromTria(MMG5_pMesh mesh)
Definition: isosiz.c:233
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:586
int MMG5_loadSolHeader(const char *, int, FILE **, int *, int *, int *, int *, int *, int *, int **, long *, int)
Definition: inout.c:1947
int MMG5_intmetsavedir(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:86
Cell for linked list of integer value.
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
int MMG5_intridmet(MMG5_pMesh, MMG5_pSol, int, int, double, double *, double *)
! MMG5_pPoint point
Definition: libmmgtypesf.h:597
static size_t myfree(void *ptr)
Definition: mmgcommon.h:254
! int a
Definition: libmmgtypesf.h:286
int MMG5_interp_iso(double *ma, double *mb, double *mp, double t)
Definition: intmet.c:607
int MMG5_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:268
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgcommon.h:631
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
static void * mycalloc(size_t c, size_t s)
Definition: mmgcommon.h:209
Definition: mmgcommon.h:501
! double * m
Definition: libmmgtypesf.h:627
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
int MMG5_hashUpdate(MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:270
int MMG5_mmgIntmet33_ani(double *, double *, double *, double)
Definition: intmet.c:178
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgcommon.h:629
int k
Definition: mmgcommon.h:502
double MMG5_nonorsurf(MMG5_pMesh mesh, MMG5_pTria pt)
Definition: tools.c:106
! int k
Definition: libmmgtypesf.h:543
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
! double c[3]
Definition: libmmgtypesf.h:255
int MMG5_boundingBox(MMG5_pMesh mesh)
Definition: scalem.c:45
void MMG5_printMetStats(MMG5_pMesh mesh, MMG5_pSol met)
Definition: inout.c:2389
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
Definition: libmmgtypes.h:563
! int nsols
Definition: libmmgtypesf.h:573
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgcommon.h:628
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgcommon.h:632
void MMG5_Set_commonFunc()
int MMG5_invmatg(double m[9], double mi[9])
Definition: tools.c:329
void MMG5_mmgInit_parameters(MMG5_pMesh mesh)
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
void MMG5_bezierEdge(MMG5_pMesh, int, int, double *, double *, char, double *)
int MMG5_mmgHashTria(MMG5_pMesh mesh, int *adja, MMG5_Hash *, int chkISO)
Definition: hash.c:50
int MMG5_mmgIntextmet(MMG5_pMesh, MMG5_pSol, int, double *, double *)
void MMG5_Free_dlinkedList(MMG5_pMesh mesh, MMG5_dNode *liLi)
Definition: tools.c:793
int MMG5_Add_dnode(MMG5_pMesh mesh, MMG5_dNode **liLi, int, double)
Definition: tools.c:741
int val
Definition: mmgcommon.h:493
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:333
int MMG5_bouler(MMG5_pMesh, int *, int, int i, int *, int *, int *, int *, int)
Definition: boulep.c:214
int MMG5_Add_inode(MMG5_pMesh mesh, MMG5_iNode **liLi, int val)
Definition: tools.c:643
void MMG5_mn(double m[6], double n[6], double mn[9])
Definition: tools.c:170
int MMG5_saveMshMesh(MMG5_pMesh, MMG5_pSol *, const char *, const int)
Definition: inout.c:1489
static void * mymalloc(size_t s)
Definition: mmgcommon.h:222
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
int(* MMG5_indElt)(MMG5_pMesh mesh, int kel)
Definition: mmgcommon.h:637
int MMG5_buildridmet(MMG5_pMesh, MMG5_pSol, int, double, double, double, double *, double[3][3])
! int type
Definition: libmmgtypesf.h:570
double MMG5_det4pt(double c0[3], double c1[3], double c2[3], double c3[3])
Definition: tools.c:818
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:260
void MMG5_fillDefmetregSys(int, MMG5_pPoint, int, MMG5_Bezier, double r[3][3], double *, double *, double *, double *)
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgcommon.h:633
double MMG2D_quickarea(double a[2], double b[2], double c[2])
Definition: tools.c:857
int MMG5_solveDefmetregSys(MMG5_pMesh, double r[3][3], double *, double *, double *, double *, double, double, double)
int MMG5_invmat(double *m, double *mi)
Definition: tools.c:278
int MMG5_loadMshMesh_part1(MMG5_pMesh mesh, const char *filename, FILE **inm, long *posNodes, long *posElts, long **posNodeData, int *bin, int *iswp, int *nelts, int *nsols)
Definition: inout.c:241
int MMG5_intersecmet22(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:254
void MMG5_gradEigenvreq(double *dm, double *dn, double, int8_t, int8_t *)
Definition: anisosiz.c:1382
int MMG5_compute_meanMetricAtMarkedPoints_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1690
int MMG5_norpts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:129
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:80
int MMG5_gradsizreq_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1797
int MMG5_defsiz_startingMessage(MMG5_pMesh, MMG5_pSol, const char *funcname)
Definition: isosiz.c:77
int MMG5_gradsizreq_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz.c:359
void MMG5_gradation_info(MMG5_pMesh)
Definition: isosiz.c:96
int MMG5_grad2metSurf(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz.c:912
int(* MMG5_indPt)(MMG5_pMesh mesh, int kp)
Definition: mmgcommon.h:638
void MMG5_readFloatSol3D(MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2085
int MMG5_interpreg_ani(MMG5_pMesh, MMG5_pSol, MMG5_pTria, char, double, double *mr)
double MMG5_surftri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: anisosiz.c:122
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:49
static void MMG5_excfun(int sigid)
Definition: mmgcommon.h:404
struct MMG5_dNode_s * nxt
Definition: mmgcommon.h:504
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
int MMG5_nonUnitNorPts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:73
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
char ddebug
Definition: libmmgtypes.h:453
double MMG5_ridSizeInNormalDir(MMG5_pMesh, int, double *, MMG5_pBezier, double, double)
int MMG5_grad2metSurfreq(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz.c:1450
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
void MMG5_readDoubleSol3D(MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2131
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:216
int MMG5_loadMshMesh_part2(MMG5_pMesh mesh, MMG5_pSol *sol, FILE **inm, const long posNodes, const long posElts, const long *posNodeData, const int bin, const int iswp, const int nelts, const int nsols)
Definition: inout.c:489
void MMG5_chooseOutputFormat(MMG5_pMesh mesh, int *msh)
Definition: mmg.c:186
struct MMG5_iNode_s * nxt
Definition: mmgcommon.h:494
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:198
double MMG5_surftri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: isosiz.c:42
double MMG5_det3pt1vec(double c0[3], double c1[3], double c2[3], double v[3])
Definition: tools.c:806
int MMG5_writeLocalParamAtTri(MMG5_pMesh, MMG5_iNode *, FILE *)
Definition: mmg.c:162
int MMG5_invmat33(double m[3][3], double mi[3][3])
Definition: tools.c:370
size_t MMG5_memSize(void)
Definition: tools.c:547
int MMG5_chkMetricType(MMG5_pMesh mesh, int *type, FILE *inm)
Definition: inout.c:2357
Definition: mmgcommon.h:480
MMG5_Bezier * MMG5_pBezier
Definition: mmgcommon.h:486
int MMG5_gradsiz_ani(MMG5_pMesh mesh, MMG5_pSol met, int *it)
Definition: anisosiz.c:1735
void MMG5_printSolStats(MMG5_pMesh mesh, MMG5_pSol *sol)
Definition: inout.c:2407
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
char imprim
Definition: libmmgtypes.h:453
int mem
Definition: libmmgtypes.h:447
Definition: mmgcommon.h:492
double MMG5_surftri33_ani(MMG5_pMesh, MMG5_pTria, double *, double *, double *)
! int * adja
Definition: libmmgtypesf.h:584
void MMG5_printTria(MMG5_pMesh mesh, char *fileName)
Definition: tools.c:520
int MMG5_saveSolHeader(MMG5_pMesh, const char *, FILE **, int, int *, int, int, int, int *, int *)
Definition: inout.c:2245
MMG mesh structure.
Definition: libmmgtypes.h:509
int MMG5_boulen(MMG5_pMesh, int *, int, int i, double *nn)
Definition: boulep.c:50
! double n2[3]
Definition: libmmgtypesf.h:275
API header for the common part of the MMG libraries.
int MMG5_buildridmetnor(MMG5_pMesh, MMG5_pSol, int, double *, double *, double[3][3])
int MMG5_boulec(MMG5_pMesh, int *, int, int i, double *tt)
Definition: boulep.c:126
struct MMG5_dNode_s MMG5_dNode
! double hmax
Definition: libmmgtypesf.h:242
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:89
double MMG5_ridSizeInTangentDir(MMG5_pMesh, MMG5_pPoint, int, int *, double, double)
Definition: anisosiz.c:725
int MMG5_reset_metricAtReqEdges_surf(MMG5_pMesh, MMG5_pSol)
Definition: isosiz.c:194
int MMG5_scotchCall(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: librnbg.c:192
! double n[3]
Definition: libmmgtypesf.h:256
! int b
Definition: libmmgtypesf.h:286
int MMG5_sys33sym(double a[6], double b[3], double r[3])
Definition: tools.c:465
! double n1[3]
Definition: libmmgtypesf.h:275
double val
Definition: mmgcommon.h:503
void MMG5_displayLengthHisto(MMG5_pMesh, int, double *, int, int, double, int, int, double, int, double *, int *, char)
Definition: quality.c:251
Cell for linked list of double value.
int MMG5_sum_reqEdgeLengthsAtPoint(MMG5_pMesh, MMG5_pSol, int ip0, int ip1)
Definition: isosiz.c:129
int MMG5_countLocalParamAtTri(MMG5_pMesh, MMG5_iNode **)
Definition: mmg.c:117
int MMG5_solveDefmetrefSys(MMG5_pMesh, MMG5_pPoint, int *, double r[3][3], double *, double *, double *, double *, double, double, double)
void MMG5_writeDoubleSol3D(MMG5_pMesh, MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2179
int MMG5_simred(MMG5_pMesh, double *, double *, double dm[2], double dn[2], double vp[2][2])
Definition: anisosiz.c:1264
int MMG5_buildridmetfic(MMG5_pMesh, double *, double *, double, double, double, double *)
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgcommon.h:630
MMG5_pMesh * mesh
Definition: API_functionsf_s.c:63
! int v[3]
Definition: libmmgtypesf.h:315
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
void MMG5_displayLengthHisto_internal(int, int, int, double, int, int, double, int, double *, int *, char, int)
Definition: quality.c:294
void MMG5_defUninitSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:224
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
Definition: libmmgtypes.h:270
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:837
! int s
Definition: libmmgtypesf.h:262
int MMG5_hashGet(MMG5_Hash *hash, int a, int b)
Definition: hash.c:303
struct MMG5_iNode_s MMG5_iNode
int MMG5_elementWeight(MMG5_pMesh, MMG5_pSol, MMG5_pTria, MMG5_pPoint, MMG5_Bezier *, double r[3][3], double gv[2])
Definition: anisomovpt.c:53
int MMG5_updatemetreq_ani(double *n, double dn[2], double vp[2][2])
Definition: anisosiz.c:1413
MMG5_Info info
Definition: libmmgtypes.h:552
! double hsiz
Definition: libmmgtypesf.h:495
static void * myrealloc(void *ptr_in, size_t s, size_t oldsize)
Definition: mmgcommon.h:235
void MMG5_Free_ilinkedList(MMG5_pMesh mesh, MMG5_iNode *liLi)
Definition: tools.c:695