Télécharger empele.eso

Retour à la liste

Numérotation des lignes :

empele
  1. C EMPELE SOURCE BP208322 16/11/18 21:16:42 9177
  2. SUBROUTINE EMPELE(I,ITELAC,INUMAT,ICONVE,LISTMA,ICONNT)
  3.  
  4. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  5. C
  6. C But : Empiler correctement dans le segment LISTMA
  7. C l'élément qui vient d'être lu
  8. C
  9. C Appelé par : LIRAVS
  10. C
  11. C Paramètres :
  12. C
  13. C I : numéro global de l'élément (entrée)
  14. C
  15. C ITELAC : ITYPEL de l'élément (entrée)
  16. C
  17. C INUMAT : numéro du matériau de l'élément (entrée)
  18. C
  19. C ICONVE : tableau de conversion des connectivités (entrée)
  20. C
  21. C LISTMA : segment LISTMA (entrée et sortie)
  22. C
  23. C ICONNT : connectivités du nouvel élément (entrée)
  24. C
  25. C Auteur : Michel Bulik
  26. C Octobre 1994
  27. C
  28. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  29.  
  30. IMPLICIT INTEGER(I-N)
  31. -INC CCGEOME
  32. -INC SMELEME
  33.  
  34. INTEGER I,ITELAC,INUMAT,ICONVE(*),ICONNT(*)
  35.  
  36. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  37.  
  38. SEGMENT LISTMA
  39. POINTEUR PTMA(NBSZEL).MELEME
  40. INTEGER MATER(NBSZEL)
  41. INTEGER TYPDEL(NBSZEL)
  42. INTEGER NUMEMA(NOMBEL)
  43. INTEGER NUMELE(NOMBEL)
  44. ENDSEGMENT
  45.  
  46. C
  47. C Description du segment LISTMA (LISTe des MAillages)
  48. C
  49. C Paramètres : NBSZEL - NomBre de Sous Zones ELémentaires
  50. C NOMBEL - NOMBre total des ELéments
  51. C
  52. C Tableaux : PTMA - PoinTeurs sur des MAillages élémentaires
  53. C MATER - numéros des MATERiaux des sous-zones
  54. C TYPDEL - TYPes Des ELéments des sous-zones (=ITYPEL)
  55. C NUMEMA - NUMEros des MAillages auquels appartiennent
  56. C les éléments (1..NBSZEL)
  57. C NUMELE - le NUMéro de l'ELEment dans sa sous zone
  58. C
  59. C Remarque : On ne touche pas à son état (actif ou non) dans cette
  60. C subroutine, on s'en occupe dans LIRAVS
  61. C
  62. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  63.  
  64. NBSZEL = LISTMA.MATER(/1)
  65. NOMBEL = LISTMA.NUMEMA(/1)
  66.  
  67. C ... Boucle sur les sous-zones existantes ...
  68. DO 5400 K=1,NBSZEL
  69. C ... On vérifie si l'élément appartient à une d'elles ...
  70. IF(ITELAC.EQ.(LISTMA.TYPDEL(K)).AND.
  71. & INUMAT.EQ.(LISTMA.MATER(K))) THEN
  72. C ... Si OUI, on l'empile là où il faut ...
  73. IPT3=LISTMA.PTMA(K)
  74. SEGACT IPT3
  75. NBELEM=IPT3.NUM(/2)
  76. NBELEM=NBELEM+1
  77. NBNN=IPT3.NUM(/1)
  78. NBSOUS=0
  79. NBREF=0
  80. SEGADJ IPT3
  81. IPT3.ICOLOR(NBELEM)=MOD(K-1,7)+1
  82. LISTMA.NUMEMA(I)=K
  83. GOTO 5401
  84. ENDIF
  85. 5400 CONTINUE
  86. C ... Sinon (c.à.d. on n'a pas trouvé) -> nouveau maillage ...
  87. NBSZEL=NBSZEL+1
  88. SEGADJ LISTMA
  89. LISTMA.TYPDEL(NBSZEL)=ITELAC
  90. LISTMA.MATER(NBSZEL)=INUMAT
  91. NBNN=NBNNE(ITELAC)
  92. NBELEM=1
  93. NBSOUS=0
  94. NBREF=0
  95. SEGINI IPT3
  96. LISTMA.PTMA(NBSZEL)=IPT3
  97. IPT3.ITYPEL=ITELAC
  98. C ... Les couleurs des nouveaux maillages valent 1, 2, ..., 7, 1, etc
  99. IPT3.ICOLOR(NBELEM)=MOD(NBSZEL-1,7)+1
  100. LISTMA.NUMEMA(I)=NBSZEL
  101. 5401 CONTINUE
  102. C ... Partie commune dans les deux cas ...
  103. LISTMA.NUMELE(I)=NBELEM
  104. DO 5402 K=1,NBNN
  105. IPT3.NUM(K,NBELEM)=ICONNT(ICONVE(K))
  106. 5402 CONTINUE
  107. SEGDES IPT3
  108.  
  109. RETURN
  110. END
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  

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