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

Go to the source code of this file.

Functions

int MMG2D_loadMesh (MMG5_pMesh mesh, const char *filename)
 
int MMG2D_loadGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG2D_2dMeshCheck (MMG5_pMesh mesh)
 
int MMG2D_loadMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG2D_loadMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
static int MMG2D_readFloatSol (MMG5_pSol sol, FILE *inm, int bin, int iswp, MMG5_int pos)
 
static int MMG2D_readDoubleSol (MMG5_pSol sol, FILE *inm, int bin, int iswp, MMG5_int pos)
 
int MMG2D_loadSol (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG2D_loadAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
int MMG2D_saveMesh (MMG5_pMesh mesh, const char *filename)
 
int MMG2D_saveMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG2D_saveMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
static void MMG2D_writeDoubleSol (MMG5_pSol sol, FILE *inm, int bin, MMG5_int pos, int gmsh)
 
int MMG2D_saveSol (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG2D_saveAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
int MMG2D_savemesh_db (MMG5_pMesh mesh, char *filename, int8_t pack)
 
int MMG2D_savemet_db (MMG5_pMesh mesh, MMG5_pSol met, char *filename, int8_t pack)
 
int MMG2D_savenor_db (MMG5_pMesh mesh, char *filename, int8_t pack)
 
int MMG2D_savedisp_db (MMG5_pMesh mesh, MMG5_pSol disp, char *filename, int8_t pack)
 
static int MMG2D_saveEle (MMG5_pMesh mesh, const char *filename)
 
static int MMG2D_saveNeigh (MMG5_pMesh mesh, const char *filename)
 
static int MMG2D_saveEdge (MMG5_pMesh mesh, const char *filename)
 
int MMG2D_saveTetgenMesh (MMG5_pMesh mesh, const char *filename)
 
int MMG2D_saveGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 

Function Documentation

◆ MMG2D_2dMeshCheck()

int MMG2D_2dMeshCheck ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh structure.
Returns
0 if failed, 1 otherwise.

Check mesh data for a Msh mesh : mark the vertices as used if no triangles in the mesh (mesh generation) and check that all z-componants are 0.

Definition at line 674 of file inout_2d.c.

Here is the caller graph for this function:

◆ MMG2D_loadAllSols()

int MMG2D_loadAllSols ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward an allocatable sol structure.
filenamename of file.
Returns
-1 data invalid or we fail, 0 no file, 1 ok.

Load a medit solution file containing 1 or more solutions.

Read the file header

Sol tab allocation

Definition at line 991 of file inout_2d.c.

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

◆ MMG2D_loadGenericMesh()

int MMG2D_loadGenericMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_LOADGENERICMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 592 of file inout_2d.c.

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

◆ MMG2D_loadMesh()

int MMG2D_loadMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of the readed file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_LOADMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 28 of file inout_2d.c.

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

◆ MMG2D_loadMshMesh()

int MMG2D_loadMshMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh and 0 or 1 data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_LOADMSHMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 701 of file inout_2d.c.

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

◆ MMG2D_loadMshMesh_and_allData()

int MMG2D_loadMshMesh_and_allData ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward a list of solution structures.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh and a list of data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra, tetra and prisms.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_LOADMSHMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 767 of file inout_2d.c.

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

◆ MMG2D_loadSol()

int MMG2D_loadSol ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
filenamename of file.
Returns
-1 data invalid or we fail, 0 no file, 1 ok.

Load metric field.

Read the file header

Definition at line 900 of file inout_2d.c.

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

◆ MMG2D_readDoubleSol()

static int MMG2D_readDoubleSol ( MMG5_pSol  sol,
FILE *  inm,
int  bin,
int  iswp,
MMG5_int  pos 
)
inlinestatic
Parameters
solpointer toward an allocatable sol structure.
inmpointer toward the solution file
bin1 if binary file
iswpEndianess
indexof the readed solution
Returns
1 if success, -1 if fail

Read the solution value for vertex of index pos in double precision.

Definition at line 873 of file inout_2d.c.

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

◆ MMG2D_readFloatSol()

static int MMG2D_readFloatSol ( MMG5_pSol  sol,
FILE *  inm,
int  bin,
int  iswp,
MMG5_int  pos 
)
inlinestatic
Parameters
solpointer toward an allocatable sol structure.
inmpointer toward the solution file
bin1 if binary file
iswpEndianess
indexof the readed solution
Returns
1 if success, -1 if fail

Read the solution value for vertex of index pos in floating precision.

Definition at line 842 of file inout_2d.c.

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

◆ MMG2D_saveAllSols()

int MMG2D_saveAllSols ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solutions array.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write 1 or more solutions.

Definition at line 1673 of file inout_2d.c.

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

◆ MMG2D_savedisp_db()

int MMG2D_savedisp_db ( MMG5_pMesh  mesh,
MMG5_pSol  disp,
char *  filename,
int8_t  pack 
)

Definition at line 1984 of file inout_2d.c.

◆ MMG2D_saveEdge()

static int MMG2D_saveEdge ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2187 of file inout_2d.c.

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

◆ MMG2D_saveEle()

static int MMG2D_saveEle ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2036 of file inout_2d.c.

Here is the caller graph for this function:

◆ MMG2D_saveGenericMesh()

int MMG2D_saveGenericMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Save mesh data in a file whose format depends on the filename extension.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_SAVEGENERICMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 2230 of file inout_2d.c.

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

◆ MMG2D_saveMesh()

int MMG2D_saveMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of the readed file.
Returns
0 or -1 if fail, 1 otherwise.

Save mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_SAVEMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1096 of file inout_2d.c.

Here is the caller graph for this function:

◆ MMG2D_savemesh_db()

int MMG2D_savemesh_db ( MMG5_pMesh  mesh,
char *  filename,
int8_t  pack 
)

Definition at line 1776 of file inout_2d.c.

◆ MMG2D_savemet_db()

int MMG2D_savemet_db ( MMG5_pMesh  mesh,
MMG5_pSol  met,
char *  filename,
int8_t  pack 
)

Definition at line 1869 of file inout_2d.c.

◆ MMG2D_saveMshMesh()

int MMG2D_saveMshMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write mesh and 0 or 1 data at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .msh one.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_SAVEMSHMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1531 of file inout_2d.c.

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

◆ MMG2D_saveMshMesh_and_allData()

int MMG2D_saveMshMesh_and_allData ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write mesh and a list of data fields at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .mshb one.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_SAVEMSHMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1535 of file inout_2d.c.

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

◆ MMG2D_saveNeigh()

static int MMG2D_saveNeigh ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2108 of file inout_2d.c.

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

◆ MMG2D_savenor_db()

int MMG2D_savenor_db ( MMG5_pMesh  mesh,
char *  filename,
int8_t  pack 
)

Definition at line 1929 of file inout_2d.c.

◆ MMG2D_saveSol()

int MMG2D_saveSol ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write isotropic or anisotropic metric.

Definition at line 1612 of file inout_2d.c.

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

◆ MMG2D_saveTetgenMesh()

int MMG2D_saveTetgenMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of the readed file.
Returns
0 or -1 if fail, 1 otherwise.

Save mesh data at Triangle (or equivalent to Tetgen in 2D) file format.

Remarks
Fortran interface:

‍ SUBROUTINE MMG2D_SAVETETGENMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 2209 of file inout_2d.c.

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

◆ MMG2D_writeDoubleSol()

static void MMG2D_writeDoubleSol ( MMG5_pSol  sol,
FILE *  inm,
int  bin,
MMG5_int  pos,
int  gmsh 
)
inlinestatic
Parameters
solpointer toward an allocatable sol structure.
inmpointer toward the solution file
bin1 if binary file
indexof the writted solution
gmshwrite in 3D (for gmsh) if 1

Write the solution value for vertex of index pos in double precision.

Definition at line 1550 of file inout_2d.c.

Here is the caller graph for this function: