void tcheck_mesh2D (mesh, epsilon, status)
Tmesh2D *mesh; Pfloat epsilon;
Pint *status;
La valeur status vaut 0, si le maillage est incorrecte, 1 sinon.
La valeur epsilon est utile lorsque la vérification géométrique du maillage compare des réels. On considére que deux réels sont identiques si la valeur absolue de leur différence est inférieure à epsilon.
Cette fonction ne verifie pas les maillages de type :
TNS_OF_TRIANGLES
TNS_OF_QUADRANGLES
TNS_MESH_NON_HOMO_2D
Les controles suivants sont effectués
- maillage rectangulaire : TRECTANGULAR_MESH
num_x > 1 et num_y > 1
liste des x strictement croissante ou strictement décroissante
liste des y strictement croissante ou strictement décroissante
- maillage quadrangulaire : TQUADRANGULAR_MESH
num_x > 1 et num_y > 1
verification qu'aucun élément forme un 8, et qu'aucun élement recouvre un autre élément du maillage
- maillage polaire : TPOLAR_MESH
num_r > 1 et num_t > 1
liste des r strictement croissante
liste des t strictement croissante
t[num_t-1] - t[0] < 2[pi]
- maillage secteur : TSECTOR_MESH
num_r > 1 et num_t > 1
liste des r strictement croissante
liste des t strictement croissante
t[num_t-1] - t[0] < 2 [pi]
- maillage triangulaire : TTRIANGULAR_MESH
arete inexistante (c'est à dire triangle_edge[i][j] >= num_edges ou < 0)
triangle ayant 2 aretes identiques
arete ayant 2 triangles propriétaires identiques
triangle inexistant (c'est à dire edge_owner[0/1][i] >= num_triangles ou < -1)
sommet inexistant (c'est à dire edge_vertex [0/1][i] >= num_vertices ou < 0)
vérification que 2 triangles différents ont au maximum une arete commune
vérification que 2 aretes différentes n'ont pas les mêmes triangles propriétaires
vérification que 2 aretes différentes n'ont pas les mêmes sommets
vérification qu'aucune arete ne s'intersecte