Télécharger clinb.eso

Retour à la liste

Numérotation des lignes :

clinb
  1. C CLINB SOURCE CB215821 26/08/24 21:15:34 12622
  2. SUBROUTINE CLINB
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C************************************************************************
  6. C Ce sp transforme des éléments QUAF pris
  7. C dans la liste ci-dessous
  8. C SEG3 TRI7 QUA9 CU27 PR21 TE15 PY19
  9. C 3 7 11 33 34 35 36
  10. C
  11. C en les éléments linéaires bulle construits à parir des sommets
  12. C
  13. C SEG2 TRI4 QUA5 CUB9 PRI7 TET5 PYR6
  14. C 2 5 9 48 49 50 51
  15. C************************************************************************
  16. -INC SMELEME
  17. POINTEUR MLINB.MELEME
  18.  
  19. CALL LIROBJ('MAILLAGE',MELEME,1,IRET)
  20. IF(IRET.EQ.0)RETURN
  21.  
  22. SEGACT MELEME
  23. NBSOU1=LISOUS(/1)
  24. IF(NBSOU1.EQ.0)NBSOU1=1
  25.  
  26. C write(6,*)'CLINB il y a a faire '
  27.  
  28. NBSOUS=NBSOU1
  29. NBNN=0
  30. NBELEM=0
  31. NBREF=0
  32. SEGINI MLINB
  33. DO 200 L=1,NBSOU1
  34. IPT1=MELEME
  35. IF(NBSOU1.NE.1)IPT1=LISOUS(L)
  36. SEGACT IPT1
  37. ITYP=IPT1.ITYPEL
  38. NBNN0=IPT1.NUM(/1)
  39. NBELEM=IPT1.NUM(/2)
  40. MLINB.LISOUS(L)=IPT1
  41.  
  42. C write(6,*)' CLINB ITYP=',ityp
  43. IF(ITYP.EQ.3)THEN
  44. C SEG3 -> SEG2
  45. NBNN=2
  46. NBSOUS=0
  47. NBREF=0
  48. SEGINI IPT2
  49. MLINB.LISOUS(L)=IPT2
  50. IPT2.ITYPEL=2
  51. DO 202 K=1,NBELEM
  52. IPT2.NUM(1,K)=IPT1.NUM(1,K)
  53. IPT2.NUM(2,K)=IPT1.NUM(3,K)
  54. 202 CONTINUE
  55.  
  56. ELSEIF(ITYP.EQ.7)THEN
  57. C TRI7 -> TRI4
  58. NBNN=4
  59. NBSOUS=0
  60. NBREF=0
  61. SEGINI IPT2
  62. MLINB.LISOUS(L)=IPT2
  63. IPT2.ITYPEL=5
  64. DO 304 K=1,NBELEM
  65. I1=0
  66. DO 204 I=1,6,2
  67. I1=I1+1
  68. IPT2.NUM(I1,K)=IPT1.NUM(I,K)
  69. 204 CONTINUE
  70. IPT2.NUM(4,K)=IPT1.NUM(7,K)
  71. 304 CONTINUE
  72.  
  73. ELSEIF(ITYP.EQ.11)THEN
  74. C QUA9 -> QUA5
  75. NBNN=5
  76. NBSOUS=0
  77. NBREF=0
  78. SEGINI IPT2
  79. MLINB.LISOUS(L)=IPT2
  80. IPT2.ITYPEL=9
  81. DO 308 K=1,NBELEM
  82. I1=0
  83. DO 208 I=1,8,2
  84. I1=I1+1
  85. IPT2.NUM(I1,K)=IPT1.NUM(I,K)
  86. 208 CONTINUE
  87. IPT2.NUM(5,K)=IPT1.NUM(9,K)
  88. 308 CONTINUE
  89.  
  90. ELSEIF(ITYP.EQ.33)THEN
  91. C CU27 -> CUB8
  92. NBNN=8
  93. NBSOUS=0
  94. NBREF=0
  95. SEGINI IPT2
  96. MLINB.LISOUS(L)=IPT2
  97. IPT2.ITYPEL=14
  98. DO 2251 K=1,NBELEM
  99. I1=0
  100. DO 214 I=1,8,2
  101. I1=I1+1
  102. IPT2.NUM(I1,K)=IPT1.NUM(I,K)
  103. IPT2.NUM(I1+4,K)=IPT1.NUM(I+12,K)
  104. 214 CONTINUE
  105. 2251 CONTINUE
  106.  
  107. ELSEIF(ITYP.EQ.34)THEN
  108. C PR21 -> PRI6
  109. NBNN=6
  110. NBSOUS=0
  111. NBREF=0
  112. SEGINI IPT2
  113. MLINB.LISOUS(L)=IPT2
  114. IPT2.ITYPEL=16
  115. DO 2252 K=1,NBELEM
  116. I1=0
  117. DO 216 I=1,6,2
  118. I1=I1+1
  119. IPT2.NUM(I1,K)=IPT1.NUM(I,K)
  120. IPT2.NUM(I1+3,K)=IPT1.NUM(I+9,K)
  121. 216 CONTINUE
  122. 2252 CONTINUE
  123.  
  124. ELSEIF(ITYP.EQ.35)THEN
  125. C TE15 -> TET5
  126. NBNN=5
  127. NBSOUS=0
  128. NBREF=0
  129. SEGINI IPT2
  130. MLINB.LISOUS(L)=IPT2
  131. IPT2.ITYPEL=9
  132. DO 2230 K=1,NBELEM
  133. IPT2.NUM(1,K)=IPT1.NUM(1,K)
  134. IPT2.NUM(2,K)=IPT1.NUM(3,K)
  135. IPT2.NUM(3,K)=IPT1.NUM(5,K)
  136. IPT2.NUM(4,K)=IPT1.NUM(10,K)
  137. IPT2.NUM(5,K)=IPT1.NUM(15,K)
  138. 2230 CONTINUE
  139.  
  140. ELSEIF(ITYP.EQ.36)THEN
  141. C PY19 -> PYR5
  142. NBNN=5
  143. NBSOUS=0
  144. NBREF=0
  145. SEGINI IPT2
  146. MLINB.LISOUS(L)=IPT2
  147. IPT2.ITYPEL=25
  148. DO 2250 K=1,NBELEM
  149. I1=0
  150. DO 225 I=1,8,2
  151. I1=I1+1
  152. IPT2.NUM(I1,K)=IPT1.NUM(I,K)
  153. 225 CONTINUE
  154. IPT2.NUM(5,K)=IPT1.NUM(13,K)
  155. 2250 CONTINUE
  156.  
  157.  
  158. ENDIF
  159.  
  160. 200 CONTINUE
  161.  
  162. IF(NBSOU1.EQ.1)THEN
  163. IPT3=MLINB
  164. MLINB=MLINB.LISOUS(1)
  165. SEGSUP IPT3
  166. ENDIF
  167.  
  168. CALL ECROBJ('MAILLAGE',MLINB)
  169.  
  170. RETURN
  171. 1001 FORMAT(20(1X,I5))
  172. 1002 FORMAT(10(1X,1PE11.4))
  173. END
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  

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