Télécharger caramk.eso

Retour à la liste

Numérotation des lignes :

  1. C CARAMK SOURCE AM 13/12/16 21:15:24 7825
  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=1
  134. SEGINI,NOMID
  135. LESFAC='VECT'
  136. NBTYPE=1
  137. SEGINI,NOTYPE
  138. TYPE(1)='POINTEURPOINT '
  139. ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN
  140. NBROBL=2
  141. NBRFAC=1
  142. SEGINI,NOMID
  143. LESOBL(1)='SECT'
  144. LESOBL(2)='INRZ'
  145. LESFAC(1)='SECY'
  146. NBTYPE=1
  147. SEGINI,NOTYPE
  148. TYPE(1)='REAL*8'
  149. ELSE
  150. IVECT=1
  151. NBROBL=4
  152. NBRFAC=3
  153. SEGINI,NOMID
  154. LESOBL(1)='TORS'
  155. LESOBL(2)='INRY'
  156. LESOBL(3)='INRZ'
  157. LESOBL(4)='SECT'
  158. LESFAC(1)='SECY'
  159. LESFAC(2)='SECZ'
  160. LESFAC(3)='VECT'
  161. NBTYPE=7
  162. SEGINI,NOTYPE
  163. TYPE(1)='REAL*8'
  164. TYPE(2)='REAL*8'
  165. TYPE(3)='REAL*8'
  166. TYPE(4)='REAL*8'
  167. TYPE(5)='REAL*8'
  168. TYPE(6)='REAL*8'
  169. TYPE(7)='POINTEURPOINT '
  170. ENDIF
  171. C ====
  172. C 7. - Formulation TUYAU
  173. C ====
  174. ELSE IF (MFOR.EQ.13) THEN
  175. IVECT=1
  176. NBROBL=2
  177. NBRFAC=3
  178. SEGINI,NOMID
  179. LESOBL(1)='EPAI'
  180. LESOBL(2)='RAYO'
  181. LESFAC(1)='RACO'
  182. LESFAC(2)='CISA'
  183. LESFAC(3)='VECT'
  184. NBTYPE=5
  185. SEGINI,NOTYPE
  186. TYPE(1)='REAL*8'
  187. TYPE(2)='REAL*8'
  188. TYPE(3)='REAL*8'
  189. TYPE(4)='REAL*8'
  190. TYPE(5)='POINTEURPOINT '
  191. C ====
  192. C 8. - Formulation LINESPRING
  193. C ====
  194. ELSE IF (MFOR.EQ.15) THEN
  195. NBROBL=5
  196. SEGINI,NOMID
  197. LESOBL(1)='EPAI'
  198. LESOBL(2)='FISS'
  199. LESOBL(3)='VX '
  200. LESOBL(4)='VY '
  201. LESOBL(5)='VZ '
  202. NBTYPE=1
  203. SEGINI,NOTYPE
  204. TYPE(1)='REAL*8'
  205. C ====
  206. C 9. - Formulation TUYAU FISSURE
  207. C ====
  208. ELSE IF (MFOR.EQ.17) THEN
  209. NBROBL=9
  210. SEGINI,NOMID
  211. LESOBL(1)='RAYO'
  212. LESOBL(2)='EPAI'
  213. LESOBL(3)='VX '
  214. LESOBL(4)='VY '
  215. LESOBL(5)='VZ '
  216. LESOBL(6)='VXF '
  217. LESOBL(7)='VYF '
  218. LESOBL(8)='VZF '
  219. LESOBL(9)='ANGL'
  220. NBTYPE=1
  221. SEGINI,NOTYPE
  222. TYPE(1)='REAL*8'
  223. C =====
  224. C 10. - Elements HOMOGENEISEs
  225. C =====
  226. ELSE IF (MFOR.EQ.37) THEN
  227. IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN
  228. NBROBL=4
  229. SEGINI,NOMID
  230. LESOBL(1)='SCEL'
  231. LESOBL(2)='SFLU'
  232. LESOBL(3)='EPS '
  233. LESOBL(4)='XINE'
  234. ELSE
  235. NBROBL=3
  236. SEGINI,NOMID
  237. LESOBL(1)='SCEL'
  238. LESOBL(2)='SFLU'
  239. LESOBL(3)='EPS '
  240. ENDIF
  241. NBTYPE=1
  242. SEGINI,NOTYPE
  243. TYPE(1)='REAL*8'
  244. C =====
  245. C 11. - Elements de type JOINT GENE
  246. C =====
  247. ELSE IF (MFOR.EQ.55) THEN
  248. NBRFAC=1
  249. SEGINI,NOMID
  250. LESFAC(1)='EPAI'
  251. NBTYPE=1
  252. SEGINI,NOTYPE
  253. TYPE(1)='REAL*8'
  254. C =====
  255. C 12. - PAR DEFAUT : Segments VIDEs
  256. C =====
  257. ELSE
  258. SEGINI,NOMID
  259. SEGINI,NOTYPE
  260. ENDIF
  261.  
  262. NBRTOT=NBROBL+NBRFAC
  263. MOCARA=NOMID
  264. MOTYPE=NOTYPE
  265.  
  266. RETURN
  267. END
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  

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