Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Macros | Functions
mmg2d9.c File Reference

Lagrangian meshing. More...

#include "libmmg2d_private.h"
Include dependency graph for mmg2d9.c:

Go to the source code of this file.

Macros

#define MMG2D_DEGTOL   5.e-1
 

Functions

double MMG2D_estavglen (MMG5_pMesh mesh)
 
MMG5_int MMG2D_chkmovmesh (MMG5_pMesh mesh, MMG5_pSol disp, short t, MMG5_int *triIdx)
 
int MMG2D_dispmesh (MMG5_pMesh mesh, MMG5_pSol disp, short t, int itdeg)
 
MMG5_int MMG2D_spllag (MMG5_pMesh mesh, MMG5_pSol disp, MMG5_pSol met, MMG5_int itdeg, int *warn)
 
static int MMG2D_coleltlag (MMG5_pMesh mesh, MMG5_pSol met, int itdeg)
 
MMG5_int MMG2D_swpmshlag (MMG5_pMesh mesh, MMG5_pSol met, double crit, int itdeg)
 
MMG5_int MMG2D_movtrilag (MMG5_pMesh mesh, MMG5_pSol met, int itdeg)
 
int MMG2D_mmg2d9 (MMG5_pMesh mesh, MMG5_pSol disp, MMG5_pSol met, MMG5_int **invalidTrias)
 

Detailed Description

Lagrangian meshing.

Velocity extension for Lagrangian meshing.

Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
Doxygen documentation
Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
Doxygen documentation

Definition in file mmg2d9.c.

Macro Definition Documentation

◆ MMG2D_DEGTOL

#define MMG2D_DEGTOL   5.e-1

Definition at line 37 of file mmg2d9.c.

Function Documentation

◆ MMG2D_chkmovmesh()

MMG5_int MMG2D_chkmovmesh ( MMG5_pMesh  mesh,
MMG5_pSol  disp,
short  t,
MMG5_int *  triIdx 
)
Parameters
meshpointer toward the mesh structure
disppointer toward the displacement structure.
tfraction of displacement to test
tetIdxto fill with the list of non valid tria if provided.
Returns
0 if success (movement can be achieved), 1 or the number of invalid tria otherwise.

Check if moving mesh with disp for a fraction t yields a valid mesh.

Definition at line 86 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_coleltlag()

static int MMG2D_coleltlag ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  itdeg 
)
static
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itdegdegraded elements.
Returns
-1 if failed.
number of collapsed points.

Attempt to collapse small internal edges in the Lagrangian mode; only affects tria with cc itdeg.

Definition at line 286 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_dispmesh()

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

Definition at line 124 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_estavglen()

double MMG2D_estavglen ( MMG5_pMesh  mesh)

Definition at line 40 of file mmg2d9.c.

Here is the caller graph for this function:

◆ MMG2D_mmg2d9()

int MMG2D_mmg2d9 ( MMG5_pMesh  mesh,
MMG5_pSol  disp,
MMG5_pSol  met,
MMG5_int **  invalidTrias 
)
Parameters
meshmesh structure
dispdisplacement structure
metmetric structure
invalidTriasarray to store the list of invalid tria if we are unable to move
Returns
0 if fail, 1 if success to move, the opposite of the number of non valid trias if we can't move (-ninvalidTrias).

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

Definition at line 459 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_movtrilag()

MMG5_int MMG2D_movtrilag ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  itdeg 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itdegdegraded elements.
Returns
-1 if failed, number of moved points otherwise.

Analyze trias with cc = itdeg and move internal points so as to make mesh more uniform.

Definition at line 394 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_spllag()

MMG5_int MMG2D_spllag ( MMG5_pMesh  mesh,
MMG5_pSol  disp,
MMG5_pSol  met,
MMG5_int  itdeg,
int *  warn 
)
Parameters
meshpointer toward the mesh structure.
disppointer toward the displacement structure.
metpointer toward the metric structure.
itdegdegraded elements.
*warnwarn is set to 1 if not enough memory is available to complete mesh.
Returns
-1 if failed.
number of new points.

Split edges of length bigger than MMG5_LOPTL, in the Lagrangian mode. Only affects triangles with cc itdeg

Definition at line 191 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_swpmshlag()

MMG5_int MMG2D_swpmshlag ( MMG5_pMesh  mesh,
MMG5_pSol  met,
double  crit,
int  itdeg 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
critcoefficient of quality improvment.
itdegdegraded elements.

Internal edge flipping in the Lagrangian mode; only affects trias with cc itdeg

Definition at line 350 of file mmg2d9.c.

Here is the call graph for this function:
Here is the caller graph for this function: