◆ MMG5_regnor()
- Parameters
-
mesh | pointer toward a MMG5 mesh structure. |
- Returns
- 0 if fail, 1 otherwise.
Regularization procedure for derivatives, dual Laplacian
int nprism
Definition: libmmgtypes.h:560
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:274
@ MMG5_Vector
Definition: libmmgtypes.h:203
#define MMG5_ARG_ppSols
Definition: libmmgtypes.h:125
void MMG3D_computeOutqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int *nrid, int imprim)
Definition: quality_3d.c:661
int MMG3D_Free_names_var(va_list argptr)
Definition: variadic_3d.c:557
double hmax
Definition: libmmgtypes.h:230
int * v
Definition: mmg3d.h:198
int MMG5_swpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, MMG3D_pPROctree, int8_t)
Definition: swap_3d.c:434
MMG5_pPrism prism
Definition: libmmgtypes.h:593
int xtmax
Definition: libmmgtypes.h:559
int npar
Definition: libmmgtypes.h:478
#define MG_BDY
Definition: mmgcommon.h:144
int nenil
Definition: libmmgtypes.h:570
int np
Definition: libmmgtypes.h:613
int MMG5_split4op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:4116
double c[3]
Definition: libmmgtypes.h:242
double(* MMG5_lenedg)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:5
#define MMG3D_NEMAX
Definition: mmg3d.h:137
int namax
Definition: libmmgtypes.h:559
#define MG_EDG(tag)
Definition: mmgcommon.h:163
void MMG5_displayLengthHisto(MMG5_pMesh, int, double *, int, int, double, int, int, double, int, double *, int *, int8_t)
Definition: quality.c:251
int MMG5_movbdynomintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int improve)
Definition: movpt_3d.c:1482
MMG3D_PROctree_s * q0
Definition: mmg3d.h:211
int MMG5_split1b(MMG5_pMesh, MMG5_pSol, int *, int, int, int, int8_t, int8_t)
Definition: split_3d.c:512
#define MMG5_SQR32
Definition: mmgcommon.h:94
#define MG_MAX(a, b)
Definition: mmgcommon.h:135
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:838
double hmin
Definition: libmmgtypes.h:476
int * MMG3D_sizeArbre(MMG3D_pPROctree q, int dim)
Definition: PRoctree_3d.c:1117
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, int8_t)
Definition: mmgexterns.c:28
int v[3]
Definition: libmmgtypes.h:303
#define MMG5_MILLION
Definition: mmgcommon.h:81
Definition: libmmgtypes.h:370
#define MG_MINUS
Definition: mmgcommon.h:72
static void MMG3D_Init_woalloc_mesh(MMG5_pMesh mesh, MMG5_pSol *met, MMG5_pSol *ls, MMG5_pSol *disp)
Definition: variadic_3d.c:97
Definition: libmmgtypes.h:610
static int MMG3D_normalDeviation(MMG5_pMesh mesh, int start, int8_t iface, int8_t ia, int idx, int ip, double n0[3])
Definition: split_3d.c:267
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:217
#define MG_SIN(tag)
Definition: mmgcommon.h:164
int MMG3D_split3_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1722
int MMG5_movbdynompt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:1135
MMG5_SAFE_MALLOC(tmp, *strlen0+1, char, return)
#define MMG5_ARG_ppDisp
Definition: libmmgtypes.h:115
#define MMG5_NULKAL
Definition: mmgcommon.h:92
int64_t MMG3D_getPROctreeCoordinate(MMG3D_pPROctree q, double *ver, int dim)
Definition: PRoctree_3d.c:181
@ MMG5_Triangle
Definition: libmmgtypes.h:215
#define MMG3D_LOPTL
Definition: mmg3d.h:122
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:98
#define MG_REF
Definition: mmgcommon.h:140
int MMG3D_movv_ani(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:1951
#define MG_EOK(pt)
Definition: mmgcommon.h:161
int MMG3D_memOption(MMG5_pMesh mesh)
Definition: zaldy_3d.c:239
static void MMG3D_configSplit5(MMG5_pTetra pt, int vx[6], uint8_t tau[4], const uint8_t **taued, uint8_t *imin)
Definition: split_3d.c:4387
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, int8_t metRidTyp)
Definition: quality_3d.c:48
int MMG3D_movnormal_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2066
#define MG_NOM
Definition: mmgcommon.h:143
int(* MMG5_interp4bar)(MMG5_pMesh, MMG5_pSol, int, int, double *)
Definition: mmg3dexterns.c:13
int xt
Definition: libmmgtypes.h:568
char * namein
Definition: libmmgtypes.h:620
void MMG3D_printSubArbre(MMG3D_PROctree_s *q, int nv, int dim)
Definition: PRoctree_3d.c:1052
static double MMG5_lenedg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:230
#define MMG5_ARG_start
Definition: libmmgtypes.h:76
static int MMG3D_chksplit(MMG5_pMesh mesh, MMG5_pSol met, int ip, int *list, int ret, double crit)
Definition: split_3d.c:5212
#define MMG5_MEMMIN
Definition: mmgcommon.h:105
int8_t MMG5_chkedg(MMG5_pMesh mesh, MMG5_Tria *pt, int8_t ori, double, double, int)
Definition: mmg3d1.c:309
int xp
Definition: libmmgtypes.h:568
int size
Definition: libmmgtypes.h:616
int MMG5_split5(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:4527
int xpmax
Definition: libmmgtypes.h:559
int imprim
Definition: libmmgtypes.h:484
int MMG3D_inqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:613
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:542
int16_t tag[6]
Definition: libmmgtypes.h:394
uint8_t optimLES
Definition: libmmgtypes.h:500
#define MMG3D_NTMAX
Definition: mmg3d.h:136
int MMG3D_displayQualHisto(int ne, double max, double avg, double min, int iel, int good, int med, int his[5], int nrid, int optimLES, int imprim)
Definition: quality_3d.c:443
void MMG5_displayLengthHisto(MMG5_pMesh mesh, int ned, double *avlen, int amin, int bmin, double lmin, int amax, int bmax, double lmax, int nullEdge, double *bd, int *hl, int8_t shift)
Definition: quality.c:251
double hmin
Definition: libmmgtypes.h:229
uint8_t nomove
Definition: libmmgtypes.h:500
static const uint8_t MMG5_iprv2[3]
Definition: mmgcommon.h:548
MMG5_pPoint point
Definition: libmmgtypes.h:589
int16_t ftag[4]
Definition: libmmgtypes.h:392
static const uint8_t MMG5_arpt[4][3]
arpt[i]: edges passing through vertex i
Definition: mmg3d.h:162
#define MG_GET(flag, bit)
Definition: mmgcommon.h:170
int edg[3]
Definition: libmmgtypes.h:308
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
int nbVer
Definition: mmg3d.h:199
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag, int src)
Definition: zaldy_3d.c:39
void MMG3D_sizeArbreRec(MMG3D_PROctree_s *q, int nv, int dim, int *s1, int *s2)
Definition: PRoctree_3d.c:1075
int MMG3D_optbdry(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:250
static int MMG3D_typelt(MMG5_pMesh mesh, int iel, int *item)
Definition: opttyp_3d.c:64
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:79
int16_t tag[3]
Definition: libmmgtypes.h:311
double MMG5_surftri33_ani(MMG5_pMesh mesh, MMG5_pTria ptt, double ma[6], double mb[6], double mc[6])
Definition: anisosiz.c:169
int opnbdy
Definition: libmmgtypes.h:480
int MMG5_split2sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:1225
int MMG3D_bezierInt(MMG5_pBezier pb, double uv[2], double o[3], double no[3], double to[3])
Definition: bezier_3d.c:571
size_t memMax
Definition: libmmgtypes.h:553
int MMG5_coquilface(MMG5_pMesh mesh, int start, int8_t iface, int ia, int *list, int *it1, int *it2, int silent)
Definition: boulep_3d.c:1783
int8_t sethmax
Definition: libmmgtypes.h:499
int MMG3D_split4op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3995
double max[3]
Definition: libmmgtypes.h:477
int MMG5_boundingBox(MMG5_pMesh mesh)
Definition: scalem.c:45
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
int base
Definition: libmmgtypes.h:564
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:121
#define MMG3D_ALPHAD
Definition: mmg3d.h:119
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:98
int MMG3D_split3op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2720
int MMG3D_normalAdjaTri(MMG5_pMesh, int, int8_t, int, double n[3])
Definition: split_3d.c:463
int MMG5_movintptLES_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:194
#define MG_VOK(ppt)
Definition: mmgcommon.h:160
int8_t ddb
Definition: mmg3d1_delone.c:41
static const uint8_t MMG5_inxt2[6]
Definition: mmgcommon.h:547
double MMG5_det4pt(double c0[3], double c1[3], double c2[3], double c3[3])
Definition: tools.c:819
int np
Definition: libmmgtypes.h:559
static const int8_t MMG5_idirinv[4][4]
Definition: mmg3d.h:150
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:2852
int MMG3D_movePROctree(MMG5_pMesh, MMG3D_pPROctree, int, double *, double *)
Definition: PRoctree_3d.c:223
#define MMG5_MEMMAX
Definition: mmgcommon.h:66
static const int8_t MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:152
int ref
Definition: libmmgtypes.h:247
int8_t nnor
Definition: libmmgtypes.h:266
int MMG5_movbdyrefpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:782
int nc
Definition: mmg3d.h:210
int ref
Definition: libmmgtypes.h:232
int MMG3D_movv_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2176
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:592
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:50
#define MMG5_MEMPERCENT
Definition: mmgcommon.h:68
int nv
Definition: mmg3d.h:209
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:216
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:68
void MMG3D_computeLESqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int imprim)
Definition: quality_3d.c:359
static double MMG5_orcal(MMG5_pMesh mesh, MMG5_pSol met, int iel)
Definition: inlined_functions_3d.h:262
#define MMG5_EPSOK
Definition: mmgcommon.h:91
int ne
Definition: libmmgtypes.h:559
Cell for linked list of double value.
static void MMG3D_configSplit3op(MMG5_pTetra pt, int vx[6], uint8_t tau[4], const uint8_t **taued, uint8_t sym[4], uint8_t symed[6], uint8_t *ip0, uint8_t *ip1, uint8_t *ip2, uint8_t *ip3, uint8_t *ie0, uint8_t *ie1, uint8_t *ie2, uint8_t *ie3, uint8_t *ie4, uint8_t *ie5, uint8_t *imin03, uint8_t *imin12)
Definition: split_3d.c:2564
int MMG3D_delPROctreeVertex(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int indNo)
Definition: PRoctree_3d.c:798
int MMG5_scale_scalarMetric(MMG5_pMesh mesh, MMG5_pSol met, double dd, int8_t sethmin, int8_t sethmax)
Definition: scalem.c:122
int * adja
Definition: libmmgtypes.h:572
#define MMG3D_POINT_REALLOC(mesh, sol, ip, wantedGap, law, o, tag, src)
Definition: mmg3d.h:48
uint8_t noswap
Definition: libmmgtypes.h:500
int MMG5_BezierNom(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:535
double hausd
Definition: libmmgtypes.h:476
int v[6]
Definition: libmmgtypes.h:432
MMG5_pTria tria
Definition: libmmgtypes.h:595
int MMG3D_swap23(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t metRidTyp, int ifac, int conf0, int adj, int conf1)
Definition: swap_3d.c:566
int MMG3D_optbdry(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: optbdry_3d.c:250
int MMG5_split3(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:1793
double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:111
void MMG3D_initPROctree_s(MMG3D_PROctree_s *q)
Definition: PRoctree_3d.c:46
double qual
Definition: libmmgtypes.h:371
const int va_list argptr
Definition: API_functionsf_3d.c:977
#define MG_REQ
Definition: mmgcommon.h:142
int MMG5_chkswpgen(MMG5_pMesh mesh, MMG5_pSol met, int start, int ia, int *ilist, int *list, double crit, int8_t typchk)
Definition: swapgen_3d.c:55
int MMG3D_PROctreein_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1140
static void MMG3D_Set_commonFunc(void)
Definition: mmg3d.h:570
int MMG5_swpbdy(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int it1, MMG3D_pPROctree PROctree, int8_t typchk)
Definition: swap_3d.c:434
int MMG3D_intersectRect(double *rectin, double *rectinout)
Definition: PRoctree_3d.c:383
void MMG5_mmgFree_names(MMG5_pMesh mesh, MMG5_pSol met)
Definition: API_functions.c:502
int MMG3D_isCellIncluded(double *cellCenter, double l, double *zoneCenter, double l0)
Definition: PRoctree_3d.c:263
static void MMG3D_configSplit4sf(MMG5_pTetra pt, int vx[6], uint8_t tau[4], const uint8_t **taued, uint8_t *imin23, uint8_t *imin12)
Definition: split_3d.c:3578
int mark
Definition: libmmgtypes.h:566
MMG5_pMesh * mesh
Definition: API_functionsf_3d.c:65
int MMG5_BezierEdge(MMG5_pMesh mesh, int ip0, int ip1, double b0[3], double b1[3], int8_t ised, double v[3])
Definition: bezier_3d.c:152
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:290
#define MMG3D_LOPTS
Definition: mmg3d.h:123
MMG5_pQuad quadra
Definition: libmmgtypes.h:596
#define MG_GEO
Definition: mmgcommon.h:141
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
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:342
int flag
Definition: libmmgtypes.h:378
int depth
Definition: mmg3d.h:200
int MMG3D_split6_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4765
int MMG3D_simbulgept(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip)
Definition: split_3d.c:322
int MMG3D_split4sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3655
uint8_t noinsert
Definition: libmmgtypes.h:500
int MMG3D_memOption_memSet(MMG5_pMesh mesh)
Definition: zaldy_3d.c:157
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
int MMG5_chkswpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, int *, double, int8_t)
Definition: swapgen_3d.c:55
int MMG3D_swpItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:326
int MMG3D_split2sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1115
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: scalem.c:401
int ref
Definition: libmmgtypes.h:304
int MMG5_movbdyregpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improveSurf, int improveVol)
Definition: movpt_3d.c:366
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
int MMG3D_PROctreein_ani(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1220
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
int MMG5_colver(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int8_t indq, int8_t typchk)
Definition: colver_3d.c:839
int MMG3D_Free_all_var(va_list argptr)
Definition: variadic_3d.c:271
#define MMG5_NONSET_HMAX
Definition: mmgcommon.h:114
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:156
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:121
char * nameout
Definition: libmmgtypes.h:621
int xpr
Definition: libmmgtypes.h:436
void MMG3D_Free_arrays(MMG5_pMesh *mesh, MMG5_pSol *sol, MMG5_pSol *ls, MMG5_pSol *disp, MMG5_pSol *field)
Definition: variadic_3d.c:369
int MMG5_split1(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:116
int MMG3D_split1_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:50
int MMG3D_getListSquare(MMG5_pMesh mesh, double *ani, MMG3D_pPROctree q, double *rect, MMG3D_PROctree_s ***qlist)
Definition: PRoctree_3d.c:572
int8_t ddebug
Definition: libmmgtypes.h:487
int8_t ddb
Definition: mmg3d1_delone.c:41
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:394
void MMG5_tet2tri(MMG5_pMesh mesh, int k, int8_t ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
double * m
Definition: libmmgtypes.h:618
#define MMG5_ARG_end
Definition: libmmgtypes.h:162
#define MG_NOTAG
Definition: mmgcommon.h:139
double delta
Definition: libmmgtypes.h:477
int MMG3D_split2_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1457
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:233
int8_t ori
Definition: libmmgtypes.h:396
static int MMG3D_Alloc_mesh(MMG5_pMesh *mesh, MMG5_pSol *met, MMG5_pSol *ls, MMG5_pSol *disp)
Definition: variadic_3d.c:57
int MMG5_split4sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:3758
void MMG3D_computeInqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int imprim)
Definition: quality_3d.c:542
#define MMG3D_NPMAX
Definition: mmg3d.h:134
static const uint8_t MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:156
int v[4]
Definition: libmmgtypes.h:336
void MMG3D_freePROctree_s(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int nv)
Definition: PRoctree_3d.c:111
double ls
Definition: libmmgtypes.h:477
void MMG3D_freePROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q)
Definition: PRoctree_3d.c:162
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: scalem.c:273
struct MMG5_dNode_s * nxt
Definition: mmgcommon.h:581
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:390
int MMG3D_splitItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar, double OCRIT)
Definition: opttyp_3d.c:390
int MMG3D_Free_structures_var(va_list argptr)
Definition: variadic_3d.c:459
int na
Definition: libmmgtypes.h:559
int MMG3D_memOption_memRepartition(MMG5_pMesh mesh)
Definition: zaldy_3d.c:172
int MMG3D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_3d.c:314
int MMG3D_getListSquareRec(MMG3D_PROctree_s *q, double *center, double *rect, MMG3D_PROctree_s ***qlist, double *dist, double *ani, double l0, int nc, int dim, int *index)
Definition: PRoctree_3d.c:441
int MMG5_swpgen(MMG5_pMesh mesh, MMG5_pSol met, int nconf, int ilist, int *list, MMG3D_pPROctree PROctree, int8_t typchk)
Definition: swapgen_3d.c:246
#define MMG5_EPS
Definition: eigenv.h:32
int MMG5_countelt(MMG5_pMesh mesh, MMG5_pSol sol, double *weightelt, long *npcible)
Definition: quality_3d.c:786
int MMG5_split4bar(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t metRidTyp)
Definition: split_3d.c:3302
int16_t tag
Definition: libmmgtypes.h:253
double n1[3]
Definition: libmmgtypes.h:264
Definition: libmmgtypes.h:301
int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:773
int MMG3D_chk4ridVertices(MMG5_pMesh mesh, MMG5_pTetra pt)
Definition: anisosiz_3d.c:39
int MMG3D_setMeshSize_alloc(MMG5_pMesh mesh)
Definition: zaldy_3d.c:256
Definition: mmgcommon.h:557
Used to hash edges (memory economy compared to MMG5_hgeom).
Definition: libmmgtypes.h:531
double(* MMG5_lenedgspl)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:6
Cell for linked list of integer value.
#define MG_Tria
Definition: mmgcommon.h:155
int MMG5_split6(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:4834
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
int MMG3D_computePrilen(MMG5_pMesh mesh, MMG5_pSol met, double *avlen, double *lmin, double *lmax, int *ned, int *amin, int *bmin, int *amax, int *bmax, int *nullEdge, int8_t metRidTyp, double **bd_in, int hl[9])
Definition: quality_3d.c:206
static double MMG5_lenedg33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:94
int nquad
Definition: libmmgtypes.h:560
int MMG5_hashPop(MMG5_Hash *hash, int a, int b)
Definition: hash_3d.c:791
#define MG_NUL
Definition: mmgcommon.h:151
int mem
Definition: libmmgtypes.h:478
int8_t badkal
Definition: libmmgtypes.h:488
int MMG5_interp4bar33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:450
int type
Definition: libmmgtypes.h:617
int MMG5_movbdyridpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:1612
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:95
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:342
MMG5_pxPrism xprism
Definition: libmmgtypes.h:594
int k
Definition: mmgcommon.h:579
int MMG3D_opttyp(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int testmark)
Definition: opttyp_3d.c:467
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:590
double MMG5_det3pt1vec(double c0[3], double c1[3], double c2[3], double v[3])
Definition: tools.c:807
#define MMG5_ATHIRD
Definition: mmgcommon.h:86
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5264
int npnil
Definition: libmmgtypes.h:569
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:586
int MMG3D_movv_ani(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1951
int xp
Definition: libmmgtypes.h:248
int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_3d.c:77
MMG5_pTetra tetra
Definition: libmmgtypes.h:591
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:387
#define MMG5_EPSD2
Definition: mmgcommon.h:89
@ MMG5_Tensor
Definition: libmmgtypes.h:204
int MMG3D_Free_names(const int starter,...)
Definition: API_functions_3d.c:2514
int MMG5_velextLS(MMG5_pMesh, MMG5_pSol)
int8_t fem
Definition: libmmgtypes.h:493
void MMG3D_mergeBranchesRec(MMG3D_PROctree_s *q0, MMG3D_PROctree_s *q, int dim, int nv, int *index)
Definition: PRoctree_3d.c:833
#define MMG5_ARG_ppMesh
Definition: libmmgtypes.h:85
int MMG3D_split3cone_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2005
static const uint8_t MMG5_permedge[12][6]
Definition: mmg3d.h:185
#define MMG5_SAFE_REALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:325
int MMG5_movintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:55
double dhd
Definition: libmmgtypes.h:476
#define MG_SMSGN(a, b)
Definition: mmgcommon.h:60
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:327
int8_t ddb
Definition: mmg3d1_delone.c:41
uint8_t optim
Definition: libmmgtypes.h:500
int MMG3D_Free_structures(const int starter,...)
Definition: API_functions_3d.c:2500
Definition: libmmgtypes.h:335
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
static const uint8_t MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
Definition: mmg3d.h:158
int MMG3D_movnormal_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:2066
double(* MMG5_caltri)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmg3dexterns.c:8
int nt
Definition: libmmgtypes.h:559
#define MG_Tetra
Definition: mmgcommon.h:156
MMG5_hedge * item
Definition: libmmgtypes.h:544
static double MMG5_lenedgspl33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:125
#define MG_OPNBDY
Definition: mmgcommon.h:147
#define MG_SET(flag, bit)
Definition: mmgcommon.h:168
int MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:744
double hausd
Definition: libmmgtypes.h:231
MMG mesh structure.
Definition: libmmgtypes.h:552
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag, int src)
Definition: zaldy_3d.c:39
MMG5_pPar par
Definition: libmmgtypes.h:475
int MMG3D_movePROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, int no, double *newVer, double *oldVer)
Definition: PRoctree_3d.c:223
void MMG5_displayLengthHisto_internal(int ned, int amin, int bmin, double lmin, int amax, int bmax, double lmax, int nullEdge, double *bd, int *hl, int8_t shift, int imprim)
Definition: quality.c:293
static const uint8_t MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:148
double n2[3]
Definition: libmmgtypes.h:264
void MMG5_check_hminhmax(MMG5_pMesh mesh, int8_t sethmin, int8_t sethmax)
Definition: scalem.c:88
int MMG3D_intmet33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: intmet_3d.c:101
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:263
struct MMG3D_PROctree_s MMG3D_PROctree_s
int ver
Definition: libmmgtypes.h:556
double val
Definition: mmgcommon.h:580
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:95
int MMG3D_normalAdjaTri(MMG5_pMesh mesh, int start, int8_t iface, int ia, double n[3])
Definition: split_3d.c:463
int MMG3D_movetetrapoints(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:45
int8_t iso
Definition: libmmgtypes.h:489
#define MMG5_ARG_ppMet
Definition: libmmgtypes.h:105
int MMG5_split3cone(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:2186
double hmax
Definition: libmmgtypes.h:476
static const int8_t MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:154
Definition: libmmgtypes.h:228
int MMG3D_movv_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:2176
char * namein
Definition: libmmgtypes.h:600
int8_t sethmin
Definition: libmmgtypes.h:498
MMG5_Info info
Definition: libmmgtypes.h:599
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:362
void MMG3D_printArbre(MMG3D_pPROctree q)
Definition: PRoctree_3d.c:1027
int flag
Definition: libmmgtypes.h:251
int MMG5_chkcol_int(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t iface, int8_t iedg, int *list, int ilist, int8_t typchk)
Definition: colver_3d.c:42
int8_t elt
Definition: libmmgtypes.h:233
int npmax
Definition: libmmgtypes.h:559
int ref
Definition: libmmgtypes.h:373
tmp[*strlen0]
Definition: API_functionsf_3d.c:1021
int MMG3D_optlap(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: optlap_3d.c:44
int16_t tag
Definition: libmmgtypes.h:379
char * nameout
Definition: libmmgtypes.h:601
void MMG3D_placeInListPROctree(MMG3D_PROctree_s **qlist, MMG3D_PROctree_s *q, int index, int size)
Definition: PRoctree_3d.c:314
#define MMG5_ARG_ppLs
Definition: libmmgtypes.h:95
int MMG5_chkswpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, int, int8_t)
Definition: swap_3d.c:55
int MMG3D_delPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, const int nv)
Definition: PRoctree_3d.c:894
int edg[6]
Definition: libmmgtypes.h:390
int MMG3D_deletePoint(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int i)
Definition: optbdry_3d.c:214
void MMG5_mark_verticesAsUnused(MMG5_pMesh mesh)
Definition: tools.c:881
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:304
int MMG5_norpts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:130
int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_3d.c:53
#define MMG5_NONSET_HMIN
Definition: mmgcommon.h:113
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
@ MMG5_Scalar
Definition: libmmgtypes.h:202
#define MMG5_TAB_RECALLOC(mesh, ptr, initSize, wantedGap, type, message, law)
Definition: mmgcommon.h:364
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:281
MMG5_pEdge edge
Definition: libmmgtypes.h:597
int MMG3D_coledges(MMG5_pMesh mesh, MMG5_pSol met, int k, int i)
Definition: optbdry_3d.c:157
int ier
Definition: API_functionsf_3d.c:979
int MMG3D_addPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, int nv)
Definition: PRoctree_3d.c:648
static double MMG5_caltet_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:387
#define MMG3D_BADKAL
Definition: mmg3d.h:130
#define MMG5_ANGEDG
Definition: mmgcommon.h:84
int8_t lag
Definition: libmmgtypes.h:494
#define MMG5_GAP
Definition: mmgcommon.h:127
void MMG3D_printArbreDepth(MMG3D_PROctree_s *q, int depth, int nv, int dim)
Definition: PRoctree_3d.c:1003
double min[3]
Definition: libmmgtypes.h:477
double gap
Definition: libmmgtypes.h:555
static int MMG3D_swpalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:363
int MMG5_swpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, MMG3D_pPROctree, int8_t)
Definition: swapgen_3d.c:246
Definition: libmmgtypes.h:431
int MMG5_scale_meshAndSol(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol, double *dd, int8_t *sethmin, int8_t *sethmax)
Definition: scalem.c:182
int mark
Definition: libmmgtypes.h:375
double(* MMG5_caltet)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: mmg3dexterns.c:7
struct MMG3D_PROctree_s * branches
Definition: mmg3d.h:197
#define MMG5_DISPREF
Definition: mmgcommon.h:78
int ref[4]
Definition: libmmgtypes.h:388
int MMG3D_swpItem(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, int)
Definition: opttyp_3d.c:326
int8_t tagdel
Definition: libmmgtypes.h:255
int MMG5_split2(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], int8_t metRidTyp)
Definition: split_3d.c:1519
int MMG3D_seekIndex(double *distList, double dist, int indexMin, int indexMax)
Definition: PRoctree_3d.c:335
void MMG3D_mergeBranches(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int dim, int nv)
Definition: PRoctree_3d.c:862
int * adjt
Definition: libmmgtypes.h:576
int nbr
Definition: libmmgtypes.h:479
void MMG5_Free_structures(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions.c:460
int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int *list)
Definition: boulep_3d.c:1362
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:79
double hsiz
Definition: libmmgtypes.h:476
void MMG3D_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions_3d.c:81
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5264
if(!ier) exit(EXIT_FAILURE)
int ntmax
Definition: libmmgtypes.h:559
int tmp
Definition: libmmgtypes.h:249
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:69
int * br
Definition: libmmgtypes.h:479
#define MMG3D_TETRA_REALLOC(mesh, jel, wantedGap, law)
Definition: mmg3d.h:93
int MMG3D_prilen(MMG5_pMesh mesh, MMG5_pSol met, int8_t metRidTyp)
Definition: quality_3d.c:324
int MMG3D_split5_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4436
int MMG3D_Init_mesh_var(va_list argptr)
Definition: variadic_3d.c:177
int nemax
Definition: libmmgtypes.h:559
int MMG3D_initPROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q, int nv)
Definition: PRoctree_3d.c:63
#define MMG5_EPSD
Definition: eigenv.h:31
uint8_t metRidTyp
Definition: libmmgtypes.h:501
int dim
Definition: libmmgtypes.h:557
int xt
Definition: libmmgtypes.h:376
int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh, int8_t sethmin, int8_t sethmax)
Definition: API_functions.c:526
int MMG5_split1b(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip, int cas, int8_t metRidTyp, int8_t chkRidTet)
Definition: split_3d.c:512
void MMG3D_placeInListDouble(double *distList, double dist, int index, int size)
Definition: PRoctree_3d.c:296
int(* MMG5_intmet)(MMG5_pMesh, MMG5_pSol, int, int8_t, int, double)
Definition: mmg3dexterns.c:12
int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:975
void __attribute__((unused))
Definition: velextls_3d.c:442
int MMG3D_findEdge(MMG5_pMesh mesh, MMG5_pTetra pt, int k, int na, int nb, int error, int8_t *mmgWarn, int8_t *ia)
Definition: boulep_3d.c:110
static int MMG3D_splitalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:435
#define MMG3D_LMAX
Definition: libmmg3d.h:57
int MMG5_chkswpbdy(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int it1, int it2, int8_t typchk)
Definition: swap_3d.c:55
int MMG3D_displayQualHisto_internal(int ne, double max, double avg, double min, int iel, int good, int med, int his[5], int nrid, int optimLES, int imprim)
Definition: quality_3d.c:477
int xpr
Definition: libmmgtypes.h:568
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:346
int v[4]
Definition: libmmgtypes.h:372
int8_t parTyp
Definition: libmmgtypes.h:495
double n[3]
Definition: libmmgtypes.h:243
void MMG3D_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions_3d.c:56