Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Macros | Enumerations | Functions | Variables
libmmgs.h File Reference

API headers for the mmgs library. More...

#include "mmg/mmgs/mmgs_export.h"
#include "mmg/common/libmmgtypes.h"
Include dependency graph for libmmgs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MMGS_LMAX   1024
 

Enumerations

enum  MMGS_Param {
  MMGS_IPARAM_verbose , MMGS_IPARAM_mem , MMGS_IPARAM_debug , MMGS_IPARAM_angle ,
  MMGS_IPARAM_iso , MMGS_IPARAM_isosurf , MMGS_IPARAM_isoref , MMGS_IPARAM_keepRef ,
  MMGS_IPARAM_optim , MMGS_IPARAM_noinsert , MMGS_IPARAM_noswap , MMGS_IPARAM_nomove ,
  MMGS_IPARAM_nreg , MMGS_IPARAM_xreg , MMGS_IPARAM_numberOfLocalParam , MMGS_IPARAM_numberOfLSBaseReferences ,
  MMGS_IPARAM_numberOfMat , MMGS_IPARAM_numsubdomain , MMGS_IPARAM_renum , MMGS_IPARAM_anisosize ,
  MMGS_IPARAM_nosizreq , MMGS_DPARAM_angleDetection , MMGS_DPARAM_hmin , MMGS_DPARAM_hmax ,
  MMGS_DPARAM_hsiz , MMGS_DPARAM_hausd , MMGS_DPARAM_hgrad , MMGS_DPARAM_hgradreq ,
  MMGS_DPARAM_ls , MMGS_DPARAM_rmc , MMGS_PARAM_size
}
 Input parameters for mmg library. More...
 

Functions

LIBMMGS_EXPORT int MMGS_Init_mesh (const int starter,...)
 
LIBMMGS_EXPORT void MMGS_Init_fileNames (MMG5_pMesh mesh, MMG5_pSol sol)
 
LIBMMGS_EXPORT void MMGS_Init_parameters (MMG5_pMesh mesh)
 
LIBMMGS_EXPORT int MMGS_Set_inputMeshName (MMG5_pMesh mesh, const char *meshin)
 
LIBMMGS_EXPORT int MMGS_Set_outputMeshName (MMG5_pMesh mesh, const char *meshout)
 
LIBMMGS_EXPORT int MMGS_Set_inputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
 
LIBMMGS_EXPORT int MMGS_Set_outputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
 
LIBMMGS_EXPORT int MMGS_Set_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, MMG5_int np, int typSol)
 
LIBMMGS_EXPORT int MMGS_Set_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, MMG5_int nentities, int *typSol)
 
LIBMMGS_EXPORT int MMGS_Set_meshSize (MMG5_pMesh mesh, MMG5_int np, MMG5_int nt, MMG5_int na)
 
LIBMMGS_EXPORT int MMGS_Set_vertex (MMG5_pMesh mesh, double c0, double c1, double c2, MMG5_int ref, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs)
 
LIBMMGS_EXPORT int MMGS_Set_triangle (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int ref, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs)
 
