Télécharger tma1cc.eso

Retour à la liste

Numérotation des lignes :

tma1cc
  1. C TMA1CC SOURCE CHAT 06/03/29 21:35:47 5360
  2. C
  3. C
  4. C
  5. SUBROUTINE TMA1CC(IDE,ITRTRI,NBCMAX,IND,NBE,
  6. > IT,ITVL,ITRAMA,NBITL,ICON,NBICON,iarr)
  7. C **************************************************************
  8. C OBJET :
  9. C CALCUL DES ELEMENTS APPARTENANT A UN ENSEMBLE
  10. C DE MAILLES CONSECUTIVES ET CONNEXE AVEC 1 ELEMENT DONNE
  11. C EN ENTREE:
  12. C IDE : (1..3) DIMENSION DES ELEMENTS
  13. C ITRTRI: LES VOISINS DES ELEMENTS
  14. C NBCMAX : (2..6) NOMBRE DE COTES MAXIMUM DES ELEMENTS
  15. C IND : INDICE DU PREMIER ELEMENT DE L'ENSEMBLE
  16. C NBE : NOMBRE D'ELEMENTS DE L'ENSEMBLE
  17. C IT : L'ELEMENT DE DEPART
  18. C ITVL,NBITL : TABLEAU DE TRAVAIL NBITL < N*NBE
  19. C ITRAMA : " " " " DE TAILLE = NBE
  20. C EN SORTIE:
  21. C ICON : LISTE DES ELEMENTS CONNEXES AVEC IT
  22. C NBICON : NBRE D'ELEMENTS DE ICON
  23. C iarr : CODE D'ERREUR 0 => OK, -2 => ITVL TROP PETIT
  24. C CONDITION D'APPLICATION : MAILLAGE MIXTE 1D,2D ET
  25. C ET TETRAEDRES
  26. C ATTENTION : ITRAMA DOIT ETRE INITIALISE
  27. C NORMALEMENT ITRAMA(0..NBE) = 0
  28. C SI ITRAMA(I)=1 ON CONSIDERE QUE L'ELEMENT I EST BLOQUANT
  29. C IT EST MIS DANS LA COMPOSANTE CONNEXE
  30. C ************************************************************
  31. IMPLICIT INTEGER(I-N)
  32. INTEGER IDE,ITRTRI(*),NBCMAX,IND,NBE
  33. INTEGER IT,ITRAMA(*),ITVL(*),NBITL,ICON(*),NBICON,iarr
  34. C
  35. INTEGER I,J, NBTRA, ITT
  36. C
  37. ITVL(1) = IT
  38. ITRAMA(IT) = 1
  39. NBTRA = 1
  40. iarr = 0
  41. C
  42. C ON BOUCLE TANTQUE ITVL N'EST PAS VIDE
  43. C ----------------------------------------
  44. 310 J = ITVL(NBTRA)
  45. NBTRA = NBTRA-1
  46. NBICON = NBICON+1
  47. ICON(NBICON) = J
  48. C ON MET LES VOISINS A TRAITER DANS ITVL
  49. C ------------------------------------------
  50. DO 350 I=1,NBCMAX
  51. ITT = ITRTRI(((J-1)*NBCMAX)+I)
  52. C IF((ITT.GT.IND).AND.(ITRAMA(ITT).NE.1))THEN
  53. C BUG2 O.STAB 03.08.95
  54. IF((ITT.GE.IND).AND.(ITRAMA(ITT).EQ.0))THEN
  55. NBTRA = NBTRA + 1
  56. IF( NBTRA .GT. NBITL )THEN
  57. iarr = -2
  58. GO TO 999
  59. ENDIF
  60. C
  61. ITVL(NBTRA) = ITT
  62. ITRAMA(ITT) = 1
  63. ENDIF
  64. 350 CONTINUE
  65. IF( NBTRA .NE. 0 )GO TO 310
  66. 999 END
  67.  
  68.  
  69.  
  70.  

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