Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
C API functions definitions for MMGS library. More...
Go to the source code of this file.
Functions | |
int | MMGS_Init_mesh (const int starter,...) |
void | MMGS_Init_fileNames (MMG5_pMesh mesh, MMG5_pSol sol) |
int | MMGS_Set_inputMeshName (MMG5_pMesh mesh, const char *meshin) |
int | MMGS_Set_inputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solin) |
int | MMGS_Set_outputMeshName (MMG5_pMesh mesh, const char *meshout) |
int | MMGS_Set_outputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solout) |
void | MMGS_Init_parameters (MMG5_pMesh mesh) |
int | MMGS_Set_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, MMG5_int np, int typSol) |
int | MMGS_Set_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, MMG5_int nentities, int *typSol) |
int | MMGS_Set_meshSize (MMG5_pMesh mesh, MMG5_int np, MMG5_int nt, MMG5_int na) |
int | MMGS_Get_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, MMG5_int *np, int *typSol) |
int | MMGS_Get_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, MMG5_int *np, int *typSol) |
int | MMGS_Get_meshSize (MMG5_pMesh mesh, MMG5_int *np, MMG5_int *nt, MMG5_int *na) |
int | MMGS_Set_vertex (MMG5_pMesh mesh, double c0, double c1, double c2, MMG5_int ref, MMG5_int pos) |
int | MMGS_Set_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs) |
int | MMGS_Get_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired) |
int | MMGS_GetByIdx_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired, MMG5_int idx) |
int | MMGS_Get_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs, int *areCorners, int *areRequired) |
int | MMGS_Set_triangle (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int ref, MMG5_int pos) |
int | MMGS_Get_triangle (MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *ref, int *isRequired) |
int | MMGS_Set_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs) |
int | MMGS_Get_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs, int *areRequired) |
int | MMGS_Set_edge (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int ref, MMG5_int pos) |
int | MMGS_Get_edge (MMG5_pMesh mesh, MMG5_int *e0, MMG5_int *e1, MMG5_int *ref, int *isRidge, int *isRequired) |
int | MMGS_Set_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs) |
int | MMGS_Get_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs, int *areRidges, int *areRequired) |
int | MMGS_Set_corner (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Unset_corner (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Set_requiredVertex (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Unset_requiredVertex (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Set_requiredTriangle (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Unset_requiredTriangle (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Set_ridge (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Unset_ridge (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Set_requiredEdge (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Unset_requiredEdge (MMG5_pMesh mesh, MMG5_int k) |
int | MMGS_Set_normalAtVertex (MMG5_pMesh mesh, MMG5_int k, double n0, double n1, double n2) |
int | MMGS_Get_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) |
int | MMGS_Set_scalarSol (MMG5_pSol met, double s, MMG5_int pos) |
int | MMGS_Get_scalarSol (MMG5_pSol met, double *s) |
int | MMGS_Set_scalarSols (MMG5_pSol met, double *s) |
int | MMGS_Get_scalarSols (MMG5_pSol met, double *s) |
int | MMGS_Set_vectorSol (MMG5_pSol met, double vx, double vy, double vz, MMG5_int pos) |
int | MMGS_Get_vectorSol (MMG5_pSol met, double *vx, double *vy, double *vz) |
int | MMGS_Set_vectorSols (MMG5_pSol met, double *sols) |
int | MMGS_Get_vectorSols (MMG5_pSol met, double *sols) |
int | MMGS_Set_tensorSol (MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, MMG5_int pos) |
int | MMGS_Get_tensorSol (MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33) |
int | MMGS_Set_tensorSols (MMG5_pSol met, double *sols) |
int | MMGS_Get_tensorSols (MMG5_pSol met, double *sols) |
int | MMGS_Set_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos) |
int | MMGS_Get_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos) |
int | MMGS_Set_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s) |
int | MMGS_Get_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s) |
int | MMGS_Chk_meshData (MMG5_pMesh mesh, MMG5_pSol met) |
int | MMGS_Set_iparameter (MMG5_pMesh mesh, MMG5_pSol sol, int iparam, MMG5_int val) |
int | MMGS_Get_iparameter (MMG5_pMesh mesh, MMG5_int iparam) |
int | MMGS_Set_dparameter (MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val) |
int | MMGS_Set_localParameter (MMG5_pMesh mesh, MMG5_pSol sol, int typ, MMG5_int ref, double hmin, double hmax, double hausd) |
int | MMGS_Set_multiMat (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ref, int split, MMG5_int rin, MMG5_int rout) |
int | MMGS_Set_lsBaseReference (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int br) |
int | MMGS_Free_allSols (MMG5_pMesh mesh, MMG5_pSol *sol) |
int | MMGS_Free_all (const int starter,...) |
int | MMGS_Free_structures (const int starter,...) |
int | MMGS_Free_names (const int starter,...) |
C API functions definitions for MMGS library.
C API for MMGS library.
Definition in file API_functions_s.c.
int MMGS_Chk_meshData | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
Check if the number of given entities match with mesh and sol size (not mandatory) and check mesh datas.
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.
int MMGS_Free_all | ( | const int | starter, |
... | |||
) |
starter | dummy 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.
Deallocations before return.
Definition at line 1676 of file API_functions_s.c.
int MMGS_Free_allSols | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward an array of solution structure (that stores solution fields). |
Deallocation of an array of solution fields
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.
int MMGS_Free_names | ( | const int | starter, |
... | |||
) |
starter | dummy 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.
Structure deallocations before return.
Definition at line 1704 of file API_functions_s.c.
int MMGS_Free_structures | ( | const int | starter, |
... | |||
) |
starter | dummy 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.
Structure deallocations before return.
Definition at line 1690 of file API_functions_s.c.
int MMGS_Get_edge | ( | MMG5_pMesh | mesh, |
MMG5_int * | e0, | ||
MMG5_int * | e1, | ||
MMG5_int * | ref, | ||
int * | isRidge, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
e0 | pointer toward the first extremity of the edge. |
e1 | pointer toward the second extremity of the edge. |
ref | pointer toward the edge reference. |
isRidge | pointer toward the flag saying if the edge is ridge. |
isRequired | pointer toward the flag saying if the edge is required. |
Get extremities e0, e1 and reference ref of next edge of mesh.
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.
int MMGS_Get_edges | ( | MMG5_pMesh | mesh, |
MMG5_int * | edges, | ||
MMG5_int * | refs, | ||
int * | areRidges, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
edges | pointer toward the array of edges. Vertices of the edge are stored in edge[(i-1)*2]@2. |
refs | edges references. refs[i-1] is the ref of the edge. |
areRidges | 1 if the edge is a ridge, 0 otherwise. |
areRequired | 1 if the edge is required, 0 otherwise. |
Get vertices and references of the mesh edges.
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.
int MMGS_Get_iparameter | ( | MMG5_pMesh | mesh, |
MMG5_int | iparam | ||
) |
mesh | pointer toward the mesh structure. |
iparam | integer parameter to set (see MMGS_Param structure). |
Get the value of integer parameter iparam.
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.
int MMGS_Get_ithSol_inSolsAtVertices | ( | MMG5_pSol | sol, |
int | i, | ||
double * | s, | ||
MMG5_int | pos | ||
) |
sol | pointer toward the array of solutions |
i | position of the solution field that we want to set. |
s | solution(s) at mesh vertex pos. |
pos | index of the vertex on which we get the solution. |
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).
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.
int MMGS_Get_ithSols_inSolsAtVertices | ( | MMG5_pSol | sol, |
int | i, | ||
double * | s | ||
) |
sol | pointer toward the array of solutions |
i | position of the solution field that we want to get. |
s | table 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. |
Get values of the solution at the ith field of the solution array. (i from 1 to nb_sols).
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.
int MMGS_Get_meshSize | ( | MMG5_pMesh | mesh, |
MMG5_int * | np, | ||
MMG5_int * | nt, | ||
MMG5_int * | na | ||
) |
recover datas
mesh | pointer toward the mesh structure. |
np | pointer toward the number of vertices. |
nt | pointer toward the number of triangles. |
na | pointer toward the number of edges. |
Get the number of vertices, triangles and edges of the mesh.
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.
int MMGS_Get_normalAtVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k, | ||
double * | n0, | ||
double * | n1, | ||
double * | n2 | ||
) |
mesh | pointer toward the mesh structure. |
k | point index |
n0 | x componant of the normal at point k. |
n1 | y componant of the normal at point k. |
n2 | z componant of the normal at point k. |
Get normals (n0,n1,n2) at point k.
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.
int MMGS_Get_scalarSol | ( | MMG5_pSol | met, |
double * | s | ||
) |
met | pointer toward the sol structure. |
s | pointer toward the scalar solution value. |
Get solution s of next vertex of mesh.
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.
int MMGS_Get_scalarSols | ( | MMG5_pSol | met, |
double * | s | ||
) |
met | pointer toward the sol structure. |
s | table of the scalar solutions at mesh vertices. s[i-1] is the solution at vertex i. |
Get solutions at mesh vertices.
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.
int MMGS_Get_solsAtVerticesSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
int * | nsols, | ||
MMG5_int * | nentities, | ||
int * | typSol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward an array of sol structure. |
nsols | number of solutions per entity |
nentities | pointer toward the number of entities. |
typSol | array of size MMG5_NSOL_MAX to store type of each solution (scalar, vector..). |
Get the solution number, dimension and type.
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.
int MMGS_Get_solSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int * | typEntity, | ||
MMG5_int * | np, | ||
int * | typSol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
typEntity | pointer toward the type of entities to which solutions are applied. |
np | pointer toward the number of solutions. |
typSol | pointer toward the type of the solutions (scalar, vectorial...) |
Get the solution number, dimension and type.
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.
int MMGS_Get_tensorSol | ( | MMG5_pSol | met, |
double * | m11, | ||
double * | m12, | ||
double * | m13, | ||
double * | m22, | ||
double * | m23, | ||
double * | m33 | ||
) |
met | pointer toward the sol structure. |
m11 | pointer toward the position (1,1) in the solution tensor. |
m12 | pointer toward the position (1,2) in the solution tensor. |
m13 | pointer toward the position (1,3) in the solution tensor. |
m22 | pointer toward the position (2,2) in the solution tensor. |
m23 | pointer toward the position (2,3) in the solution tensor. |
m33 | pointer toward the position (3,3) in the solution tensor. |
Get tensorial solution of next vertex of mesh.
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.
int MMGS_Get_tensorSols | ( | MMG5_pSol | met, |
double * | sols | ||
) |
met | pointer toward the sol structure. |
sols | table of the solutions at mesh vertices. sols[6*(i-1)]@6 is the solution at vertex i. |
Get tensorial solutions at mesh vertices.
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.
int MMGS_Get_triangle | ( | MMG5_pMesh | mesh, |
MMG5_int * | v0, | ||
MMG5_int * | v1, | ||
MMG5_int * | v2, | ||
MMG5_int * | ref, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
v0 | pointer toward the first vertex of triangle. |
v1 | pointer toward the second vertex of triangle. |
v2 | pointer toward the third vertex of triangle. |
ref | pointer toward the triangle reference. |
isRequired | pointer toward the flag saying if triangle is required. |
Get vertices v0,v1,v2 and reference ref of next triangle of mesh.
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.
double MMGS_Get_triangleQuality | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
k | index of the triangle for which we want to get the quality. |
Get quality of tria k.
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.
int MMGS_Get_triangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | tria, | ||
MMG5_int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
tria | pointer toward the table of the triangles vertices Vertices of the tria are stored in tria[(i-1)*3]@3. |
refs | pointer toward the table of the triangles references. refs[i-1] is the ref of the tria. |
areRequired | pointer toward table of the flags saying if triangles are required. areRequired[i-1]=1 if the tria is required. |
Get vertices and references of the mesh triangles.
! 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.
int MMGS_Get_vectorSol | ( | MMG5_pSol | met, |
double * | vx, | ||
double * | vy, | ||
double * | vz | ||
) |
met | pointer toward the sol structure. |
vx | x value of the vectorial solution. |
vy | y value of the vectorial solution. |
vz | z value of the vectorial solution. |
Get vectorial solution of next vertex of mesh.
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.
int MMGS_Get_vectorSols | ( | MMG5_pSol | met, |
double * | sols | ||
) |
met | pointer toward the sol structure. |
sols | table of the solutions at mesh vertices. sols[3*(i-1)]@3 is the solution at vertex i. |
Get vectorial solutions at mesh vertices
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.
int MMGS_Get_vertex | ( | MMG5_pMesh | mesh, |
double * | c0, | ||
double * | c1, | ||
double * | c2, | ||
MMG5_int * | ref, | ||
int * | isCorner, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
c0 | pointer toward the coordinate of the point along the first dimension. |
c1 | pointer toward the coordinate of the point along the second dimension. |
c2 | pointer toward the coordinate of the point along the third dimension. |
ref | pointer to the point reference. |
isCorner | pointer toward the flag saying if point is corner. |
isRequired | pointer toward the flag saying if point is required. |
Get coordinates c0, c1,c2 and reference ref of next vertex of mesh.
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.
int MMGS_Get_vertices | ( | MMG5_pMesh | mesh, |
double * | vertices, | ||
MMG5_int * | refs, | ||
int * | areCorners, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
vertices | pointer toward the table of the points coordinates. The coordinates of the point are stored in vertices[(i-1)*3]@3. |
refs | pointer to the table of the point references. The ref of the point is stored in refs[i-1]. |
areCorners | pointer toward the table of the flags saying if points are corners. areCorners[i-1]=1 if the point is corner. |
areRequired | pointer toward the table of flags saying if points are required. areRequired[i-1]=1 if the point is required. |
Get the coordinates and references of the mesh vertices.
! 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.
int MMGS_GetByIdx_vertex | ( | MMG5_pMesh | mesh, |
double * | c0, | ||
double * | c1, | ||
double * | c2, | ||
MMG5_int * | ref, | ||
int * | isCorner, | ||
int * | isRequired, | ||
MMG5_int | idx | ||
) |
mesh | pointer toward the mesh structure. |
c0 | pointer toward the coordinate of the point along the first dimension. |
c1 | pointer toward the coordinate of the point along the second dimension. |
c2 | pointer toward the coordinate of the point along the third dimension. |
ref | pointer to the point reference. |
isCorner | pointer toward the flag saying if point is corner. |
isRequired | pointer toward the flag saying if point is required. |
idx | index of point to get. |
Get coordinates c0, c1, c2 and reference ref of vertex idx of mesh.
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.
void MMGS_Init_fileNames | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
Initialize file names to their default values.
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.
int MMGS_Init_mesh | ( | const int | starter, |
... | |||
) |
starter | dummy 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.
MMG structures allocation and initialization.
Definition at line 43 of file API_functions_s.c.
void MMGS_Init_parameters | ( | MMG5_pMesh | mesh | ) |
mesh | pointer toward the mesh structure. |
Initialization of the input parameters (stored in the Info structure).
SUBROUTINE MMGS_INIT_PARAMETERS(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE
Definition at line 80 of file API_functions_s.c.
int MMGS_Set_corner | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Set corner at point pos (pos from 1 to nb_vertices included).
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.
int MMGS_Set_dparameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | dparam, | ||
double | val | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure (unused). |
dparam | double parameter to set (see MMGS_Param structure). |
val | value of the parameter. |
Set double parameter dparam at value val.
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.
int MMGS_Set_edge | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | ref, | ||
MMG5_int | pos | ||
) |
mesh | pointer toward the mesh structure. |
v0 | first extremity of the edge. |
v1 | second extremity of the edge. |
ref | edge reference. |
pos | edge position in the mesh. |
Set edges of extremities v0, v1 and reference ref at position pos in mesh structure (pos from 1 to nb_edges included).
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.
int MMGS_Set_edges | ( | MMG5_pMesh | mesh, |
MMG5_int * | edges, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
edges | pointer toward the array of edges. Vertices of the edge are stored in edge[(i-1)*2]@2. |
refs | edges references. refs[i-1] is the ref of the edge. |
Set vertices and references of the mesh edges.
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.
int MMGS_Set_inputMeshName | ( | MMG5_pMesh | mesh, |
const char * | meshin | ||
) |
mesh | pointer toward the mesh structure. |
meshin | input mesh name. |
Set the name of input mesh.
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.
int MMGS_Set_inputSolName | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | solin | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
solin | name of the input solution file. |
Set the name of input solution file.
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.
int MMGS_Set_iparameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | iparam, | ||
MMG5_int | val | ||
) |
functions to set parameters
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure (unused). |
iparam | integer parameter to set (see MMGS_Param structure). |
val | value for the parameter. |
Set integer parameter iparam at value val.
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.
int MMGS_Set_ithSol_inSolsAtVertices | ( | MMG5_pSol | sol, |
int | i, | ||
double * | s, | ||
MMG5_int | pos | ||
) |
sol | pointer toward the array of solutions |
i | position of the solution field that we want to set. |
s | solution(s) at mesh vertex pos. |
pos | index of the vertex on which we set the solution. |
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).
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.
int MMGS_Set_ithSols_inSolsAtVertices | ( | MMG5_pSol | sol, |
int | i, | ||
double * | s | ||
) |
sol | pointer toward the array of solutions |
i | position of the solution field that we want to set. |
s | table 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. |
Set values of the solution at the ith field of the solution array (i from 1 to nb_sols).
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.
int MMGS_Set_localParameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | typ, | ||
MMG5_int | ref, | ||
double | hmin, | ||
double | hmax, | ||
double | hausd | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
typ | type of entity (triangle, edge,...). |
ref | reference of the entity. |
hmin | minimal edge size. |
hmax | maximal edge size. |
hausd | value of the Hausdorff number. |
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.
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.
int MMGS_Set_lsBaseReference | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
MMG5_int | br | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
br | new level-set base reference. |
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.
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.
int MMGS_Set_meshSize | ( | MMG5_pMesh | mesh, |
MMG5_int | np, | ||
MMG5_int | nt, | ||
MMG5_int | na | ||
) |
mesh | pointer toward the mesh structure. |
np | number of vertices. |
nt | number of triangles. |
na | number of edges. |
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
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.
int MMGS_Set_multiMat | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
MMG5_int | ref, | ||
int | split, | ||
MMG5_int | rin, | ||
MMG5_int | rex | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
ref | input tetra reference. |
split | MMG5_MMAT_NoSplit if the entity must not be splitted, MMG5_MMAT_Split otherwise |
rin | internal reference after ls discretization |
rex | external reference after ls discretization |
Set the reference mapping for the elements of ref ref in ls discretization mode.
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.
int MMGS_Set_normalAtVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k, | ||
double | n0, | ||
double | n1, | ||
double | n2 | ||
) |
mesh | pointer toward the mesh structure. |
k | point index |
n0 | x componant of the normal at point k. |
n1 | y componant of the normal at point k. |
n2 | z componant of the normal at point k. |
Set normals (n0,n1,n2) at point k.
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.
int MMGS_Set_outputMeshName | ( | MMG5_pMesh | mesh, |
const char * | meshout | ||
) |
mesh | pointer toward the mesh structure. |
meshout | name of the output mesh file. |
Set the name of output mesh file.
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.
int MMGS_Set_outputSolName | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | solout | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
solout | name of the output solution file. |
Set the name of output solution file.
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.
int MMGS_Set_requiredEdge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Set edge k as required.
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.
int MMGS_Set_requiredTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Set triangle k as required.
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.
int MMGS_Set_requiredVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Set point k as required.
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.
int MMGS_Set_ridge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Set ridge at edge k.
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.
int MMGS_Set_scalarSol | ( | MMG5_pSol | met, |
double | s, | ||
MMG5_int | pos | ||
) |
met | pointer toward the sol structure. |
s | solution scalar value. |
pos | position of the solution in the mesh. |
Set scalar value s at position pos in solution structure (pos from 1 to nb_vertices included).
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.
int MMGS_Set_scalarSols | ( | MMG5_pSol | met, |
double * | s | ||
) |
met | pointer toward the sol structure. |
s | table of the scalar solutions values. s[i-1] is the solution at vertex i. |
Set scalar solutions at mesh vertices.
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.
int MMGS_Set_solsAtVerticesSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
int | nsols, | ||
MMG5_int | nentities, | ||
int * | typSol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward an allocatable sol structure. |
nsols | number of solutions per entity |
nentities | number of entities |
typSol | Array of size nsol listing the type of the solutions (scalar, vectorial...). |
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).
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.
int MMGS_Set_solSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | typEntity, | ||
MMG5_int | np, | ||
int | typSol | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
typEntity | type of solutions entities (vertices, triangles...). |
np | number of solutions. |
typSol | type of solution (scalar, vectorial...). |
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).
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.
int MMGS_Set_tensorSol | ( | MMG5_pSol | met, |
double | m11, | ||
double | m12, | ||
double | m13, | ||
double | m22, | ||
double | m23, | ||
double | m33, | ||
MMG5_int | pos | ||
) |
met | pointer toward the sol structure. |
m11 | value of the tensorial solution at position (1,1) in the tensor. |
m12 | value of the tensorial solution at position (1,2) in the tensor. |
m13 | value of the tensorial solution at position (1,3) in the tensor. |
m22 | value of the tensorial solution at position (2,2) in the tensor. |
m23 | value of the tensorial solution at position (2,3) in the tensor. |
m33 | value of the tensorial solution at position (3,3) in the tensor. |
pos | position of the solution in the mesh (begin to 1). |
Set tensorial values at position pos in solution structure. (pos from 1 to nb_vertices included).
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.
int MMGS_Set_tensorSols | ( | MMG5_pSol | met, |
double * | sols | ||
) |
met | pointer toward the sol structure. |
sols | table of the tensorial solutions. sols[6*(i-1)]@6 is the solution at vertex i |
Set tensorial values by array.
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.
int MMGS_Set_triangle | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | v2, | ||
MMG5_int | ref, | ||
MMG5_int | pos | ||
) |
mesh | pointer toward the mesh structure. |
v0 | first vertex of triangle. |
v1 | second vertex of triangle. |
v2 | third vertex of triangle. |
ref | triangle reference. |
pos | triangle position in the mesh. |
Set triangle of vertices v0, v1, v2 and reference ref at position pos in mesh structure.(pos from 1 to nb_tria included).
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.
int MMGS_Set_triangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | tria, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
tria | pointer toward the table of the tria vertices Vertices of the tria are stored in tria[(i-1)*3]@3. |
refs | pointer toward the table of the triangle references. refs[i-1] is the ref of the tria. |
Set vertices and references of the mesh triangles.
! 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.
int MMGS_Set_vectorSol | ( | MMG5_pSol | met, |
double | vx, | ||
double | vy, | ||
double | vz, | ||
MMG5_int | pos | ||
) |
met | pointer toward the sol structure. |
vx | x value of the vectorial solution. |
vy | y value of the vectorial solution. |
vz | z value of the vectorial solution. |
pos | position of the solution in the mesh (begin to 1). |
Set vectorial value at position pos in solution structure. (pos from 1 to nb_vertices included).
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.
int MMGS_Set_vectorSols | ( | MMG5_pSol | met, |
double * | sols | ||
) |
met | pointer toward the sol structure. |
sols | table of the vectorial solutions sols[3*(i-1)]@3 is the solution at vertex i |
Set vectorial solutions at mesh vertices
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.
int MMGS_Set_vertex | ( | MMG5_pMesh | mesh, |
double | c0, | ||
double | c1, | ||
double | c2, | ||
MMG5_int | ref, | ||
MMG5_int | pos | ||
) |
mesh | pointer toward the mesh structure. |
c0 | coordinate of the point along the first dimension. |
c1 | coordinate of the point along the second dimension. |
c2 | coordinate of the point along the third dimension. |
ref | point reference. |
pos | position of the point in the mesh. |
Set vertex of coordinates c0, c1,c2 and reference ref at position pos in mesh structure (pos from 1 to nb_vertices included).
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.
int MMGS_Set_vertices | ( | MMG5_pMesh | mesh, |
double * | vertices, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
vertices | table of the points coor. The coordinates of the point are stored in vertices[(i-1)*3]@3. |
refs | table of points references. The ref of the point is stored in refs[i-1]. |
Set vertices coordinates and references in mesh structure
! 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.
int MMGS_Unset_corner | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Remove corner attribute at point pos (from 1 to nb_vertices included).
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.
int MMGS_Unset_requiredEdge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Remove required attribute from edge k.
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.
int MMGS_Unset_requiredTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Remove required attribute from triangle k.
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.
int MMGS_Unset_requiredVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Remove required attribute from point k.
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.
int MMGS_Unset_ridge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Remove ridge attribute at edge k.
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.