C APAT3 SOURCE CHAT 05/01/12 21:22:35 5004 SUBROUTINE APAT3(X,XELTRI,IELEM,IARTRI,INOTRI,TLI) C C********************************************************************** C C OBJET : CE SOUS-PROGRAMME RECHERCHE L'APPARTENANCE D'UN POINT C ----- A UN TRI3 C C ARGUMENTS: C --------- C C ENTREE : IDIM = DIMENSION DE L'ESPACE C X = TABLEAU DES COORDONNEES DU POINT C XELTRI = TABLEAU DES COORDONNEES DU TRI3 C C SORTIE : IELEM = 0 SI LE POINT N'APPARTIENT PAS A L'ELEMENT C = 1 SI LE POINT APPARTIENT A L'ELEMENT C IARTRI = 0 SI LE POINT N'APPARTIENT PAS A UNE ARETE C = N NUMERO DE L'ARETE SINON C INOTRI = 0 SI LE POINT N'APPARTIENT PAS A UN NOEUD C = N NUMERO DU NOEUD SINON C C*********************************************************************** C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION X(1),XELTRI(2,1),IART(3) DIMENSION TLI(3) C DATA IART/2,3,1/ C IART numero local de l arete opose au noeud I C IDIM=2 IELEM=0 IARTRI=0 INOTRI=0 NOEU=3 C EPS=1.D-5 EPS=1.D-10 UN=1.D0+EPS C C*** CALCUL DES COORDONNEES BARYCENTRIQUES C CALL COBAR3(X,XELTRI,TLI) C C IF(TLI(1).LT.-EPS.OR.TLI(1).GT.UN)GO TO 9999 IF(TLI(2).LT.-EPS.OR.TLI(2).GT.UN)GO TO 9999 IF(TLI(3).LT.-EPS.OR.TLI(3).GT.UN)GO TO 9999 C LE POINT APPARTIENT A L ELEMENT IELEM=1 C*** RECHERCHE DE L'APPARTENANCE A UNE ARETE C DO 50 I=1,NOEU IARTRI=IART(I) VAL=ABS(TLI(I)) IF(VAL.LE.EPS) GO TO 60 50 CONTINUE IARTRI=0 GO TO 9999 C C*** RECHERCHE DE L'APPARTENANCE A UN NOEUD DE L'ARETE C 60 CONTINUE DO 70 I=1,3 INOTRI=I VAL=ABS(TLI(INOTRI)-1.D0) IF(VAL.LE.EPS) GO TO 9999 70 CONTINUE INOTRI=0 9999 RETURN END