mmg2d
API_functions_2d.c File Reference

C API functions definitions for MMG2D library. More...

#include "mmg2d.h"
Include dependency graph for API_functions_2d.c:

Functions

int MMG2D_Init_mesh (const int starter,...)
 
void MMG2D_Init_fileNames (MMG5_pMesh mesh, MMG5_pSol sol)
 
int MMG2D_Set_inputMeshName (MMG5_pMesh mesh, const char *meshin)
 
int MMG2D_Set_inputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
 
int MMG2D_Set_outputMeshName (MMG5_pMesh mesh, const char *meshout)
 
int MMG2D_Set_outputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
 
void MMG2D_Init_parameters (MMG5_pMesh mesh)
 
int MMG2D_Set_iparameter (MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
 
int MMG2D_Set_dparameter (MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
 
int MMG2D_Set_meshSize (MMG5_pMesh mesh, int np, int nt, int na)
 
int MMG2D_Set_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
 
int MMG2D_Set_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, int np, int *typSol)
 
int MMG2D_Get_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, int *np, int *typSol)
 
int MMG2D_Get_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, int *np, int *typSol)
 
int MMG2D_Get_meshSize (MMG5_pMesh mesh, int *np, int *nt, int *na)
 
int MMG2D_Set_vertex (MMG5_pMesh mesh, double c0, double c1, int ref, int pos)
 
int MMG2D_Set_corner (MMG5_pMesh mesh, int k)
 
int MMG2D_Set_requiredVertex (MMG5_pMesh mesh, int k)
 
int MMG2D_Get_vertex (MMG5_pMesh mesh, double *c0, double *c1, int *ref, int *isCorner, int *isRequired)
 
int MMG2D_Set_vertices (MMG5_pMesh mesh, double *vertices, int *refs)
 
int MMG2D_Get_vertices (MMG5_pMesh mesh, double *vertices, int *refs, int *areCorners, int *areRequired)
 
int MMG2D_Set_triangle (MMG5_pMesh mesh, int v0, int v1, int v2, int ref, int pos)
 
int MMG2D_Set_requiredTriangle (MMG5_pMesh mesh, int k)
 
int MMG2D_Get_triangle (MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *ref, int *isRequired)
 
int MMG2D_Set_triangles (MMG5_pMesh mesh, int *tria, int *refs)
 
int MMG2D_Get_triangles (MMG5_pMesh mesh, int *tria, int *refs, int *areRequired)
 
int MMG2D_Set_edge (MMG5_pMesh mesh, int v0, int v1, int ref, int pos)
 
int MMG2D_Set_requiredEdge (MMG5_pMesh mesh, int k)
 
int MMG2D_Set_parallelEdge (MMG5_pMesh mesh, int k)
 
int MMG2D_Get_edge (MMG5_pMesh mesh, int *e0, int *e1, int *ref, int *isRidge, int *isRequired)
 
int MMG2D_Set_edges (MMG5_pMesh mesh, int *edges, int *refs)
 
int MMG2D_Get_edges (MMG5_pMesh mesh, int *edges, int *refs, int *areRidges, int *areRequired)
 
int MMG2D_Set_scalarSol (MMG5_pSol met, double s, int pos)
 
int MMG2D_Get_scalarSol (MMG5_pSol met, double *s)
 
int MMG2D_Set_scalarSols (MMG5_pSol met, double *s)
 
int MMG2D_Get_scalarSols (MMG5_pSol met, double *s)
 
int MMG2D_Set_vectorSol (MMG5_pSol met, double vx, double vy, int pos)
 
int MMG2D_Get_vectorSol (MMG5_pSol met, double *vx, double *vy)
 
int MMG2D_Set_vectorSols (MMG5_pSol met, double *sols)
 
int MMG2D_Get_vectorSols (MMG5_pSol met, double *sols)
 
int MMG2D_Set_tensorSol (MMG5_pSol met, double m11, double m12, double m22, int pos)
 
