Go to the documentation of this file.
52 #include "mmg/mmg3d/libmmgtypes.h"
57 #define MMG3D_LMAX 10240
276 int nentities,
int *typSol);
301 int nt,
int nquad,
int na);
326 double c2,
int ref,
int pos);
372 int v2,
int v3,
int ref,
int pos);
419 int v2,
int v3,
int v4,
int v5,
int ref,
int pos);
464 int v2,
int ref,
int pos);
508 int v2,
int v3,
int ref,
int pos);
841 double m22,
double m23,
double m33,
int pos);
998 int ref,
double hmin,
double hmax,
double hausd);
1023 int* nquad,
int* na);
1045 int* np,
int* typSol);
1068 int* nentities,
int* typSol);
1096 int* ref,
int* isCorner,
int* isRequired);
1127 int* areCorners,
int* areRequired);
1153 int* v3,
int* ref,
int* isRequired);
1208 int* v3,
int* v4,
int* v5,
int* ref,
int* isRequired);
1308 int* ref,
int* isRequired);
1356 int* isRidge,
int* isRequired);
1396 int *areRidges,
int *areRequired);
1509 double *m22,
double *m23,
double *m33);
1610 int v2,
int v3,
int ref);
1635 double c2,
int ref);
2103 double lmin,
double lmax,
int *eltab,
char metRidTyp);
2125 int *eltab,
char metRidTyp);
2153 double lmax,
int *eltab,
char metRidTyp);
2198 extern double (*
MMG3D_lenedgCoor)(
double *ca,
double *cb,
double *sa,
double *sb);
int nprism
Definition: libmmgtypes.h:517
int MMG5_defsiz_startingMessage(MMG5_pMesh mesh, MMG5_pSol met, const char *funcname)
Definition: isosiz.c:77
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:243
@ MMG3D_IPARAM_noinsert
Definition: libmmg3d.h:79
#define MG_Vert
Definition: mmgcommon.h:155
double hmax
Definition: libmmgtypes.h:203
int MMG3D_pack_tetraAndAdja(MMG5_pMesh mesh)
Definition: libmmg3d.c:344
int MMG3D_Set_normalAtVertex(MMG5_pMesh mesh, int k, double n0, double n1, double n2)
Definition: API_functions_3d.c:1267
MMG5_pPrism prism
Definition: libmmgtypes.h:546
void MMG3D_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions_3d.c:55
int npar
Definition: libmmgtypes.h:447
int MMG3D_intmet33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_3d.c:101
#define MG_BDY
Definition: mmgcommon.h:145
MMG3D_Param
Input parameters for mmg library.
Definition: libmmg3d.h:68
int nenil
Definition: libmmgtypes.h:527
@ MMG3D_IPARAM_optimLES
Definition: libmmg3d.h:78
int MMG3D_switch_metricStorage(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:967
int np
Definition: libmmgtypes.h:566
int MMG3D_Set_quadrilateral(MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int ref, int pos)
Definition: API_functions_3d.c:947
double c[3]
Definition: libmmgtypes.h:215
int MMG3D_analys(MMG5_pMesh mesh)
Definition: analys_3d.c:731
@ MMG3D_IPARAM_mem
Definition: libmmg3d.h:70
static void MMG5_warnOrientation(MMG5_pMesh mesh)
Definition: mmg3d.h:530
#define MG_EDG(tag)
Definition: mmgcommon.h:162
int MMG3D_Set_vertices(MMG5_pMesh mesh, double *vertices, int *refs)
Definition: API_functions_3d.c:426
int MMG3D_mark_packedPoints(MMG5_pMesh mesh, int *np, int *nc)
Definition: libmmg3d.c:314
Cell of the hash table of geom edges.
Definition: libmmgtypes.h:466
int MMG3D_Set_requiredTriangles(MMG5_pMesh mesh, int *reqIdx, int nreq)
Definition: API_functions_3d.c:1225
int MMG3D_parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:170
int MMG3D_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:557
int MMG5_moymet(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt, double *m1)
Definition: anisosiz_3d.c:69
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:836
double hmin
Definition: libmmgtypes.h:445
int v[3]
Definition: libmmgtypes.h:272
Definition: libmmgtypes.h:339
int MMG3D_Set_tetrahedron(MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int ref, int pos)
Definition: API_functions_3d.c:489
int MMG3D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_3d.c:316
Definition: libmmgtypes.h:563
int MMG3D_defsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:642
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:216
#define MG_SIN(tag)
Definition: mmgcommon.h:163
int MMG5_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:268
size_t memCur
Definition: libmmgtypes.h:511
int nc1
Definition: libmmgtypes.h:519
int s
Definition: libmmgtypes.h:222
int MMG3D_Set_vectorSols(MMG5_pSol met, double *sols)
Definition: API_functions_3d.c:1448
int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:180
int ref
Definition: libmmgtypes.h:245
int MMG3D_Get_tensorSols(MMG5_pSol met, double *sols)
Definition: API_functions_3d.c:1590
double(* MMG3D_lenedgCoor)(double *ca, double *cb, double *sa, double *sb)
Definition: mmg3dexterns.c:3
#define MG_REL
Definition: mmgcommon.h:62
int MMG3D_Get_tetsFromTria(MMG5_pMesh mesh, int ktri, int ktet[2], int iface[2])
Definition: libmmg3d_tools.c:704
int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_3d.c:76
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:329
int MMG3D_Set_scalarSol(MMG5_pSol met, double s, int pos)
Definition: API_functions_3d.c:1289
int MMG3D_Get_edge(MMG5_pMesh mesh, int *e0, int *e1, int *ref, int *isRidge, int *isRequired)
Definition: API_functions_3d.c:1096
#define MG_REF
Definition: mmgcommon.h:141
int MMG3D_Get_quadrilateral(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *ref, int *isRequired)
Definition: API_functions_3d.c:975
#define MG_EOK(pt)
Definition: mmgcommon.h:160
int16_t tag
Definition: libmmgtypes.h:471
static void MMG5_excfun(int sigid)
Definition: mmgcommon.h:404
#define MG_NOM
Definition: mmgcommon.h:144
int MMG3D_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions_3d.c:71
int max
Definition: libmmgtypes.h:480
int xt
Definition: libmmgtypes.h:525
int MMG5_sys33sym(double a[6], double b[3], double r[3])
Definition: tools.c:463
char * namein
Definition: libmmgtypes.h:573
#define MMG5_NSOLS_MAX
Definition: libmmgtypes.h:167
char iso
Definition: libmmgtypes.h:453
static float MMG5_swapf(float sbin)
Definition: inout.c:64
int xp
Definition: libmmgtypes.h:525
int size
Definition: libmmgtypes.h:569
int MMG5_hashGet(MMG5_Hash *hash, int a, int b)
Definition: hash.c:303
@ MMG3D_IPARAM_numberOfLocalParam
Definition: libmmg3d.h:83
int MMG3D_saveAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:2007
int MMG3D_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions_3d.c:62
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:89
#define MG_STR
Definition: mmgcommon.h:64
int MMG3D_Set_triangles(MMG5_pMesh mesh, int *tria, int *refs)
Definition: API_functions_3d.c:904
int MMG3D_Get_tensorSol(MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33)
Definition: API_functions_3d.c:1528
int MMG3D_mmg3dmov(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg3d.c:1131
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
void MMG3D_mark_pointsOnReqEdge_fromTetra(MMG5_pMesh mesh)
Definition: isosiz_3d.c:1018
int16_t tag[6]
Definition: libmmgtypes.h:363
int MMG3D_loadMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:102
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:469
double n[6][3]
Definition: mmgcommon.h:482
int MMG3D_Get_prism(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *v4, int *v5, int *ref, int *isRequired)
Definition: API_functions_3d.c:723
int MMG3D_Set_ithSols_inSolsAtVertices(MMG5_pSol sol, int i, double *s)
Definition: API_functions_3d.c:1666
void MMG5_printSolStats(MMG5_pMesh mesh, MMG5_pSol *sol)
Definition: inout.c:2428
double hmin
Definition: libmmgtypes.h:202
MMG5_pPoint point
Definition: libmmgtypes.h:542
int16_t ftag[4]
Definition: libmmgtypes.h:361
#define MG_VER
Definition: mmgcommon.h:61
#define MG_GET(flag, bit)
Definition: mmgcommon.h:169
int edg[3]
Definition: libmmgtypes.h:277
int16_t tag[3]
Definition: libmmgtypes.h:280
double b[10][3]
Definition: mmgcommon.h:481
int MMG5_invmatg(double m[9], double mi[9])
Definition: tools.c:329
int MMG3D_Set_edges(MMG5_pMesh mesh, int *edges, int *refs)
Definition: API_functions_3d.c:1142
static double MMG5_swapd(double sbin)
Definition: inout.c:76
int MMG3D_Set_requiredTetrahedra(MMG5_pMesh mesh, int *reqIdx, int nreq)
Definition: API_functions_3d.c:1207
@ MMG3D_DPARAM_angleDetection
Definition: libmmg3d.h:87
int MMG3D_Set_tensorSol(MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, int pos)
Definition: API_functions_3d.c:1486
int MMG5_intmet_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_3d.c:131
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:67
#define MG_PARBDY
Definition: mmgcommon.h:151
int MMG3D_prilen(MMG5_pMesh mesh, MMG5_pSol met, char)
Definition: quality_3d.c:319
static int MMG5_interp4barintern(MMG5_pSol met, int ip, double cb[4], double dm0[6], double dm1[6], double dm2[6], double dm3[6])
Definition: intmet_3d.c:336
int MMG3D_localParamNm(MMG5_pMesh, int, int, int, double *, double *, double *)
Definition: tools_3d.c:1052
double hgradreq
Definition: libmmgtypes.h:445
int base
Definition: libmmgtypes.h:521
int MMG3D_Get_prisms(MMG5_pMesh mesh, int *prisms, int *refs, int *areRequired)
Definition: API_functions_3d.c:799
static int MMG3D_sum_reqEdgeLengthsAtPoint(MMG5_pMesh mesh, MMG5_pSol met, MMG5_Hash *hash, MMG5_pTetra pt, char i)
Definition: isosiz_3d.c:512
static const unsigned char MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:145
#define MG_VOK(ppt)
Definition: mmgcommon.h:159
int np
Definition: libmmgtypes.h:516
int nsols
Definition: libmmgtypes.h:518
int MMG3D_Add_tetrahedron(MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int ref)
Definition: API_functions_3d.c:1862
@ MMG3D_IPARAM_optim
Definition: libmmg3d.h:77
int ref
Definition: libmmgtypes.h:217
int MMG3D_Set_prisms(MMG5_pMesh mesh, int *prisms, int *refs)
Definition: API_functions_3d.c:769
int MMG3D_bdryBuild(MMG5_pMesh mesh)
Definition: libmmg3d.c:219
void MMG3D_solTruncatureForOptim(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:93
int ref
Definition: libmmgtypes.h:205
int MMG5_sum_reqEdgeLengthsAtPoint(MMG5_pMesh mesh, MMG5_pSol met, int ip0, int ip1)
Definition: isosiz.c:129
unsigned char optim
Definition: libmmgtypes.h:457
int MMG3D_inqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:587
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:545
int MMG5_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename, int metricData)
Definition: inout.c:1504
int MMG3D_Set_requiredVertex(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1195
static int MMG5_swapbin(int sbin)
Definition: inout_3d.c:42
int MMG3D_Get_triangle(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *ref, int *isRequired)
Definition: API_functions_3d.c:862
@ MMG3D_IPARAM_nosurf
Definition: libmmg3d.h:82
int MMG3D_Get_vertex(MMG5_pMesh mesh, double *c0, double *c1, double *c2, int *ref, int *isCorner, int *isRequired)
Definition: API_functions_3d.c:379
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:189
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:67
int ne
Definition: libmmgtypes.h:516
int MMG3D_mmg3dcheck(MMG5_pMesh mesh, MMG5_pSol met, double critmin, double lmin, double lmax, int *eltab, char metRidTyp)
Definition: libmmg3d_tools.c:576
int MMG3D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_3d.c:109
int MMG3D_saveSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:1965
int * adja
Definition: libmmgtypes.h:529
int nai
Definition: libmmgtypes.h:516
int MMG3D_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:1763
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
double hausd
Definition: libmmgtypes.h:445
int v[6]
Definition: libmmgtypes.h:401
MMG5_pTria tria
Definition: libmmgtypes.h:548
int MMG5_interp4bar_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:308
int MMG3D_pack_pointArray(MMG5_pMesh mesh)
Definition: libmmg3d.c:566
int MMG3D_Get_ithSols_inSolsAtVertices(MMG5_pSol sol, int i, double *s)
Definition: API_functions_3d.c:1694
int MMG3D_Get_iparameter(MMG5_pMesh mesh, int iparam)
Definition: API_functions_3d.c:2100
int MMG3D_loadAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1859
#define MG_CRN
Definition: mmgcommon.h:146
unsigned char inputMet
Definition: libmmgtypes.h:458
#define MG_REQ
Definition: mmgcommon.h:143
int MMG3D_Set_solsAtVerticesSize(MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, int nentities, int *typSol)
Definition: API_functions_3d.c:154
int MMG3D_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:942
int MMG5_intmet_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_3d.c:51
MMG5_pMesh * mesh
Definition: API_functionsf_3d.c:65
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:275
MMG5_pQuad quadra
Definition: libmmgtypes.h:549
static const unsigned char MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:151
#define _LIBMMG5_RETURN(mesh, met, val)
Definition: mmgcommon.h:177
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 MMG3D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:35
void MMG3D_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:570
#define MG_GEO
Definition: mmgcommon.h:142
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:356
void MMG5_gradation_info(MMG5_pMesh mesh)
Definition: isosiz.c:96
int MMG3D_pack_prismsAndQuads(MMG5_pMesh mesh)
Definition: libmmg3d.c:438
int MMG3D_Set_ridge(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1255
void chrono(int cmode, mytime *ptt)
Function to measure time.
Definition: chrono.c:49
#define sw
Definition: inout_3d.c:39
static float MMG5_swapf(float sbin)
Definition: inout_3d.c:65
void MMG3D_Free_topoTables(MMG5_pMesh mesh)
Definition: libmmg3d.c:61
#define MMG5_SAFE_RECALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:326
int MMG3D_mmg3dmov(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg3d.c:1131
int MMG3D_saveSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:1965
int npi
Definition: libmmgtypes.h:516
@ MMG3D_DPARAM_hmin
Definition: libmmg3d.h:88
int MMG3D_Get_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, int *np, int *typSol)
Definition: API_functions_3d.c:271
int MMG3D_Set_ithSol_inSolsAtVertices(MMG5_pSol sol, int i, double *s, int pos)
Definition: API_functions_3d.c:1609
@ MMG3D_DPARAM_hgradreq
Definition: libmmg3d.h:93
int MMG3D_set_metricAtPointsOnReqEdges(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:542
@ MMG3D_DPARAM_hgrad
Definition: libmmg3d.h:92
MMG5_HGeom htab
Definition: libmmgtypes.h:551
int ref
Definition: libmmgtypes.h:273
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
#define MMG5_RETURN_AND_PACK(mesh, met, disp, val)
Definition: libmmg3d.c:47
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
#define A16TH
Definition: isosiz_3d.c:42
void MMG3D_unset_reqBoundaries(MMG5_pMesh mesh)
Definition: libmmg3d.c:642
int MMG5_hNew(MMG5_pMesh mesh, MMG5_HGeom *hash, int hsiz, int hmax)
Definition: hash_3d.c:1006
int MMG5_chkBdryTria(MMG5_pMesh mesh)
Definition: hash_3d.c:1402
void MMG3D_Set_handGivenMesh(MMG5_pMesh mesh)
Definition: API_functions_3d.c:1722
int MMG3D_Set_requiredTetrahedron(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1201
Chrono object.
Definition: chrono.h:58
int MMG5_mmg3d1_pattern(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d1_pattern.c:445
int MMG5_BezierEdge(MMG5_pMesh mesh, int ip0, int ip1, double b0[3], double b1[3], char ised, double v[3])
Definition: bezier_3d.c:152
int b
Definition: libmmgtypes.h:244
int MMG3D_Set_requiredEdge(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1261
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:333
double * m
Definition: libmmgtypes.h:571
int MMG3D_saveMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1768
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:260
int MMG3D_Get_quadrilaterals(MMG5_pMesh mesh, int *quads, int *refs, int *areRequired)
Definition: API_functions_3d.c:1038
int MMG3D_saveMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1104
int MMG5_loadSolHeader(const char *filename, int meshDim, FILE **inm, int *ver, int *bin, int *iswp, int *np, int *dim, int *nsols, int **type, long *posnp, int imprim)
Definition: inout.c:1968
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:348
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
#define MMG5_STRONGFAILURE
Definition: libmmgtypes.h:56
char elt
Definition: libmmgtypes.h:206
void MMG5_mark_pointsOnReqEdge_fromTria(MMG5_pMesh mesh)
Definition: isosiz.c:233
int MMG3D_Set_parallelTriangle(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1236
int MMG5_interp4bar_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:378
int MMG3D_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:810
int MMG3D_usage(char *prog)
Definition: libmmg3d_tools.c:117
void MMG5_tet2tri(MMG5_pMesh mesh, int k, char ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
#define A32TH
Definition: isosiz_3d.c:43
int MMG3D_Set_edge(MMG5_pMesh mesh, int v0, int v1, int ref, int pos)
Definition: API_functions_3d.c:1064
MMG5_hgeom * geom
Definition: libmmgtypes.h:479
int v[4]
Definition: libmmgtypes.h:305
int MMG5_invmat(double *m, double *mi)
Definition: tools.c:278
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
int na
Definition: libmmgtypes.h:516
void MMG5_readFloatSol3D(MMG5_pSol sol, FILE *inm, int bin, int iswp, int pos)
Definition: inout.c:2106
@ MMG3D_DPARAM_hmax
Definition: libmmg3d.h:89
char imprim
Definition: libmmgtypes.h:453
double hgrad
Definition: libmmgtypes.h:445
int16_t tag
Definition: libmmgtypes.h:248
#define MMG5_EPS
Definition: eigenv.h:32
void MMG3D_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions_3d.c:80
int16_t tag
Definition: libmmgtypes.h:223
double n1[3]
Definition: libmmgtypes.h:234
int MMG3D_Get_tetrahedron(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *ref, int *isRequired)
Definition: API_functions_3d.c:560
Definition: libmmgtypes.h:270
int MMG3D_Chk_meshData(MMG5_pMesh mesh, MMG5_pSol met)
Definition: API_functions_3d.c:1738
int MMG3D_loadMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:102
int MMG3D_loadSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:1782
int MMG3D_Add_vertex(MMG5_pMesh mesh, double c0, double c1, double c2, int ref)
Definition: API_functions_3d.c:1935
int MMG3D_Set_corner(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1189
#define MMG5_SUCCESS
Definition: libmmgtypes.h:40
#define MG_NOSURF
Definition: mmgcommon.h:147
Definition: mmgcommon.h:480
#define MAXLEN
Definition: isosiz_3d.c:40
@ MMG3D_PARAM_size
Definition: libmmg3d.h:95
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:746
int MMG3D_Set_triangle(MMG5_pMesh mesh, int v0, int v1, int v2, int ref, int pos)
Definition: API_functions_3d.c:828
int MMG3D_Set_parallelTriangles(MMG5_pMesh mesh, int *parIdx, int npar)
Definition: API_functions_3d.c:1244
int MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:712
int ver
Definition: libmmgtypes.h:564
double MMG2D_quickarea(double a[2], double b[2], double c[2])
Definition: tools.c:856
#define MMG5_LOWFAILURE
Definition: libmmgtypes.h:48
int nquad
Definition: libmmgtypes.h:517
int MMG3D_loadMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1037
int MMG3D_Get_meshSize(MMG5_pMesh mesh, int *np, int *ne, int *nprism, int *nt, int *nquad, int *na)
Definition: API_functions_3d.c:324
#define MG_NUL
Definition: mmgcommon.h:152
int ref
Definition: libmmgtypes.h:306
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:570
@ MMG3D_IPARAM_octree
Definition: libmmg3d.h:86
int MMG3D_Get_edges(MMG5_pMesh mesh, int *edges, int *refs, int *areRidges, int *areRequired)
Definition: API_functions_3d.c:1159
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
int MMG3D_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:1763
int MMG3D_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
Definition: API_functions_3d.c:2158
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:543
#define MMG5_ATHIRD
Definition: mmgcommon.h:93
static int MMG5_swapbin(int sbin)
Definition: inout.c:41
int npnil
Definition: libmmgtypes.h:526
int MMG5_interpreg_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt, char i, double s, double mr[6])
Definition: intmet.c:627
int MMG3D_Get_solsAtVerticesSize(MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, int *nentities, int *typSol)
Definition: API_functions_3d.c:295
void printim(double elps, char *stim)
Print real time.
Definition: chrono.c:149
int MMG3D_pack_tetra(MMG5_pMesh mesh)
Definition: libmmg3d.c:398
int xp
Definition: libmmgtypes.h:218
int MMG3D_pack_sol(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg3d.c:484
MMG5_pTetra tetra
Definition: libmmgtypes.h:544
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:356
static const unsigned char MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
Definition: mmg3d.h:155
#define MMG5_EPSD2
Definition: mmgcommon.h:96
void MMG5_readDoubleSol3D(MMG5_pSol sol, FILE *inm, int bin, int iswp, int pos)
Definition: inout.c:2152
double MMG5_meansizreg_iso(MMG5_pMesh mesh, MMG5_pSol met, int nump, int *lists, int ilists, double hmin, double hmax)
Definition: isosiz_3d.c:461
int MMG3D_packMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg3d.c:671
int MMG3D_mmg3dls(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:948
char ori
Definition: libmmgtypes.h:365
static int MMG5_intregvolmet(double *ma, double *mb, double *mp, double t)
Definition: intmet_3d.c:204
#define sd
Definition: inout.c:39
int MMG5_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions.c:177
int MMG3D_Set_prism(MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int v4, int v5, int ref, int pos)
Definition: API_functions_3d.c:683
void tminit(mytime *t, int maxtim)
Initialize mytime object.
Definition: chrono.c:120
int MMG3D_Free_names(const int starter,...)
Definition: API_functions_3d.c:2309
int dim
Definition: libmmgtypes.h:565
int16_t tag[4]
Definition: libmmgtypes.h:310
int MMG3D_Get_tetFromTria(MMG5_pMesh mesh, int ktri, int *ktet, int *iface)
Definition: libmmg3d_tools.c:685
double MMG5_lenedgCoor_iso(double *ca, double *cb, double *ma, double *mb)
Compute edge length from edge's coordinates.
Definition: isosiz_3d.c:59
Definition: libmmgtypes.h:304
int nt
Definition: libmmgtypes.h:516
static double MMG5_swapd(double sbin)
Definition: inout_3d.c:77
#define MG_Tetra
Definition: mmgcommon.h:157
MMG5_hedge * item
Definition: libmmgtypes.h:501
static int MMG5_countBinaryElts(FILE **inm, const int nelts, const int iswp, int *np, int *na, int *nt, int *nq, int *ne, int *npr)
Definition: inout.c:92
int MMG3D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_3d.c:109
int MMG3D_Get_ithSol_inSolsAtVertices(MMG5_pSol sol, int i, double *s, int pos)
Definition: API_functions_3d.c:1636
static void MMG5_build3DMetric(MMG5_pMesh mesh, MMG5_pSol sol, int ip, double dbuf[6])
Definition: inout.c:1447
int MMG3D_saveMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1768
MMG mesh structure.
Definition: libmmgtypes.h:509
void MMG3D_searchqua(MMG5_pMesh mesh, MMG5_pSol met, double critmin, int *eltab, char metRidTyp)
Definition: libmmg3d_tools.c:659
int MMG3D_hashPrism(MMG5_pMesh mesh)
Definition: hash_3d.c:295
MMG5_pPar par
Definition: libmmgtypes.h:444
@ MMG3D_IPARAM_debug
Definition: libmmg3d.h:71
double n2[3]
Definition: libmmgtypes.h:234
void MMG5_writeDoubleSol3D(MMG5_pMesh mesh, MMG5_pSol sol, FILE *inm, int bin, int pos, int metricData)
Definition: inout.c:2200
int a
Definition: libmmgtypes.h:467
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
int npmax
Definition: libmmgtypes.h:567
int ver
Definition: libmmgtypes.h:513
int MMG3D_loadMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1037
int MMG5_interp_iso(double *ma, double *mb, double *mp, double t)
Definition: intmet.c:607
int MMG5_mmgIntmet33_ani(double *m, double *n, double *mr, double s)
Definition: intmet.c:178
static const unsigned char MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:149
static void MMG3D_Set_commonFunc()
Definition: mmg3d.h:549
double hmax
Definition: libmmgtypes.h:445
int ref
Definition: libmmgtypes.h:402
int MMG5_hEdge(MMG5_pMesh mesh, MMG5_HGeom *hash, int a, int b, int ref, int16_t tag)
Definition: hash_3d.c:964
Definition: libmmgtypes.h:201
#define sd
Definition: inout_3d.c:40
int nei
Definition: libmmgtypes.h:516
int MMG3D_loadSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:1782
@ MMG3D_IPARAM_iso
Definition: libmmg3d.h:73
int MMG3D_Get_tetrahedra(MMG5_pMesh mesh, int *tetra, int *refs, int *areRequired)
Definition: API_functions_3d.c:659
int MMG3D_Set_quadrilaterals(MMG5_pMesh mesh, int *quads, int *refs)
Definition: API_functions_3d.c:1020
MMG5_Info info
Definition: libmmgtypes.h:552
@ MMG3D_IPARAM_nomove
Definition: libmmg3d.h:81
int MMG3D_Set_tensorSols(MMG5_pSol met, double *sols)
Definition: API_functions_3d.c:1564
@ MMG3D_DPARAM_hausd
Definition: libmmg3d.h:91
int MMG3D_mmg3dlib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:739
int flag
Definition: libmmgtypes.h:221
int * adjapr
Definition: libmmgtypes.h:537
int MMG3D_defaultValues(MMG5_pMesh mesh)
Definition: libmmg3d_tools.c:152
int a
Definition: libmmgtypes.h:244
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:48
int npmax
Definition: libmmgtypes.h:516
int MMG3D_Set_requiredTriangle(MMG5_pMesh mesh, int k)
Definition: API_functions_3d.c:1217
char parTyp
Definition: libmmgtypes.h:454
static double MMG5_defsizreg(MMG5_pMesh mesh, MMG5_pSol met, int nump, int *lists, int ilists, double hmin, double hmax, double hausd)
Definition: isosiz_3d.c:88
@ MMG3D_DPARAM_hsiz
Definition: libmmg3d.h:90
int MMG3D_Get_vectorSol(MMG5_pSol met, double *vx, double *vy, double *vz)
Definition: API_functions_3d.c:1416
static const unsigned char MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:153
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:198
int MMG3D_parsop(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:476
char tag
Definition: libmmgtypes.h:407
int MMG3D_loadMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:980
int ref
Definition: libmmgtypes.h:469
#define MG_ISO
Definition: libmmgtypes.h:62
int ref
Definition: libmmgtypes.h:342
int MMG3D_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
Definition: API_functions_3d.c:1967
@ MMG3D_IPARAM_verbose
Definition: libmmg3d.h:69
void MMG5_printMetStats(MMG5_pMesh mesh, MMG5_pSol met)
Definition: inout.c:2410
int MMG3D_gradsizreq_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:1137
int nti
Definition: libmmgtypes.h:516
tmp[*strlen0]
Definition: API_functionsf_3d.c:881
int MMG5_chkMetricType(MMG5_pMesh mesh, int *type, FILE *inm)
Definition: inout.c:2378
int MMG5_scotchCall(MMG5_pMesh mesh, MMG5_pSol met)
Definition: librnbg.c:192
int MMG3D_localParamReg(MMG5_pMesh, int, int *, int, int *, int, double *, double *, double *)
Definition: tools_3d.c:932
Store input parameters of the run.
Definition: libmmgtypes.h:443
@ MMG3D_IPARAM_anisosize
Definition: libmmg3d.h:85
int MMG3D_mmg3dlib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:739
int16_t tag
Definition: libmmgtypes.h:348
int MMG3D_update_eltsVertices(MMG5_pMesh mesh)
Definition: libmmg3d.c:521
@ MMG3D_IPARAM_noswap
Definition: libmmg3d.h:80
int MMG5_intridmet(MMG5_pMesh mesh, MMG5_pSol met, int ip1, int ip2, double s, double v[3], double mr[6])
Definition: intmet.c:291
int MMG3D_Get_vectorSols(MMG5_pSol met, double *sols)
Definition: API_functions_3d.c:1471
int edg[6]
Definition: libmmgtypes.h:359
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
int MMG3D_Set_tetrahedra(MMG5_pMesh mesh, int *tetra, int *refs)
Definition: API_functions_3d.c:602
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:289
int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_3d.c:53
int MMG3D_Set_localParameter(MMG5_pMesh mesh, MMG5_pSol sol, int typ, int ref, double hmin, double hmax, double hausd)
Definition: API_functions_3d.c:2209
int MMG5_saveSolHeader(MMG5_pMesh mesh, const char *filename, FILE **inm, int ver, int *bin, int np, int dim, int nsols, int *type, int *size)
Definition: inout.c:2266
int MMG5_gradsizreq_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:359
int MMG5_mmg3d1_delone(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d1_delone.c:1273
int MMG3D_saveMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1104
int MMG3D_Get_normalAtVertex(MMG5_pMesh mesh, int k, double *n0, double *n1, double *n2)
Definition: API_functions_3d.c:1279
int MMG3D_pack_points(MMG5_pMesh mesh)
Definition: libmmg3d.c:620
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:266
int MMG3D_Free_structures(const int starter,...)
Definition: API_functions_3d.c:2295
int MMG3D_loadMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:980
MMG5_pEdge edge
Definition: libmmgtypes.h:550
int ier
Definition: API_functionsf_3d.c:839
int MMG3D_Set_vertex(MMG5_pMesh mesh, double c0, double c1, double c2, int ref, int pos)
Definition: API_functions_3d.c:343
char ddb
Definition: mmg3d1_delone.c:41
int MMG5_reset_metricAtReqEdges_surf(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:194
int MMG3D_mmg3d2(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d2.c:1428
int MMG3D_Get_scalarSol(MMG5_pSol met, double *s)
Definition: API_functions_3d.c:1323
char ddebug
Definition: libmmgtypes.h:453
int MMG3D_Free_all(const int starter,...)
Definition: API_functions_3d.c:2281
int MMG3D_Set_scalarSols(MMG5_pSol met, double *s)
Definition: API_functions_3d.c:1353
int MMG3D_Get_vertices(MMG5_pMesh mesh, double *vertices, int *refs, int *areCorners, int *areRequired)
Definition: API_functions_3d.c:453
int MMG3D_mmg3dls(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:948
#define sw
Definition: inout.c:38
char lag
Definition: libmmgtypes.h:453
@ MMG3D_IPARAM_lag
Definition: libmmg3d.h:76
int MMG5_intregmet(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, double s, double mr[6])
Definition: intmet_3d.c:162
int MMG3D_Get_adjaTet(MMG5_pMesh mesh, int kel, int listet[4])
Return adjacent elements of a tetrahedron.
Definition: libmmg3d_tools.c:100
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
Definition: libmmgtypes.h:400
#define A64TH
Definition: isosiz_3d.c:41
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
int MMG5_mmg3d3(MMG5_pMesh, MMG5_pSol, MMG5_pSol)
@ MMG3D_IPARAM_opnbdy
Definition: libmmg3d.h:75
int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:180
int MMG3D_Get_triangles(MMG5_pMesh mesh, int *tria, int *refs, int *areRequired)
Definition: API_functions_3d.c:922
unsigned char optimLES
Definition: libmmgtypes.h:457
@ MMG3D_IPARAM_angle
Definition: libmmg3d.h:72
double hsiz
Definition: libmmgtypes.h:445
double MMG5_surftri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: isosiz.c:42
int MMG3D_Set_vectorSol(MMG5_pSol met, double vx, double vy, double vz, int pos)
Definition: API_functions_3d.c:1379
if(!ier) exit(EXIT_FAILURE)
int ntmax
Definition: libmmgtypes.h:516
int tmp
Definition: libmmgtypes.h:219
MMG5_pMesh char * filename
Definition: API_functionsf_3d.c:875
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:59
int MMG3D_Init_mesh(const int starter,...)
Definition: API_functions_3d.c:43
@ MMG3D_IPARAM_nofem
Definition: libmmg3d.h:74
#define TIMEMAX
Definition: chrono.h:49
int nemax
Definition: libmmgtypes.h:516
const int starter
Definition: API_functionsf_3d.c:837
int b
Definition: libmmgtypes.h:468
int MMG3D_searchlen(MMG5_pMesh mesh, MMG5_pSol met, double lmin, double lmax, int *eltab, char metRidTyp)
Definition: libmmg3d_tools.c:749
#define MMG5_EPSD
Definition: eigenv.h:31
int dim
Definition: libmmgtypes.h:514
int xt
Definition: libmmgtypes.h:345
@ MMG5_Vertex
Definition: libmmgtypes.h:186
@ MMG3D_DPARAM_ls
Definition: libmmg3d.h:94
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
int MMG3D_saveAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:2007
int npi
Definition: libmmgtypes.h:568
int MMG3D_loadAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1859
int MMG3D_Set_meshSize(MMG5_pMesh mesh, int np, int ne, int nprism, int nt, int nquad, int na)
Definition: API_functions_3d.c:245
int MMG3D_Get_scalarSols(MMG5_pSol met, double *s)
Definition: API_functions_3d.c:1370
#define MMG3D_LMAX
Definition: libmmg3d.h:57
@ MMG3D_IPARAM_renum
Definition: libmmg3d.h:84
int MMG3D_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:1053
int v[4]
Definition: libmmgtypes.h:341
int MMG5_intvolmet(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, double s, double mr[6])
Definition: intmet_3d.c:249
double n[3]
Definition: libmmgtypes.h:216