mmg3d
libmmgcommon.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 
35 #ifndef MMGLIBCOMMON_H
36 #define MMGLIBCOMMON_H
37 
38 #include <stdarg.h>
39 
40 #include "libmmgtypes.h"
41 
42 #include "chrono.h"
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 
49 /*----------------------------- functions header -----------------------------*/
50 /* Initialization functions */
76 
77 /* init file names */
94 int MMG5_Set_inputMeshName(MMG5_pMesh mesh, const char* meshin);
111 int MMG5_Set_outputMeshName(MMG5_pMesh mesh, const char* meshout);
129 int MMG5_Set_inputSolName(MMG5_pMesh mesh,MMG5_pSol sol, const char* solin);
147 int MMG5_Set_outputSolName(MMG5_pMesh mesh,MMG5_pSol sol, const char* solout);
148 
159 void MMG5_Set_constantSize(MMG5_pMesh mesh,MMG5_pSol met,double hsiz);
160 
173  int MMG5_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol,int ref,int split,
174  int rin, int rex);
175 
176 
177 /* deallocations */
179 
193 
206 extern int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh,int8_t sethmin,int8_t sethmax);
207 
219 int MMG5_Compute_constantSize(MMG5_pMesh mesh,MMG5_pSol met,double *hsize);
220 
221 /* Enum utilities */
230 const char* MMG5_Get_entitiesName(enum MMG5_entities ent);
231 
240 const char* MMG5_Get_typeName(enum MMG5_type typ);
241 
251 
260 int MMG5_saveNode(MMG5_pMesh mesh,const char *filename);
261 
270 int MMG5_saveEdge(MMG5_pMesh mesh,const char *filename);
271 
272 #ifdef __cplusplus
273 }
274 #endif
275 
276 #endif
MMG5_Mesh::nprism
int nprism
Definition: libmmgtypes.h:560
MMG3D_Set_iparameter
int MMG3D_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
Definition: API_functions_3d.c:2104
MMG3D_IPARAM_noinsert
@ MMG3D_IPARAM_noinsert
Definition: libmmg3d.h:79
MMG5_Set_outputMeshName
int MMG5_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions.c:231
MMG5_Mesh::prism
MMG5_pPrism prism
Definition: libmmgtypes.h:593
MMG5_lenedgCoor_ani
static double MMG5_lenedgCoor_ani(double *ca, double *cb, double *sa, double *sb)
Compute edge length from edge's coordinates.
Definition: inlined_functions_3d.h:56
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
MG_BDY
#define MG_BDY
Definition: mmgcommon.h:144
MMG3D_IPARAM_optimLES
@ MMG3D_IPARAM_optimLES
Definition: libmmg3d.h:78
MMG5_Sol::np
int np
Definition: libmmgtypes.h:613
MMG5_Point::c
double c[3]
Definition: libmmgtypes.h:242
MMG5_lenedg
double(* MMG5_lenedg)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:5
MMG3D_IPARAM_mem
@ MMG3D_IPARAM_mem
Definition: libmmg3d.h:70
MMG5_warnOrientation
static void MMG5_warnOrientation(MMG5_pMesh mesh)
Definition: mmg3d.h:551
libmmgtypes.h
MMG3D_Free_solutions
void MMG3D_Free_solutions(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg3d_tools.c:1387
MMG3D_Set_multiMat
int MMG3D_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol, int ref, int split, int rin, int rout)
Definition: API_functions_3d.c:2477
MMG3D_stockOptions
int MMG3D_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:940
MMG5_movintpt_ani
int MMG5_movintpt_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: anisomovpt_3d.c:55
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:135
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:303
MMG5_Tetra
Definition: libmmgtypes.h:370
MMG3D_gradsiz_ani
int MMG3D_gradsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_3d.c:1886
MMG5_Sol
Definition: libmmgtypes.h:610
MMG3D_defsiz_iso
int MMG3D_defsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:641
MMG3D_searchlen
int MMG3D_searchlen(MMG5_pMesh mesh, MMG5_pSol met, double lmin, double lmax, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:1146
MMG5_hashEdge
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:217
MMG5_movbdynompt
int(* MMG5_movbdynompt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3dexterns.c:17
MMG3D_Get_nonBdyTriangle
int MMG3D_Get_nonBdyTriangle(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *ref, int idx)
Definition: libmmg3d_tools.c:896
MMG5_Free_allSols
int MMG5_Free_allSols(MMG5_pMesh mesh, MMG5_pSol *sol)
Definition: API_functions.c:438
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
MMG3D_hashTetra
int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:180
MMG3D_lenedgCoor
double(* MMG3D_lenedgCoor)(double *ca, double *cb, double *sa, double *sb)
Definition: mmg3dexterns.c:4
MMG5_lenedg_ani
static double MMG5_lenedg_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:200
MMG3D_Get_tetsFromTria
int MMG3D_Get_tetsFromTria(MMG5_pMesh mesh, int ktri, int ktet[2], int iface[2])
Definition: libmmg3d_tools.c:1101
MMG5_freeXTets
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:327
MMG5_Triangle
@ MMG5_Triangle
Definition: libmmgtypes.h:215
MMG5_Tria::cc
int cc
Definition: libmmgtypes.h:306
MMG5_saveEdge
int MMG5_saveEdge(MMG5_pMesh mesh, const char *filename)
Definition: inout.c:2577
MMG3D_defaultValues
int MMG3D_defaultValues(MMG5_pMesh mesh)
Definition: libmmg3d_tools.c:159
MG_EOK
#define MG_EOK(pt)
Definition: mmgcommon.h:161
MMG5_excfun
static void MMG5_excfun(int sigid)
Definition: mmgcommon.h:463
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
MMG5_Sol::namein
char * namein
Definition: libmmgtypes.h:620
MMG3D_defsiz
int(* MMG3D_defsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3dexterns.c:9
MMG5_lenedg_iso
static double MMG5_lenedg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:230
MMG5_Sol::size
int size
Definition: libmmgtypes.h:616
MMG5_xPrism::ref
int ref[5]
Definition: libmmgtypes.h:447
MMG3D_IPARAM_numberOfLocalParam
@ MMG3D_IPARAM_numberOfLocalParam
Definition: libmmg3d.h:84
MMG5_Info::imprim
int imprim
Definition: libmmgtypes.h:484
MG_STR
#define MG_STR
Definition: mmgcommon.h:57
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_defsiz_ani
int MMG3D_defsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_3d.c:1254
MMG5_Info::optimLES
uint8_t optimLES
Definition: libmmgtypes.h:500
MMG3D_Get_numberOfNonBdyTriangles
int MMG3D_Get_numberOfNonBdyTriangles(MMG5_pMesh mesh, int *nb_tria)
Definition: libmmg3d_tools.c:682
MMG3D_IPARAM_nreg
@ MMG3D_IPARAM_nreg
Definition: libmmg3d.h:83
MMG3D_searchqua
void MMG3D_searchqua(MMG5_pMesh mesh, MMG5_pSol met, double critmin, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:1054
MMG3D_destockOptions
void MMG3D_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:953
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
info
MMG5_Info info
MMG5_xTetra::ftag
int16_t ftag[4]
Definition: libmmgtypes.h:392
MMG5_Init_fileNames
void MMG5_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions.c:126
MMG3D_usage
int MMG3D_usage(char *prog)
Definition: libmmg3d_tools.c:119
MMG5_Get_typeName
const char * MMG5_Get_typeName(enum MMG5_type typ)
Definition: API_functions.c:631
MMG5_Info::opnbdy
int opnbdy
Definition: libmmgtypes.h:480
MMG3D_DPARAM_angleDetection
@ MMG3D_DPARAM_angleDetection
Definition: libmmg3d.h:92
MMG3D_mmg3dls
int MMG3D_mmg3dls(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol umet)
Definition: libmmg3d.c:1199
MMG5_entities
MMG5_entities
Type of mesh entities.
Definition: libmmgtypes.h:211
MMG5_lenSurfEdg_iso
static double MMG5_lenSurfEdg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ip1, int ip2, int8_t isedg)
Definition: inlined_functions.h:291
MMG3D_ALPHAD
#define MMG3D_ALPHAD
Definition: mmg3d.h:119
MMG5_intmet_ani
int MMG5_intmet_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: intmet_3d.c:51
MMG5_Mesh::np
int np
Definition: libmmgtypes.h:559
inlined_functions_3d.h
inlined Functions
MMG5_FILESTR_LGTH
#define MMG5_FILESTR_LGTH
Definition: mmgcommon.h:132
MMG5_MMAT_Split
#define MMG5_MMAT_Split
Definition: libmmgtypes.h:194
MMG3D_searchlen
int MMG3D_searchlen(MMG5_pMesh mesh, MMG5_pSol met, double lmin, double lmax, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:1146
MMG5_paramUsage1
void MMG5_paramUsage1(void)
Definition: mmg.c:72
MMG5_Set_outputSolName
int MMG5_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions.c:346
MMG5_movintpt
int(* MMG5_movintpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: mmg3dexterns.c:14
MMG3D_IPARAM_optim
@ MMG3D_IPARAM_optim
Definition: libmmg3d.h:77
MMG5_Mesh::xtetra
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:592
MMG5_movbdyridpt_iso
int MMG5_movbdyridpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: movpt_3d.c:1612
MMG5_mmgDefaultValues
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:150
MMG3D_Compute_eigenv
int MMG3D_Compute_eigenv(double m[6], double lambda[3], double vp[3][3])
Definition: libmmg3d_tools.c:1381
FORTRAN_NAME
FORTRAN_NAME(MMG3D_SETFUNC, mmg3d_setfunc,(MMG5_pMesh *mesh, MMG5_pSol *met),(mesh, met))
Definition: libmmg3d_toolsf.c:49
MMG3D_IPARAM_nosurf
@ MMG3D_IPARAM_nosurf
Definition: libmmg3d.h:82
MMG5_Tetrahedron
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:216
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
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:572
MMG5_Prism::v
int v[6]
Definition: libmmgtypes.h:432
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:595
MMG5_interp4bar_iso
int MMG5_interp4bar_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:308
MMG5_movbdynompt_ani
int MMG5_movbdynompt_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: anisomovpt_3d.c:1028
MMG3D_Set_constantSize
int MMG3D_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1339
MMG3D_Set_commonFunc
static void MMG3D_Set_commonFunc(void)
Definition: mmg3d.h:570
MMG3D_IPARAM_numsubdomain
@ MMG3D_IPARAM_numsubdomain
Definition: libmmg3d.h:87
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
MMG5_MMAT_NoSplit
#define MMG5_MMAT_NoSplit
Definition: libmmgtypes.h:186
MMG3D_setfunc
void MMG3D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:36
MMG3D_destockOptions
void MMG3D_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:953
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
MMG3D_Get_numberOfNonBdyTriangles
int MMG3D_Get_numberOfNonBdyTriangles(MMG5_pMesh mesh, int *nb_tria)
Definition: libmmg3d_tools.c:682
libmmg3d.h
API headers for the mmg3d library.
MMG_FSCANF
#define MMG_FSCANF(stream, format,...)
Definition: mmgcommon.h:432
chrono
void chrono(int cmode, mytime *ptt)
Function to measure time.
Definition: chrono.c:49
MMG3D_Free_topoTables
void MMG3D_Free_topoTables(MMG5_pMesh mesh)
Definition: libmmg3d.c:65
MMG5_SAFE_RECALLOC
#define MMG5_SAFE_RECALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:341
MMG5_lagUsage
void MMG5_lagUsage(void)
Definition: mmg.c:105
MMG3D_DPARAM_hmin
@ MMG3D_DPARAM_hmin
Definition: libmmg3d.h:93
MMG3D_parsar
int MMG3D_parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: libmmg3d_tools.c:179
MMG3D_DPARAM_hgradreq
@ MMG3D_DPARAM_hgradreq
Definition: libmmg3d.h:98
MMG3D_DPARAM_hgrad
@ MMG3D_DPARAM_hgrad
Definition: libmmg3d.h:97
MMG5_Get_entitiesName
const char * MMG5_Get_entitiesName(enum MMG5_entities ent)
Definition: API_functions.c:608
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:304
chrono.h
MMG3D_IPARAM_numberOfLSBaseReferences
@ MMG3D_IPARAM_numberOfLSBaseReferences
Definition: libmmg3d.h:85
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
MMG5_bdryPerm
int MMG5_bdryPerm(MMG5_pMesh mesh)
Definition: hash_3d.c:2132
MMG5_Sol::nameout
char * nameout
Definition: libmmgtypes.h:621
MMG3D_gradsiz
int(* MMG3D_gradsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3dexterns.c:10
MMG5_Prism::xpr
int xpr
Definition: libmmgtypes.h:436
MMG5_chkBdryTria
int MMG5_chkBdryTria(MMG5_pMesh mesh)
Definition: hash_3d.c:1452
MMG5_movbdyregpt
int(* MMG5_movbdyregpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: mmg3dexterns.c:15
MMG5_caltri_ani
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
mytime
Chrono object.
Definition: chrono.h:58
MMG3D_stockOptions
int MMG3D_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmg3d_tools.c:940
MMG5_hashNew
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:394
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:618
MMG3D_DPARAM_rmc
@ MMG3D_DPARAM_rmc
Definition: libmmg3d.h:100
MMG5_Set_inputMeshName
int MMG5_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions.c:147
MMG3D_PROctreein
int(* MMG3D_PROctreein)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, double)
Definition: mmg3dexterns.c:20
MMG5_Set_constantSize
void MMG5_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double hsiz)
Definition: API_functions.c:393
MMG5_freeXPrisms
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:346
MMG5_STRONGFAILURE
#define MMG5_STRONGFAILURE
Definition: libmmgtypes.h:59
MMG5_interp4bar_ani
int MMG5_interp4bar_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:378
MMG5_caltet_ani
static double MMG5_caltet_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:417
MMG3D_doSol
int MMG3D_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1207
MMG5_lenSurfEdg_ani
static double MMG5_lenSurfEdg_ani(MMG5_pMesh mesh, MMG5_pSol met, int np0, int np1, int8_t isedg)
Definition: inlined_functions.h:198
MMG3D_usage
int MMG3D_usage(char *prog)
Definition: libmmg3d_tools.c:119
MMG3D_IPARAM_numberOfMat
@ MMG3D_IPARAM_numberOfMat
Definition: libmmg3d.h:86
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_iare
static const uint8_t MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:156
MMG3D_switch_metricStorage
int MMG3D_switch_metricStorage(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1364
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
MMG5_compute_meanMetricAtMarkedPoints_ani
int MMG5_compute_meanMetricAtMarkedPoints_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1685
MMG3D_doSol
int MMG3D_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1207
MMG5_intmet_iso
int MMG5_intmet_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: intmet_3d.c:131
MMG3D_DPARAM_hmax
@ MMG3D_DPARAM_hmax
Definition: libmmg3d.h:94
MMG5_movbdyregpt_iso
int MMG5_movbdyregpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: movpt_3d.c:366
MMG3D_searchqua
void MMG3D_searchqua(MMG5_pMesh mesh, MMG5_pSol met, double critmin, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:1054
MMG3D_Set_localParameter
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:2404
MMG3D_Get_adjaTet
int MMG3D_Get_adjaTet(MMG5_pMesh mesh, int kel, int listet[4])
Return adjacent elements of a tetrahedron.
Definition: libmmg3d_tools.c:102
MMG5_Tria
Definition: libmmgtypes.h:301
MMG5_SUCCESS
#define MMG5_SUCCESS
Definition: libmmgtypes.h:43
MMG5_2d3dUsage
void MMG5_2d3dUsage(void)
Definition: mmg.c:121
MMG5_lenedgspl
double(* MMG5_lenedgspl)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3dexterns.c:6
MMG5_movbdyridpt_ani
int MMG5_movbdyridpt_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: anisomovpt_3d.c:1375
MMG5_Sol::ver
int ver
Definition: libmmgtypes.h:611
MMG5_LOWFAILURE
#define MMG5_LOWFAILURE
Definition: libmmgtypes.h:51
MMG5_lenedg33_ani
static double MMG5_lenedg33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:94
MMG5_hashPop
int MMG5_hashPop(MMG5_Hash *hash, int a, int b)
Definition: hash_3d.c:791
MMG5_Info::mem
int mem
Definition: libmmgtypes.h:478
MMG5_Sol::type
int type
Definition: libmmgtypes.h:617
MMG5_Init_parameters
void() MMG5_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions.c:51
MMG3D_IPARAM_octree
@ MMG3D_IPARAM_octree
Definition: libmmg3d.h:90
MMG5_mmgUsage
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
MMG5_Mesh::xprism
MMG5_pxPrism xprism
Definition: libmmgtypes.h:594
MMG5_movbdyrefpt_ani
int MMG5_movbdyrefpt_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: anisomovpt_3d.c:678
MMG3D_freeLocalPar
int MMG3D_freeLocalPar(MMG5_pMesh mesh)
Definition: libmmg3d_tools.c:674
MMG5_lenSurfEdg
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, int8_t)
Definition: mmgexterns.c:29
printim
void printim(double elps, char *stim)
Print real time.
Definition: chrono.c:149
MMG3D_Set_outputSolName
int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_3d.c:77
MMG5_Mesh::tetra
MMG5_pTetra tetra
Definition: libmmgtypes.h:591
MMG5_Tensor
@ MMG5_Tensor
Definition: libmmgtypes.h:204
mmgcommon.h
MMG5_Set_constantSize
void MMG5_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double hsiz)
Definition: API_functions.c:393
MMG3D_Set_constantSize
int MMG3D_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:1339
MMG5_setadj
int MMG5_setadj(MMG5_pMesh mesh)
Definition: analys_3d.c:96
MMG5_caltri_iso
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
tminit
void tminit(mytime *t, int maxtim)
Initialize mytime object.
Definition: chrono.c:120
MMG3D_Compute_eigenv
int MMG3D_Compute_eigenv(double m[6], double lambda[3], double vp[3][3])
Definition: libmmg3d_tools.c:1381
MMG5_Sol::dim
int dim
Definition: libmmgtypes.h:612
MMG3D_Get_tetFromTria
int MMG3D_Get_tetFromTria(MMG5_pMesh mesh, int ktri, int *ktet, int *iface)
Definition: libmmg3d_tools.c:1082
MMG5_lenedgCoor_iso
double MMG5_lenedgCoor_iso(double *ca, double *cb, double *ma, double *mb)
Compute edge length from edge's coordinates.
Definition: isosiz_3d.c:60
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_Get_tetFromTria
int MMG3D_Get_tetFromTria(MMG5_pMesh mesh, int ktri, int *ktet, int *iface)
Definition: libmmg3d_tools.c:1082
MMG5_bdrySet
int MMG5_bdrySet(MMG5_pMesh mesh)
Definition: hash_3d.c:1757
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_Hash::item
MMG5_hedge * item
Definition: libmmgtypes.h:544
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
MMG5_Set_inputSolName
int MMG5_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions.c:183
_LIBMMG5_RETURN
#define _LIBMMG5_RETURN(mesh, sol, met, val)
Definition: mmgcommon.h:182
MMG3D_setfunc
void MMG3D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:36
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:552
MMG3D_hashPrism
int MMG3D_hashPrism(MMG5_pMesh mesh)
Definition: hash_3d.c:297
MMG5_Info::par
MMG5_pPar par
Definition: libmmgtypes.h:475
MMG5_idir
static const uint8_t MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:148
MMG3D_IPARAM_debug
@ MMG3D_IPARAM_debug
Definition: libmmg3d.h:71
MMG3D_caltetLES_iso
static double MMG3D_caltetLES_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:283
MMG5_caltet33_ani
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:95
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
MMG5_saveNode
int MMG5_saveNode(MMG5_pMesh mesh, const char *filename)
Definition: inout.c:2503
MMG3D_Free_solutions
void MMG3D_Free_solutions(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg3d_tools.c:1387
MMG5_Info::hmax
double hmax
Definition: libmmgtypes.h:476
MMG5_Prism::ref
int ref
Definition: libmmgtypes.h:433
MMG5_Mesh::namein
char * namein
Definition: libmmgtypes.h:600
MMG5_Info::PROctree
int PROctree
Definition: libmmgtypes.h:482
MMG3D_IPARAM_iso
@ MMG3D_IPARAM_iso
Definition: libmmg3d.h:73
MMG5_Mesh::info
MMG5_Info info
Definition: libmmgtypes.h:599
MMG5_Compute_constantSize
int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsize)
Definition: API_functions.c:555
MMG3D_IPARAM_nomove
@ MMG3D_IPARAM_nomove
Definition: libmmg3d.h:81
MMG5_movbdyridpt
int(* MMG5_movbdyridpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3dexterns.c:18
MMG3D_DPARAM_hausd
@ MMG3D_DPARAM_hausd
Definition: libmmg3d.h:96
MMG5_movbdyrefpt_iso
int MMG5_movbdyrefpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: movpt_3d.c:782
MMG5_Mesh::adjapr
int * adjapr
Definition: libmmgtypes.h:580
MMG3D_defaultValues
int MMG3D_defaultValues(MMG5_pMesh mesh)
Definition: libmmg3d_tools.c:159
MMG5_Mesh::npmax
int npmax
Definition: libmmgtypes.h:559
MMG3D_DPARAM_hsiz
@ MMG3D_DPARAM_hsiz
Definition: libmmg3d.h:95
MMG5_Free_structures
void MMG5_Free_structures(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions.c:460
MMG3D_parsop
int MMG3D_parsop(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:552
MMG5_cavity_ani
int MMG5_cavity_ani(MMG5_pMesh mesh, MMG5_pSol met, int iel, int ip, int *list, int lon, double volmin)
Definition: delaunay_3d.c:582
MMG3D_hashTria
int MMG3D_hashTria(MMG5_pMesh mesh, MMG5_Hash *hash)
Definition: hash_3d.c:779
MMG5_Tetra::ref
int ref
Definition: libmmgtypes.h:373
retval
MMG5_pMesh char int int * retval
Definition: API_functionsf_3d.c:1015
MMG3D_IPARAM_verbose
@ MMG3D_IPARAM_verbose
Definition: libmmg3d.h:69
FORTRAN_NAME
FORTRAN_NAME(MMG3D_MMG3DLIB, mmg3d_mmg3dlib,(MMG5_pMesh *mesh, MMG5_pSol *met, int *retval),(mesh, met, retval))
Definition: libmmg3df.c:50
MMG3D_gradsizreq_iso
int MMG3D_gradsizreq_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:1143
tmp
tmp[*strlen0]
Definition: API_functionsf_3d.c:1021
MMG5_Info
Store input parameters of the run.
Definition: libmmgtypes.h:474
MMG3D_mmg3dlib
int MMG3D_mmg3dlib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:970
MMG3D_IPARAM_noswap
@ MMG3D_IPARAM_noswap
Definition: libmmg3d.h:80
MMG5_Mesh::nameout
char * nameout
Definition: libmmgtypes.h:601
mmg3d.h
MMG5_SAFE_CALLOC
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:304
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_DEL_MEM
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:281
MMG3D_gradsizreq_ani
int MMG3D_gradsizreq_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_3d.c:2025
MMG3D_Set_dparameter
int MMG3D_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
Definition: API_functions_3d.c:2341
ier
int ier
Definition: API_functionsf_3d.c:979
strncpy
strncpy(tmp, filename, *strlen0)
MMG5_mmgFree_names
void MMG5_mmgFree_names(MMG5_pMesh mesh, MMG5_pSol met)
Definition: API_functions.c:502
MMG5_caltet_iso
static double MMG5_caltet_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:387
MMG3D_Get_nonBdyTriangle
int MMG3D_Get_nonBdyTriangle(MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *ref, int idx)
Definition: libmmg3d_tools.c:896
MMG3D_IPARAM_lag
@ MMG3D_IPARAM_lag
Definition: libmmg3d.h:76
MMG5_Info::lag
int8_t lag
Definition: libmmgtypes.h:494
MMG3D_Get_adjaTet
int MMG3D_Get_adjaTet(MMG5_pMesh mesh, int kel, int listet[4])
Return adjacent elements of a tetrahedron.
Definition: libmmg3d_tools.c:102
MMG3D_IPARAM_nosizreq
@ MMG3D_IPARAM_nosizreq
Definition: libmmg3d.h:91
MMG5_Prism
Definition: libmmgtypes.h:431
MMG3D_mmg3dcheck
int MMG3D_mmg3dcheck(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol, double critmin, double lmin, double lmax, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:959
MMG5_Set_multiMat
int MMG5_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol, int ref, int split, int rin, int rex)
Definition: API_functions.c:652
MMG5_type
MMG5_type
Type of solutions.
Definition: libmmgtypes.h:200
MMG5_caltet
double(* MMG5_caltet)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: mmg3dexterns.c:7
MMG3D_mmg3dcheck
int MMG3D_mmg3dcheck(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol, double critmin, double lmin, double lmax, int *eltab, int8_t metRidTyp)
Definition: libmmg3d_tools.c:959
MMG5_compute_meanMetricAtMarkedPoints_iso
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
MMG5_xTetra::ref
int ref[4]
Definition: libmmgtypes.h:388
MMG3D_IPARAM_opnbdy
@ MMG3D_IPARAM_opnbdy
Definition: libmmg3d.h:75
MMG5_Info::nbr
int nbr
Definition: libmmgtypes.h:479
MMG3D_Get_tetsFromTria
int MMG3D_Get_tetsFromTria(MMG5_pMesh mesh, int ktri, int ktet[2], int iface[2])
Definition: libmmg3d_tools.c:1101
MMG3D_IPARAM_angle
@ MMG3D_IPARAM_angle
Definition: libmmg3d.h:72
MMG5_Info::hsiz
double hsiz
Definition: libmmgtypes.h:476
if
if(!ier) exit(EXIT_FAILURE)
MMG3D_parsop
int MMG3D_parsop(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d_tools.c:552
MMG5_Mesh::ntmax
int ntmax
Definition: libmmgtypes.h:559
filename
MMG5_pMesh char * filename
Definition: API_functionsf_3d.c:1015
MMG3D_Set_inputMeshName
int MMG3D_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions_3d.c:63
MMG5_Info::br
int * br
Definition: libmmgtypes.h:479
MMG3D_IPARAM_nofem
@ MMG3D_IPARAM_nofem
Definition: libmmg3d.h:74
TIMEMAX
#define TIMEMAX
Definition: chrono.h:49
MMG5_Mesh::nemax
int nemax
Definition: libmmgtypes.h:559
MMG5_Tetra::xt
int xt
Definition: libmmgtypes.h:376
MMG5_Vertex
@ MMG5_Vertex
Definition: libmmgtypes.h:213
MMG3D_DPARAM_ls
@ MMG3D_DPARAM_ls
Definition: libmmg3d.h:99
MMG5_compute_meanMetricAtMarkedPoints
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
MMG3D_Set_outputMeshName
int MMG3D_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions_3d.c:72
MMG5_scaleMesh
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol ls)
Definition: scalem.c:273
MMG5_SAFE_FREE
MMG5_SAFE_FREE(tmp)
MMG5_movbdyregpt_ani
int MMG5_movbdyregpt_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improveSurf, int improveVol)
Definition: anisomovpt_3d.c:195
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_Set_defaultTruncatureSizes
int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh, int8_t sethmin, int8_t sethmax)
Definition: API_functions.c:526
MMG3D_IPARAM_renum
@ MMG3D_IPARAM_renum
Definition: libmmg3d.h:88
MMG3D_gradsiz_iso
int MMG3D_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_3d.c:1059
MMG5_Tetra::v
int v[4]
Definition: libmmgtypes.h:372
MMG5_xPrism::ftag
int16_t ftag[5]
Definition: libmmgtypes.h:453