int MMG2D_Get_tensorSol (MMG5_pSol met, double *m11, double *m12, double *m22)
 
int MMG2D_Set_tensorSols (MMG5_pSol met, double *sols)
 
int MMG2D_Get_tensorSols (MMG5_pSol met, double *sols)
 
int MMG2D_Set_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 
int MMG2D_Get_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 
int MMG2D_Set_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, int pos)
 
int MMG2D_Get_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, int pos)
 
int MMG2D_Chk_meshData (MMG5_pMesh mesh, MMG5_pSol met)
 
int MMG2D_Free_all (const int starter,...)
 
int MMG2D_Free_structures (const int starter,...)
 
int MMG2D_Free_names (const int starter,...)
 

Detailed Description

C API functions definitions for MMG2D library.

Author
Algiane Froehly (Bx INP/Inria/UBordeaux)
Version
5
Date
01 2014
Note
This file contains some internal functions for the API, see the mmg2d/libmmg2d.h header file for the documentation of all the usefull user's API functions.

C API for MMG2D library.

Function Documentation

◆ MMG2D_Chk_meshData()

int MMG2D_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 MMG2D_Chk_meshData(mesh,met,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Free_all()

int MMG2D_Free_all ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments that depend to the library function that you have call.

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

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

For the MMG2D_mmg2dmov function, you must call : MMG2D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).

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.
Here is the call graph for this function:

◆ MMG2D_Free_names()

int MMG2D_Free_names ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments that depend to the library function that you have call.

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

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

For the MMG2D_mmg2dmov function, you must call : MMG2D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).

Returns
0 if fail, 1 otherwise

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 arguments.
no Fortran interface to allow variadic args.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_Free_structures()

int MMG2D_Free_structures ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments that depend to the library function that you have call.

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

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

For the MMG2D_mmg2dmov function, you must call : MMG2D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).

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 arguments.
no Fortran interface to allow variadic args.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_Get_edge()

