Télécharger idvec2.eso

Retour à la liste

Numérotation des lignes :

  1. C IDVEC2 SOURCE CHAT 11/03/16 21:25:40 6902
  2. SUBROUTINE IDVEC2(IPMODL,ICAS,NDIM,IF3,CMOT,IPNOMC,NBROBL,
  3. & NLIST,IER1)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. *-----------------------------------------------------------------------*
  7. * Recherche des noms de composantes pour creer des vecteurs *
  8. * a partir de MCHAML (appele par vecte2 ou vecte3) *
  9. * ICAS = 1 : cas des contraintes principales *
  10. * ICAS = 2 : cas des fissures *
  11. *-----------------------------------------------------------------------*
  12. *
  13. -INC SMMODEL
  14. *
  15. DIMENSION IPNOMC(3)
  16. CHARACTER*4 CMOT
  17. *
  18. IMO = 0
  19. IF (CMOT.NE.' ') IMO = 1
  20. IER1 = 0
  21. IMODEL = IPMODL
  22. MELE = NEFMOD
  23. MFR = NUMMFR(MELE)
  24. *
  25. IF (ICAS.EQ.1) THEN
  26. * Contraintes principales
  27. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  28. IF (IMO.EQ.1) THEN
  29. IF (CMOT.NE.'SI11'.AND.CMOT.NE.'SI22') THEN
  30. IER1 = 2
  31. RETURN
  32. ENDIF
  33. ENDIF
  34. NLIST = 2
  35. NBROBL = 4
  36. NBRFAC = 0
  37. SEGINI NOMID
  38. LESOBL(1) = 'SI11'
  39. LESOBL(2) = 'COX1'
  40. LESOBL(3) = 'COY1'
  41. LESOBL(4) = 'COZ1'
  42. IPNOMC(1) = NOMID
  43. SEGDES NOMID
  44. NBROBL = 4
  45. NBRFAC = 0
  46. SEGINI NOMID
  47. LESOBL(1) = 'SI22'
  48. LESOBL(2) = 'COX2'
  49. LESOBL(3) = 'COY2'
  50. LESOBL(4) = 'COZ2'
  51. IPNOMC(2) = NOMID
  52. SEGDES NOMID
  53. ELSE IF (MFR.EQ.1) THEN
  54. IF (NDIM.EQ.2) THEN
  55. IF (IMO.EQ.1) THEN
  56. IF (CMOT.NE.'SI11'.AND.CMOT.NE.'SI22') THEN
  57. IER1 = 2
  58. RETURN
  59. ENDIF
  60. ENDIF
  61. NLIST = 2
  62. NBROBL = 4
  63. NBRFAC = 0
  64. SEGINI NOMID
  65. LESOBL(1) = 'SI11'
  66. LESOBL(2) = 'COX1'
  67. LESOBL(3) = 'COY1'
  68. LESOBL(4) = 'COZ1'
  69. IPNOMC(1) = NOMID
  70. SEGDES NOMID
  71. NBROBL = 4
  72. SEGINI NOMID
  73. NBRFAC = 0
  74. LESOBL(1) = 'SI22'
  75. LESOBL(2) = 'COX2'
  76. LESOBL(3) = 'COY2'
  77. LESOBL(4) = 'COZ2'
  78. IPNOMC(2) = NOMID
  79. SEGDES NOMID
  80. ELSE IF (NDIM.EQ.3) THEN
  81. IF (IMO.EQ.1) THEN
  82. IF (CMOT.NE.'SI11'.AND.CMOT.NE.'SI22'
  83. & .AND.CMOT.NE.'SI33') THEN
  84. IER1 = 2
  85. RETURN
  86. ENDIF
  87. ENDIF
  88. NLIST = 3
  89. NBROBL = 4
  90. NBRFAC = 0
  91. SEGINI NOMID
  92. LESOBL(1) = 'SI11'
  93. LESOBL(2) = 'COX1'
  94. LESOBL(3) = 'COY1'
  95. LESOBL(4) = 'COZ1'
  96. IPNOMC(1) = NOMID
  97. SEGDES NOMID
  98. NBROBL = 4
  99. NBRFAC = 0
  100. SEGINI NOMID
  101. LESOBL(1) = 'SI22'
  102. LESOBL(2) = 'COX2'
  103. LESOBL(3) = 'COY2'
  104. LESOBL(4) = 'COZ2'
  105. IPNOMC(2) = NOMID
  106. SEGDES NOMID
  107. NBROBL = 4
  108. NBRFAC = 0
  109. SEGINI NOMID
  110. LESOBL(1) = 'SI33'
  111. LESOBL(2) = 'COX3'
  112. LESOBL(3) = 'COY3'
  113. LESOBL(4) = 'COZ3'
  114. IPNOMC(3) = NOMID
  115. SEGDES NOMID
  116. ELSE
  117. IER1 = 1
  118. ENDIF
  119. ELSE
  120. IER1 = 1
  121. ENDIF
  122. ELSE IF (ICAS.EQ.2) THEN
  123. * Fissures
  124. IF (NDIM.EQ.2) THEN
  125. NLIST = 2
  126. *
  127. NBROBL = 2
  128. NBRFAC = 0
  129. SEGINI NOMID
  130. LESOBL(1) = 'VF1X'
  131. LESOBL(2) = 'VF1Y'
  132. IPNOMC(1) = NOMID
  133. SEGDES NOMID
  134. *
  135. NBROBL = 2
  136. NBRFAC = 0
  137. SEGINI NOMID
  138. LESOBL(1) = 'VF2X'
  139. LESOBL(2) = 'VF2Y'
  140. IPNOMC(2) = NOMID
  141. SEGDES NOMID
  142. *
  143. ELSE IF (NDIM.EQ.3) THEN
  144. * 3D / IF3=1 : coques / IF3=2 : massifs
  145. NLIST = 2
  146. IF (IF3.EQ.2) NLIST = 3
  147. *
  148. NBROBL = 2
  149. IF (IF3.EQ.2) NBROBL = 3
  150. NBRFAC = 0
  151. SEGINI NOMID
  152. LESOBL(1) = 'VF1X'
  153. LESOBL(2) = 'VF1Y'
  154. IF (IF3.EQ.2) LESOBL(3) = 'VF1Z'
  155. IPNOMC(1) = NOMID
  156. SEGDES NOMID
  157. *
  158. NBROBL = 2
  159. IF (IF3.EQ.2) NBROBL = 3
  160. NBRFAC = 0
  161. SEGINI NOMID
  162. LESOBL(1) = 'VF2X'
  163. LESOBL(2) = 'VF2Y'
  164. IF (IF3.EQ.2) LESOBL(3) = 'VF2Z'
  165. IPNOMC(2) = NOMID
  166. SEGDES NOMID
  167. *
  168. IF (IF3.EQ.2) THEN
  169. NBROBL = 3
  170. NBRFAC = 0
  171. SEGINI NOMID
  172. LESOBL(1) = 'VF3X'
  173. LESOBL(2) = 'VF3Y'
  174. LESOBL(3) = 'VF3Z'
  175. IPNOMC(3) = NOMID
  176. SEGDES NOMID
  177. ENDIF
  178. ENDIF
  179. ELSE
  180. IER1 = 1
  181. ENDIF
  182. *
  183. RETURN
  184. END
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  

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