Télécharger trjtri.eso

Retour à la liste

Numérotation des lignes :

trjtri
  1. C TRJTRI SOURCE PV 22/04/19 16:18:15 11344
  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(3),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)
  55. CALL APAT3(X,XELE,IELEM,IARTRI,INOTRI,TLI)
  56. IF(IELEM.EQ.0) GO TO 9999
  57. C
  58. C--- LE POINT APPARTIENT A L'ELEMENT
  59. C
  60. NPAPAR=NPAPAR+1
  61. IAPAR(1,J)=IEL
  62. C
  63. C--- APPARTENANCE A UNE ARETE DU TRI3
  64. C
  65. IF(IARTRI.EQ.0) GO TO 9999
  66. IAPAR(3,J)=IARTRI
  67. C
  68. C--- APPARTENANCE A UN NOEUD DU TRI3
  69. C
  70. IF(INOTRI.EQ.0) GO TO 9999
  71. INOELO=INOTRI
  72. IAPAR(4,J)=NOEGLO(INOTRI)
  73. GO TO 9999
  74. C
  75. C--- CAS TRI6-TRI7
  76. C
  77. 20 CONTINUE
  78. IF(IAPAR(1,J).NE.0) GO TO 9999
  79. X(1)=COOR(1,J)
  80. X(2)=COOR(2,J)
  81. CALL APAT67(NOEL,X,XELE,IELEM,IARTRI,INOTRI,TLI)
  82. IF(IELEM.EQ.0) GO TO 9999
  83. C
  84. C--- LE POINT APPARTIENT A L'ELEMENT
  85. C
  86. NPAPAR=NPAPAR+1
  87. IAPAR(1,J)=IEL
  88. C
  89. C--- APPARTENANCE A UNE ARETE DU TRI6 OU TRI7
  90. C
  91. IF(IARTRI.EQ.0) GO TO 9999
  92. IAPAR(3,J)=IARTRI
  93. C
  94. C--- APPARTENANCE A UN NOEUD DU TRI6 OU TRI7
  95. C
  96. IF(INOTRI.EQ.0) GO TO 9999
  97. INOELO=INOTRI
  98. IAPAR(4,J)=NOEGLO(INOTRI)
  99. C
  100. C
  101. 9999 RETURN
  102. END
  103.  
  104.  
  105.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales