Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
Most of the API functions of the MMG3D library. More...
#include "libmmg3d.h"
#include "inlined_functions_3d_private.h"
#include "mmg3dexterns_private.h"
#include "mmgexterns_private.h"
Go to the source code of this file.
Macros | |
#define | MMG5_RETURN_AND_PACK(mesh, met, sol, val) |
Functions | |
void | MMG3D_Free_topoTables (MMG5_pMesh mesh) |
MMG5_int | MMG3D_bdryBuild (MMG5_pMesh mesh) |
int | MMG3D_mark_packedPoints (MMG5_pMesh mesh, MMG5_int *np, MMG5_int *nc) |
int | MMG3D_pack_tetraAndAdja (MMG5_pMesh mesh) |
int | MMG3D_pack_tetra (MMG5_pMesh mesh) |
int | MMG3D_pack_prismsAndQuads (MMG5_pMesh mesh) |
int | MMG3D_pack_sol (MMG5_pMesh mesh, MMG5_pSol sol) |
int | MMG3D_pack_pointArray (MMG5_pMesh mesh) |
int | MMG3D_update_eltsVertices (MMG5_pMesh mesh) |
MMG5_int | MMG3D_pack_points (MMG5_pMesh mesh) |
void | MMG3D_unset_reqBoundaries (MMG5_pMesh mesh) |
int | MMG3D_packMesh (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol met) |
int | MMG3D_mmg3dlib (MMG5_pMesh mesh, MMG5_pSol met) |
Main "program" for the mesh adaptation library. | |
int | MMG3D_mmg3dls (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol umet) |
Main "program" for the level-set discretization library. | |
int | MMG3D_mmg3dmov (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp) |
Main program for the rigid-body movement library. | |
void | MMG3D_Set_commonFunc (void) |
Most of the API functions of the MMG3D library.
Private API functions for MMG3D library: incompatible functions with the main binary.
Definition in file libmmg3d.c.
Pack the mesh mesh and its associated metric met and/or solution sol and return val.
Definition at line 51 of file libmmg3d.c.
MMG5_int MMG3D_bdryBuild | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure (unused). |
Create the boundary entities of the mesh (triangles and edges).
Definition at line 99 of file libmmg3d.c.
void MMG3D_Free_topoTables | ( | MMG5_pMesh | mesh | ) |
Free adja, xtetra and xpoint tables
Definition at line 67 of file libmmg3d.c.
int MMG3D_mark_packedPoints | ( | MMG5_pMesh | mesh, |
MMG5_int * | np, | ||
MMG5_int * | nc | ||
) |
mesh | pointer to the mesh structure (unused). |
np | pointer to the number of packed points |
nc | pointer to the number of packed corners |
Count the number of packed points and store the packed point index in tmp. Preserve numbering order.
Definition at line 541 of file libmmg3d.c.
int MMG3D_mmg3dlib | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
Main "program" for the mesh adaptation library.
mesh | pointer to the mesh structure. |
met | pointer to the sol (metric) structure. |
SUBROUTINE MMG3D_MMG3DLIB(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 975 of file libmmg3d.c.
int MMG3D_mmg3dls | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
MMG5_pSol | met | ||
) |
Main "program" for the level-set discretization library.
mesh | pointer to the mesh structure. |
sol | pointer to the sol (level-set) structure. |
met | pointer to a sol structure (metric), optional. |
Main program for the level-set discretization library. If a metric met is provided, use it to adapt the mesh.
SUBROUTINE MMG3D_MMG3DLS(mesh,sol,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
MMG5_DATA_PTR_T :: met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 1192 of file libmmg3d.c.
int MMG3D_mmg3dmov | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_pSol | disp | ||
) |
Main program for the rigid-body movement library.
mesh | pointer to the mesh structure. |
met | pointer to the sol (output metric) structure. |
disp | pointer to a sol (displacement for the lagrangian motion mode) structure. |
SUBROUTINE MMG3D_MMG3DMOV(mesh,met,disp,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met,disp
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 1475 of file libmmg3d.c.
int MMG3D_pack_pointArray | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure (unused). |
Pack a sparse point array. Preserve numbering order.
Definition at line 749 of file libmmg3d.c.
MMG5_int MMG3D_pack_points | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure (unused). |
Pack a sparse point array and update the element vertices according to their new indices.
Store in tmp the pack index of each point and count the corner
Update the element vertices indices
Pack the point array
Definition at line 853 of file libmmg3d.c.
int MMG3D_pack_prismsAndQuads | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure |
Pack prisms and quads. Preserve numbering order.
Definition at line 667 of file libmmg3d.c.
int MMG3D_pack_sol | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol | ||
) |
mesh | pointer to the mesh structure (unused). |
met | pointer to the solution (metric or level-set) structure. |
Pack a sparse solution structure. Preserve numbering order.
Definition at line 713 of file libmmg3d.c.
int MMG3D_pack_tetra | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure |
Pack the sparse tetra. Doesn't pack the adjacency array. Preserve numbering order.
Definition at line 627 of file libmmg3d.c.
int MMG3D_pack_tetraAndAdja | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure |
Pack the sparse tetra and the associated adja array. Preserve numbering order.
Definition at line 572 of file libmmg3d.c.
int MMG3D_packMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
MMG5_pSol | met | ||
) |
mesh | pointer to the mesh structure (unused). |
sol | pointer to a solution structure. |
met | pointer to a solution structure. |
Pack the sparse mesh and create triangles and edges before getting out of library
Definition at line 905 of file libmmg3d.c.
void MMG3D_Set_commonFunc | ( | void | ) |
Set common pointer functions between mmgs and mmg3d to the matching mmg3d functions.
Definition at line 1745 of file libmmg3d.c.
void MMG3D_unset_reqBoundaries | ( | MMG5_pMesh | mesh | ) |
mesh | pointer towarad the mesh structure. |
Set all boundary triangles to required and add a tag to detect that they are not realy required.
Definition at line 875 of file libmmg3d.c.
int MMG3D_update_eltsVertices | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure (unused). |
Update the element vertices indices with the pack point index stored in the tmp field of the points.
Definition at line 807 of file libmmg3d.c.