apatet
C APATET SOURCE PV 22/04/15 13:20:05 11344 C C********************************************************************** C C OBJET : CE SOUS-PROGRAMME RECHERCHE L'APPARTENANCE D'UN POINT C ----- A UN TETRAEDRE DE REFERENCE. C C ARGUMENTS: C --------- C C ENTREE : IDIM = DIMENSION DE L'ESPACE C X = TABLEAU DES COORDONNEES DU POINT C XELTET = TABLEAU DES COORDONNEES DU TETRAEDRE C C SORTIE : IELEM = 0 SI LE POINT N'APPARTIENT PAS A L'ELEMENT C = 1 SI LE POINT APPARTIENT A L'ELEMENT C IFACE = 0 SI LE POINT N'APPARTIENT PAS A UNE FACE C = N NUMERO DE LA FACE SINON C IARTET = 0 SI LE POINT N'APPARTIENT PAS A UNE ARETE C = N NUMERO DE L'ARETE SINON C INOTET = 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(3),XELTET(3,1),NUARET(3,4),NUTL(3,4), * NUNOE(2,6),NFAC(4),TLI(4) C C DATA NUARET/ 1,3,6, 1,4,2, 6,4,5 ,2,5,3/ DATA NUTL / 4,2,1, 3,1,2, 3,4,2, 4,1,3 / DATA NUNOE/1,2, 1,3, 1,4, 2,3, 3,4, 4,2/ DATA NFAC /3,4,1,2/ C IDIM=3 IELEM=0 IFATET=0 IARTET=0 INOTET=0 NOEU=4 C EPS=1.D-5 EPS=1.D-10 UN=1.D0+EPS C C*** CALCUL DES COORDONNEES BARYCENTRIQUES 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 IF(TLI(4).LT.-EPS.OR.TLI(4).GT.UN)GO TO 9999 C C*** LE POINT APPARTIENT A L'ELEMENT C IELEM=1 C*** RECHERCHE DE L'APPARTENANCE A UNE FACE C 60 CONTINUE C WRITE(6,*)' TLI ',TLI(1),TLI(2),TLI(3),TLI(4) DO 70 I=1,NOEU IFATET=NFAC(I) VAL=ABS(TLI(I)) IF(VAL.LE.EPS) GO TO 80 70 CONTINUE IFATET=0 GO TO 9999 C C*** RECHERCHE DE L'APPARTENANCE A UNE ARETE DE LA FACE C 80 CONTINUE DO 90 I=1,3 ILI=NUTL(I,IFATET) IARTET=NUARET(I,IFATET) VAL=ABS(TLI(ILI)) IF(VAL.LE.EPS) GO TO 100 90 CONTINUE IARTET=0 GO TO 9999 C C*** RECHERCHE DE L'APPARTENANCE A UN NOEUD DE L'ARETE C 100 CONTINUE DO 110 I=1,2 INOTET=NUNOE(I,IARTET) VAL=ABS(TLI(INOTET)-1.) IF(VAL.LE.EPS) GO TO 9999 110 CONTINUE INOTET=0 9999 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales