Télécharger caramk.eso

Retour à la liste

Numérotation des lignes :

caramk
  1. C CARAMK SOURCE PV090527 24/04/04 21:15:03 11875
  2.  
  3. C=======================================================================
  4. C= C A R A M K =
  5. C= ----------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Recuperation des noms de caracteristiques geometriques obligatoi- =
  10. C= res et facultatives suivant le type d'element (formulation) =
  11. C= =
  12. C= Parametres : (E)=Entree (S)=Sortie =
  13. C= ------------ =
  14. C= MFOR (E) Formulation consideree =
  15. C= IFOR (E) Mode de calcul traite (=IFOUR dans CCOPTIO) =
  16. C= MELT (E) Numero de l'element fini dans NOMTP (cf. CCHAMP) =
  17. C= CMATE (E) Utilise dans le cas des POUTRES =
  18. C= IVECT (S) =1 si une caracteristique est un vecteur (POINT) =
  19. C= MOCARA (S) Segment NOMID des noms des caracteristiques =
  20. C= NBROBL (S) Nombre de caracteristiques OBLIGATOIRES =
  21. C= NBRFAC (S) Nombre de caracteristiques FACULTATIVES =
  22. C= NBRTOT (S) Nombre total de caracteristiques (=NBROBL+NBRFAC) =
  23. C= MOTYPE (S) Segment NOTYPE des types des caracteristiques =
  24. C= NBTYPE (S) Nombre de types differents =
  25. C= =
  26. C= Remarque : Les segments MOCARA et MOTYPE sont ACTIFs lorsque l'on =
  27. C= ---------- quitte le sousprogramme. =
  28. C=======================================================================
  29.  
  30. SUBROUTINE CARAMK (MFOR,IFOR,MELT,CMATE,IVECT,MOCARA,NBROBL,
  31. . NBRFAC,NBRTOT,MOTYPE,NBTYPE)
  32.  
  33. IMPLICIT INTEGER(I-N)
  34. IMPLICIT REAL*8 (A-H,O-Z)
  35.  
  36. C*OF -> a mettre dans un INCLUDE (SMINFO ?)
  37. SEGMENT NOMID
  38. CHARACTER*8 LESOBL(NBROBL),LESFAC(NBRFAC)
  39. ENDSEGMENT
  40.  
  41. SEGMENT NOTYPE
  42. CHARACTER*16 TYPE(NBTYPE)
  43. ENDSEGMENT
  44. C*OF -> fin INCLUDE (SMINFO ?)
  45.  
  46. CHARACTER*8 CMATE
  47.  
  48. C ====
  49. C 0. - Valeurs par defaut
  50. C ====
  51. IVECT=0
  52. NBROBL=0
  53. NBRFAC=0
  54. NBTYPE=0
  55. C ====
  56. C 1. - Formulation MASSIVE en CONTRAINTES PLANES : epaisseur
  57. C ====
  58. IF ((MFOR.EQ.1.OR.MFOR.EQ.31.OR.(MELT.GE.79.AND.MELT.LE.83))
  59. . .AND.IFOR.EQ.-2) THEN
  60. NBRFAC=1
  61. SEGINI,NOMID
  62. LESFAC(1)='DIM3'
  63. NBTYPE=1
  64. SEGINI,NOTYPE
  65. TYPE(1)='REAL*8'
  66. C ====
  67. C 2. - Formulation COQUE : epaisseur(s) et excentrement
  68. C ====
  69. ELSE IF (MFOR.EQ.3.OR.MFOR.EQ.5.OR.MFOR.EQ.9) THEN
  70. NBROBL=1
  71. IF (MFOR.EQ.3.AND.IFOR.EQ.-2) THEN
  72. NBRFAC=2
  73. ELSE
  74. NBRFAC=1
  75. ENDIF
  76. SEGINI,NOMID
  77. LESOBL(1)='EPAI'
  78. LESFAC(1)='EXCE'
  79. IF (MFOR.EQ.3.AND.IFOR.EQ.-2) LESFAC(2)='DIM3'
  80. NBTYPE=1
  81. SEGINI,NOTYPE
  82. TYPE(1)='REAL*8'
  83. C ====
  84. C 3. - Formulation BARRE : section
  85. C ====
  86. ELSE IF (MFOR.EQ.27) THEN
  87. NBROBL=1
  88. SEGINI,NOMID
  89. LESOBL(1)='SECT'
  90. NBTYPE=1
  91. SEGINI,NOTYPE
  92. TYPE(1)='REAL*8'
  93. C ====
  94. C 4. - Formulation BARRE EXCENTREE : section, excentrements et
  95. C orientation de l'element
  96. C ====
  97. ELSE IF (MFOR.EQ.49) THEN
  98. NBROBL=6
  99. SEGINI,NOMID
  100. LESOBL(1)='SECT'
  101. LESOBL(2)='EXCZ'
  102. LESOBL(3)='EXCY'
  103. LESOBL(4)='VX '
  104. LESOBL(5)='VY '
  105. LESOBL(6)='VZ '
  106. NBTYPE=1
  107. SEGINI,NOTYPE
  108. TYPE(1)='REAL*8'
  109. C ====
  110. C 5. - Element de LIAISON LIA2 : raideurs locales et orientation
  111. C ====
  112. ELSE IF (MFOR.EQ.51) THEN
  113. NBROBL=9
  114. SEGINI,NOMID
  115. LESOBL(1)='RLUX'
  116. LESOBL(2)='RLUY'
  117. LESOBL(3)='RLUZ'
  118. LESOBL(4)='RLRX'
  119. LESOBL(5)='RLRY'
  120. LESOBL(6)='RLRZ'
  121. LESOBL(7)='VX '
  122. LESOBL(8)='VY '
  123. LESOBL(9)='VZ '
  124. NBTYPE=1
  125. SEGINI,NOTYPE
  126. TYPE(1)='REAL*8'
  127. C ====
  128. C 6. - Formulation POUTRE
  129. C ====
  130. ELSE IF (MFOR.EQ.7) THEN
  131. IF (CMATE.EQ.'SECTION') THEN
  132. IVECT=1
  133. NBRFAC=3
  134. SEGINI,NOMID
  135. LESFAC(1)='VX'
  136. LESFAC(2)='VY'
  137. LESFAC(3)='VZ'
  138. NBTYPE=1
  139. SEGINI,NOTYPE
  140. TYPE(1)='REAL*8 '
  141. ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN
  142. NBROBL=2
  143. NBRFAC=1
  144. SEGINI,NOMID
  145. LESOBL(1)='SECT'
  146. LESOBL(2)='INRZ'
  147. LESFAC(1)='SECY'
  148. NBTYPE=1
  149. SEGINI,NOTYPE
  150. TYPE(1)='REAL*8'
  151. ELSE
  152. IVECT=1
  153. NBROBL=4
  154. NBRFAC=5
  155. SEGINI,NOMID
  156. LESOBL(1)='TORS'
  157. LESOBL(2)='INRY'
  158. LESOBL(3)='INRZ'
  159. LESOBL(4)='SECT'
  160. LESFAC(1)='SECY'
  161. LESFAC(2)='SECZ'
  162. LESFAC(3)='VX'
  163. LESFAC(4)='VY'
  164. LESFAC(5)='VZ'
  165. NBTYPE=9
  166. SEGINI,NOTYPE
  167. TYPE(1)='REAL*8'
  168. TYPE(2)='REAL*8'
  169. TYPE(3)='REAL*8'
  170. TYPE(4)='REAL*8'
  171. TYPE(5)='REAL*8'
  172. TYPE(6)='REAL*8'
  173. TYPE(7)='REAL*8'
  174. TYPE(8)='REAL*8'
  175. TYPE(9)='REAL*8'
  176. ENDIF
  177. C ====
  178. C 7. - Formulation TUYAU
  179. C ====
  180. ELSE IF (MFOR.EQ.13) THEN
  181. IVECT=1
  182. NBROBL=2
  183. NBRFAC=5
  184. SEGINI,NOMID
  185. LESOBL(1)='EPAI'
  186. LESOBL(2)='RAYO'
  187. LESFAC(1)='RACO'
  188. LESFAC(2)='CISA'
  189. LESFAC(3)='VX'
  190. LESFAC(4)='VY'
  191. LESFAC(5)='VZ'
  192. NBTYPE=7
  193. SEGINI,NOTYPE
  194. TYPE(1)='REAL*8'
  195. TYPE(2)='REAL*8'
  196. TYPE(3)='REAL*8'
  197. TYPE(4)='REAL*8'
  198. TYPE(5)='REAL*8'
  199. TYPE(6)='REAL*8'
  200. TYPE(7)='REAL*8'
  201. C ====
  202. C 8. - Formulation LINESPRING
  203. C ====
  204. ELSE IF (MFOR.EQ.15) THEN
  205. NBROBL=5
  206. SEGINI,NOMID
  207. LESOBL(1)='EPAI'
  208. LESOBL(2)='FISS'
  209. LESOBL(3)='VX '
  210. LESOBL(4)='VY '
  211. LESOBL(5)='VZ '
  212. NBTYPE=1
  213. SEGINI,NOTYPE
  214. TYPE(1)='REAL*8'
  215. C ====
  216. C 9. - Formulation TUYAU FISSURE
  217. C ====
  218. ELSE IF (MFOR.EQ.17) THEN
  219. NBROBL=9
  220. SEGINI,NOMID
  221. LESOBL(1)='RAYO'
  222. LESOBL(2)='EPAI'
  223. LESOBL(3)='VX '
  224. LESOBL(4)='VY '
  225. LESOBL(5)='VZ '
  226. LESOBL(6)='VXF '
  227. LESOBL(7)='VYF '
  228. LESOBL(8)='VZF '
  229. LESOBL(9)='ANGL'
  230. NBTYPE=1
  231. SEGINI,NOTYPE
  232. TYPE(1)='REAL*8'
  233. C =====
  234. C 10. - Elements HOMOGENEISEs
  235. C =====
  236. ELSE IF (MFOR.EQ.37) THEN
  237. IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN
  238. NBROBL=4
  239. SEGINI,NOMID
  240. LESOBL(1)='SCEL'
  241. LESOBL(2)='SFLU'
  242. LESOBL(3)='EPS '
  243. LESOBL(4)='XINE'
  244. ELSE
  245. NBROBL=3
  246. SEGINI,NOMID
  247. LESOBL(1)='SCEL'
  248. LESOBL(2)='SFLU'
  249. LESOBL(3)='EPS '
  250. ENDIF
  251. NBTYPE=1
  252. SEGINI,NOTYPE
  253. TYPE(1)='REAL*8'
  254. C =====
  255. C 11. - Elements de type JOINT GENE
  256. C =====
  257. ELSE IF (MFOR.EQ.55) THEN
  258. NBRFAC=1
  259. SEGINI,NOMID
  260. LESFAC(1)='EPAI'
  261. NBTYPE=1
  262. SEGINI,NOTYPE
  263. TYPE(1)='REAL*8'
  264. C =====
  265. C 12. - PAR DEFAUT : Segments VIDEs
  266. C =====
  267. ELSE
  268. SEGINI,NOMID
  269. SEGINI,NOTYPE
  270. ENDIF
  271.  
  272. NBRTOT=NBROBL+NBRFAC
  273. MOCARA=NOMID
  274. MOTYPE=NOTYPE
  275.  
  276. RETURN
  277. END
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  

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