mmgs
|
Tools functions for the mmgs library. More...
Tools functions for the mmgs library.
int MMGS_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 MMGS_COMPUTE_EIGENV(m,lambda,vp,retval)
REAL(KIND=8), INTENT(IN) :: m(*)
REAL(KIND=8), INTENT(OUT) :: lambda(*),vp(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_defaultValues | ( | MMG5_pMesh | mesh | ) |
mesh | pointer toward the mesh structure. |
Print the default parameters values.
SUBROUTINE MMGS_DEFAULTVALUES(mesh,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
void MMGS_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 MMGS_DESTOCKOPTIONS(mesh,info)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
END SUBROUTINE
int MMGS_doSol | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
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 MMGS_DOSOL(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
void MMGS_Free_solutions | ( | MMG5_pMesh | mesh, |
MMG5_pSol | sol | ||
) |
mesh | pointer toward the mesh structure |
sol | pointer toward the solution structure |
Free the solution.
SUBROUTINE MMGS_FREE_SOLUTIONS(mesh,sol)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
END SUBROUTINE
int MMGS_freeLocalPar | ( | MMG5_pMesh | mesh | ) |
int MMGS_Get_adjaTri | ( | MMG5_pMesh | mesh, |
int | kel, | ||
int | listri[3] | ||
) |
Return adjacent elements of a triangle.
mesh | pointer toward the mesh structure. |
kel | triangle index. |
listri | pointer toward the table of the indices of the three adjacent triangles of the elt kel (the index is 0 if there is no adjacent). |
Find the indices of the 3 adjacent elements of triangle kel. if the
face has no adjacent element (so we are on a boundary face).
SUBROUTINE MMGS_GET_ADJATRI(mesh,kel,listri,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: kel
INTEGER, DIMENSION(3), INTENT(OUT) :: listri
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_Get_adjaVerticesFast | ( | MMG5_pMesh | mesh, |
int | ip, | ||
int | start, | ||
int | lispoi[MMGS_LMAX] | ||
) |
Return adjacent elements of a triangle.
mesh | pointer toward the mesh structure. |
ip | vertex index. |
start | index of a triangle holding ip. |
lispoi | pointer toward an array of size MMGS_LMAX that will contain the indices of adjacent vertices to the vertex ip. |
Find the indices of the adjacent vertices of the vertex ip of the triangle start.
SUBROUTINE MMGS_GET_ADJAVERTICESFAST(mesh,ip,start,lispoi,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
INTEGER, INTENT(IN) :: ip,start
INTEGER, DIMENSION(MMGS_LMAX), INTENT(OUT) :: lispoi
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_Get_nonBdyEdge | ( | MMG5_pMesh | mesh, |
int * | e0, | ||
int * | e1, | ||
int * | ref, | ||
int | idx | ||
) |
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. |
idx | index of the non boundary edge to get (between 1 and nb_edges) |
Get extremities e0, e1 and reference ref of the idx^th non boundary edge (for DG methods for example). An edge is boundary if it is located at the interface of 2 domains witch different references, if it belongs to one triangle only or if it is a singular edge (ridge or required).
SUBROUTINE MMGS_GET_NONBDYEDGE(mesh,e0,e1,ref,idx,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: e0,e1
INTEGER :: ref
INTEGER, INTENT(IN) :: idx
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_Get_numberOfNonBdyEdges | ( | MMG5_pMesh | mesh, |
int * | nb_edges | ||
) |
mesh | pointer toward the mesh structure. |
nb_edges | pointer toward the number of non boundary edges. |
Get the number of non boundary edges (for DG methods for example). An edge is boundary if it is located at the interface of 2 domains with different references, if it belongs to one triangle only or if it is a singular edge (ridge or required).
SUBROUTINE MMGS_GET_NUMBEROFNONBDYEDGES(mesh,nb_edges,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER, INTENT(OUT) :: nb_edges
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_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 the sol structure. |
sol | pointer toward a level-set or displacement |
Store command line arguments.
int MMGS_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 MMGS_SET_CONSTANTSIZE(mesh,met,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
void MMGS_setfunc | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met | ||
) |
To associate function pointers without calling MMGS_mmgslib
mesh | pointer toward the mesh structure (unused). |
met | pointer toward the sol structure (unused). |
Set function pointers for caltet, lenedg, defsiz and gradsiz.
SUBROUTINE MMGS_SETFUNC(mesh,met)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,met
END SUBROUTINE
int MMGS_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 MMGS_STOCKOPTIONS(mesh,info,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,info
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE
int MMGS_usage | ( | char * | prog | ) |
prog | pointer toward the program name. |
Print help for mmgs options.
SUBROUTINE MMGS_USAGE(prog,strlen0,retval)
CHARACTER(LEN=*), INTENT(IN) :: prog
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE