Go to the documentation of this file.
45 #define M_MAX(a,b) (((a) > (b)) ? (a) : (b))
46 #define M_MIN(a,b) (((a) < (b)) ? (a) : (b))
51 #define MMG2D_EPSD 1.e-10 //e-20??
52 #define MMG2D_EPSA 1.e-12
54 #define MMG2D_PRECI 1.
55 #define MMG2D_SIZE 0.75
56 #define MMG2D_ALPHA 0.28867513459
57 #define MMG2D_ALPHAD 3.464101615137755
58 #define MMG2D_LONMAX 1024
59 #define MMG2D_BADKAL 0.2
60 #define MMG2D_NULKAL 1.e-6
61 #define MMG2D_ANGCORN -1.e-6
62 #define MMG2D_SHORTMAX 0x7fff
63 #define MMG2D_LPARMAX 200
65 #define MMG2D_LLONG 2.0
66 #define MMG2D_LSHRT 0.3
67 #define MMG2D_LOPTL 1.4
68 #define MMG2D_LOPTS 0.71
70 #define MMG2D_NPMAX 50000
71 #define MMG2D_NEDMAX 100000
72 #define MMG2D_NEMAX 100000
75 #define MMG2D_RETURN_AND_FREE(mesh,met,disp,val)do \
77 if ( !MMG2D_Free_all(MMG5_ARG_start, \
78 MMG5_ARG_ppMesh,&mesh,MMG5_ARG_ppMet,&met, \
80 return MMG5_LOWFAILURE; \
93 fprintf(stdout,
"\n Unexpected error:"); fflush(stdout);
96 fprintf(stdout,
" Abnormal stop\n");
break;
98 fprintf(stdout,
" Floating-point exception\n");
break;
100 fprintf(stdout,
" Illegal instruction\n");
break;
102 fprintf(stdout,
" Segmentation fault\n");
break;
105 fprintf(stdout,
" Program killed\n");
break;
140 #define MMG2D_POINT_REALLOC(mesh,sol,ip,wantedGap,law,o,tag ) do \
144 MMG5_TAB_RECALLOC(mesh,mesh->point,mesh->npmax,wantedGap,MMG5_Point, \
145 "larger point table",law); \
147 mesh->npnil = mesh->np+1; \
148 for (klink=mesh->npnil; klink<mesh->npmax-1; klink++) \
149 mesh->point[klink].tmp = klink+1; \
153 MMG5_ADD_MEM(mesh,(sol->size*(mesh->npmax-sol->npmax))*sizeof(double), \
154 "larger solution",law); \
155 MMG5_SAFE_REALLOC(sol->m,sol->size*(sol->npmax+1), \
156 sol->size*(mesh->npmax+1), \
157 double,"larger solution",law); \
159 sol->npmax = mesh->npmax; \
162 ip = MMG2D_newPt(mesh,o,tag); \
168 #define MMG2D_TRIA_REALLOC(mesh,jel,wantedGap,law ) do \
172 oldSiz = mesh->ntmax; \
173 MMG5_TAB_RECALLOC(mesh,mesh->tria,mesh->ntmax,wantedGap,MMG5_Tria, \
174 "larger tria table",law); \
176 mesh->nenil = mesh->nt+1; \
177 for (klink=mesh->nenil; klink<mesh->ntmax-1; klink++) \
178 mesh->tria[klink].v[2] = klink+1; \
180 if ( mesh->adja ) { \
182 MMG5_ADD_MEM(mesh,3*(mesh->ntmax-oldSiz)*sizeof(int), \
183 "larger adja table",law); \
184 MMG5_SAFE_RECALLOC(mesh->adja,3*oldSiz+5,3*mesh->ntmax+5,int \
185 ,"larger adja table",law); \
189 jel = MMG2D_newElt(mesh); \
256 int simred(
double *m1,
double *m2,
double *
m);
345 double long_ani(
double *ca,
double *cb,
double *ma,
double *mb);
346 double long_iso(
double *ca,
double *cb,
double *ma,
double *mb);
352 int interp_ani(
double *,
double *,
double * ,
double );
353 int interp_iso(
double *,
double *,
double * ,
double );
int MMG2D_split3(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:624
! double * m
Definition: libmmgtypesf.h:627
@ MMG2D_IPARAM_angle
Definition: libmmg2d.h:61
int npar
Definition: libmmgtypes.h:447
void MMG2D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg2d_tools.c:35
int MMG2D_norver(MMG5_pMesh, int)
Definition: analys_2d.c:339
int MMG2D_defmetbdy_2d(MMG5_pMesh, MMG5_pSol, int, char)
Definition: anisosiz_2d.c:84
@ MMG2D_IPARAM_debug
Definition: libmmg2d.h:60
int np
Definition: libmmgtypes.h:566
double c[3]
Definition: libmmgtypes.h:215
static void MMG2D_Set_commonFunc()
Definition: mmg2d.h:375
int(* MMG2D_gradsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:32
int MMG2D_adpcol(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d1.c:688
double(* MMG2D_caltri)(MMG5_pMesh, MMG5_pSol, MMG5_pTria)
Definition: mmg2d.c:31
int MMG2D_swapar(MMG5_pMesh, int, char)
Definition: swapar_2d.c:221
int MMG2D_indElt(MMG5_pMesh mesh, int kel)
Definition: tools_2d.c:45
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
int MMG2D_memOption(MMG5_pMesh mesh)
Definition: zaldy_2d.c:218
double hmin
Definition: libmmgtypes.h:445
int MMG2D_newPt(MMG5_pMesh mesh, double c[2], int16_t tag)
Definition: zaldy_2d.c:38
int MMG2D_hashTria(MMG5_pMesh)
Definition: hash_2d.c:49
int v[3]
Definition: libmmgtypes.h:272
#define MMG5_MILLION
Definition: mmgcommon.h:88
int MMG2D_Free_names_var(va_list argptr)
Definition: variadic_2d.c:440
int simred(double *m1, double *m2, double *m)
int nxt
Definition: mmg2d.h:123
Definition: libmmgtypes.h:563
#define MG_SIN(tag)
Definition: mmgcommon.h:163
void MMG2D_solTruncatureForOptim(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg2d.c:49
int cur
Definition: mmg2d.h:111
int MMG2D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_2d.c:77
! int * adja
Definition: libmmgtypesf.h:584
int s
Definition: libmmgtypes.h:222
#define MMG5_ARG_ppDisp
Definition: libmmgtypes.h:112
int MMG2D_isInTriangle(MMG5_pMesh mesh, int k, double c[2])
Definition: locate_2d.c:69
int ref
Definition: libmmgtypes.h:245
int size
Definition: mmg2d.h:116
#define MG_REL
Definition: mmgcommon.h:62
int MMG5_interpmet22(MMG5_pMesh, double *, double *, double, double *)
Definition: intmet_2d.c:54
! double max[3]
Definition: libmmgtypesf.h:496
int lissmet_ani(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: lissmet_2d.c:47
int MMG2D_setref_ls(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d6.c:553
#define MG_EOK(pt)
Definition: mmgcommon.h:160
int(* MMG2D_defsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:27
int MMG2D_baseBdry(MMG5_pMesh mesh)
! char * namein
Definition: libmmgtypesf.h:608
int MMG2D_movintpt(MMG5_pMesh, MMG5_pSol, int, int *, char)
Definition: movpt_2d.c:212
#define MG_NOM
Definition: mmgcommon.h:144
int MMG2D_colver(MMG5_pMesh, int, int *)
Definition: colver_2d.c:270
char * namein
Definition: libmmgtypes.h:573
double long_ani(double *ca, double *cb, double *ma, double *mb)
Definition: length_2d.c:46
int main(int argc, char *argv[])
Definition: mmg2d.c:606
#define MMG5_ARG_start
Definition: libmmgtypes.h:73
char iso
Definition: libmmgtypes.h:453
int MMG2D_cutEdgeTriangle(MMG5_pMesh mesh, int k, int ia, int ib)
Definition: locate_2d.c:129
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:33
int size
Definition: libmmgtypes.h:569
#define MG_STR
Definition: mmgcommon.h:64
int MMG2D_intmet_iso(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: intmet_2d.c:38
static int MMG5_defaultValues(MMG5_pMesh mesh)
Definition: mmg2d.c:82
int MMG2D_split2_sim(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:450
int * head
Definition: mmg2d.h:117
int MMG2D_setMeshSize_alloc(MMG5_pMesh)
Definition: zaldy_2d.c:237
int MMG2D_hashNew(HashTable *hash, int hsize, int hmax)
Definition: hash_2d.c:28
#define MMG2D_RETURN_AND_FREE(mesh, met, disp, val)
Definition: mmg2d.h:75
! int nt
Definition: libmmgtypesf.h:571
MMG5_pPoint point
Definition: libmmgtypes.h:542
@ MMG2D_IPARAM_numsubdomain
Definition: libmmg2d.h:65
#define MG_VER
Definition: mmgcommon.h:61
! int k
Definition: libmmgtypesf.h:543
int MMG2D_splitbar(MMG5_pMesh, int, int)
Definition: split_2d.c:715
int MMG2D_isInTriangle(MMG5_pMesh, int, double c[2])
Definition: locate_2d.c:69
HashTable * pHashTable
Definition: mmg2d.h:130
Hedge * item
Definition: mmg2d.h:128
int MMG2D_colver2(MMG5_pMesh, int *)
Definition: colver_2d.c:418
size_t memMax
Definition: libmmgtypes.h:510
int MMG2D_colver3(MMG5_pMesh, int *)
Definition: colver_2d.c:356
int MMG2D_locateEdge(MMG5_pMesh mesh, int ia, int ib, int *kdep, int *list)
Definition: locate_2d.c:323
static void MMG5_endcod()
Definition: mmg2d.c:37
int MMG2D_kiuput(pQueue q, int iel)
@ MMG2D_IPARAM_iso
Definition: libmmg2d.h:62
int base
Definition: libmmgtypes.h:521
! double n1[3]
Definition: libmmgtypesf.h:275
int MMG2D_locateEdge(MMG5_pMesh, int, int, int *, int *)
Definition: locate_2d.c:323
int MMG2D_adpspl(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d1.c:632
int MMG2D_boulep(MMG5_pMesh, int, int, int *)
Definition: boulep_2d.c:34
int MMG2D_movedgpt(MMG5_pMesh, MMG5_pSol, int, int *, char)
Definition: movpt_2d.c:52
MMG5_pMesh MMG5_pSol * sol
Definition: API_functionsf_2d.c:63
pQueue MMG2D_kiuini(MMG5_pMesh mesh, int nbel, double declic, int base)
int MMG2D_split1(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:384
int np
Definition: libmmgtypes.h:516
int MMG2D_chkmsh(MMG5_pMesh)
Definition: chkmsh_2d.c:204
@ MMG2D_IPARAM_noinsert
Definition: libmmg2d.h:67
int lissmet_ani(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: lissmet_2d.c:47
double MMG2D_caltri_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pTria)
Definition: quality_2d.c:59
int MMG2D_setadj(MMG5_pMesh)
Definition: analys_2d.c:48
int MMG5_Add_inode(MMG5_pMesh mesh, MMG5_iNode **liLi, int val)
Definition: tools.c:642
static const unsigned int MMG2D_idir[5]
Definition: mmg2d.h:134
int optlen_iso(MMG5_pMesh mesh, MMG5_pSol sol, double declic, int base)
@ MMG2D_DPARAM_hmin
Definition: libmmg2d.h:72
unsigned char optim
Definition: libmmgtypes.h:457
char tagdel
Definition: libmmgtypes.h:225
static int MMG2D_usage(char *name)
Definition: mmg2d.c:45
int MMG2D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_2d.c:283
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:80
int MMG2D_velextLS(MMG5_pMesh, MMG5_pSol)
! int siz
Definition: libmmgtypesf.h:532
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:32
int MMG2D_grad2metreq_ani(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz_2d.c:635
static const unsigned int MMG2D_inxt[5]
Definition: mmg2d.h:135
#define MG_CPY
Definition: mmgcommon.h:63
@ MMG2D_IPARAM_nosurf
Definition: libmmg2d.h:70
int MMG2D_movtri(MMG5_pMesh, MMG5_pSol, int, char)
Definition: mmg2d1.c:745
int MMG2D_gradsiz_ani(MMG5_pMesh, MMG5_pSol)
int MMG2D_split1_sim(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:339
int * adja
Definition: libmmgtypes.h:529
int parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg2d.c:319
void MMG2D_kiufree(pQueue q)
int MMG2D_analys(MMG5_pMesh)
Definition: analys_2d.c:680
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
int MMG2D_assignEdge(MMG5_pMesh)
Definition: hash_2d.c:214
double hausd
Definition: libmmgtypes.h:445
MMG5_pTria tria
Definition: libmmgtypes.h:548
const int va_list argptr
Definition: API_functionsf_2d.c:592
int MMG2D_Init_mesh(const int starter,...)
Definition: API_functions_2d.c:43
! int base
Definition: libmmgtypesf.h:288
int MMG2D_adptri(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d1.c:542
#define M_MAX(a, b)
Definition: mmg2d.h:45
static int MMG2D_defaultOption(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg2d.c:236
@ MMG2D_IPARAM_verbose
Definition: libmmg2d.h:58
int mark
Definition: libmmgtypes.h:523
int MMG2D_unscaleMesh(MMG5_pMesh, MMG5_pSol)
Definition: scalem_2d.c:311
@ MMG2D_IPARAM_nomove
Definition: libmmg2d.h:69
MMG5_pMesh * mesh
Definition: API_functionsf_2d.c:63
int MMG2D_defsiz_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz_2d.c:129
int MMG2D_findTria(MMG5_pMesh, int)
Definition: locate_2d.c:215
int MMG2D_bezierCurv(MMG5_pMesh, int, char, double, double *, double *)
Definition: bezier_2d.c:117
#define _LIBMMG5_RETURN(mesh, met, val)
Definition: mmgcommon.h:177
#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
int MMG2D_defaultmet_2d(MMG5_pMesh, MMG5_pSol, int, char)
Definition: anisosiz_2d.c:49
void chrono(int cmode, mytime *ptt)
Function to measure time.
Definition: chrono.c:49
void MMG5_Free_ilinkedList(MMG5_pMesh mesh, MMG5_iNode *liLi)
Definition: tools.c:694
@ MMG2D_DPARAM_ls
Definition: libmmg2d.h:78
void MMG2D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_2d.c:57
int ref
Definition: libmmgtypes.h:273
int interp_ani(double *, double *, double *, double)
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
int MMG2D_split2(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:499
int MMG2D_mmg2dmov(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg2d.c:768
char * nameout
Definition: libmmgtypes.h:574
int MMG2D_set_metricAtPointsOnReqEdges(MMG5_pMesh, MMG5_pSol)
Definition: isosiz_2d.c:73
int MMG2D_anaelt(MMG5_pMesh, MMG5_pSol, int)
Definition: mmg2d1.c:109
Chrono object.
Definition: chrono.h:58
double * m
Definition: libmmgtypes.h:571
#define MMG5_ARG_end
Definition: libmmgtypes.h:159
void MMG5_delEdge(MMG5_pMesh mesh, int iel)
Definition: zaldy_2d.c:70
int MMG2D_snapval(MMG5_pMesh, MMG5_pSol, double *)
Definition: mmg2d6.c:183
int lissmet_iso(MMG5_pMesh mesh, MMG5_pSol sol)
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
@ MMG2D_DPARAM_angleDetection
Definition: libmmg2d.h:71
int MMG2D_anatri(MMG5_pMesh, MMG5_pSol, char)
Definition: mmg2d1.c:39
#define MMG5_STRONGFAILURE
Definition: libmmgtypes.h:56
double(* MMG2D_lencurv)(MMG5_pMesh, MMG5_pSol, int, int)
Definition: mmg2d.c:29
int MMG2D_intmet_ani(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: intmet_2d.c:237
void MMG5_mark_pointsOnReqEdge_fromTria(MMG5_pMesh mesh)
Definition: isosiz.c:233
int MMG2D_mmg2d1n(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d1.c:806
int MMG2D_sum_reqEdgeLengthsAtPoint(MMG5_pMesh, MMG5_pSol, MMG5_pTria, char)
Definition: isosiz_2d.c:49
int MMG2D_cavity(MMG5_pMesh, MMG5_pSol, int, int *)
Definition: delone_2d.c:175
int MMG2D_boulet(MMG5_pMesh, int, char, int *)
Definition: boulep_2d.c:202
double MMG2D_lencurv_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: length_2d.c:62
int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsiz)
Definition: API_functions.c:487
int MMG2D_pack(MMG5_pMesh, MMG5_pSol)
Definition: hash_2d.c:354
int MMG2D_chkswp(MMG5_pMesh, MMG5_pSol, int, char, char)
Definition: swapar_2d.c:128
int MMG5_mmg2dChkmsh(MMG5_pMesh, int, int)
Definition: chkmsh_2d.c:34
int MMG2D_mmg2d1(MMG5_pMesh, MMG5_pSol)
int max
Definition: mmg2d.h:123
static int MMG2D_writeLocalParamAtEdg(MMG5_pMesh mesh, MMG5_iNode *bdryRefs, FILE *out)
Definition: mmg2d.c:146
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
int optlen_iso_bar(MMG5_pMesh mesh, MMG5_pSol sol, double declic, int base)
int MMG2D_cuttri_ls(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d6.c:413
@ MMG2D_IPARAM_noswap
Definition: libmmg2d.h:68
int na
Definition: libmmgtypes.h:516
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
int(* MMG2D_intmet)(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: mmg2d.c:28
int MMG2D_ismaniball(MMG5_pMesh, MMG5_pSol, int, char)
Definition: mmg2d6.c:113
int MMG2D_movintpt_ani(MMG5_pMesh, MMG5_pSol, int, int *, char)
Definition: anisomovpt_2d.c:37
char imprim
Definition: libmmgtypes.h:453
int MMG2D_Free_names(const int starter,...)
Definition: API_functions_2d.c:1480
int(* MMG2D_defsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:27
double hgrad
Definition: libmmgtypes.h:445
#define MMG5_EPS
Definition: eigenv.h:32
int MMG2D_dichoto(MMG5_pMesh, MMG5_pSol, int, int *)
Definition: mmg2d1.c:357
int16_t tag
Definition: libmmgtypes.h:223
int MMG2D_swapdelone(MMG5_pMesh, MMG5_pSol, int, char, double, int *)
Definition: swapar_2d.c:39
double n1[3]
Definition: libmmgtypes.h:234
Definition: libmmgtypes.h:270
#define MMG5_SUCCESS
Definition: libmmgtypes.h:40
int MMG2D_savemet_db(MMG5_pMesh, MMG5_pSol, char *, char)
Definition: inout_2d.c:1647
Cell for linked list of integer value.
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:746
#define MMG5_LOWFAILURE
Definition: libmmgtypes.h:48
int MMG2D_mmg2dmesh(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg2d.c:384
int MMG2D_hashEdge(pHashTable edgeTable, int iel, int ia, int ib)
Definition: hash_2d.c:154
int MMG2D_getIniRef(MMG5_pMesh, int)
Definition: mmg2d6.c:70
int MMG2D_Init_mesh_var(va_list argptr)
Definition: variadic_2d.c:146
int MMG2D_outqua(MMG5_pMesh, MMG5_pSol)
Definition: quality_2d.c:156
int base
Definition: libmmgtypes.h:274
int MMG2D_chkor(MMG5_pMesh)
Definition: chkmsh_2d.c:404
@ MMG2D_DPARAM_hmax
Definition: libmmg2d.h:73
! int b
Definition: libmmgtypesf.h:286
double MMG2D_caltri_ani(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pTria)
Definition: quality_2d.c:95
! double hsiz
Definition: libmmgtypesf.h:495
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
! double c[3]
Definition: libmmgtypesf.h:255
! int16_t tag
Definition: libmmgtypesf.h:263
#define MMG2D_EPSD
Definition: mmg2d.h:51
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:543
! int np
Definition: libmmgtypesf.h:571
int MMG2D_chkedg(MMG5_pMesh, int)
Definition: bezier_2d.c:28
int MMG2D_Free_all_var(va_list argptr)
Definition: variadic_2d.c:239
int MMG2D_isSplit(MMG5_pMesh, int, int *, int *)
Definition: mmg2d6.c:45
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
void printim(double elps, char *stim)
Print real time.
Definition: chrono.c:149
void MMG5_chooseOutputFormat(MMG5_pMesh mesh, int *msh)
Definition: mmg.c:186
int MMG2D_saveSol(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_2d.c:1453
double long_iso(double *ca, double *cb, double *ma, double *mb)
Definition: length_2d.c:26
int xp
Definition: libmmgtypes.h:218
! double n2[3]
Definition: libmmgtypesf.h:275
#define MMG5_EPSD2
Definition: mmgcommon.h:96
@ MMG5_Tensor
Definition: libmmgtypes.h:177
#define MMG5_ARG_ppMesh
Definition: libmmgtypes.h:82
int MMG2D_kiudel(pQueue q, int iel)
static int MMG2D_writeLocalParam(MMG5_pMesh mesh)
Definition: mmg2d.c:171
int renum
Definition: libmmgtypes.h:449
double dhd
Definition: libmmgtypes.h:445
void tminit(mytime *t, int maxtim)
Initialize mytime object.
Definition: chrono.c:120
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
int size
Definition: mmg2d.h:127
! double hmax
Definition: libmmgtypesf.h:242
int * link
Definition: mmg2d.h:118
int MMG2D_loadMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_2d.c:78
int MMG2D_split1b(MMG5_pMesh, int, char, int)
Definition: split_2d.c:238
int MMG2D_prilen(MMG5_pMesh, MMG5_pSol)
Definition: length_2d.c:124
int MMG2D_split3_sim(MMG5_pMesh, MMG5_pSol, int, int vx[3])
Definition: split_2d.c:586
! int npar
Definition: libmmgtypesf.h:497
int nt
Definition: libmmgtypes.h:516
int * stack
Definition: mmg2d.h:111
MMG mesh structure.
Definition: libmmgtypes.h:509
int MMG2D_defsiz_ani(MMG5_pMesh, MMG5_pSol)
Definition: anisosiz_2d.c:359
#define EPST
Definition: locate_2d.c:33
int MMG5_countLocalParamAtTri(MMG5_pMesh mesh, MMG5_iNode **bdryRefs)
Definition: mmg.c:117
mytime MMG5_ctim[TIMEMAX]
Definition: mmg2d.c:25
int MMG2D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_2d.c:105
double n2[3]
Definition: libmmgtypes.h:234
int MMG2D_chkcol(MMG5_pMesh, MMG5_pSol, int, char, int *, char)
Definition: colver_2d.c:41
static void MMG2D_excfun(int sigid)
Definition: mmg2d.h:92
int MMG2D_freeLocalPar(MMG5_pMesh)
Definition: libmmg2d_tools.c:190
int MMG2D_gradsizreq_ani(MMG5_pMesh, MMG5_pSol)
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
double(* MMG2D_lencurv)(MMG5_pMesh, MMG5_pSol, int, int)
Definition: mmg2d.c:29
int MMG2D_mmg2d2(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d2.c:495
int MMG2D_bdryenforcement(MMG5_pMesh, MMG5_pSol)
Definition: enforcement_2d.c:34
int MMG2D_findtrianglestate(MMG5_pMesh, int, int, int, int, int, int)
Definition: mmg2d2.c:132
size_t MMG5_memSize(void)
Definition: tools.c:546
int MMG5_writeLocalParamAtTri(MMG5_pMesh mesh, MMG5_iNode *bdryRefs, FILE *out)
Definition: mmg.c:162
int MMG2D_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions_2d.c:72
int MMG2D_cenrad_iso(MMG5_pMesh, double *, double *, double *)
Definition: cenrad_2d.c:42
int MMG2D_chkspl(MMG5_pMesh, MMG5_pSol, int, char)
Definition: split_2d.c:50
#define MMG5_ARG_ppMet
Definition: libmmgtypes.h:102
int MMG2D_parsop(MMG5_pMesh, MMG5_pSol)
Definition: libmmg2d_tools.c:67
double hmax
Definition: libmmgtypes.h:445
double MMG2D_quickcal(MMG5_pMesh, MMG5_pTria)
Definition: quality_2d.c:45
char * namein
Definition: libmmgtypes.h:553
int(* MMG2D_gradsizreq)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:30
int MMG5_getnElt(MMG5_pMesh mesh, int n)
Definition: zaldy_2d.c:128
int MMG2D_cutEdge(MMG5_pMesh, MMG5_pTria, MMG5_pPoint, MMG5_pPoint)
Definition: locate_2d.c:90
int(* MMG2D_intmet)(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: mmg2d.c:28
MMG5_Info info
Definition: libmmgtypes.h:552
@ MMG2D_DPARAM_hgradreq
Definition: libmmg2d.h:77
int MMG2D_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_2d.c:1410
int MMG2D_settagtriangles(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d2.c:99
Bucket * pBucket
Definition: mmg2d.h:120
! double min[3]
Definition: libmmgtypesf.h:496
int MMG2D_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: solmap_2d.c:46
int MMG2D_swpmsh(MMG5_pMesh, MMG5_pSol, int)
Definition: mmg2d1.c:507
int hnxt
Definition: mmg2d.h:127
int MMG2D_cutEdge(MMG5_pMesh mesh, MMG5_pTria pt, MMG5_pPoint ppa, MMG5_pPoint ppb)
Definition: locate_2d.c:90
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:198
int MMG2D_hashEdge(pHashTable edgeTable, int iel, int ia, int ib)
Definition: hash_2d.c:154
int MMG2D_scaleMesh(MMG5_pMesh, MMG5_pSol)
Definition: scalem_2d.c:47
int MMG2D_kiupop(pQueue q)
@ MMG2D_DPARAM_hausd
Definition: libmmg2d.h:75
int MMG2D_mmg2d9(MMG5_pMesh, MMG5_pSol, MMG5_pSol)
Definition: mmg2d9.c:530
int MMG2D_mmg2dls(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg2d.c:597
int optlen_ani(MMG5_pMesh mesh, MMG5_pSol sol, double declic, int base)
int MMG2D_findTria(MMG5_pMesh mesh, int ip)
Definition: locate_2d.c:215
! double n[3]
Definition: libmmgtypesf.h:256
int MMG2D_grad2met_ani(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz_2d.c:572
int MMG2D_bdryEdge(MMG5_pMesh)
Definition: hash_2d.c:275
API headers for the mmg2d library.
int MMG2D_coorbary(MMG5_pMesh, MMG5_pTria, double c[2], double *, double *, double *)
Definition: locate_2d.c:37
int MMG2D_saveMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_2d.c:970
char * nameout
Definition: libmmgtypes.h:554
int(* MMG2D_gradsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:32
double(* MMG2D_caltri)(MMG5_pMesh, MMG5_pSol, MMG5_pTria)
Definition: mmg2d.c:31
@ MMG2D_DPARAM_hsiz
Definition: libmmg2d.h:74
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
@ MMG2D_DPARAM_hgrad
Definition: libmmg2d.h:76
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:289
int MMG2D_savemesh_db(MMG5_pMesh, char *, char)
Definition: inout_2d.c:1558
int MMG2D_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions_2d.c:63
int MMG2D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_2d.c:284
@ MMG5_Scalar
Definition: libmmgtypes.h:175
int MMG2D_singul(MMG5_pMesh, int)
Definition: analys_2d.c:206
static int MMG2D_countLocalParamAtEdg(MMG5_pMesh mesh, MMG5_iNode **bdyRefs)
Definition: mmg2d.c:102
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:266
MMG5_pEdge edge
Definition: libmmgtypes.h:550
int MMG2D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_2d.c:68
int ier
Definition: API_functionsf_2d.c:594
char ddebug
Definition: libmmgtypes.h:453
int interp_iso(double *, double *, double *, double)
char lag
Definition: libmmgtypes.h:453
@ MMG2D_IPARAM_lag
Definition: libmmg2d.h:63
int MMG2D_boulen(MMG5_pMesh, int, char, int *, int *, double *)
Definition: boulep_2d.c:96
int MMG2D_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
Definition: API_functions_2d.c:101
int MMG2D_indPt(MMG5_pMesh mesh, int kp)
Definition: tools_2d.c:69
int MMG2D_mmg2d6(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d6.c:617
@ MMG2D_IPARAM_mem
Definition: libmmg2d.h:59
int MMG2D_newElt(MMG5_pMesh mesh)
Definition: zaldy_2d.c:85
static const int MMG2D_iopp[3][2]
Definition: mmg2d.h:133
@ MMG2D_IPARAM_msh
Definition: libmmg2d.h:64
int MMG2D_Free_structures_var(va_list argptr)
Definition: variadic_2d.c:340
int MMG2D_resetRef(MMG5_pMesh)
Definition: mmg2d6.c:83
int MMG2D_bouleendp(MMG5_pMesh, int, char, int *, int *)
Definition: boulep_2d.c:255
int MMG2D_chkmanimesh(MMG5_pMesh)
Definition: mmg2d6.c:343
double hsiz
Definition: libmmgtypes.h:445
int ntmax
Definition: libmmgtypes.h:516
@ MMG2D_IPARAM_optim
Definition: libmmg2d.h:66
double MMG2D_lencurv_ani(MMG5_pMesh, MMG5_pSol, int, int)
Definition: length_2d.c:81
#define TIMEMAX
Definition: chrono.h:49
int nxtmax
Definition: mmg2d.h:127
int MMG2D_delone(MMG5_pMesh, MMG5_pSol, int, int *, int)
Definition: delone_2d.c:264
int MMG2D_loadMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_2d.c:606
#define MMG5_EPSD
Definition: eigenv.h:31
@ MMG5_Vertex
Definition: libmmgtypes.h:186
Queue * pQueue
Definition: mmg2d.h:113
int MMG2D_coorbary(MMG5_pMesh mesh, MMG5_pTria pt, double c[2], double *det, double *l1, double *l2)
Definition: locate_2d.c:37
int MMG2D_cutEdgeTriangle(MMG5_pMesh, int, int, int)
Definition: locate_2d.c:129
int MMG2D_savenor_db(MMG5_pMesh, char *, char)
Definition: inout_2d.c:1707
int MMG2D_colelt(MMG5_pMesh, MMG5_pSol, int)
Definition: mmg2d1.c:433
int MMG2D_savedisp_db(MMG5_pMesh mesh, MMG5_pSol, char *, char)
Definition: inout_2d.c:1762
int min
Definition: mmg2d.h:123
void MMG2D_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions_2d.c:80
int MMG2D_loadSol(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_2d.c:795
static const int MMG2D_iare[3][2]
Definition: mmg2d.h:132
int(* MMG2D_gradsizreq)(MMG5_pMesh, MMG5_pSol)
Definition: mmg2d.c:30
int(* MMG2D_optlen)(MMG5_pMesh, MMG5_pSol, double, int)
! int a
Definition: libmmgtypesf.h:286
void MMG2D_solTruncatureForOptim(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg2d.c:49
int MMG2D_mmg2dlib(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmg2d.c:141
int MMG2D_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
Definition: API_functions_2d.c:189
double n[3]
Definition: libmmgtypes.h:216
int MMG2D_regnor(MMG5_pMesh)
Definition: analys_2d.c:444