mmg2d
|
Lagrangian meshing. More...
#include "mmg2d.h"
Macros | |
#define | MMG2D_DEGTOL 5.e-1 |
Functions | |
double | MMG2D_estavglen (MMG5_pMesh mesh) |
static double | MMG2D_caltri_iso_3pt (double *a, double *b, double *c) |
int | MMG2D_chkmovmesh (MMG5_pMesh mesh, MMG5_pSol disp, short t, int *triIdx) |
short | MMG2D_dikomv (MMG5_pMesh mesh, MMG5_pSol disp, short *lastt) |
int | MMG2D_dispmesh (MMG5_pMesh mesh, MMG5_pSol disp, short t, int itdeg) |
int | MMG2D_spllag (MMG5_pMesh mesh, MMG5_pSol disp, MMG5_pSol met, int itdeg, int *warn) |
static int | MMG2D_coleltlag (MMG5_pMesh mesh, MMG5_pSol met, int itdeg) |
int | MMG2D_swpmshlag (MMG5_pMesh mesh, MMG5_pSol met, double crit, int itdeg) |
int | MMG2D_saveDisp (MMG5_pMesh mesh, MMG5_pSol disp) |
int | MMG2D_movtrilag (MMG5_pMesh mesh, MMG5_pSol met, int itdeg) |
int | MMG2D_mmg2d9 (MMG5_pMesh mesh, MMG5_pSol disp, MMG5_pSol met, int **invalidTrias) |
Lagrangian meshing.
Velocity extension for Lagrangian meshing.
#define MMG2D_DEGTOL 5.e-1 |
|
inlinestatic |
Compute quality of a triangle from the datum of its 3 vertices
int MMG2D_chkmovmesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp, | ||
short | t, | ||
int * | triIdx | ||
) |
mesh | pointer toward the mesh structure |
disp | pointer toward the displacement structure. |
t | fraction of displacement to test |
tetIdx | to fill with the list of non valid tria if provided. |
Check if moving mesh with disp for a fraction t yields a valid mesh.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
itdeg | degraded elements. |
Attempt to collapse small internal edges in the Lagrangian mode; only affects tria with cc itdeg.
short MMG2D_dikomv | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp, | ||
short * | lastt | ||
) |
mesh | pointer toward the mesh structure |
disp | pointer toward the displacement field |
lastt | 0 if a movement is possible, pointer toward the last tested fraction otherwise |
Return the largest fraction t that makes the motion along disp valid.
int MMG2D_dispmesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp, | ||
short | t, | ||
int | itdeg | ||
) |
Perform mesh motion along disp, for a fraction t, and the corresponding updates
double MMG2D_estavglen | ( | MMG5_pMesh | mesh | ) |
int MMG2D_mmg2d9 | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp, | ||
MMG5_pSol | met, | ||
int ** | invalidTrias | ||
) |
mesh | mesh structure |
disp | displacement structure |
met | metric structure |
invalidTriax | array to store the list of invalid tria if we are unable to move |
Lagrangian node displacement and meshing. Code for options: info.lag >= 0 -> displacement, info.lag > 0 -> displacement+remeshing with swap and moves info.lag > 1 -> displacement+remeshing with split+collapse+swap+move
int MMG2D_movtrilag | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
int | itdeg | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
itdeg | degraded elements. |
Analyze trias with cc = itdeg and move internal points so as to make mesh more uniform.
int MMG2D_saveDisp | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp | ||
) |
For debugging purposes: save disp
int MMG2D_spllag | ( | MMG5_pMesh | mesh, |
MMG5_pSol | disp, | ||
MMG5_pSol | met, | ||
int | itdeg, | ||
int * | warn | ||
) |
mesh | pointer toward the mesh structure. |
disp | pointer toward the displacement structure. |
met | pointer toward the metric structure. |
itdeg | degraded elements. |
*warn | warn is set to 1 if not enough memory is available to complete mesh. |
Split edges of length bigger than MMG5_LOPTL, in the Lagrangian mode. Only affects triangles with cc itdeg
int MMG2D_swpmshlag | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
double | crit, | ||
int | itdeg | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
crit | coefficient of quality improvment. |
itdeg | degraded elements. |
Internal edge flipping in the Lagrangian mode; only affects trias with cc itdeg