int MMG2D_Get_edge ( MMG5_pMesh  mesh,
int *  e0,
int *  e1,
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.

Warning
edges are not packed.
Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Get_edges()

int MMG2D_Get_edges ( MMG5_pMesh  mesh,
int *  edges,
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 MMG2D_GET_EDGES(mesh,edges,refs,areRidges,areRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: edges(*)
INTEGER, INTENT(OUT) :: refs(*),areRequired(*),areRidges(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_ithSol_inSolsAtVertices()

int MMG2D_Get_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
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.

Remarks
Fortran interface:

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

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

◆ MMG2D_Get_ithSols_inSolsAtVertices()

int MMG2D_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[2*(k-1)]@2 for a vectorial solution and s[3*(k-1)]@3 for a tensor solution.
Returns
0 if failed, 1 otherwise.

Get values of the solution at the ith field of the solution array.

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

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

◆ MMG2D_Get_meshSize()

int MMG2D_Get_meshSize ( MMG5_pMesh  mesh,
int *  np,
int *  nt,
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 MMG2D_GET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_scalarSol()

int MMG2D_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 MMG2D_GET_SCALARSOL(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_scalarSols()

int MMG2D_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 MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Get_solsAtVerticesSize()

int MMG2D_Get_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int *  nsols,
int *  nentities,
int *  typSol 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward an array of sol structure.
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 MMG2D_GET_SOLSATVERTICESSIZE(mesh,sol,nsols,nentities,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: nsols,nentities
INTEGER :: typSol(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_solSize()

int MMG2D_Get_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int *  typEntity,
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 MMG2D_GET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: typEntity,np,typSol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_tensorSol()

int MMG2D_Get_tensorSol ( MMG5_pSol  met,
double *  m11,
double *  m12,
double *  m22 
)
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.
m22pointer toward the position (2,2) in the solution tensor.
Returns
0 if failed, 1 otherwise.

Get tensorial solution of next vertex of mesh.

Remarks
Fortran interface:

SUBROUTINE MMG2D_GET_TENSORSOL(met,m11,m12,m22,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: m11,m12,m22
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_tensorSols()

int MMG2D_Get_tensorSols ( 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 tensorial solutions at mesh vertices.

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Get_triangle()

int MMG2D_Get_triangle ( MMG5_pMesh  mesh,
int *  v0,
int *  v1,
int *  v2,
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 MMG2D_GET_TRIANGLE(mesh,v0,v1,v2,ref,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: v0,v1,v2
INTEGER :: ref,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_triangles()

int MMG2D_Get_triangles ( MMG5_pMesh  mesh,
int *  tria,
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 MMG2D_GET_TRIANGLES(mesh,tria,refs,areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*),INTENT(OUT) :: tria
! INTEGER, DIMENSION(*) :: refs,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Get_vectorSol()

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

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

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Get_vectorSols()

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

Get vectorial solutions at mesh vertices

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Get_vertex()

int MMG2D_Get_vertex ( MMG5_pMesh  mesh,
double *  c0,
double *  c1,
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.
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 and reference ref of vertex num of mesh.

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Get_vertices()

int MMG2D_Get_vertices ( MMG5_pMesh  mesh,
double *  vertices,
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)*2]@2.
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 MMG2D_GET_VERTICES(mesh,vertices,refs,areCorners,&
! areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8),DIMENSION(*), INTENT(OUT) :: vertices
! INTEGER, DIMENSION(*) :: refs,areCorners,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Init_fileNames()

void MMG2D_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 MMG2D_INIT_FILENAMES(mesh,sol)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
END SUBROUTINE

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

◆ MMG2D_Init_mesh()

int MMG2D_Init_mesh ( const int  starter,
  ... 
)
Parameters
starterdummy argument used to initialize the variadic argument list
...variadic arguments.
Returns
1 if success, 0 if fail

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

For the MMG2D_mmgsls function, you need to call the MMG2D_Init_mesh function with the following arguments : MMG2D_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.

MMG structures allocation and initialization.

Remarks
No fortran interface to allow variadic arguments.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG2D_Init_parameters()

void MMG2D_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 MMG2D_INIT_PARAMETERS(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE

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

◆ MMG2D_Set_corner()

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

Set corner at point pos.

Remarks
Fortran interface

SUBROUTINE MMG2D_SET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_dparameter()

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

Set double parameter dparam at value val.

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_edge()

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

Set edge of vertices v0, v1 and reference ref at position pos in mesh structure.

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_edges()

int MMG2D_Set_edges ( MMG5_pMesh  mesh,
int *  edges,
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 MMG2D_SET_EDGES(mesh,edges,refs,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: edges(*),refs(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_inputMeshName()

int MMG2D_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 MMG2D_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

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

◆ MMG2D_Set_inputSolName()

int MMG2D_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 MMG2D_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

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

◆ MMG2D_Set_iparameter()

int MMG2D_Set_iparameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  iparam,
int  val 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the sol structure.
iparaminteger parameter to set (see MMG2D_Param structure).
valvalue for the parameter.
Returns
0 if failed, 1 otherwise.

Set integer parameter iparam at value val.

Remarks
Fortran interface:

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

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

◆ MMG2D_Set_ithSol_inSolsAtVertices()

int MMG2D_Set_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
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.

Remarks
Fortran interface:

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

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

◆ MMG2D_Set_ithSols_inSolsAtVertices()

int MMG2D_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[2*(k-1)]@2 for a vectorial solution and s[3*(k-1)]@3 for a tensor solution.
Returns
0 if failed, 1 otherwise.

Set values of the solution at the ith field of the solution array.

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

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

◆ MMG2D_Set_meshSize()

int MMG2D_Set_meshSize ( MMG5_pMesh  mesh,
int  np,
int  nt,
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, tetrahedra, 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 MMG2D_SET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

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

◆ MMG2D_Set_outputMeshName()

int MMG2D_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 MMG2D_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

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

◆ MMG2D_Set_outputSolName()

int MMG2D_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 MMG2D_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

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

◆ MMG2D_Set_parallelEdge()

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

Set edge k as parallel.

Remarks
Fortran interface:

SUBROUTINE MMG2D_SET_PARALLELEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_requiredEdge()

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

Set edge k as required.

Remarks
Fortran interface:

SUBROUTINE MMG2D_SET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_requiredTriangle()

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

Set triangle k as required.

Here is the caller graph for this function:

◆ MMG2D_Set_requiredVertex()

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

Set point k as required.

Remarks
Fortran interface:

SUBROUTINE MMG2D_SET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_scalarSol()

int MMG2D_Set_scalarSol ( MMG5_pSol  met,
double  s,
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

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_scalarSols()

int MMG2D_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 MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Set_solsAtVerticesSize()

int MMG2D_Set_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int  nsols,
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.

Set the solution number, dimension and type.

Remarks
Fortran interface:

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

Sol tab allocation

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

◆ MMG2D_Set_solSize()

int MMG2D_Set_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  typEntity,
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.

Set the solution number, dimension and type.

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_tensorSol()

int MMG2D_Set_tensorSol ( MMG5_pSol  met,
double  m11,
double  m12,
double  m22,
int  pos 
)
Parameters
metpointer toward the sol structure.
m11value at position (1,1) in the solution tensor.
m12value at position (1,2) in the solution tensor.
m22value at position (2,2) in the solution tensor.
posposition of the solution in the mesh.
Returns
0 if failed, 1 otherwise.

Set tensor value s at position pos in solution structure

Remarks
Fortran interface:

SUBROUTINE MMG2D_SET_TENSORSOL(met,m11,m12,m22,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: m11,m12,m22
INTEGER, INTENT(IN) :: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Here is the caller graph for this function:

◆ MMG2D_Set_tensorSols()

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

Set tensorial values at position pos in solution structure.

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Set_triangle()

int MMG2D_Set_triangle ( MMG5_pMesh  mesh,
int  v0,
int  v1,
int  v2,
int  ref,
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.

Remarks
Fortran interface:

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

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

◆ MMG2D_Set_triangles()

int MMG2D_Set_triangles ( MMG5_pMesh  mesh,
int *  tria,
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 MMG2D_SET_TRIANGLES(mesh,tria,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER,DIMENSION(*), INTENT(IN) :: tria,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

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

◆ MMG2D_Set_vectorSol()

int MMG2D_Set_vectorSol ( MMG5_pSol  met,
double  vx,
double  vy,
int  pos 
)
Parameters
metpointer toward the sol structure.
vxx value of the vectorial solution.
vyy 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)$ at position pos in solution structure.

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_vectorSols()

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

Set vectorial solutions at mesh vertices

Remarks
Fortran interface:

SUBROUTINE MMG2D_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

Here is the caller graph for this function:

◆ MMG2D_Set_vertex()

int MMG2D_Set_vertex ( MMG5_pMesh  mesh,
double  c0,
double  c1,
int  ref,
int  pos 
)
Parameters
meshpointer toward the mesh structure.
c0coordinate of the point along the first dimension.
c1coordinate of the point along the second dimension.
refpoint reference.
posposition of the point in the mesh.
Returns
1 if success, 0 if fail.

Set vertex of coordinates c0, c1 and reference ref at position pos in mesh structure

Remarks
Fortran interface:

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

Here is the caller graph for this function:

◆ MMG2D_Set_vertices()

int MMG2D_Set_vertices ( MMG5_pMesh  mesh,
double *  vertices,
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)*2]@2
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 MMG2D_SET_VERTICES(mesh,vertices,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8), DIMENSION(*),INTENT(IN) :: vertices
! INTEGER,DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Here is the caller graph for this function: