1 : C TRJTRI SOURCE CHAT 05/01/13 03:51:33 5004 2 : SUBROUTINE TRJTRI(IZNOEU,IZTRAV,IZAPAR,NPAPAR,J,IEL,INOELO,TLI) 3 : C 4 : C********************************************************************** 5 : C 6 : C OBJET : CE SOUS-PROGRAMME CALCULE L'APPARTENANCE DE POINTS A UN 7 : C ----- ELEMENT TRIANGULAIRE D'UN MAILLAGE M1. 8 : C issu de TRIOEF utilise dans le calcul des trajectoires 9 : C 10 : C ARGUMENTS: 11 : C --------- 12 : C 13 : C ENTREE : IZNOEU = POINTEUR DU SEGMENT CONTENANT LES COORDONNES 14 : C DES NOEUDS ET LES NUMEROS DE NOEUDS DE L ELEMENT 15 : C IZTRAV = POINTEUR DU SEGMENT CONTENANT LES COORDONNEES 16 : C DES POINTS DONT ON CHERCHE L'APPARTENANCE 17 : C IZAPAR = POINTEUR DU SEGMENT QUI CONTIENDRA LES 18 : C APPARTENANCES 19 : C NPAPAR = NOMBRE DE POINTS APPARTENANT A UN ELEMENT 20 : C IEL = NUMERO GLOBAL DE L'ELEMENT DANS LE MAILLAGE 21 : C J = NUMERO DU POINT TRAITE 22 : C 23 : C INOELO = NUMERO LOCAL SI LE POINT CHERCHE EST UN NOEUD 24 : C DU TRIANGLE CONSIDERE 25 : C TLI COORDONNEES BARYCENTRIQUES DU POINT CONSIDERE 26 : C 27 : C*********************************************************************** 28 : C 29 : IMPLICIT INTEGER(I-N) 30 : IMPLICIT REAL*8 (A-H,O-Z) 31 : DIMENSION X(2),TLI(*) 32 : C 33 : SEGMENT IZAPAR 34 : INTEGER IAPAR(4,NPT2) 35 : ENDSEGMENT 36 : C 37 : SEGMENT IZTRAV 38 : REAL*8 COOR(NDIM,NPART) 39 : ENDSEGMENT 40 : SEGMENT IZNOEU 41 : REAL*8 XELE(IDIM,NOEL) 42 : INTEGER NOEGLO(NOEL) 43 : ENDSEGMENT 44 : C 45 : IDIM=XELE(/1) 46 : NOEL=XELE(/2) 47 : INOELO=0 48 : IF(NOEL.GT.3) GO TO 20 49 : C 50 : C--- CAS TRI3 51 : C 52 : IF(IAPAR(1,J).NE.0) GO TO 9999 53 : X(1)=COOR(1,J) 54 : X(2)=COOR(2,J) 54 : CALL APAT3(X,XELE,IELEM,IARTRI,INOTRI,TLI) 55 : IF(IELEM.EQ.0) GO TO 9999 56 : C 57 : C--- LE POINT APPARTIENT A L'ELEMENT 58 : C 59 : NPAPAR=NPAPAR+1 60 : IAPAR(1,J)=IEL 61 : C 62 : C--- APPARTENANCE A UNE ARETE DU TRI3 63 : C 64 : IF(IARTRI.EQ.0) GO TO 9999 65 : IAPAR(3,J)=IARTRI 66 : C 67 : C--- APPARTENANCE A UN NOEUD DU TRI3 68 : C 69 : IF(INOTRI.EQ.0) GO TO 9999 70 : INOELO=INOTRI 71 : IAPAR(4,J)=NOEGLO(INOTRI) 72 : GO TO 9999 73 : C 74 : C--- CAS TRI6-TRI7 75 : C 76 : 20 CONTINUE 77 : IF(IAPAR(1,J).NE.0) GO TO 9999 78 : X(1)=COOR(1,J) 79 : X(2)=COOR(2,J) 79 : CALL APAT67(NOEL,X,XELE,IELEM,IARTRI,INOTRI,TLI) 80 : IF(IELEM.EQ.0) GO TO 9999 81 : C 82 : C--- LE POINT APPARTIENT A L'ELEMENT 83 : C 84 : NPAPAR=NPAPAR+1 85 : IAPAR(1,J)=IEL 86 : C 87 : C--- APPARTENANCE A UNE ARETE DU TRI6 OU TRI7 88 : C 89 : IF(IARTRI.EQ.0) GO TO 9999 90 : IAPAR(3,J)=IARTRI 91 : C 92 : C--- APPARTENANCE A UN NOEUD DU TRI6 OU TRI7 93 : C 94 : IF(INOTRI.EQ.0) GO TO 9999 95 : INOELO=INOTRI 96 : IAPAR(4,J)=NOEGLO(INOTRI) 97 : C 98 : C 99 : 9999 RETURN 100 : END 101 :
© Cast3M 2003 - All rights reserved.
Disclaimer