LIBMMGS_EXPORT int MMGS_Set_edge (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int ref, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_corner (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Unset_corner (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_requiredVertex (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Unset_requiredVertex (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_requiredTriangle (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Unset_requiredTriangle (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_ridge (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Unset_ridge (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_requiredEdge (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Unset_requiredEdge (MMG5_pMesh mesh, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs)
 
LIBMMGS_EXPORT int MMGS_Get_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs, int *areRidges, int *areRequired)
 
LIBMMGS_EXPORT int MMGS_Set_normalAtVertex (MMG5_pMesh mesh, MMG5_int k, double n0, double n1, double n2)
 
double MMGS_Get_triangleQuality (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k)
 
LIBMMGS_EXPORT int MMGS_Set_scalarSol (MMG5_pSol met, double s, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_scalarSols (MMG5_pSol met, double *s)
 
LIBMMGS_EXPORT int MMGS_Set_vectorSol (MMG5_pSol met, double vx, double vy, double vz, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_vectorSols (MMG5_pSol met, double *sols)
 
LIBMMGS_EXPORT int MMGS_Set_tensorSol (MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_tensorSols (MMG5_pSol met, double *sols)
 
LIBMMGS_EXPORT int MMGS_Set_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Set_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 
LIBMMGS_EXPORT int MMGS_Chk_meshData (MMG5_pMesh mesh, MMG5_pSol met)
 
LIBMMGS_EXPORT int MMGS_Set_iparameter (MMG5_pMesh mesh, MMG5_pSol sol, int iparam, MMG5_int val)
 
LIBMMGS_EXPORT int MMGS_Set_dparameter (MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
 
LIBMMGS_EXPORT int MMGS_Set_localParameter (MMG5_pMesh mesh, MMG5_pSol sol, int typ, MMG5_int ref, double hmin, double hmax, double hausd)
 
LIBMMGS_EXPORT int MMGS_Set_multiMat (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ref, int split, MMG5_int rin, MMG5_int rex)
 
LIBMMGS_EXPORT int MMGS_Set_lsBaseReference (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int br)
 
LIBMMGS_EXPORT int MMGS_Get_meshSize (MMG5_pMesh mesh, MMG5_int *np, MMG5_int *nt, MMG5_int *na)
 
LIBMMGS_EXPORT int MMGS_Get_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, MMG5_int *np, int *typSol)
 
LIBMMGS_EXPORT int MMGS_Get_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, MMG5_int *nentities, int *typSol)
 
LIBMMGS_EXPORT int MMGS_Get_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired)
 
LIBMMGS_EXPORT int MMGS_GetByIdx_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired, MMG5_int idx)
 
LIBMMGS_EXPORT int MMGS_Get_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs, int *areCorners, int *areRequired)
 
LIBMMGS_EXPORT int MMGS_Get_triangle (MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *ref, int *isRequired)
 
LIBMMGS_EXPORT int MMGS_Get_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs, int *areRequired)
 
LIBMMGS_EXPORT int MMGS_Get_edge (MMG5_pMesh mesh, MMG5_int *e0, MMG5_int *e1, MMG5_int *ref, int *isRidge, int *isRequired)
 
LIBMMGS_EXPORT int MMGS_Get_normalAtVertex (MMG5_pMesh mesh, MMG5_int k, double *n0, double *n1, double *n2)
 
LIBMMGS_EXPORT int MMGS_Get_scalarSol (MMG5_pSol met, double *s)
 
LIBMMGS_EXPORT int MMGS_Get_scalarSols (MMG5_pSol met, double *s)
 
LIBMMGS_EXPORT int MMGS_Get_vectorSol (MMG5_pSol met, double *vx, double *vy, double *vz)
 
LIBMMGS_EXPORT int MMGS_Get_vectorSols (MMG5_pSol met, double *sols)
 
LIBMMGS_EXPORT int MMGS_Get_tensorSol (MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33)
 
LIBMMGS_EXPORT int MMGS_Get_tensorSols (MMG5_pSol met, double *sols)
 
LIBMMGS_EXPORT int MMGS_Get_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos)
 
LIBMMGS_EXPORT int MMGS_Get_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 
LIBMMGS_EXPORT int MMGS_Get_iparameter (MMG5_pMesh mesh, MMG5_int iparam)
 
LIBMMGS_EXPORT int MMGS_loadMesh (MMG5_pMesh mesh, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtpMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtpMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtuMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtuMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtkMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadVtkMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveMesh (MMG5_pMesh mesh, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtkMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtkMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtuMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtuMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtpMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveVtpMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadSol (MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
 
LIBMMGS_EXPORT int MMGS_loadAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveSol (MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
 
LIBMMGS_EXPORT int MMGS_saveAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
LIBMMGS_EXPORT int MMGS_Free_allSols (MMG5_pMesh mesh, MMG5_pSol *sol)
 
LIBMMGS_EXPORT int MMGS_Free_all (const int starter,...)
 
LIBMMGS_EXPORT int MMGS_Free_structures (const int starter,...)
 
LIBMMGS_EXPORT int MMGS_Free_names (const int starter,...)
 
LIBMMGS_EXPORT int MMGS_mmgslib (MMG5_pMesh mesh, MMG5_pSol met)
 
LIBMMGS_EXPORT int MMGS_mmgsls (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol met)
 
LIBMMGS_EXPORT void MMGS_setfunc (MMG5_pMesh mesh, MMG5_pSol met)
 
LIBMMGS_EXPORT int MMGS_Get_numberOfNonBdyEdges (MMG5_pMesh mesh, MMG5_int *nb_edges)
 
LIBMMGS_EXPORT int MMGS_Get_nonBdyEdge (MMG5_pMesh mesh, MMG5_int *e0, MMG5_int *e1, MMG5_int *ref, MMG5_int idx)
 
LIBMMGS_EXPORT int MMGS_Set_constantSize (MMG5_pMesh mesh, MMG5_pSol met)
 
LIBMMGS_EXPORT int MMGS_usage (char *prog)
 
LIBMMGS_EXPORT int MMGS_parsar (int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
 
LIBMMGS_EXPORT int MMGS_defaultValues (MMG5_pMesh mesh)
 
LIBMMGS_EXPORT int MMGS_stockOptions (MMG5_pMesh mesh, MMG5_Info *info)
 
LIBMMGS_EXPORT void MMGS_destockOptions (MMG5_pMesh mesh, MMG5_Info *info)
 
LIBMMGS_EXPORT int MMGS_Get_adjaTri (MMG5_pMesh mesh, MMG5_int kel, MMG5_int listri[3])
 Return adjacent elements of a triangle. More...
 
LIBMMGS_EXPORT int MMGS_Get_adjaVerticesFast (MMG5_pMesh mesh, MMG5_int ip, MMG5_int start, MMG5_int lispoi[MMGS_LMAX])
 Return adjacent elements of a triangle. More...
 
LIBMMGS_EXPORT int MMGS_Compute_eigenv (double m[6], double lambda[3], double vp[3][3])
 
LIBMMGS_EXPORT void MMGS_Free_solutions (MMG5_pMesh mesh, MMG5_pSol sol)
 
LIBMMGS_EXPORT int MMGS_Clean_isoSurf (MMG5_pMesh mesh)
 
LIBMMGS_EXPORT void MMGS_Set_commonFunc (void)
 

Variables

LIBMMGS_EXPORT int(* MMGS_doSol )(MMG5_pMesh mesh, MMG5_pSol met)
 

Detailed Description

API headers for the mmgs library.

Author
Algiane Froehly (Inria/UBordeaux)
Version
5
Date
01 2014
Warning
To keep the genheader working, don't break line between the enum name and the opening brace (it creates errors under windows)

Definition in file libmmgs.h.

Macro Definition Documentation

◆ MMGS_LMAX

#define MMGS_LMAX   1024

Maximum array size when storing adjacent points (or ball) of a vertex.

Definition at line 50 of file libmmgs.h.

Enumeration Type Documentation

◆ MMGS_Param

enum MMGS_Param

Input parameters for mmg library.

Input parameters for mmg library. Options prefixed by MMGS_IPARAM asked for integers values ans options prefixed by MMGS_DPARAM asked for real values.

Enumerator
MMGS_IPARAM_verbose 

[-1..10], Tune level of verbosity

MMGS_IPARAM_mem 

[n/-1], Set memory size to n Mbytes or keep the default value

MMGS_IPARAM_debug 

[1/0], Turn on/off debug mode

MMGS_IPARAM_angle 

[1/0], Turn on/off angle detection

MMGS_IPARAM_iso 

[1/0], Level-set meshing

MMGS_IPARAM_isosurf 

[1/0], Level-set meshing on the surface part

MMGS_IPARAM_isoref 

[0/n], Iso-surface boundary material reference

MMGS_IPARAM_keepRef 

[1/0], Preserve the initial domain references in level-set mode

MMGS_IPARAM_optim 

[1/0], Optimize mesh keeping its initial edge sizes

MMGS_IPARAM_noinsert 

[1/0], Avoid/allow point insertion

MMGS_IPARAM_noswap 

[1/0], Avoid/allow edge or face flipping

MMGS_IPARAM_nomove 

[1/0], Avoid/allow point relocation

MMGS_IPARAM_nreg 

[0/1], Disabled/enabled normal regularization

MMGS_IPARAM_xreg 

[0/1], Disabled/enabled coordinates regularization

MMGS_IPARAM_numberOfLocalParam 

[n], Number of local parameters

MMGS_IPARAM_numberOfLSBaseReferences 

[n], Number of base references for bubble removal

MMGS_IPARAM_numberOfMat 

[n], Number of material in ls mode

MMGS_IPARAM_numsubdomain 

[0/n], Save the subdomain nb (0==all subdomain)

MMGS_IPARAM_renum 

[1/0], Turn on/off point relocation with Scotch

MMGS_IPARAM_anisosize 

[1/0], Turn on/off anisotropic metric creation when no metric is provided

MMGS_IPARAM_nosizreq 

[0/1], Allow/avoid overwritten of sizes at required points (advanced usage)

MMGS_DPARAM_angleDetection 

[val], Value for angle detection

MMGS_DPARAM_hmin 

[val], Minimal mesh size

MMGS_DPARAM_hmax 

[val], Maximal mesh size

MMGS_DPARAM_hsiz 

[val], Constant mesh size

MMGS_DPARAM_hausd 

[val], Control global Hausdorff distance (on all the boundary surfaces of the mesh)

MMGS_DPARAM_hgrad 

[val], Control gradation

MMGS_DPARAM_hgradreq 

[val], Control gradation on required entites (advanced usage)

MMGS_DPARAM_ls 

[val], Value of level-set

MMGS_DPARAM_rmc 

[-1/val], Remove small connex componants in level-set mode

MMGS_PARAM_size 

[n], Number of parameters

Definition at line 61 of file libmmgs.h.

Function Documentation

◆ MMGS_Chk_meshData()

LIBMMGS_EXPORT int MMGS_Chk_meshData ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
Returns
0 if failed, 1 otherwise.

Check if the number of given entities match with mesh and sol size (not mandatory) and check mesh datas.

Remarks
Fortran interface:

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

Definition at line 1256 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Clean_isoSurf()

LIBMMGS_EXPORT int MMGS_Clean_isoSurf ( MMG5_pMesh  mesh)
Parameters
meshpointer toward mesh sructure
Returns
1 if successful, 0 otherwise.

Clean data (triangles and edges) linked to isosurface.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_CLEAN_ISOSURF(mesh,retval)
MMG5_DATA_PTR_T, INTENT(IN) :: mesh
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1586 of file libmmgs_tools.c.

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

◆ MMGS_Compute_eigenv()

LIBMMGS_EXPORT int MMGS_Compute_eigenv ( double  m[6],
double  lambda[3],
double  vp[3][3] 
)
Parameters
mupper part of a symetric matric diagonalizable in |R
lambdaarray of the metric eigenvalues
vparray of the metric eigenvectors
Returns
the order of the eigenvalues

Compute the real eigenvalues and eigenvectors of a symetric matrice m whose upper part is provided (m11, m12, m13, m22, m23, m33 in this order). lambda[0] is the eigenvalue associated to the eigenvector ( v[0][0], v[0,1], v[0,2] ) in C and to the eigenvector v(1,:) in fortran lambda[1] is the eigenvalue associated to the eigenvector ( v[1][0], v[1,1], v[1,2] ) in C and to the eigenvector v(2,:) in fortran lambda[2] is the eigenvalue associated to the eigenvector ( v[2][0], v[2,1], v[2,2] ) in C and to the eigenvector v(3,:) in fortran

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_COMPUTE_EIGENV(m,lambda,vp,retval)
REAL(KIND=8), INTENT(IN) :: m(*)
REAL(KIND=8), INTENT(OUT) :: lambda(*),vp(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1553 of file libmmgs_tools.c.

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

◆ MMGS_defaultValues()

LIBMMGS_EXPORT int MMGS_defaultValues ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh structure.
Returns
0 if fail, 1 if success.

Print the default parameters values.

Remarks
Fortran interface:

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

Definition at line 111 of file libmmgs_tools.c.

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

◆ MMGS_destockOptions()

LIBMMGS_EXPORT void MMGS_destockOptions ( MMG5_pMesh  mesh,
MMG5_Info info 
)
Parameters
meshpointer toward the mesh structure.
infopointer toward the info structure.

Recover the info structure stored in the mesh structure.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_DESTOCKOPTIONS(mesh,info)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
END SUBROUTINE

Definition at line 511 of file libmmgs_tools.c.

Here is the caller graph for this function:

◆ MMGS_Free_all()

LIBMMGS_EXPORT int MMGS_Free_all ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here,your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
0 if fail, 1 if success

Deallocations before return.

Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1676 of file API_functions_s.c.

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

◆ MMGS_Free_allSols()

LIBMMGS_EXPORT int MMGS_Free_allSols ( MMG5_pMesh  mesh,
MMG5_pSol sol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward an array of solution structure (that stores solution fields).
Returns
1

Deallocation of an array of solution fields

Remarks
Fortran interface:

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

Definition at line 1671 of file API_functions_s.c.

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

◆ MMGS_Free_names()

LIBMMGS_EXPORT int MMGS_Free_names ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here,your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
0 if fail, 1 if success

Structure deallocations before return.

Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1704 of file API_functions_s.c.

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

◆ MMGS_Free_solutions()

LIBMMGS_EXPORT void MMGS_Free_solutions ( MMG5_pMesh  mesh,
MMG5_pSol  sol 
)
Parameters
meshpointer toward the mesh structure
solpointer toward the solution structure

Free the solution.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_FREE_SOLUTIONS(mesh,sol)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
END SUBROUTINE

Definition at line 1559 of file libmmgs_tools.c.

Here is the caller graph for this function:

◆ MMGS_Free_structures()

LIBMMGS_EXPORT int MMGS_Free_structures ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here,your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Here, your_mesh is a pointer toward MMG5_pMesh and your_metric and your_level_set a pointer toward MMG5_pSol.

Returns
0 if fail, 1 if success

Structure deallocations before return.

Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1690 of file API_functions_s.c.

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

◆ MMGS_Get_adjaTri()

LIBMMGS_EXPORT int MMGS_Get_adjaTri ( MMG5_pMesh  mesh,
MMG5_int  kel,
MMG5_int  listri[3] 
)

Return adjacent elements of a triangle.

Parameters
meshpointer toward the mesh structure.
keltriangle index.
listripointer toward the table of the indices of the three adjacent triangles of the elt kel (the index is 0 if there is no adjacent).
Returns
1.

Find the indices of the 3 adjacent elements of triangle kel. $v_i = 0$ if the $i^{th}$ face has no adjacent element (so we are on a boundary face).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ADJATRI(mesh,kel,listri,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: kel
INTEGER(MMG5F_INT), DIMENSION(3), INTENT(OUT) :: listri
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 655 of file libmmgs_tools.c.

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

◆ MMGS_Get_adjaVerticesFast()

LIBMMGS_EXPORT int MMGS_Get_adjaVerticesFast ( MMG5_pMesh  mesh,
MMG5_int  ip,
MMG5_int  start,
MMG5_int  lispoi[MMGS_LMAX] 
)

Return adjacent elements of a triangle.

Parameters
meshpointer toward the mesh structure.
ipvertex index.
startindex of a triangle holding ip.
lispoipointer toward an array of size MMGS_LMAX that will contain the indices of adjacent vertices to the vertex ip.
Returns
nbpoi the number of adjacent points if success, 0 if fail.

Find the indices of the adjacent vertices of the vertex ip of the triangle start.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ADJAVERTICESFAST(mesh,ip,start,lispoi,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: ip,start
INTEGER(MMG5F_INT), DIMENSION(MMGS_LMAX), INTENT(OUT) :: lispoi
INTEGER(MMG5F_INT), INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 669 of file libmmgs_tools.c.

Here is the caller graph for this function:

◆ MMGS_Get_edge()

LIBMMGS_EXPORT int MMGS_Get_edge ( MMG5_pMesh  mesh,
MMG5_int *  e0,
MMG5_int *  e1,
MMG5_int *  ref,
int *  isRidge,
int *  isRequired 
)
Parameters
meshpointer toward the mesh structure.
e0pointer toward the first extremity of the edge.
e1pointer toward the second extremity of the edge.
refpointer toward the edge reference.
isRidgepointer toward the flag saying if the edge is ridge.
isRequiredpointer toward the flag saying if the edge is required.
Returns
0 if failed, 1 otherwise.

Get extremities e0, e1 and reference ref of next edge of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_EDGE(mesh,e0,e1,ref,isRidge,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: e0,e1
INTEGER(MMG5F_INT) :: ref
INTEGER :: isRidge,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 613 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_edges()

LIBMMGS_EXPORT int MMGS_Get_edges ( MMG5_pMesh  mesh,
MMG5_int *  edges,
MMG5_int *  refs,
int *  areRidges,
int *  areRequired 
)
Parameters
meshpointer toward the mesh structure.
edgespointer toward the array of edges. Vertices of the $i^{th}$ edge are stored in edge[(i-1)*2]@2.
refsedges references. refs[i-1] is the ref of the $i^{th}$ edge.
areRidges1 if the edge is a ridge, 0 otherwise.
areRequired1 if the edge is required, 0 otherwise.
Returns
0 if failed, 1 otherwise.

Get vertices and references of the mesh edges.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_EDGES(mesh,edges,refs,areRidges,areRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: refs(*),edges(*)
INTEGER, INTENT(OUT) :: areRequired(*),areRidges(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 676 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_iparameter()

LIBMMGS_EXPORT int MMGS_Get_iparameter ( MMG5_pMesh  mesh,
MMG5_int  iparam 
)
Parameters
meshpointer toward the mesh structure.
iparaminteger parameter to set (see MMGS_Param structure).
Returns
The value of integer parameter.

Get the value of integer parameter iparam.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_IPARAMETER(mesh,iparam,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: iparam
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1454 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_ithSol_inSolsAtVertices()

LIBMMGS_EXPORT int MMGS_Get_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
MMG5_int  pos 
)
Parameters
solpointer toward the array of solutions
iposition of the solution field that we want to set.
ssolution(s) at mesh vertex pos.
posindex of the vertex on which we get the solution.
Returns
0 if failed, 1 otherwise.

Get values of the ith field of the solution array at vertex pos. (pos from 1 to nb_vertices included and i from 1 to nb_sols).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ITHSOL_INSOLSATVERTICES(sol,i,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
INTEGER(MMG5F_INT), INTENT(IN) :: pos
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1169 of file API_functions_s.c.

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

◆ MMGS_Get_ithSols_inSolsAtVertices()

LIBMMGS_EXPORT int MMGS_Get_ithSols_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s 
)
Parameters
solpointer toward the array of solutions
iposition of the solution field that we want to get.
stable of the solutions at mesh vertices. The solution at vertex k is given by s[k-1] for a scalar sol, s[3*(k-1)]@3 for a vectorial solution and s[6*(k-1)]@6 for a tensor solution.
Returns
0 if failed, 1 otherwise.

Get values of the solution at the ith field of the solution array. (i from 1 to nb_sols).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ITHSOLS_INSOLSATVERTICES(sol,i,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1227 of file API_functions_s.c.

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

◆ MMGS_Get_meshSize()

LIBMMGS_EXPORT int MMGS_Get_meshSize ( MMG5_pMesh  mesh,
MMG5_int *  np,
MMG5_int *  nt,
MMG5_int *  na 
)

recover datas

Parameters
meshpointer toward the mesh structure.
nppointer toward the number of vertices.
ntpointer toward the number of triangles.
napointer toward the number of edges.
Returns
1.

Get the number of vertices, triangles and edges of the mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT) :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 281 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_nonBdyEdge()

LIBMMGS_EXPORT int MMGS_Get_nonBdyEdge ( MMG5_pMesh  mesh,
MMG5_int *  e0,
MMG5_int *  e1,
MMG5_int *  ref,
MMG5_int  idx 
)
Parameters
meshpointer toward the mesh structure.
e0pointer toward the first extremity of the edge.
e1pointer toward the second extremity of the edge.
refpointer toward the edge reference.
idxindex of the non boundary edge to get (between 1 and nb_edges)
Returns
0 if failed, 1 otherwise.

Get extremities e0, e1 and reference ref of the idx^th non boundary edge (for DG methods for example). An edge is boundary if it is located at the interface of 2 domains witch different references, if it belongs to one triangle only or if it is a singular edge (ridge or required).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_NONBDYEDGE(mesh,e0,e1,ref,idx,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: e0,e1
INTEGER(MMG5F_INT) :: ref
INTEGER(MMG5F_INT), INTENT(IN) :: idx
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 613 of file libmmgs_tools.c.

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

◆ MMGS_Get_normalAtVertex()

LIBMMGS_EXPORT int MMGS_Get_normalAtVertex ( MMG5_pMesh  mesh,
MMG5_int  k,
double *  n0,
double *  n1,
double *  n2 
)
Parameters
meshpointer toward the mesh structure.
kpoint index
n0x componant of the normal at point k.
n1y componant of the normal at point k.
n2z componant of the normal at point k.
Returns
1 if success.

Get normals (n0,n1,n2) at point k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 782 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_numberOfNonBdyEdges()

LIBMMGS_EXPORT int MMGS_Get_numberOfNonBdyEdges ( MMG5_pMesh  mesh,
MMG5_int *  nb_edges 
)
Parameters
meshpointer toward the mesh structure.
nb_edgespointer toward the number of non boundary edges.
Returns
0 if failed, 1 otherwise.

Get the number of non boundary edges (for DG methods for example). An edge is boundary if it is located at the interface of 2 domains with different references, if it belongs to one triangle only or if it is a singular edge (ridge or required). Append these edges to the list of edge.

Warning
reallocate the edge array and append the internal edges. This may modify the behaviour of other functions.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_NUMBEROFNONBDYEDGES(mesh,nb_edges,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: nb_edges
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 517 of file libmmgs_tools.c.

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

◆ MMGS_Get_scalarSol()

LIBMMGS_EXPORT int MMGS_Get_scalarSol ( MMG5_pSol  met,
double *  s 
)
Parameters
metpointer toward the sol structure.
spointer toward the scalar solution value.
Returns
0 if failed, 1 otherwise.

Get solution s of next vertex of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SCALARSOL(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 854 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_scalarSols()

LIBMMGS_EXPORT int MMGS_Get_scalarSols ( MMG5_pSol  met,
double *  s 
)
Parameters
metpointer toward the sol structure.
stable of the scalar solutions at mesh vertices. s[i-1] is the solution at vertex i.
Returns
0 if failed, 1 otherwise.

Get solutions at mesh vertices.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SCALARSOLS(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 900 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_solsAtVerticesSize()

LIBMMGS_EXPORT int MMGS_Get_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int *  nsols,
MMG5_int *  nentities,
int *  typSol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward an array of sol structure.
nsolsnumber of solutions per entity
nentitiespointer toward the number of entities.
typSolarray of size MMG5_NSOL_MAX to store type of each solution (scalar, vector..).
Returns
1.

Get the solution number, dimension and type.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SOLSATVERTICESSIZE(mesh,sol,nsols,nentities,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: nsols
INTEGER(MMG5F_INT) :: nentities
INTEGER :: typSol(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 252 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_solSize()

LIBMMGS_EXPORT int MMGS_Get_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int *  typEntity,
MMG5_int *  np,
int *  typSol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
typEntitypointer toward the type of entities to which solutions are applied.
nppointer toward the number of solutions.
typSolpointer toward the type of the solutions (scalar, vectorial...)
Returns
1.

Get the solution number, dimension and type.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: typEntity,typSol
INTEGER(MMG5F_INT) :: np
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 226 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_tensorSol()

LIBMMGS_EXPORT int MMGS_Get_tensorSol ( MMG5_pSol  met,
double *  m11,
double *  m12,
double *  m13,
double *  m22,
double *  m23,
double *  m33 
)
Parameters
metpointer toward the sol structure.
m11pointer toward the position (1,1) in the solution tensor.
m12pointer toward the position (1,2) in the solution tensor.
m13pointer toward the position (1,3) in the solution tensor.
m22pointer toward the position (2,2) in the solution tensor.
m23pointer toward the position (2,3) in the solution tensor.
m33pointer toward the position (3,3) in the solution tensor.
Returns
0 if failed, 1 otherwise.

Get tensorial solution of next vertex of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TENSORSOL(met,m11,m12,m13,m22,m23,m33,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: m11,m12,m13,m22,m23,m33
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1060 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_tensorSols()

LIBMMGS_EXPORT int MMGS_Get_tensorSols ( MMG5_pSol  met,
double *  sols 
)
Parameters
metpointer toward the sol structure.
solstable of the solutions at mesh vertices. sols[6*(i-1)]@6 is the solution at vertex i.
Returns
0 if failed, 1 otherwise.

Get tensorial solutions at mesh vertices.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TENSORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*), INTENT(OUT) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1123 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_triangle()

LIBMMGS_EXPORT int MMGS_Get_triangle ( MMG5_pMesh  mesh,
MMG5_int *  v0,
MMG5_int *  v1,
MMG5_int *  v2,
MMG5_int *  ref,
int *  isRequired 
)
Parameters
meshpointer toward the mesh structure.
v0pointer toward the first vertex of triangle.
v1pointer toward the second vertex of triangle.
v2pointer toward the third vertex of triangle.
refpointer toward the triangle reference.
isRequiredpointer toward the flag saying if triangle is required.
Returns
0 if failed, 1 otherwise.

Get vertices v0,v1,v2 and reference ref of next triangle of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TRIANGLE(mesh,v0,v1,v2,ref,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: v0,v1,v2,ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 490 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_triangleQuality()

double MMGS_Get_triangleQuality ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
kindex of the triangle for which we want to get the quality.
Returns
the computed quality or 0. if fail.

Get quality of tria k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TRIANGLEQUALITY(mesh,met,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,met
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8), INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 792 of file API_functions_s.c.

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

◆ MMGS_Get_triangles()

LIBMMGS_EXPORT int MMGS_Get_triangles ( MMG5_pMesh  mesh,
MMG5_int *  tria,
MMG5_int *  refs,
int *  areRequired 
)
Parameters
meshpointer toward the mesh structure.
triapointer toward the table of the triangles vertices Vertices of the $i^{th}$ tria are stored in tria[(i-1)*3]@3.
refspointer toward the table of the triangles references. refs[i-1] is the ref of the $i^{th}$ tria.
areRequiredpointer toward table of the flags saying if triangles are required. areRequired[i-1]=1 if the $i^{th}$ tria is required.
Returns
0 if failed, 1 otherwise.

Get vertices and references of the mesh triangles.

Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs and areRequired arrays)

‍! SUBROUTINE MMGS_GET_TRIANGLES(mesh,tria,refs,areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT), DIMENSION(*),INTENT(OUT) :: tria
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 555 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vectorSol()

LIBMMGS_EXPORT int MMGS_Get_vectorSol ( MMG5_pSol  met,
double *  vx,
double *  vy,
double *  vz 
)
Parameters
metpointer toward the sol structure.
vxx value of the vectorial solution.
vyy value of the vectorial solution.
vzz value of the vectorial solution.
Returns
0 if failed, 1 otherwise.

Get vectorial solution $(v_x,v_y,vz)$ of next vertex of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VECTORSOL(met,vx,vy,vz,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: vx,vy,vz
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 948 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vectorSols()

LIBMMGS_EXPORT int MMGS_Get_vectorSols ( MMG5_pSol  met,
double *  sols 
)
Parameters
metpointer toward the sol structure.
solstable of the solutions at mesh vertices. sols[3*(i-1)]@3 is the solution at vertex i.
Returns
0 if failed, 1 otherwise.

Get vectorial solutions at mesh vertices

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VECTORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1003 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vertex()

LIBMMGS_EXPORT int MMGS_Get_vertex ( MMG5_pMesh  mesh,
double *  c0,
double *  c1,
double *  c2,
MMG5_int *  ref,
int *  isCorner,
int *  isRequired 
)
Parameters
meshpointer toward the mesh structure.
c0pointer toward the coordinate of the point along the first dimension.
c1pointer toward the coordinate of the point along the second dimension.
c2pointer toward the coordinate of the point along the third dimension.
refpointer to the point reference.
isCornerpointer toward the flag saying if point is corner.
isRequiredpointer toward the flag saying if point is required.
Returns
1.

Get coordinates c0, c1,c2 and reference ref of next vertex of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VERTEX(mesh,c0,c1,c2,ref,isCorner,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(OUT) :: c0,c1,c2
INTEGER(MMG5F_INT) :: ref
INTEGER :: isCorner,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 356 of file API_functions_s.c.

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

◆ MMGS_Get_vertices()

LIBMMGS_EXPORT int MMGS_Get_vertices ( MMG5_pMesh  mesh,
double *  vertices,
MMG5_int *  refs,
int *  areCorners,
int *  areRequired 
)
Parameters
meshpointer toward the mesh structure.
verticespointer toward the table of the points coordinates. The coordinates of the $i^{th}$ point are stored in vertices[(i-1)*3]@3.
refspointer to the table of the point references. The ref of the $i^th$ point is stored in refs[i-1].
areCornerspointer toward the table of the flags saying if points are corners. areCorners[i-1]=1 if the $i^{th}$ point is corner.
areRequiredpointer toward the table of flags saying if points are required. areRequired[i-1]=1 if the $i^{th}$ point is required.
Returns
1.

Get the coordinates and references of the mesh vertices.

Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs,areCorners and areRequired arrays)

‍! SUBROUTINE MMGS_GET_VERTICES(mesh,vertices,refs,areCorners,&
! areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8),DIMENSION(*), INTENT(OUT) :: vertices
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areCorners,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 416 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_GetByIdx_vertex()

LIBMMGS_EXPORT int MMGS_GetByIdx_vertex ( MMG5_pMesh  mesh,
double *  c0,
double *  c1,
double *  c2,
MMG5_int *  ref,
int *  isCorner,
int *  isRequired,
MMG5_int  idx 
)
Parameters
meshpointer toward the mesh structure.
c0pointer toward the coordinate of the point along the first dimension.
c1pointer toward the coordinate of the point along the second dimension.
c2pointer toward the coordinate of the point along the third dimension.
refpointer to the point reference.
isCornerpointer toward the flag saying if point is corner.
isRequiredpointer toward the flag saying if point is required.
idxindex of point to get.
Returns
1.

Get coordinates c0, c1, c2 and reference ref of vertex idx of mesh.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GETBYIDX_VERTEX(mesh,c0,c1,c2,ref,isCorner,isRequired,idx,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(OUT) :: c0,c1,c2
INTEGER :: isCorner,isRequired
INTEGER(MMG5F_INT) :: ref,idx
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 383 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Init_fileNames()

LIBMMGS_EXPORT void MMGS_Init_fileNames ( MMG5_pMesh  mesh,
MMG5_pSol  sol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.

Initialize file names to their default values.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_INIT_FILENAMES(mesh,sol)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
END SUBROUTINE

Definition at line 56 of file API_functions_s.c.

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

◆ MMGS_Init_mesh()

LIBMMGS_EXPORT int MMGS_Init_mesh ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here,your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
1 if success, 0 if fail

MMG structures allocation and initialization.

Remarks
No fortran interface to allow variadic arguments.

Definition at line 43 of file API_functions_s.c.

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

◆ MMGS_Init_parameters()

LIBMMGS_EXPORT void MMGS_Init_parameters ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh structure.

Initialization of the input parameters (stored in the Info structure).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_INIT_PARAMETERS(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE

Definition at line 80 of file API_functions_s.c.

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

◆ MMGS_loadAllSols()

LIBMMGS_EXPORT int MMGS_loadAllSols ( 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.

Load 1 or more solutions in a solution file at medit file format.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADALLSOLS(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

Read the file header

Sol tab allocation

Definition at line 1382 of file inout_s.c.

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

◆ MMGS_loadGenericMesh()

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

Read mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 759 of file inout_s.c.

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

◆ MMGS_loadMesh()

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

Read mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 41 of file inout_s.c.

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

◆ MMGS_loadMshMesh()

LIBMMGS_EXPORT int MMGS_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 failed, 1 otherwise.

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

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 640 of file inout_s.c.

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

◆ MMGS_loadMshMesh_and_allData()

LIBMMGS_EXPORT int MMGS_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 failed, 1 otherwise.

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 MMGS_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 701 of file inout_s.c.

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

◆ MMGS_loadSol()

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

Load metric field. The solution file (at medit file format) must contains only 1 solution: the metric.

Remarks
Fortran interface:

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

Read the file header

Definition at line 1307 of file inout_s.c.

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

◆ MMGS_loadVtkMesh()

LIBMMGS_EXPORT int MMGS_loadVtkMesh ( 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.

Read mesh and 0 or 1 data field at VTK vtk file format (.vtk extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTKMESH(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 148 of file inoutcpp_s.cpp.

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

◆ MMGS_loadVtkMesh_and_allData()

LIBMMGS_EXPORT int MMGS_loadVtkMesh_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.

Read mesh and a list of data field at VTK vtk file format (.vtk extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTKMESH_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 189 of file inoutcpp_s.cpp.

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

◆ MMGS_loadVtpMesh()

LIBMMGS_EXPORT int MMGS_loadVtpMesh ( 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.

Read mesh and 0 or 1 data field at VTK vtp file format (.vtp extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTPMESH(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 74 of file inoutcpp_s.cpp.

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

◆ MMGS_loadVtpMesh_and_allData()

LIBMMGS_EXPORT int MMGS_loadVtpMesh_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.

Read mesh and a list of data fields at VTK vtp file format (.vtp extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTPMESH_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 115 of file inoutcpp_s.cpp.

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

◆ MMGS_loadVtuMesh()

LIBMMGS_EXPORT int MMGS_loadVtuMesh ( 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.

Read mesh and 0 or 1 data field at VTK vtu file format (.vtu extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTUMESH(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 222 of file inoutcpp_s.cpp.

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

◆ MMGS_loadVtuMesh_and_allData()

LIBMMGS_EXPORT int MMGS_loadVtuMesh_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.

Read mesh and a list of data field at VTK vtu file format (.vtu extension). We read only low-order points, edges, tria and quad.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_LOADVTUMESH_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 263 of file inoutcpp_s.cpp.

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

◆ MMGS_mmgslib()

LIBMMGS_EXPORT int MMGS_mmgslib ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol (metric) structure.
Returns
MMG5_SUCCESS if success, MMG5_LOWFAILURE if fail but a conform mesh is saved or MMG5_STRONGFAILURE if fail and we can't save the mesh.

Main program for the library.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_MMGSLIB(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 545 of file libmmgs.c.

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

◆ MMGS_mmgsls()

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

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

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_MMGSLS(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 298 of file libmmgs.c.

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

◆ MMGS_parsar()

LIBMMGS_EXPORT int MMGS_parsar ( int  argc,
char *  argv[],
MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_pSol  sol 
)
Parameters
argcnumber of command line arguments.
argvcommand line arguments.
meshpointer toward the mesh structure.
metpointer toward the sol structure.
solpointer toward a level-set or displacement
Returns
1.

Store command line arguments.

Remarks
no matching fortran function.

Definition at line 126 of file libmmgs_tools.c.

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

◆ MMGS_saveAllSols()

LIBMMGS_EXPORT int MMGS_saveAllSols ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solutions array
filenamename of the solution file.
Returns
0 or -1 if fail, 1 otherwise.

Save 1 or more solutions in a solution file at medit file format.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEALLSOLS(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 1515 of file inout_s.c.

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

◆ MMGS_saveGenericMesh()

LIBMMGS_EXPORT int MMGS_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 MMGS_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 1604 of file inout_s.c.

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

◆ MMGS_saveMesh()

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

Save mesh data.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 837 of file inout_s.c.

Here is the caller graph for this function:

◆ MMGS_saveMshMesh()

LIBMMGS_EXPORT int MMGS_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 field at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .mshb one.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 1297 of file inout_s.c.

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

◆ MMGS_saveMshMesh_and_allData()

LIBMMGS_EXPORT int MMGS_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 (that are considered as solutions and not metrics, thus, we do nothing over the ridge points) at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .mshb one.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_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 1302 of file inout_s.c.

Here is the call graph for this function:

◆ MMGS_saveSol()

LIBMMGS_EXPORT int MMGS_saveSol ( MMG5_pMesh  mesh,
MMG5_pSol  met,
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 at medit file format.

Remarks
Fortran interface:

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

Definition at line 1478 of file inout_s.c.

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

◆ MMGS_saveVtkMesh()

LIBMMGS_EXPORT int MMGS_saveVtkMesh ( 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 Vtk file format (.vtk extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTKMESH(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 326 of file inoutcpp_s.cpp.

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

◆ MMGS_saveVtkMesh_and_allData()

LIBMMGS_EXPORT int MMGS_saveVtkMesh_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 Vtk file format (.vtk extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTKMESH_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 341 of file inoutcpp_s.cpp.

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

◆ MMGS_saveVtpMesh()

LIBMMGS_EXPORT int MMGS_saveVtpMesh ( 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 polydata Vtk file format (.vtp extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTPMESH(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 356 of file inoutcpp_s.cpp.

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

◆ MMGS_saveVtpMesh_and_allData()

LIBMMGS_EXPORT int MMGS_saveVtpMesh_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 polydata Vtk file format (.vtp extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTPMESH_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 371 of file inoutcpp_s.cpp.

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

◆ MMGS_saveVtuMesh()

LIBMMGS_EXPORT int MMGS_saveVtuMesh ( 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 vtu Vtk file format (.vtu extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTUMESH(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 296 of file inoutcpp_s.cpp.

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

◆ MMGS_saveVtuMesh_and_allData()

LIBMMGS_EXPORT int MMGS_saveVtuMesh_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 vtu Vtk file format (.vtu extension).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SAVEVTUMESH_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 311 of file inoutcpp_s.cpp.

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

◆ MMGS_Set_commonFunc()

LIBMMGS_EXPORT void MMGS_Set_commonFunc ( void  )

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

Definition at line 732 of file libmmgs.c.

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

◆ MMGS_Set_constantSize()

LIBMMGS_EXPORT int MMGS_Set_constantSize ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
Parameters
meshpointer toward the mesh structure
metpointer toward the sol structure
Returns
1 if success

Compute constant size map according to mesh->info.hsiz, mesh->info.hmin and mesh->info.hmax. Update this 3 value if not compatible.

Remarks
Fortran interface:

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

Definition at line 1525 of file libmmgs_tools.c.

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

◆ MMGS_Set_corner()

LIBMMGS_EXPORT int MMGS_Set_corner ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kvertex index.
Returns
1.

Set corner at point pos (pos from 1 to nb_vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 706 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_dparameter()

LIBMMGS_EXPORT int MMGS_Set_dparameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  dparam,
double  val 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure (unused).
dparamdouble parameter to set (see MMGS_Param structure).
valvalue of the parameter.
Returns
0 if failed, 1 otherwise.

Set double parameter dparam at value val.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_DPARAMETER(mesh,sol,dparam,val,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: dparam
REAL(KIND=8), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1504 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_edge()

LIBMMGS_EXPORT int MMGS_Set_edge ( MMG5_pMesh  mesh,
MMG5_int  v0,
MMG5_int  v1,
MMG5_int  ref,
MMG5_int  pos 
)
Parameters
meshpointer toward the mesh structure.
v0first extremity of the edge.
v1second extremity of the edge.
refedge reference.
posedge position in the mesh.
Returns
0 if failed, 1 otherwise.

Set edges of extremities v0, v1 and reference ref at position pos in mesh structure (pos from 1 to nb_edges included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_EDGE(mesh,v0,v1,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 581 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_edges()

LIBMMGS_EXPORT int MMGS_Set_edges ( MMG5_pMesh  mesh,
MMG5_int *  edges,
MMG5_int *  refs 
)
Parameters
meshpointer toward the mesh structure.
edgespointer toward the array of edges. Vertices of the $i^{th}$ edge are stored in edge[(i-1)*2]@2.
refsedges references. refs[i-1] is the ref of the $i^{th}$ edge.
Returns
0 if failed, 1 otherwise.

Set vertices and references of the mesh edges.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_EDGES(mesh,edges,refs,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: edges(*),refs(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 659 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_inputMeshName()

LIBMMGS_EXPORT int MMGS_Set_inputMeshName ( MMG5_pMesh  mesh,
const char *  meshin 
)
Parameters
meshpointer toward the mesh structure.
meshininput mesh name.
Returns
1.

Set the name of input mesh.

Remarks
Fortran interface:

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

Definition at line 63 of file API_functions_s.c.

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

◆ MMGS_Set_inputSolName()

LIBMMGS_EXPORT int MMGS_Set_inputSolName ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  solin 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
solinname of the input solution file.
Returns
1.

Set the name of input solution file.

Remarks
Fortran interface:

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

Definition at line 68 of file API_functions_s.c.

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

◆ MMGS_Set_iparameter()

LIBMMGS_EXPORT int MMGS_Set_iparameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  iparam,
MMG5_int  val 
)

functions to set parameters

Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure (unused).
iparaminteger parameter to set (see MMGS_Param structure).
valvalue for the parameter.
Returns
0 if failed, 1 otherwise.

Set integer parameter iparam at value val.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_IPARAMETER(mesh,sol,iparam,val,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: iparam
INTEGER(MMG5F_INT), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1301 of file API_functions_s.c.

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

◆ MMGS_Set_ithSol_inSolsAtVertices()

LIBMMGS_EXPORT int MMGS_Set_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
MMG5_int  pos 
)
Parameters
solpointer toward the array of solutions
iposition of the solution field that we want to set.
ssolution(s) at mesh vertex pos.
posindex of the vertex on which we set the solution.
Returns
0 if failed, 1 otherwise.

Set values of the solution at the ith field of the solution array and at position \pos (pos from 1 to nb_vertices included and i from 1 to nb_sols).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_ITHSOL_INSOLSATVERTICES(sol,i,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
INTEGER(MMG5F_INT), INTENT(IN) :: pos
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1142 of file API_functions_s.c.

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

◆ MMGS_Set_ithSols_inSolsAtVertices()

LIBMMGS_EXPORT int MMGS_Set_ithSols_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s 
)
Parameters
solpointer toward the array of solutions
iposition of the solution field that we want to set.
stable of the solutions at mesh vertices. The solution at vertex k is given by s[k-1] for a scalar sol, s[3*(k-1)]@3 for a vectorial solution and s[6*(k-1)]@6 for a tensor solution.
Returns
0 if failed, 1 otherwise.

Set values of the solution at the ith field of the solution array (i from 1 to nb_sols).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_ITHSOLS_INSOLSATVERTICES(sol,i,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1199 of file API_functions_s.c.

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

◆ MMGS_Set_localParameter()

LIBMMGS_EXPORT int MMGS_Set_localParameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  typ,
MMG5_int  ref,
double  hmin,
double  hmax,
double  hausd 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
typtype of entity (triangle, edge,...).
refreference of the entity.
hminminimal edge size.
hmaxmaximal edge size.
hausdvalue of the Hausdorff number.
Returns
0 if failed, 1 otherwise.

Set local parameters: set the hausdorff value at hausd, the minmal edge size value at hmin and the maximal edge size value at hmax for all elements of type typ and reference ref.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_LOCALPARAMETER(mesh,sol,typ,ref,hmin,hmax,hausd,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: typ
INTEGER(MMG5F_INT), INTENT(IN) :: ref
REAL(KIND=8), INTENT(IN) :: hmin,hmax,hausd
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1577 of file API_functions_s.c.

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

◆ MMGS_Set_lsBaseReference()

LIBMMGS_EXPORT int MMGS_Set_lsBaseReference ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  br 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
brnew level-set base reference.
Returns
0 if failed, 1 otherwise.

Set a new level-set base reference of ref br in ls discretization mode. Based references are boundary conditions to which implicit domain can be attached. All implicit volumes that are not attached to listed base references are deleted as spurious volumes by the rmc option.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_LSBASEREFERENCE(mesh,sol,br,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT), INTENT(IN):: br
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1667 of file API_functions_s.c.

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

◆ MMGS_Set_meshSize()

LIBMMGS_EXPORT int MMGS_Set_meshSize ( MMG5_pMesh  mesh,
MMG5_int  np,
MMG5_int  nt,
MMG5_int  na 
)
Parameters
meshpointer toward the mesh structure.
npnumber of vertices.
ntnumber of triangles.
nanumber of edges.
Returns
0 if failed, 1 otherwise.

Set the number of vertices, triangles and edges of the mesh and allocate the associated tables. If call twice, reset the whole mesh to realloc it at the new size

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT) :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 181 of file API_functions_s.c.

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

◆ MMGS_Set_multiMat()

LIBMMGS_EXPORT int MMGS_Set_multiMat ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  ref,
int  split,
MMG5_int  rin,
MMG5_int  rex 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
refinput tetra reference.
splitMMG5_MMAT_NoSplit if the entity must not be splitted, MMG5_MMAT_Split otherwise
rininternal reference after ls discretization
rexexternal reference after ls discretization
Returns
0 if failed, 1 otherwise.

Set the reference mapping for the elements of ref ref in ls discretization mode.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_MULTIMAT(mesh,sol,ref,split,rin,rex,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT), INTENT(IN):: ref,rin,rex
INTEGER, INTENT(IN) :: split
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1662 of file API_functions_s.c.

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

◆ MMGS_Set_normalAtVertex()

LIBMMGS_EXPORT int MMGS_Set_normalAtVertex ( MMG5_pMesh  mesh,
MMG5_int  k,
double  n0,
double  n1,
double  n2 
)
Parameters
meshpointer toward the mesh structure.
kpoint index
n0x componant of the normal at point k.
n1y componant of the normal at point k.
n2z componant of the normal at point k.
Returns
1 if success.

Set normals (n0,n1,n2) at point k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8), INTENT(IN) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 770 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_outputMeshName()

LIBMMGS_EXPORT int MMGS_Set_outputMeshName ( MMG5_pMesh  mesh,
const char *  meshout 
)
Parameters
meshpointer toward the mesh structure.
meshoutname of the output mesh file.
Returns
1.

Set the name of output mesh file.

Remarks
Fortran interface:

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

Definition at line 72 of file API_functions_s.c.

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

◆ MMGS_Set_outputSolName()

LIBMMGS_EXPORT int MMGS_Set_outputSolName ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  solout 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
soloutname of the output solution file.
Returns
0 if failed, 1 otherwise.

Set the name of output solution file.

Remarks
Fortran interface:

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

Definition at line 77 of file API_functions_s.c.

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

◆ MMGS_Set_requiredEdge()

LIBMMGS_EXPORT int MMGS_Set_requiredEdge ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kedge index.
Returns
1.

Set edge k as required.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 758 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_requiredTriangle()

LIBMMGS_EXPORT int MMGS_Set_requiredTriangle ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
ktriangle index.
Returns
1.

Set triangle k as required.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 731 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_requiredVertex()

LIBMMGS_EXPORT int MMGS_Set_requiredVertex ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kvertex index.
Returns
1.

Set point k as required.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 718 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_ridge()

LIBMMGS_EXPORT int MMGS_Set_ridge ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kedge index.
Returns
1.

Set ridge at edge k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_RIDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 747 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_scalarSol()

LIBMMGS_EXPORT int MMGS_Set_scalarSol ( MMG5_pSol  met,
double  s,
MMG5_int  pos 
)
Parameters
metpointer toward the sol structure.
ssolution scalar value.
posposition of the solution in the mesh.
Returns
0 if failed, 1 otherwise.

Set scalar value s at position pos in solution structure (pos from 1 to nb_vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SCALARSOL(met,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: s
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 819 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_scalarSols()

LIBMMGS_EXPORT int MMGS_Set_scalarSols ( MMG5_pSol  met,
double *  s 
)
Parameters
metpointer toward the sol structure.
stable of the scalar solutions values. s[i-1] is the solution at vertex i.
Returns
0 if failed, 1 otherwise.

Set scalar solutions at mesh vertices.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SCALARSOLS(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 883 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_solsAtVerticesSize()

LIBMMGS_EXPORT int MMGS_Set_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int  nsols,
MMG5_int  nentities,
int *  typSol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward an allocatable sol structure.
nsolsnumber of solutions per entity
nentitiesnumber of entities
typSolArray of size nsol listing the type of the solutions (scalar, vectorial...).
Returns
0 if failed, 1 otherwise.

Initialize an array of solutions field defined at vertices: set dimension, types and number of data. To use to initialize an array of solution fields (not used by Mmg itself).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SOLSATVERTICESSIZE(mesh,sol,nsols,nentities,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: nsols
INTEGER(MMG5F_INT), INTENT(IN):: nentities
INTEGER, INTENT(IN) :: typSol(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Sol tab allocation

Definition at line 136 of file API_functions_s.c.

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

◆ MMGS_Set_solSize()

LIBMMGS_EXPORT int MMGS_Set_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  typEntity,
MMG5_int  np,
int  typSol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
typEntitytype of solutions entities (vertices, triangles...).
npnumber of solutions.
typSoltype of solution (scalar, vectorial...).
Returns
0 if failed, 1 otherwise.

Initialize an array of solutions field: set dimension, types and number of data. To use to initialize an array of solution fields (not used by Mmg itself).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: typEntity,typSol
INTEGER(MMG5F_INT), INTENT(IN):: np
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 89 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_tensorSol()

LIBMMGS_EXPORT int MMGS_Set_tensorSol ( MMG5_pSol  met,
double  m11,
double  m12,
double  m13,
double  m22,
double  m23,
double  m33,
MMG5_int  pos 
)
Parameters
metpointer toward the sol structure.
m11value of the tensorial solution at position (1,1) in the tensor.
m12value of the tensorial solution at position (1,2) in the tensor.
m13value of the tensorial solution at position (1,3) in the tensor.
m22value of the tensorial solution at position (2,2) in the tensor.
m23value of the tensorial solution at position (2,3) in the tensor.
m33value of the tensorial solution at position (3,3) in the tensor.
posposition of the solution in the mesh (begin to 1).
Returns
0 if failed, 1 otherwise.

Set tensorial values at position pos in solution structure. (pos from 1 to nb_vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TENSORSOL(met,m11,m12,m13,m22,m23,m33,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: m11,m12,m13,m22,m23,m33
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1018 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_tensorSols()

LIBMMGS_EXPORT int MMGS_Set_tensorSols ( MMG5_pSol  met,
double *  sols 
)
Parameters
metpointer toward the sol structure.
solstable of the tensorial solutions. sols[6*(i-1)]@6 is the solution at vertex i
Returns
0 if failed, 1 otherwise.

Set tensorial values by array.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TENSORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1097 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_triangle()

LIBMMGS_EXPORT int MMGS_Set_triangle ( MMG5_pMesh  mesh,
MMG5_int  v0,
MMG5_int  v1,
MMG5_int  v2,
MMG5_int  ref,
MMG5_int  pos 
)
Parameters
meshpointer toward the mesh structure.
v0first vertex of triangle.
v1second vertex of triangle.
v2third vertex of triangle.
reftriangle reference.
postriangle position in the mesh.
Returns
0 if failed, 1 otherwise.

Set triangle of vertices v0, v1, v2 and reference ref at position pos in mesh structure.(pos from 1 to nb_tria included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TRIANGLE(mesh,v0,v1,v2,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 452 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_triangles()

LIBMMGS_EXPORT int MMGS_Set_triangles ( MMG5_pMesh  mesh,
MMG5_int *  tria,
MMG5_int *  refs 
)
Parameters
meshpointer toward the mesh structure.
triapointer toward the table of the tria vertices Vertices of the $i^{th}$ tria are stored in tria[(i-1)*3]@3.
refspointer toward the table of the triangle references. refs[i-1] is the ref of the $i^{th}$ tria.
Returns
0 if failed, 1 otherwise.

Set vertices and references of the mesh triangles.

Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs array)

‍ ! SUBROUTINE MMGS_SET_TRIANGLES(mesh,tria,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: tria,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 533 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vectorSol()

LIBMMGS_EXPORT int MMGS_Set_vectorSol ( MMG5_pSol  met,
double  vx,
double  vy,
double  vz,
MMG5_int  pos 
)
Parameters
metpointer toward the sol structure.
vxx value of the vectorial solution.
vyy value of the vectorial solution.
vzz value of the vectorial solution.
posposition of the solution in the mesh (begin to 1).
Returns
0 if failed, 1 otherwise.

Set vectorial value $(v_x,v_y,v_z)$ at position pos in solution structure. (pos from 1 to nb_vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VECTORSOL(met,vx,vy,vz,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: vx,vy,vz
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 910 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vectorSols()

LIBMMGS_EXPORT int MMGS_Set_vectorSols ( MMG5_pSol  met,
double *  sols 
)
Parameters
metpointer toward the sol structure.
solstable of the vectorial solutions sols[3*(i-1)]@3 is the solution at vertex i
Returns
0 if failed, 1 otherwise.

Set vectorial solutions at mesh vertices

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VECTORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 980 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vertex()

LIBMMGS_EXPORT int MMGS_Set_vertex ( MMG5_pMesh  mesh,
double  c0,
double  c1,
double  c2,
MMG5_int  ref,
MMG5_int  pos 
)
Parameters
meshpointer toward the mesh structure.
c0coordinate of the point along the first dimension.
c1coordinate of the point along the second dimension.
c2coordinate of the point along the third dimension.
refpoint reference.
posposition of the point in the mesh.
Returns
1.

Set vertex of coordinates c0, c1,c2 and reference ref at position pos in mesh structure (pos from 1 to nb_vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VERTEX(mesh,c0,c1,c2,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(IN) :: c0,c1,c2
INTEGER(MMG5F_INT), INTENT(IN):: ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 293 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vertices()

LIBMMGS_EXPORT int MMGS_Set_vertices ( MMG5_pMesh  mesh,
double *  vertices,
MMG5_int *  refs 
)
Parameters
meshpointer toward the mesh structure.
verticestable of the points coor. The coordinates of the $i^{th}$ point are stored in vertices[(i-1)*3]@3.
refstable of points references. The ref of the $i^th$ point is stored in refs[i-1].
Returns
1.

Set vertices coordinates and references in mesh structure

Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs array)

‍! SUBROUTINE MMGS_SET_VERTICES(mesh,vertices,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8), DIMENSION(*),INTENT(IN) :: vertices
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 329 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_setfunc()

LIBMMGS_EXPORT void MMGS_setfunc ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)

To associate function pointers without calling MMGS_mmgslib

Parameters
meshpointer toward the mesh structure (unused).
metpointer toward the sol structure (unused).

Set function pointers for caltet, lenedg, defsiz and gradsiz.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SETFUNC(mesh,met)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
END SUBROUTINE

Definition at line 43 of file libmmgs_tools.c.

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

◆ MMGS_stockOptions()

LIBMMGS_EXPORT int MMGS_stockOptions ( MMG5_pMesh  mesh,
MMG5_Info info 
)
Parameters
meshpointer toward the mesh structure.
infopointer toward the info structure.
Returns
1.

Store the info structure in the mesh structure.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_STOCKOPTIONS(mesh,info,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 498 of file libmmgs_tools.c.

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

◆ MMGS_Unset_corner()

LIBMMGS_EXPORT int MMGS_Unset_corner ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kvertex index.
Returns
1.

Remove corner attribute at point pos (from 1 to nb_vertices included).

Remarks
Fortran interface

‍ SUBROUTINE MMGS_UNSET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 712 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredEdge()

LIBMMGS_EXPORT int MMGS_Unset_requiredEdge ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kedge index.
Returns
1.

Remove required attribute from edge k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 764 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredTriangle()

LIBMMGS_EXPORT int MMGS_Unset_requiredTriangle ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
ktriangle index.
Returns
1.

Remove required attribute from triangle k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 739 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredVertex()

LIBMMGS_EXPORT int MMGS_Unset_requiredVertex ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kvertex index.
Returns
1.

Remove required attribute from point k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 725 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_ridge()

LIBMMGS_EXPORT int MMGS_Unset_ridge ( MMG5_pMesh  mesh,
MMG5_int  k 
)
Parameters
meshpointer toward the mesh structure.
kedge index.
Returns
1.

Remove ridge attribute at edge k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_RIDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 752 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_usage()

LIBMMGS_EXPORT int MMGS_usage ( char *  prog)
Parameters
progpointer toward the program name.

Print help for mmgs options.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_USAGE(prog,strlen0,retval)
CHARACTER(LEN=*), INTENT(IN) :: prog
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 83 of file libmmgs_tools.c.

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

Variable Documentation

◆ MMGS_doSol

LIBMMGS_EXPORT int(* MMGS_doSol) (MMG5_pMesh mesh, MMG5_pSol met) ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
extern
Parameters
meshpointer toward the mesh structure
metpointer toward the sol structure
Returns
1 if success

Compute isotropic size map according to the mean of the length of the edges passing through a point.

Remarks
Fortran interface:

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

Definition at line 9 of file mmgsexterns.c.