Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
libmmg2d.c File Reference
#include "libmmg2d.h"
#include "libmmg2d_private.h"
#include "mmg2dexterns_private.h"
#include "mmgexterns_private.h"
Include dependency graph for libmmg2d.c:

Go to the source code of this file.

Macros

#define MMG2D_RETURN_AND_PACK(mesh, met, sol, val)
 

Functions

void MMG2D_Set_commonFunc (void)
 
int MMG2D_mmg2dlib (MMG5_pMesh mesh, MMG5_pSol met)
 
static int MMG2D_restart (MMG5_pMesh mesh)
 
int MMG2D_mmg2dmesh (MMG5_pMesh mesh, MMG5_pSol met)
 
int MMG2D_mmg2dls (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol umet)
 
int MMG2D_mmg2dmov (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
 

Macro Definition Documentation

◆ MMG2D_RETURN_AND_PACK

#define MMG2D_RETURN_AND_PACK ( mesh,
met,
sol,
val )
Value:
do \
{ \
if ( !MMG2D_pack(mesh,met,sol) ) { \
mesh->npi = mesh->np; \
mesh->nti = mesh->nt; \
mesh->nai = mesh->na; \
mesh->nei = mesh->ne; \
mesh->xt = 0; \
if ( met ) { met->npi = met->np; } \
if ( sol ) { sol->npi = sol->np; } \
return MMG5_LOWFAILURE; \
} \
_LIBMMG5_RETURN(mesh,met,sol,val); \
}while(0)
MMG5_pMesh MMG5_pSol * sol
MMG5_pMesh * mesh
int MMG2D_pack(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol met)
Definition hash_2d.c:540
#define MMG5_LOWFAILURE
Definition libmmgtypes.h:51
MMG5_int xt
MMG5_int ne
MMG5_int nei
MMG5_int nt
MMG5_int np
MMG5_int nti
MMG5_int npi
MMG5_int nai
MMG5_int na

Pack the mesh mesh and its associated metric met and/or solution sol and return val.

Definition at line 33 of file libmmg2d.c.

Function Documentation

◆ MMG2D_mmg2dlib()

int MMG2D_mmg2dlib ( MMG5_pMesh mesh,
MMG5_pSol sol )
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (metric).
Returns
MMG5_SUCCESS if success, MMG5_LOWFAILURE if failed but a conform mesh is saved and MMG5_STRONGFAILURE if failed and we can't save the mesh.

Main program for the mesh adaptation library .

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_MMG2DLIB(mesh,sol,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 63 of file libmmg2d.c.

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

◆ MMG2D_mmg2dls()

int MMG2D_mmg2dls ( MMG5_pMesh mesh,
MMG5_pSol sol,
MMG5_pSol met )
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (level-set).
metpointer toward a sol structure (metric).
Returns
MMG5_SUCCESS if success, MMG5_LOWFAILURE if failed but a conform mesh is saved and MMG5_STRONGFAILURE if failed and we can't save the mesh.

Main program for the level-set discretization library. If a metric met is provided, use it to adapt the mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_MMG2DLS(mesh,sol,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
MMG5_DATA_PTR_T :: met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 526 of file libmmg2d.c.

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

◆ MMG2D_mmg2dmesh()

int MMG2D_mmg2dmesh ( MMG5_pMesh mesh,
MMG5_pSol sol )
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (metric).
Returns
MMG5_SUCCESS if success, MMG5_LOWFAILURE if failed but a conform mesh is saved and MMG5_STRONGFAILURE if failed and we can't save the mesh.

Main program for the mesh generation library .

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_MMG2DMESH(mesh,sol,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 307 of file libmmg2d.c.

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

◆ MMG2D_mmg2dmov()

int MMG2D_mmg2dmov ( MMG5_pMesh mesh,
MMG5_pSol met,
MMG5_pSol disp )
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (displacement).
disppointer toward a sol (displacement for the lagrangian motion mode) structure.
Returns
MMG5_SUCCESS if success, MMG5_LOWFAILURE if failed but a conform mesh is saved and MMG5_STRONGFAILURE if failed and we can't save the mesh.

Main program for the rigid body movement library .

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_MMG2DMOV(mesh,sol,disp,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol,disp
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 822 of file libmmg2d.c.

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

◆ MMG2D_restart()

static int MMG2D_restart ( MMG5_pMesh mesh)
inlinestatic
Parameters
meshpointer toward the mesh structure.
Returns
0 if fail (lack of memory), 1 otherwise.

Clean the mesh structure when we just call the MMG2D_Free_Triangles and MMG2D_Free_Edges functions between 2 call of the MMG2D_mmg2dmesh function:

  • Allocate the tria and edge structures if needed;
  • Reset the tags at vertices.

If needed, reallocate the missing structures

Definition at line 275 of file libmmg2d.c.

Here is the caller graph for this function:

◆ MMG2D_Set_commonFunc()

void MMG2D_Set_commonFunc ( void )

Set common pointer functions between mmgs and mmg2d to the matching mmg2d functions.

Definition at line 52 of file libmmg2d.c.

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