Previous Next Up Title Contents General Index Functions Index Bookshelf

VERIFICATEUR DE MAILLAGE 2D

tcheck_mesh2D


SEQUENCE D'APPEL

void tcheck_mesh2D (mesh, epsilon, status)

PARAMETRES EN ENTREE

Tmesh2D	*mesh;
Pfloat	epsilon;

PARAMETRES EN SORTIE

Pint	*status;

ARGUMENTS

mesh
Maillage 2D
epsilon
Seuil de comparaison des réels
status
Statut d'erreur.

EFFET

Cet utilitaire permet de vérifier la conformité d'un maillage 2D par rapport aux spécifications de PHIGURE. Les maillages pouvant être vérifiés sont les maillages rectangulaires, polaires, secteur, quadrangulaires et triangulaires. Cette fonction génère un compte rendu de vérification, en explicitant le plus possible, les éventuels erreurs dans le maillage. Les messages du compte rendu sont écrits dans le fichier des erreurs spécifiés à l'ouverture de PHIGURE (cf topen_phigure)

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


Previous Next Up Title Contents General Index Functions Index Bookshelf