Télécharger idvec2.eso

Retour à la liste

Numérotation des lignes :

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

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