Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
API headers for the mmg3d library. More...
#include "mmg/common/libmmgtypes.h"
#include "mmg/mmg3d/mmg3d_export.h"
Go to the source code of this file.
Macros | |
#define | MMG3D_LMAX 10240 |
Variables | |
LIBMMG3D_EXPORT double(* | MMG3D_lenedgCoor )(double *ca, double *cb, double *sa, double *sb) |
LIBMMG3D_EXPORT int(* | MMG3D_doSol )(MMG5_pMesh mesh, MMG5_pSol met) |
API headers for the mmg3d library.
Definition in file libmmg3d.h.
#define MMG3D_LMAX 10240 |
Maximum array size when storing adjacent points (or ball) of a vertex.
Definition at line 58 of file libmmg3d.h.
enum MMG3D_Param |
Input parameters for mmg library.
Input parameters for mmg library. Options prefixed by MMG3D_IPARAM asked for integers values ans options prefixed by MMG3D_DPARAM asked for real values.
Definition at line 69 of file libmmg3d.h.
LIBMMG3D_EXPORT int MMG3D_Add_tetrahedron | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | v2, | ||
MMG5_int | v3, | ||
MMG5_int | ref | ||
) |
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. |
Add a tetrahedra of vertices v0, v1,v2,v3 and reference ref at the first available position of the mesh.
SUBROUTINE MMG3D_ADD_TETRAHEDRON(mesh,v0,v1,v2,v3,ref,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,v3,ref
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2003 of file API_functions_3d.c.
LIBMMG3D_EXPORT MMG5_int MMG3D_Add_vertex | ( | MMG5_pMesh | mesh, |
double | c0, | ||
double | c1, | ||
double | c2, | ||
MMG5_int | ref | ||
) |
mesh | pointer toward the mesh structure. |
c0 | x coor of the new point |
c1 | y coor of the new point |
c2 | z coor of the new point |
ref | point reference. |
Add a point of coor c0 c1 c2 and reference ref at the first available position of the mesh.
SUBROUTINE MMG3D_ADD_VERTEX(mesh,c0,c1,c2,ref,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(IN) :: c0,c1,c2
INTEGER(MMG5F_INT), INTENT(IN) :: ref
INTEGER(MMG5F_INT), INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2077 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1879 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Clean_isoSurf | ( | MMG5_pMesh | mesh | ) |
mesh | pointer toward mesh sructure |
Clean data (triangles and edges) linked to isosurface.
SUBROUTINE MMG3D_CLEAN_ISOSURF(mesh,retval)
MMG5_DATA_PTR_T, INTENT(IN) :: mesh
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Step 1: a. deletion of triangles that belong to isosurf
Step 2: deletion of edges that belong to isosurf
Definition at line 1573 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_Compute_eigenv | ( | double | m[6], |
double | lambda[3], | ||
double | vp[3][3] | ||
) |
m | upper part of a symetric matric diagonalizable in |R |
lambda | array of the metric eigenvalues |
vp | array of the metric eigenvectors |
Compute the real eigenvalues and eigenvectors of a symetric matrice m whose upper part is provided (m11, m12, m13, m22, m23, m33 in this order). lambda[0] is the eigenvalue associated to the eigenvector ( v[0][0], v[0,1], v[0,2] ) in C and to the eigenvector v(1,:) in fortran lambda[1] is the eigenvalue associated to the eigenvector ( v[1][0], v[1,1], v[1,2] ) in C and to the eigenvector v(2,:) in fortran lambda[2] is the eigenvalue associated to the eigenvector ( v[2][0], v[2,1], v[2,2] ) in C and to the eigenvector v(3,:) in fortran
SUBROUTINE MMG3D_COMPUTE_EIGENV(m,lambda,vp,retval)
REAL(KIND=8), INTENT(IN) :: m(*)
REAL(KIND=8), INTENT(OUT) :: lambda(*),vp(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1540 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_defaultValues | ( | MMG5_pMesh | mesh | ) |
Tools for the library
mesh | pointer toward the mesh structure. |
Print the default parameters values.
SUBROUTINE MMG3D_DEFAULTVALUES(mesh,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 172 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT void MMG3D_destockOptions | ( | MMG5_pMesh | mesh, |
MMG5_Info * | info | ||
) |
mesh | pointer toward the mesh structure. |
info | pointer toward the info structure. |
Recover the info structure stored in the mesh structure.
SUBROUTINE MMG3D_DESTOCKOPTIONS(mesh,info)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
END SUBROUTINE
Definition at line 996 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT 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.
Definition at line 2533 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_Free_allSols(mesh,sol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2528 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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.
Definition at line 2561 of file API_functions_3d.c.
LIBMMG3D_EXPORT void MMG3D_Free_solutions | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol | ||
) |
mesh | pointer toward the mesh structure |
sol | pointer toward the solution structure |
Free the solution.
SUBROUTINE MMG3D_FREE_SOLUTIONS(mesh,sol)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
END SUBROUTINE
Definition at line 1546 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT 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.
Definition at line 2547 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_adjaTet | ( | MMG5_pMesh | mesh, |
MMG5_int | kel, | ||
MMG5_int | listet[4] | ||
) |
Return adjacent elements of a tetrahedron.
Utils
mesh | pointer toward the mesh structure. |
kel | tetrahedron index. |
listet | pointer toward the table of the 4 tetra adjacent to kel. (the index is 0 if there is no adjacent) |
Find the indices of the 4 adjacent elements of tetrahedron kel. if the face has no adjacent element (so we are on a boundary face).
SUBROUTINE MMG3D_GET_ADJATET(mesh,kel,listet,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: kel
INTEGER(MMG5F_INT), DIMENSION(4), INTENT(OUT) :: listet
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 115 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1126 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_GET_EDGES(mesh,edges,refs,areRidges,areRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: edges(*)
INTEGER(MMG5F_INT), INTENT(OUT):: refs(*)
INTEGER, INTENT(OUT) :: areRequired(*),areRidges(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1189 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_iparameter | ( | MMG5_pMesh | mesh, |
MMG5_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(MMG5F_INT), INTENT(IN):: iparam
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2290 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 get. |
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 MMG3D_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 1777 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1835 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_meshSize | ( | MMG5_pMesh | mesh, |
MMG5_int * | np, | ||
MMG5_int * | ne, | ||
MMG5_int * | nprism, | ||
MMG5_int * | nt, | ||
MMG5_int * | nquad, | ||
MMG5_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(MMG5F_INT) :: np,ne,nprism,nt,nquad,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 339 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_nonBdyTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int * | v0, | ||
MMG5_int * | v1, | ||
MMG5_int * | v2, | ||
MMG5_int * | ref, | ||
MMG5_int | idx | ||
) |
mesh | pointer toward the mesh structure. |
v0 | pointer toward the firts vertex of the triangle |
v1 | pointer toward the second vertex of the triangle. |
v2 | pointer toward the third vertex of the triangle. |
ref | pointer toward the triangle reference. |
idx | index of the non boundary triangle to get (between 1 and nb_tria) |
Get vertices and reference ref of the idx^th non boundary triangle (for DG methods for example). A tria is boundary if it is located at the interface of 2 domains witch different references or if it belongs to one tetra only.
SUBROUTINE MMG3D_GET_NONBDYTRIANGLE(mesh,v0,v1,v2,ref,idx,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: v0,v1,v2
INTEGER(MMG5F_INT) :: ref
INTEGER(MMG5F_INT), INTENT(IN) :: idx
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 937 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1388 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_numberOfNonBdyTriangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | nb_tria | ||
) |
mesh | pointer toward the mesh structure. |
nb_tria | pointer toward the number of non boundary triangles. |
Get the number of non boundary triangles (for DG methods for example). A triangle is boundary if it is located at the interface of 2 domains with different references or if it belongs to one tetra only. Append these triangles to the list of triangles.
SUBROUTINE MMG3D_GET_NUMBEROFNONBDYTRIANGLESS(mesh,nb_tria,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT) :: nb_tria
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
First step: Mesh analysis to detect the tetra/prisms boundary faces and to store the info in the xtetra/xprisms structures
Second step: Count the number of non boundary faces
Third step: Append the non boundary edges to the boundary edges array
Definition at line 722 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_Get_prism | ( | MMG5_pMesh | mesh, |
MMG5_int * | v0, | ||
MMG5_int * | v1, | ||
MMG5_int * | v2, | ||
MMG5_int * | v3, | ||
MMG5_int * | v4, | ||
MMG5_int * | v5, | ||
MMG5_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(MMG5F_INT), INTENT(OUT) :: v0,v1,v2,v3,v4,v5
INTEGER(MMG5F_INT) :: ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 753 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_prisms | ( | MMG5_pMesh | mesh, |
MMG5_int * | prisms, | ||
MMG5_int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
prisms | pointer toward the table of the prisms vertices. Vertices of the prism are stored in prisms[(i-1)*6]@6. |
refs | pointer toward the table of the prism references. References of the prism is stored in refs[i-1]. |
areRequired | pointer toward the table of the flags saying if the prisms are required. areRequired[i-1]=1 if the prism is required. |
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(MMG5F_INT), DIMENSION(*),INTENT(OUT) :: prisms
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 829 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_quadrilateral | ( | MMG5_pMesh | mesh, |
MMG5_int * | v0, | ||
MMG5_int * | v1, | ||
MMG5_int * | v2, | ||
MMG5_int * | v3, | ||
MMG5_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(MMG5F_INT), INTENT(OUT) :: v0,v1,v2,v3,ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1005 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_quadrilaterals | ( | MMG5_pMesh | mesh, |
MMG5_int * | quads, | ||
MMG5_int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
quads | pointer toward the table of the quadrilaterals vertices Vertices of the quadra are stored in tria[(i-1)*4]@4. |
refs | pointer toward the table of the quadrilaterals references. refs[i-1] is the ref of the quadra. |
areRequired | pointer toward table of the flags saying if quadrilaterals are required. areRequired[i-1]=1 if the quadra is required. |
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(MMG5F_INT), DIMENSION(*),INTENT(OUT) :: quads
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 1068 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1464 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1511 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 | pointer toward the number of solutions per entity. |
nentities | pointer toward the number of solutions. |
typSol | array of size MMG5_NSOLS_MAX to store type of each solution (scalar, vector..). |
Get the solution number, dimension and type.
SUBROUTINE MMG3D_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 310 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 286 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1669 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1731 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_tetFromTria | ( | MMG5_pMesh | mesh, |
MMG5_int | ktri, | ||
MMG5_int * | ktet, | ||
int * | iface | ||
) |
mesh | pointer toward the mesh structure. |
ktri | index of the boundary triangle. |
ktet | pointer toward an integer that will contains the tetra index. |
iface | pointer toward the triangle in ktet. |
Fill ktet by the indice of a tetra to which belong a boundary triangle and iface by the indice of the triangle in the tetra.
SUBROUTINE MMG3D_GET_TETFROMTRIA(mesh,ktri,ktet,iface,retval)
MMG5_DATA_PTR_T, INTENT(IN) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: ktri
INTEGER(MMG5F_INT), INTENT(OUT) :: ktet
INTEGER, INTENT(OUT) :: iface
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1125 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_Get_tetrahedra | ( | MMG5_pMesh | mesh, |
MMG5_int * | tetra, | ||
MMG5_int * | refs, | ||
int * | areRequired | ||
) |
mesh | pointer toward the mesh structure. |
tetra | pointer toward the table of the tetrahedra vertices. Vertices of the tetra are stored in tetra[(i-1)*4]@4. |
refs | pointer toward the table of the tetrahedron references. References of the tetra is stored in refs[i-1]. |
areRequired | pointer toward the table of the flags saying if the tetrahedra are required. areRequired[i-1]=1 if the tetra is required. |
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(MMG5F_INT), DIMENSION(*),INTENT(OUT) :: tetra
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 689 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_tetrahedron | ( | MMG5_pMesh | mesh, |
MMG5_int * | v0, | ||
MMG5_int * | v1, | ||
MMG5_int * | v2, | ||
MMG5_int * | v3, | ||
MMG5_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(MMG5F_INT), INTENT(OUT):: v0,v1,v2,v3
INTEGER(MMG5F_INT) :: ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 589 of file API_functions_3d.c.
LIBMMG3D_EXPORT double MMG3D_Get_tetrahedronQuality | ( | 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 tetra for which we want to get the quality. |
Get quality of tetra k.
SUBROUTINE MMG3D_GET_TETRAHEDRONQUALITY(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 1398 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Get_tetsFromTria | ( | MMG5_pMesh | mesh, |
MMG5_int | ktri, | ||
MMG5_int | ktet[2], | ||
int | iface[2] | ||
) |
mesh | pointer toward the mesh structure. |
ktri | index of the boundary triangle. |
ktet | array of size 2 that will contain the indices of the tetra (filled by the function). |
iface | pointer toward an array of size 2 that will contains the indices of the faces of the tetras ktet[i] that corresponds to the boundary tria ktri. |
Fill ktet by the indices of the tetra to which belong a boundary triangle and iface by the indices of the faces of the tetras that correspond to the triangle. Fill ktet[1] and iface[1] by 0 if the triangle belongs to 1 tetra only.
SUBROUTINE MMG3D_GET_TETSFROMTRIA(mesh,ktri,ktet,iface,retval)
MMG5_DATA_PTR_T, INTENT(IN) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: ktri
INTEGER(MMG5F_INT), DIMENSION(2), INTENT(OUT):: ktet
INTEGER, DIMENSION(2), INTENT(OUT) :: iface
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1144 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_GET_TRIANGLE(mesh,v0,v1,v2,ref,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT) :: v0,v1,v2
INTEGER(MMG5F_INT) :: ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 892 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 952 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1557 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1612 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 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(MMG5F_INT) :: ref
INTEGER :: isCorner,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 394 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 481 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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(MMG5F_INT) :: ref,idx
INTEGER :: isCorner,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 421 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_hashTetra | ( | MMG5_pMesh | mesh, |
int | pack | ||
) |
mesh | pointer toward the mesh structure. |
pack | we pack the mesh at function begining if . |
Create table of adjacency. Set pack variable to 0 for a compact mesh and to 1 for a mesh that need to be packed.
SUBROUTINE MMG3D_HASHTETRA(mesh,pack,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: pack
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
mesh | pointer toward the mesh structure. |
pack | we pack the mesh at function begining if . |
Create table of adjacency. Set pack variable to 0 for a compact mesh and to 1 for a mesh that need to be packed.
Definition at line 122 of file hash_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 58 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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.
Definition at line 46 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 83 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadAllSols | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solutions array |
filename | name of file. |
Load 1 or more solutions in a solution file at medit file format.
SUBROUTINE MMG3D_LOADALLSOLS(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Read the file header
Sol tab allocation
Definition at line 2202 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadGenericMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
filename | name of file. |
Read mesh data in a file whose format depends on the filename extension.
SUBROUTINE MMG3D_LOADGENERICMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1176 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadMesh | ( | MMG5_pMesh | mesh, |
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
filename | name of file. |
Read mesh data.
SUBROUTINE MMG3D_LOADMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
mesh | pointer toward the mesh structure. |
filename | name of file. |
Read mesh data.
Definition at line 1044 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadMshMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Read mesh and 0 or 1 data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra, tetra and prisms.
SUBROUTINE MMG3D_LOADMSHMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1058 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadMshMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward a list of solution structures. |
filename | name of file. |
Read mesh and a list of data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra, tetra and prisms.
SUBROUTINE MMG3D_LOADMSHMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1118 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadSol | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
filename | name of file. |
Load metric field. The solution file must contains only 1 solution: the metric
SUBROUTINE MMG3D_LOADSOL(mesh,met,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Read the file header
Definition at line 2129 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_loadVtkMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Read mesh and 0 or 1 data at VTK file format (.vtu extension). We read only low-order points, edges, tria, quadra, tetra and prisms. Point and cell references must be stored in PointData or CellData whose names contains the "medit:ref" keyword.
SUBROUTINE MMG3D_LOADVTKMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 146 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_loadVtkMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Read mesh and a list of data in VTK file format (.vtu extension). We read only low-order points, edges, tria, quadra, tetra and prisms. Point and cell references must be stored in PointData or CellData whose names contains the "medit:ref" keyword.
SUBROUTINE MMG3D_LOADVTKMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 186 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_loadVtuMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Read mesh and 0 or 1 data at VTU (VTK) file format (.vtu extension). We read only low-order points, edges, tria, quadra, tetra and prisms. Point and cell references must be stored in PointData or CellData whose names contains the "medit:ref" keyword.
SUBROUTINE MMG3D_LOADVTUMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 73 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_loadVtuMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Read mesh a list of data in VTU file format (.vtu extension). We read only low-order points, edges, tria, quadra, tetra and prisms. Point and cell references must be stored in PointData or CellData whose names contains the "medit:ref" keyword.
SUBROUTINE MMG3D_LOADVTUMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 113 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_mmg3dcheck | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_pSol | sol, | ||
double | critmin, | ||
double | lmin, | ||
double | lmax, | ||
MMG5_int * | eltab, | ||
int8_t | metRidTyp | ||
) |
Checks
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure (metric). |
sol | pointer toward the sol structure (ls or displacement). |
critmin | minimum quality for elements. |
lmin | minimum edge length. |
lmax | maximum ede length. |
eltab | table of invalid elements. |
metRidTyp | Type of storage of ridges metrics: 0 for classic storage (before the MMG5_defsiz call), 1 for special storage (after this call). |
Search invalid elements (in term of quality or edge length).
SUBROUTINE MMG3D_MMG3DCHECK(mesh,met,sol,critmin,lmin,lmax,eltab,&
metridtyp,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met,sol
REAL(KIND=8), INTENT(IN) :: critmin,lmin,lmax
INTEGER(MMG5F_INT),DIMENSION(*), INTENT(OUT) :: eltab
INTEGER, INTENT(IN) :: metridtyp
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 1002 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_mmg3dlib | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol (metric) structure. |
Main program for the remesh library.
SUBROUTINE MMG3D_MMG3DLIB(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 975 of file libmmg3d.c.
LIBMMG3D_EXPORT int MMG3D_mmg3dls | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the sol (level-set) structure. |
met | pointer toward a sol structure (metric), optionnal. |
Main program for the level-set discretization library. If a metric met is provided, use it to adapt the mesh.
SUBROUTINE MMG3D_MMG3DLS(mesh,sol,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
MMG5_DATA_PTR_T :: met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 1192 of file libmmg3d.c.
LIBMMG3D_EXPORT int MMG3D_mmg3dmov | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_pSol | disp | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol (output metric) structure. |
disp | pointer toward a sol (displacement for the lagrangian motion mode) structure. |
Main program for the rigidbody movement library.
SUBROUTINE MMG3D_MMG3DMOV(mesh,met,disp,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met,disp
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
In debug mode, check that all structures are allocated
Free topologic tables (adja, xpoint, xtetra) resulting from a previous run
Definition at line 1475 of file libmmg3d.c.
LIBMMG3D_EXPORT int MMG3D_parsar | ( | int | argc, |
char * | argv[], | ||
MMG5_pMesh | mesh, | ||
MMG5_pSol | met, | ||
MMG5_pSol | sol | ||
) |
argc | number of command line arguments. |
argv | command line arguments. |
mesh | pointer toward the mesh structure. |
met | pointer toward a metric |
sol | pointer toward a level-set or displacement |
Store command line arguments.
Definition at line 192 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_parsop | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
Read local parameters file. This file must have the same name as the mesh with the .mmg3d extension or must be named DEFAULT.mmg3d.
SUBROUTINE MMG3D_PARSOP(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 589 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_saveAllSols | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solutions array |
filename | name of the solution file. |
Save 1 or more solutions at medit solution file format
SUBROUTINE MMG3D_SAVEALLSOLS(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2338 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveGenericMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
filename | name of file. |
Save mesh data in a file whose format depends on the filename extension.
SUBROUTINE MMG3D_SAVEGENERICMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2048 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveMesh | ( | MMG5_pMesh | mesh, |
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
filename | pointer toward the name of file. |
Save mesh data.
SUBROUTINE MMG3D_SAVEMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
mesh | pointer toward the mesh structure. |
filename | pointer toward the name of file. |
Save mesh data.
Definition at line 1259 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveMshMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and 0 or 1 data at MSH file format (.msh extension). Write binary file for .mshb extension and ASCII for .msh one.
SUBROUTINE MMG3D_SAVEMSHMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2119 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveMshMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and a list of data fields (that are considered as solutions and not metrics, thus, we do nothing over the ridge points) at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .mshb one.
SUBROUTINE MMG3D_SAVEMSHMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2124 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveSol | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
filename | name of file. |
Write isotropic or anisotropic metric.
SUBROUTINE MMG3D_SAVESOL(mesh,met,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2300 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveTetgenMesh | ( | MMG5_pMesh | mesh, |
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
filename | name of the readed file. |
Save mesh data at Triangle (or equivalent to Tetgen in 3D) file format.
SUBROUTINE MMG3D_SAVETETGENMESH(mesh,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2644 of file inout_3d.c.
LIBMMG3D_EXPORT int MMG3D_saveVtkMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and 0 or 1 data at Vtk file format (.vtk extension).
SUBROUTINE MMG3D_SAVEVTKMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 248 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_saveVtkMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and a list of data fields at Vtk file format (.vtk extension).
SUBROUTINE MMG3D_SAVEVTKMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 263 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_saveVtuMesh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and 0 or 1 data at vtu Vtk file format (.vtu extension).
SUBROUTINE MMG3D_SAVEVTUMESH(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 219 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_saveVtuMesh_and_allData | ( | MMG5_pMesh | mesh, |
MMG5_pSol * | sol, | ||
const char * | filename | ||
) |
mesh | pointer toward the mesh structure. |
sol | pointer toward the solution structure. |
filename | name of file. |
Write mesh and a list of data fields at vtu Vtk file format (.vtu extension).
SUBROUTINE MMG3D_SAVEVTUMESH_AND_ALLDATA(mesh,sol,filename,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: filename
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 232 of file inoutcpp_3d.cpp.
LIBMMG3D_EXPORT int MMG3D_searchlen | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
double | lmin, | ||
double | lmax, | ||
MMG5_int * | eltab, | ||
int8_t | metRidTyp | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
lmin | minimum edge length. |
lmax | maximum ede length. |
eltab | table of invalid elements. |
metRidTyp | Type of storage of ridges metrics: 0 for classic storage (before the MMG5_defsiz call), 1 for special storage (after this call). |
Store in eltab elements which have edge lengths shorter than lmin or longer than lmax, eltab is allocated and could contain mesh->ne elements.
SUBROUTINE MMG3D_SEARCHLEN(mesh,met,lmin,lmax,eltab,metridtyp,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
REAL(KIND=8), INTENT(IN) :: lmin,lmax
INTEGER(MMG5F_INT),DIMENSION(*), INTENT(OUT) :: eltab
INTEGER, INTENT(IN) :: metridtyp
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1189 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT void MMG3D_searchqua | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
double | critmin, | ||
MMG5_int * | eltab, | ||
int8_t | metRidTyp | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the sol structure. |
critmin | minimum quality for elements. |
eltab | pointer toward the table of invalid elements. |
metRidTyp | Type of storage of ridges metrics: 0 for classic storage (before the MMG5_defsiz call), 1 for special storage (after this call). |
Store elements which have worse quality than critmin in eltab, eltab is allocated and could contain mesh->ne elements.
SUBROUTINE MMG3D_SEARCHQUA(mesh,met,critmin,eltab,metridtyp)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
REAL(KIND=8), INTENT(IN) :: critmin
INTEGER(MMG5F_INT),DIMENSION(*), INTENT(OUT) :: eltab
INTEGER, INTENT(IN) :: metridtyp
END SUBROUTINE
Definition at line 1097 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT void MMG3D_Set_commonFunc | ( | void | ) |
Set common pointer functions between mmgs and mmg3d to the matching mmg3d functions.
Definition at line 1745 of file libmmg3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_constantSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure |
met | pointer toward the sol structure |
Compute constant size map according to mesh->info.hsiz, mesh->info.hmin and mesh->info.hmax. Update this 3 value if not compatible.
SUBROUTINE MMG3D_SET_CONSTANTSIZE(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1495 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_Set_corner | ( | MMG5_pMesh | mesh, |
MMG5_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(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1219 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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 (unused). |
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
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: dparam
REAL(KIND=8), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2357 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 (from 1 to nb_edges included)
SUBROUTINE MMG3D_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 1094 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_SET_EDGES(mesh,edges,refs,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: edges(*)
INTEGER(MMG5F_INT), INTENT(IN) :: refs(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1172 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1863 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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,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 65 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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,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 70 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 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
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: iparam
INTEGER(MMG5F_INT), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2109 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1750 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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. |
Get values of the ith field of the solution array by array (i from 1 to nb_sols).
SUBROUTINE MMG3D_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 1807 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 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
INTEGER(MMG5F_INT), INTENT(IN):: ref
REAL(KIND=8), INTENT(IN) :: hmin,hmax,hausd
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2430 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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. Base 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 MMG3D_SET_LSBASEREFERENCE(mesh,sol,br,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT) :: br
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2523 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_meshSize | ( | MMG5_pMesh | mesh, |
MMG5_int | np, | ||
MMG5_int | ne, | ||
MMG5_int | nprism, | ||
MMG5_int | nt, | ||
MMG5_int | nquad, | ||
MMG5_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(MMG5F_INT) :: np,ne,nprism,nt,nquad,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 260 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_SET_MULTIMAT(mesh,sol,ref,split,rin,rex,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: split
INTEGER(MMG5F_INT), INTENT(IN):: ref,rin,rex
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 2519 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1376 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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,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 74 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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,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 79 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_parallelTriangle | ( | MMG5_pMesh | mesh, |
MMG5_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). (k from 1 to nb_tria included).
SUBROUTINE MMG3D_SET_PARALLELTRIANGLE(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 1314 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_parallelTriangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | parIdx, | ||
MMG5_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(MMG5F_INT), DIMENSION(*),INTENT(IN) :: parIdx
INTEGER(MMG5F_INT), INTENT(IN) :: npar
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1330 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_prism | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | v2, | ||
MMG5_int | v3, | ||
MMG5_int | v4, | ||
MMG5_int | v5, | ||
MMG5_int | ref, | ||
MMG5_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 (from 1 to nb_prisms included).
SUBROUTINE MMG3D_SET_PRISM(mesh,v0,v1,v2,v3,v4,v5,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,v3,v4,v5,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 713 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_prisms | ( | MMG5_pMesh | mesh, |
MMG5_int * | prisms, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
prisms | vertices of the prisms of the mesh Vertices of the prism are stored in prism[(i-1)*6]@6. |
refs | table of the prisms references. References of the prisms is stored in refs[i-1]. |
Set vertices and references of the mesh prisms.
! SUBROUTINE MMG3D_SET_PRISMS(mesh,prisms,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT), DIMENSION(*), INTENT(IN) :: prisms
! INTEGER(MMG5F_INT), DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 799 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_quadrilateral | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | v2, | ||
MMG5_int | v3, | ||
MMG5_int | ref, | ||
MMG5_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 (from 1 to nb_quadrangles included).
SUBROUTINE MMG3D_SET_QUADRILATERAL(mesh,v0,v1,v2,v3,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,v3,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 977 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_quadrilaterals | ( | MMG5_pMesh | mesh, |
MMG5_int * | quads, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
quads | pointer toward the table of the quads vertices Vertices of the quadra are stored in quads[(i-1)*3]@3. |
refs | pointer toward the table of the quadrilateral references. refs[i-1] is the ref of the quadra. |
Set vertices and references of the mesh quadrilaterals.
! SUBROUTINE MMG3D_SET_QUADRILATERALS(mesh,quads,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: quads
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 1050 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredEdge | ( | MMG5_pMesh | mesh, |
MMG5_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(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1364 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredTetrahedra | ( | MMG5_pMesh | mesh, |
MMG5_int * | reqIdx, | ||
MMG5_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(MMG5F_INT), DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER(MMG5F_INT), INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1256 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredTetrahedron | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | element index. |
Set element k as required (k from 1 to nb_tetra included).
SUBROUTINE MMG3D_SET_REQUIREDTETRAHEDRON(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 1244 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Set triangle k as required (k from 1 to nb_tria included).
SUBROUTINE MMG3D_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 1276 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredTriangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | reqIdx, | ||
MMG5_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(MMG5F_INT), DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER(MMG5F_INT), INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1292 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_requiredVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Set point k as required (k from 1 to nb_vertices included).
SUBROUTINE MMG3D_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 1231 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_ridge | ( | MMG5_pMesh | mesh, |
MMG5_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(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1352 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1430 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1494 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 vertices |
typSol | Array of size nsols 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 MMG3D_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 157 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 a solution field: set dimension, types and number of data. To use to initialize a metric, a level-set or a displacement field.
SUBROUTINE MMG3D_SET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT), INTENT(IN):: np
INTEGER, INTENT(IN) :: typEntity,typSol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 112 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 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(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1627 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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 by array.
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
Definition at line 1705 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_tetrahedra | ( | MMG5_pMesh | mesh, |
MMG5_int * | tetra, | ||
MMG5_int * | refs | ||
) |
mesh | pointer toward the mesh structure. |
tetra | vertices of the tetras of the mesh Vertices of the tetra are stored in tetra[(i-1)*4]@4. |
refs | table of the tetrahedra references. References of the tetra is stored in refs[i-1]. |
Set vertices and references of the mesh tetrahedra.
! SUBROUTINE MMG3D_SET_TETRAHEDRA(mesh,tetra,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT), DIMENSION(*), INTENT(IN) :: tetra
! INTEGER(MMG5F_INT), DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 631 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Set_tetrahedron | ( | MMG5_pMesh | mesh, |
MMG5_int | v0, | ||
MMG5_int | v1, | ||
MMG5_int | v2, | ||
MMG5_int | v3, | ||
MMG5_int | ref, | ||
MMG5_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 (from 1 to nb_tetra included).
SUBROUTINE MMG3D_SET_TETRAHEDRON(mesh,v0,v1,v2,v3,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,v3,pos
INTEGER(MMG5F_INT), INTENT(IN):: ref
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 517 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 (from 1 to nb_triangle included).
SUBROUTINE MMG3D_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 858 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_SET_TRIANGLES(mesh,tria,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: tria
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 934 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 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(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1520 of file API_functions_3d.c.
LIBMMG3D_EXPORT 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
Definition at line 1589 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 (from 1 to nb_vertices included).
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(MMG5F_INT), INTENT(IN):: ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 358 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_SET_VERTICES(mesh,vertices,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8), INTENT(IN) :: vertices(*)
! INTEGER(MMG5F_INT),INTENT(IN) :: refs(*)
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE
Definition at line 454 of file API_functions_3d.c.
LIBMMG3D_EXPORT void MMG3D_setfunc | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
To associate function pointers without calling MMG3D_mmg3dlib
mesh | pointer toward the mesh structure (unused). |
met | pointer toward the sol structure (unused). |
Set function pointers for caltet, lenedg, lenedgCoor defsiz, gradsiz... depending if the readed metric is anisotropic or isotropic
SUBROUTINE MMG3D_SETFUNC(mesh,met)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
END SUBROUTINE
Definition at line 41 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_stockOptions | ( | MMG5_pMesh | mesh, |
MMG5_Info * | info | ||
) |
mesh | pointer toward the mesh structure. |
info | pointer toward the info structure. |
Store the info structure in the mesh structure.
SUBROUTINE MMG3D_STOCKOPTIONS(mesh,info,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 983 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_switch_metricStorage | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
mesh | pointer toward the mesh structure |
met | pointer toward the sol structure |
Switch the m22 and m23 value of the metric to allow to pass from the API storage to the medit one.
SUBROUTINE MMG3D_SWITCH_METRICSTORAGE(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1523 of file libmmg3d_tools.c.
LIBMMG3D_EXPORT int MMG3D_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 MMG3D_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 1225 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_parallelTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Remove parallel attribute from triangle k (ie tria aren't preserved anymore). (k from 1 to nb_tria included).
SUBROUTINE MMG3D_UNSET_PARALLELTRIANGLE(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 1322 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_parallelTriangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | parIdx, | ||
MMG5_int | npar | ||
) |
mesh | pointer toward the mesh structure. |
parIdx | table of the indices of the parallel trias. |
npar | number of triangles between processors. |
Remove parallel attributes from triangles (ie tria aren't preserved anymore).
SUBROUTINE MMG3D_UNSET_PARALLELTRIANGLES(mesh,parIdx,npar,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), DIMENSION(*),INTENT(IN) :: parIdx
INTEGER(MMG5F_INT), INTENT(IN) :: npar
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1341 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredEdge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Remove required attribute from edge k.
SUBROUTINE MMG3D_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 1370 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTetrahedra | ( | MMG5_pMesh | mesh, |
MMG5_int * | reqIdx, | ||
MMG5_int | nreq | ||
) |
mesh | pointer toward the mesh structure. |
reqIdx | table of the indices of the required elements. |
nreq | number of required elements |
Remove required attribute from a list of Tetra whose indices are contained in array reqIdx.
SUBROUTINE MMG3D_UNSET_REQUIREDTETRAHEDRA(mesh,reqIdx,nreq,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER(MMG5F_INT), INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1266 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTetrahedron | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | element index. |
Remove required attribute from element k (k from 1 to nb_tetra included).
SUBROUTINE MMG3D_UNSET_REQUIREDTETRAHEDRON(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 1250 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTriangle | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | triangle index. |
Remove required attribute from triangle k.
SUBROUTINE MMG3D_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 1284 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTriangles | ( | MMG5_pMesh | mesh, |
MMG5_int * | reqIdx, | ||
MMG5_int | nreq | ||
) |
mesh | pointer toward the mesh structure. |
reqIdx | table of the indices of the required trias. |
nreq | number of required trias |
Remove required attribute from triangles
SUBROUTINE MMG3D_UNSET_REQUIREDTRIANGLES(mesh,reqIdx,nreq,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), DIMENSION(*),INTENT(IN) :: reqIdx
INTEGER(MMG5F_INT), INTENT(IN) :: nreq
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 1303 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_requiredVertex | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | vertex index. |
Remove required attribute from point k.
SUBROUTINE MMG3D_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 1238 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_Unset_ridge | ( | MMG5_pMesh | mesh, |
MMG5_int | k | ||
) |
mesh | pointer toward the mesh structure. |
k | edge index. |
Remove ridge attribute at edge k.
SUBROUTINE MMG3D_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 1358 of file API_functions_3d.c.
LIBMMG3D_EXPORT int MMG3D_usage | ( | char * | prog | ) |
prog | pointer toward the program name. |
return | 1 if success, 0 if fail. |
Print help for mmg3d options.
SUBROUTINE MMG3D_USAGE(prog,strlen0,retval)
CHARACTER(LEN=*), INTENT(IN) :: prog
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 132 of file libmmg3d_tools.c.
|
extern |
mesh | pointer toward the mesh structure |
met | pointer toward the sol structure |
Compute isotropic size map according to the mean of the length of the edges passing through a point.
SUBROUTINE MMG3D_DOSOL(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 11 of file mmg3dexterns.c.
|
extern |
ca | pointer toward the coordinates of the first edge's extremity. |
cb | pointer toward the coordinates of the second edge's extremity. |
ma | pointer toward the metric associated to the first edge's extremity. |
mb | pointer toward the metric associated to the second edge's extremity. |
Compute length of edge (with ca and cb coordinates of edge extremities) according to the size prescription.
SUBROUTINE MMG3D_LENEDGCOOR(ca,cb,sa,sb,retval)
REAL(KIND=8), INTENT(IN) :: ca,cb,sa,sb
REAL(KIND=8), INTENT(OUT) :: retval
END SUBROUTINE
Definition at line 10 of file mmg3dexterns.c.