void tcheck_mesh3d (mesh, epsillon, status)
Tmesh3D *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.
Attention pour le maillage hexaédrique, le vérificateur considére que les facettes sont planes, si ce critère n'est pas réalisé, le résultat de la vérification sera aléatoire.
Cette fonction ne verifie pas les maillages de type :
TNS_MESH_OF_HEXAEDRONS
TNS_MESH_OF_TETRAEDRONS
TNS_MESH_NON_HOMO_3D
Les controles suivants sont effectués
- maillage rectangulaire : TPARALLELEPIPEDIC_MESH
num_x > 1, num_y > 1 et num_z > 1
liste des x strictement croissante ou strictement décroissante
liste des y strictement croissante ou strictement décroissante
liste des z strictement croissante ou strictement décroissante
- maillage hexaédrique : THEXAEDRAL_MESH
num_x > 1, num_y > 1 et num_z > 1
vérification géométrique de chaque maille : les 6 faces d'une maille ne doivent pas s'intersecter autrement que par une arete de la maille, ainsi que pour les faces des mailles voisines
- maillage cylindrique : TCYLINDRICAL_MESH
num_r > 1, num_z > 1 et num_p > 1
liste des r strictement croissante
liste des z strictement croissante ou strictement décroissante
liste des p strictement croissante ou strictement décroissante
p[num_p-1] - p[0] < 2[pi] ou p[0] - p[num_p-1] <2 [pi]
- maillage sphérique : TSPHERICAL_MESH
num_r > 1, num_p > 1 et num_t > 1
liste des r strictement croissante
liste des p strictement croissante ou strictement décroissante
liste des t strictement croissante ou strictement décroissante
p[num_p-1] - p[0] < 2[pi] ou p[0] - p[num_p-1] <2 [pi]
0 < t[i] < [pi] pour tout i < num_t