mmg3d
|
C API functions definitions for MMG3D library. More...
#include "mmg3d.h"
Functions | |
int | MMG3D_Init_mesh (const int starter,...) |
void | MMG3D_Init_fileNames (MMG5_pMesh mesh, MMG5_pSol sol) |
int | MMG3D_Set_inputMeshName (MMG5_pMesh mesh, const char *meshin) |
int | MMG3D_Set_inputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solin) |
int | MMG3D_Set_outputMeshName (MMG5_pMesh mesh, const char *meshout) |
int | MMG3D_Set_outputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solout) |
void | MMG3D_Init_parameters (MMG5_pMesh mesh) |
int | MMG3D_Set_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol) |
int | MMG3D_Set_meshSize (MMG5_pMesh mesh, int np, int ne, int nprism, int nt, int nquad, int na) |
int | MMG3D_Get_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, int *np, int *typSol) |
int | MMG3D_Get_meshSize (MMG5_pMesh mesh, int *np, int *ne, int *nprism, int *nt, int *nquad, int *na) |
int | MMG3D_Set_vertex (MMG5_pMesh mesh, double c0, double c1, double c2, int ref, int pos) |
int | MMG3D_Get_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, int *ref, int *isCorner, int *isRequired) |
int | MMG3D_Set_vertices (MMG5_pMesh mesh, double *vertices, int *refs) |
int | MMG3D_Get_vertices (MMG5_pMesh mesh, double *vertices, int *refs, int *areCorners, int *areRequired) |
int | MMG3D_Set_tetrahedron (MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int ref, int pos) |
int | MMG3D_Get_tetrahedron (MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *ref, int *isRequired) |
int | MMG3D_Set_tetrahedra (MMG5_pMesh mesh, int *tetra, int *refs) |
int | MMG3D_Get_tetrahedra (MMG5_pMesh mesh, int *tetra, int *refs, int *areRequired) |
int | MMG3D_Set_prism (MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int v4, int v5, int ref, int pos) |
int | MMG3D_Get_prism (MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *v4, int *v5, int *ref, int *isRequired) |
int | MMG3D_Set_prisms (MMG5_pMesh mesh, int *prisms, int *refs) |
int | MMG3D_Get_prisms (MMG5_pMesh mesh, int *prisms, int *refs, int *areRequired) |
int | MMG3D_Set_triangle (MMG5_pMesh mesh, int v0, int v1, int v2, int ref, int pos) |
int | MMG3D_Get_triangle (MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *ref, int *isRequired) |
int | MMG3D_Set_triangles (MMG5_pMesh mesh, int *tria, int *refs) |
int | MMG3D_Get_triangles (MMG5_pMesh mesh, int *tria, int *refs, int *areRequired) |
int | MMG3D_Set_quadrilateral (MMG5_pMesh mesh, int v0, int v1, int v2, int v3, int ref, int pos) |
int | MMG3D_Get_quadrilateral (MMG5_pMesh mesh, int *v0, int *v1, int *v2, int *v3, int *ref, int *isRequired) |
int | MMG3D_Set_quadrilaterals (MMG5_pMesh mesh, int *quads, int *refs) |
int | MMG3D_Get_quadrilaterals (MMG5_pMesh mesh, int *quads, int *refs, int *areRequired) |
int | MMG3D_Set_edge (MMG5_pMesh mesh, int v0, int v1, int ref, int pos) |
int | MMG3D_Get_edge (MMG5_pMesh mesh, int *e0, int *e1, int *ref, int *isRidge, int *isRequired) |
int | MMG3D_Set_corner (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_requiredVertex (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_requiredTetrahedron (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_requiredTetrahedra (MMG5_pMesh mesh, int *reqIdx, int nreq) |
int | MMG3D_Set_requiredTriangle (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_requiredTriangles (MMG5_pMesh mesh, int *reqIdx, int nreq) |
int | MMG3D_Set_parallelTriangle (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_parallelTriangles (MMG5_pMesh mesh, int *parIdx, int npar) |
int | MMG3D_Set_ridge (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_requiredEdge (MMG5_pMesh mesh, int k) |
int | MMG3D_Set_normalAtVertex (MMG5_pMesh mesh, int k, double n0, double n1, double n2) |
int | MMG3D_Get_normalAtVertex (MMG5_pMesh mesh, int k, double *n0, double *n1, double *n2) |
int | MMG3D_Set_scalarSol (MMG5_pSol met, double s, int pos) |
int | MMG3D_Get_scalarSol (MMG5_pSol met, double *s) |
int | MMG3D_Set_scalarSols (MMG5_pSol met, double *s) |
int | MMG3D_Get_scalarSols (MMG5_pSol met, double *s) |
int | MMG3D_Set_vectorSol (MMG5_pSol met, double vx, double vy, double vz, int pos) |
int | MMG3D_Get_vectorSol (MMG5_pSol met, double *vx, double *vy, double *vz) |
int | MMG3D_Set_vectorSols (MMG5_pSol met, double *sols) |
int | MMG3D_Get_vectorSols (MMG5_pSol met, double *sols) |
int | MMG3D_Set_tensorSol (MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, int pos) |
int | MMG3D_Get_tensorSol (MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33) |
int | MMG3D_Set_tensorSols (MMG5_pSol met, double *sols) |
int | MMG3D_Get_tensorSols (MMG5_pSol met, double *sols) |
void | MMG3D_Set_handGivenMesh (MMG5_pMesh mesh) |
int | MMG3D_Chk_meshData (MMG5_pMesh mesh, MMG5_pSol met) |
static int | _MMG3D_skipIso (MMG5_pMesh mesh) |
int | MMG3D_Set_iparameter (MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val) |
int | MMG3D_Get_iparameter (MMG5_pMesh mesh, int iparam) |
int | MMG3D_Set_dparameter (MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val) |
int | MMG3D_Set_localParameter (MMG5_pMesh mesh, MMG5_pSol sol, int typ, int ref, double hmin, double hmax, double hausd) |
int | MMG3D_Free_all (const int starter,...) |
int | MMG3D_Free_structures (const int starter,...) |
int | MMG3D_Free_names (const int starter,...) |
C API functions definitions for MMG3D library.
C API for MMG3D library.
|
inlinestatic |
int MMG3D_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 MMG3D_CHK_MESHDATA(mesh,met,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Free_all | ( | const int | starter, |
... | |||
) |
starter | dummy argument used to initialize the variadic argument list. |
... | variadic arguments that depend to the library function that you have call. |
For the MMG3D_mmg3dlib function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&your_metric,MMG5_ARG_end).
For the MMG3D_mmg3dls function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).
For the MMG3D_mmg3dmov function, you must call : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).
Deallocations before return.
int MMG3D_Free_names | ( | const int | starter, |
... | |||
) |
starter | dummy argument used to initialize the variadic argument list. |
... | variadic arguments that depend to the library function that you have call. |
For the MMG3D_mmg3dlib function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&your_metric,MMG5_ARG_end).
For the MMG3D_mmg3dls function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).
For the MMG3D_mmg3dmov function, you must call : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).
Structure deallocations before return.
int MMG3D_Free_structures | ( | const int | starter, |
... | |||
) |
starter | dummy argument used to initialize the variadic argument list. |
... | variadic arguments that depend to the library function that you have call. |
For the MMG3D_mmg3dlib function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&your_metric,MMG5_ARG_end).
For the MMG3D_mmg3dls function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).
For the MMG3D_mmg3dmov function, you must call : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).
Structure deallocations before return.
int MMG3D_Get_edge | ( | MMG5_pMesh | mesh, |
int * | e0, | ||
int * | e1, | ||
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 MMG3D_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
int MMG3D_Get_iparameter | ( | MMG5_pMesh | mesh, |
int | iparam | ||
) |
mesh | pointer toward the mesh structure. |
iparam | integer parameter to set (see MMG3D_Param structure). |
Get the value of integer parameter iparam.
SUBROUTINE MMG3D_GET_IPARAMETER(mesh,iparam,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: iparam
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_meshSize | ( | MMG5_pMesh | mesh, |
int * | np, | ||
int * | ne, | ||
int * | nprism, | ||
int * | nt, | ||
int * | nquad, | ||
int * | na | ||
) |
recover datas
mesh | pointer toward the mesh structure. |
np | pointer toward the number of vertices. |
ne | pointer toward the number of tetrahedra. |
nprism | pointer toward the number of prisms. |
nt | pointer toward the number of triangles. |
nquad | pointer toward the number of quads. |
na | pointer toward the number of edges. |
Get the number of vertices, tetrahedra, prisms, triangles, quadrilaterals and edges of the mesh.
SUBROUTINE MMG3D_GET_MESHSIZE(mesh,np,ne,nprism,nt,nquad,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER :: np,ne,nprism,nt,nquad,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_normalAtVertex | ( | MMG5_pMesh | mesh, |
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 MMG3D_GET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
REAL(KIND=8) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_prism | ( | MMG5_pMesh | mesh, |
int * | v0, | ||
int * | v1, | ||
int * | v2, | ||
int * | v3, | ||
int * | v4, | ||
int * | v5, | ||
int * | ref, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
v0 | pointer toward the first vertex of prism. |
v1 | pointer toward the second vertex of prism. |
v2 | pointer toward the third vertex of prism. |
v3 | pointer toward the fourth vertex of prism. |
v4 | pointer toward the fifth vertex of prism. |
v5 | pointer toward the sixth vertex of prism. |
ref | pointer toward the prism reference. |
isRequired | pointer toward the flag saying if prism is required. |
Get vertices v0, v1, v2, v3, v4, v5 and reference ref of next prism of mesh.
SUBROUTINE MMG3D_GET_PRISM(mesh,v0,v1,v2,v3,v4,v5,ref,isRequired,&
retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: v0,v1,v2,v3,v4,v5
INTEGER :: ref,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_prisms | ( | MMG5_pMesh | mesh, |
int * | prisms, | ||
int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
prisms | pointer toward the table of the prisms vertices. Vertices of the ![]() |
refs | pointer toward the table of the prism references. References of the ![]() |
areRequired | pointer toward the table of the flags saying if the prisms are required. areRequired[i-1]=1 if the ![]() |
Get vertices and references of the mesh prisms.
! SUBROUTINE MMG3D_GET_PRISMS(mesh,prisms,refs,areRequired,&
! retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*),INTENT(OUT) :: prisms
! INTEGER, DIMENSION(*) :: refs,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_Get_quadrilateral | ( | MMG5_pMesh | mesh, |
int * | v0, | ||
int * | v1, | ||
int * | v2, | ||
int * | v3, | ||
int * | ref, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
v0 | pointer toward the first vertex of quadrilateral. |
v1 | pointer toward the second vertex of quadrilateral. |
v2 | pointer toward the third vertex of quadrilateral. |
v3 | pointer toward the fourth vertex of quadrilateral. |
ref | pointer toward the quadrilateral reference. |
isRequired | pointer toward the flag saying if quadrilateral is required. |
Get vertices v0,v1,v2,v3 and reference ref of next quadrilateral of mesh.
SUBROUTINE MMG3D_GET_QUADRILATERAL(mesh,v0,v1,v2,v3,ref,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: v0,v1,v2,v3
INTEGER :: ref,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_quadrilaterals | ( | MMG5_pMesh | mesh, |
int * | quads, | ||
int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
quads | pointer toward the table of the quadrilaterals vertices Vertices of the ![]() |
refs | pointer toward the table of the quadrilaterals references. refs[i-1] is the ref of the ![]() |
areRequired | pointer toward table of the flags saying if quadrilaterals are required. areRequired[i-1]=1 if the ![]() |
Get vertices and references of the mesh quadrilaterals.
! SUBROUTINE MMG3D_GET_QUADRILATERALS(mesh,quads,refs,areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*),INTENT(OUT) :: quads
! INTEGER, DIMENSION(*) :: refs,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_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 MMG3D_GET_SCALARSOL(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 MMG3D_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
int MMG3D_Get_solSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int * | typEntity, | ||
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 MMG3D_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
int MMG3D_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 MMG3D_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
int MMG3D_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 MMG3D_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
int MMG3D_Get_tetrahedra | ( | MMG5_pMesh | mesh, |
int * | tetra, | ||
int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
tetra | pointer toward the table of the tetrahedra vertices. Vertices of the ![]() |
refs | pointer toward the table of the tetrahedron references. References of the ![]() |
areRequired | pointer toward the table of the flags saying if the tetrahedra are required. areRequired[i-1]=1 if the ![]() |
Get vertices and references of the mesh tetrahedra.
! SUBROUTINE MMG3D_GET_TETRAHEDRA(mesh,tetra,refs,areRequired,&
! retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*),INTENT(OUT) :: tetra
! INTEGER, DIMENSION(*) :: refs,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_Get_tetrahedron | ( | MMG5_pMesh | mesh, |
int * | v0, | ||
int * | v1, | ||
int * | v2, | ||
int * | v3, | ||
int * | ref, | ||
int * | isRequired | ||
) |
mesh | pointer toward the mesh structure. |
v0 | pointer toward the first vertex of tetrahedron. |
v1 | pointer toward the second vertex of tetrahedron. |
v2 | pointer toward the third vertex of tetrahedron. |
v3 | pointer toward the fourth vertex of tetrahedron. |
ref | pointer toward the tetrahedron reference. |
isRequired | pointer toward the flag saying if tetrahedron is required. |
Get vertices v0, v1, v2, v3 and reference ref of next tetra of mesh.
SUBROUTINE MMG3D_GET_TETRAHEDRON(mesh,v0,v1,v2,v3,ref,isRequired,&
retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: v0,v1,v2,v3
INTEGER :: ref,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_triangle | ( | MMG5_pMesh | mesh, |
int * | v0, | ||
int * | v1, | ||
int * | v2, | ||
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 MMG3D_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
int MMG3D_Get_triangles | ( | MMG5_pMesh | mesh, |
int * | tria, | ||
int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
tria | pointer toward the table of the triangles vertices Vertices of the ![]() |
refs | pointer toward the table of the triangles references. refs[i-1] is the ref of the ![]() |
areRequired | pointer toward table of the flags saying if triangles are required. areRequired[i-1]=1 if the ![]() |
Get vertices and references of the mesh triangles.
! SUBROUTINE MMG3D_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
int MMG3D_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 MMG3D_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
int MMG3D_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 MMG3D_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
int MMG3D_Get_vertex | ( | MMG5_pMesh | mesh, |
double * | c0, | ||
double * | c1, | ||
double * | c2, | ||
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 MMG3D_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 :: ref,isCorner,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Get_vertices | ( | MMG5_pMesh | mesh, |
double * | vertices, | ||
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 ![]() |
refs | pointer to the table of the point references. The ref of the ![]() |
areCorners | pointer toward the table of the flags saying if points are corners. areCorners[i-1]=1 if the ![]() |
areRequired | pointer toward the table of flags saying if points are required. areRequired[i-1]=1 if the ![]() |
Get the coordinates and references of the mesh vertices.
! SUBROUTINE MMG3D_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
void MMG3D_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 MMG3D_INIT_FILENAMES(mesh,sol)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
END SUBROUTINE
int MMG3D_Init_mesh | ( | const int | starter, |
... | |||
) |
starter | dummy argument used to initialize the variadic argument list |
... | variadic arguments that depend to the library function that you want to call. |
For the MMG3D_mmg3dlib function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).
For the MMG3D_mmg3dls function, you need to call the MMG3D_Init_mesh function with the following arguments : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).
For the MMG3D_mmg3dmov function, you must call : MMG3D_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet,&empty_metric,MMG5_ARG_ppDisp, &your_displacement, MMG5_ARG_end).
Here,your_mesh is a MMG5_pMesh, your_metric your_level_set and your_displacement are MMG5_pSol.
MMG structures allocation and initialization.
void MMG3D_Init_parameters | ( | MMG5_pMesh | mesh | ) |
mesh | pointer toward the mesh structure. |
Initialization of the input parameters (stored in the Info structure).
SUBROUTINE MMG3D_INIT_PARAMETERS(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE
int MMG3D_Set_corner | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Set corner at point pos.
SUBROUTINE MMG3D_SET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_dparameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | dparam, | ||
double | val | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
dparam | double parameter to set (see MMG3D_Param structure). |
val | value of the parameter. |
Set double parameter dparam at value val.
SUBROUTINE MMG3D_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
int MMG3D_Set_edge | ( | MMG5_pMesh | mesh, |
int | v0, | ||
int | v1, | ||
int | ref, | ||
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
SUBROUTINE MMG3D_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
void MMG3D_Set_handGivenMesh | ( | MMG5_pMesh | mesh | ) |
mesh | pointer toward the mesh structure. |
To mark as ended a mesh given without using the API functions (for example, mesh given by mesh->point[i] = 0 ...). Not recommanded.
SUBROUTINE MMG3D_SET_HANDGIVENMESH(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE
int MMG3D_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 MMG3D_SET_INPUTMESHNAME(mesh,meshin,strlen,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: meshin
INTEGER, INTENT(IN) :: strlen
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 MMG3D_SET_INPUTSOLNAME(mesh,sol,solin,strlen,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: solin
INTEGER, INTENT(IN) :: strlen
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_iparameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | iparam, | ||
int | val | ||
) |
functions to set parameters
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol structure. |
iparam | integer parameter to set (see MMG3D_Param structure). |
val | value for the parameter. |
Set integer parameter iparam at value val.
SUBROUTINE MMG3D_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
int MMG3D_Set_localParameter | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | typ, | ||
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 val for all elements of type typ and reference ref.
SUBROUTINE MMG3D_SET_LOCALPARAMETER(mesh,sol,typ,ref,&
hmin,hmax,hausd,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: typ,ref
REAL(KIND=8), INTENT(IN) :: hmin,hmax,hausd
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_meshSize | ( | MMG5_pMesh | mesh, |
int | np, | ||
int | ne, | ||
int | nprism, | ||
int | nt, | ||
int | nquad, | ||
int | na | ||
) |
mesh | pointer toward the mesh structure. |
np | number of vertices. |
ne | number of tetrahedra. |
nprism | number of prisms. |
nt | number of triangles. |
nquad | number of quads. |
na | number of edges. |
Set the number of vertices, tetrahedra, prisms, triangles, quadrilaterals 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 MMG3D_SET_MESHSIZE(mesh,np,ne,nprism,nt,nquad,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER :: np,ne,nprism,nt,nquad,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_normalAtVertex | ( | MMG5_pMesh | mesh, |
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 MMG3D_SET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
REAL(KIND=8), INTENT(IN) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 MMG3D_SET_OUTPUTMESHNAME(mesh,meshout,strlen,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: meshout
INTEGER, INTENT(IN) :: strlen
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 MMG3D_SET_OUTPUTSOLNAME(mesh,sol,solout,strlen,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: solout
INTEGER, INTENT(IN) :: strlen
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_parallelTriangle | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Set triangle k as parallel (triangle at the interface between two processors, ie, this triangle is required).
SUBROUTINE MMG3D_SET_PARALLELTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_parallelTriangles | ( | MMG5_pMesh | mesh, |
int * | parIdx, | ||
int | npar | ||
) |
mesh | pointer toward the mesh structure. |
parIdx | table of the indices of the parallel trias. |
npar | number of triangles between processors. |
Set the parallel triangles (triangles at the interface between processors, ie this triangles are required).
SUBROUTINE MMG3D_SET_PARALLELTRIANGLES(mesh,parIdx,npar,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, DIMENSION(*),INTENT(IN) :: parIdx
INTEGER, INTENT(IN) :: npar
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_prism | ( | MMG5_pMesh | mesh, |
int | v0, | ||
int | v1, | ||
int | v2, | ||
int | v3, | ||
int | v4, | ||
int | v5, | ||
int | ref, | ||
int | pos | ||
) |
mesh | pointer toward the mesh structure. |
v0 | first vertex of prism. |
v1 | second vertex of prism. |
v2 | third vertex of prism. |
v3 | fourth vertex of prism. |
v4 | fifth vertex of prism. |
v5 | sixth vertex of prism. |
ref | prism reference. |
pos | prism position in the mesh. |
Set prisms of vertices v0, v1,v2,v3,v4,v5 and reference ref at position pos in mesh structure.
SUBROUTINE MMG3D_SET_PRISM(mesh,v0,v1,v2,v3,v4,v5,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: v0,v1,v2,v3,v4,v5,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_prisms | ( | MMG5_pMesh | mesh, |
int * | prisms, | ||
int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
prisms | vertices of the prisms of the mesh Vertices of the ![]() |
refs | table of the prisms references. References of the ![]() |
Set vertices and references of the mesh prisms.
! SUBROUTINE MMG3D_SET_PRISMS(mesh,prisms,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*), INTENT(IN) :: prisms,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_Set_quadrilateral | ( | MMG5_pMesh | mesh, |
int | v0, | ||
int | v1, | ||
int | v2, | ||
int | v3, | ||
int | ref, | ||
int | pos | ||
) |
mesh | pointer toward the mesh structure. |
v0 | first vertex of quadrilateral. |
v1 | second vertex of quadrilateral. |
v2 | third vertex of quadrilateral. |
v3 | fourth vertex of quadrilateral. |
ref | quadrilateral reference. |
pos | quadrilateral position in the mesh. |
Set quadrilateral of vertices v0, v1, v2, v3 and reference ref at position pos in mesh structure.
SUBROUTINE MMG3D_SET_QUADRILATERAL(mesh,v0,v1,v2,v3,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: v0,v1,v2,v3,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_quadrilaterals | ( | MMG5_pMesh | mesh, |
int * | quads, | ||
int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
quads | pointer toward the table of the quads vertices Vertices of the ![]() |
refs | pointer toward the table of the quadrilateral references. refs[i-1] is the ref of the ![]() |
Set vertices and references of the mesh quadrilaterals.
! SUBROUTINE MMG3D_SET_QUADRILATERALS(mesh,quads,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER,DIMENSION(*), INTENT(IN) :: quads,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_Set_requiredEdge | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Set edge k as required.
SUBROUTINE MMG3D_SET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_requiredTetrahedra | ( | MMG5_pMesh | mesh, |
int * | reqIdx, | ||
int | nreq | ||
) |
mesh | pointer toward the mesh structure. |
reqIdx | table of the indices of the required elements. |
nreq | number of required elements |
Set the required Tetra.
SUBROUTINE MMG3D_SET_REQUIREDTETRAHEDRA(mesh,reqIdx,nreq,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER, INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_requiredTetrahedron | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | element index. |
Set element k as required.
SUBROUTINE MMG3D_SET_REQUIREDTETRAHEDRON(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_requiredTriangle | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Set triangle k as required.
SUBROUTINE MMG3D_SET_REQUIREDTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_requiredTriangles | ( | MMG5_pMesh | mesh, |
int * | reqIdx, | ||
int | nreq | ||
) |
mesh | pointer toward the mesh structure. |
reqIdx | table of the indices of the required trias. |
nreq | number of required trias |
Set the required triangles
SUBROUTINE MMG3D_SET_REQUIREDTRIANGLES(mesh,reqIdx,nreq,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER, INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_requiredVertex | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Set point k as required.
SUBROUTINE MMG3D_SET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_ridge | ( | MMG5_pMesh | mesh, |
int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Set ridge at edge k.
SUBROUTINE MMG3D_SET_RIDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_scalarSol | ( | MMG5_pSol | met, |
double | s, | ||
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
SUBROUTINE MMG3D_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
int MMG3D_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 MMG3D_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
int MMG3D_Set_solSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
int | typEntity, | ||
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...). |
Set the solution number, dimension and type.
SUBROUTINE MMG3D_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
int MMG3D_Set_tensorSol | ( | MMG5_pSol | met, |
double | m11, | ||
double | m12, | ||
double | m13, | ||
double | m22, | ||
double | m23, | ||
double | m33, | ||
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.
SUBROUTINE MMG3D_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, INTENT(IN) :: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 at position pos in solution structure.
SUBROUTINE MMG3D_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
int MMG3D_Set_tetrahedra | ( | MMG5_pMesh | mesh, |
int * | tetra, | ||
int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
tetra | vertices of the tetras of the mesh Vertices of the ![]() |
refs | table of the tetrahedra references. References of the ![]() |
Set vertices and references of the mesh tetrahedra.
! SUBROUTINE MMG3D_SET_TETRAHEDRA(mesh,tetra,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER, DIMENSION(*), INTENT(IN) :: tetra,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
int MMG3D_Set_tetrahedron | ( | MMG5_pMesh | mesh, |
int | v0, | ||
int | v1, | ||
int | v2, | ||
int | v3, | ||
int | ref, | ||
int | pos | ||
) |
mesh | pointer toward the mesh structure. |
v0 | first vertex of tetrahedron. |
v1 | second vertex of tetrahedron. |
v2 | third vertex of tetrahedron. |
v3 | fourth vertex of tetrahedron. |
ref | tetrahedron reference. |
pos | tetrahedron position in the mesh. |
Set tetrahedra of vertices v0, v1,v2,v3 and reference ref at position pos in mesh structure.
SUBROUTINE MMG3D_SET_TETRAHEDRON(mesh,v0,v1,v2,v3,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: v0,v1,v2,v3,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_triangle | ( | MMG5_pMesh | mesh, |
int | v0, | ||
int | v1, | ||
int | v2, | ||
int | ref, | ||
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.
SUBROUTINE MMG3D_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
int MMG3D_Set_triangles | ( | MMG5_pMesh | mesh, |
int * | tria, | ||
int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
tria | pointer toward the table of the tria vertices Vertices of the ![]() |
refs | pointer toward the table of the triangle references. refs[i-1] is the ref of the ![]() |
Set vertices and references of the mesh triangles.
! SUBROUTINE MMG3D_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
int MMG3D_Set_vectorSol | ( | MMG5_pSol | met, |
double | vx, | ||
double | vy, | ||
double | vz, | ||
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.
SUBROUTINE MMG3D_SET_VECTORSOL(met,vx,vy,vz,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: vx,vy,vz
INTEGER, INTENT(IN) :: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_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 MMG3D_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
int MMG3D_Set_vertex | ( | MMG5_pMesh | mesh, |
double | c0, | ||
double | c1, | ||
double | c2, | ||
int | ref, | ||
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
SUBROUTINE MMG3D_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, INTENT(IN) :: ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMG3D_Set_vertices | ( | MMG5_pMesh | mesh, |
double * | vertices, | ||
int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
vertices | table of the points coor. The coordinates of the ![]() |
refs | table of points references. The ref of the ![]() |
Set vertices coordinates and references in mesh structure
! SUBROUTINE MMG3D_SET_VERTICES(mesh,vertices,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8), INTENT(IN) :: vertices(*)
! INTEGER,INTENT(IN) :: refs(*)
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE