Télécharger caramk.eso

Retour à la liste

Numérotation des lignes :

caramk
  1. C CARAMK SOURCE OF166741 24/06/12 21:15:02 11881
  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= MOCARA (S) Segment NOMID des noms des caracteristiques =
  19. C= NBROBL (S) Nombre de caracteristiques OBLIGATOIRES =
  20. C= NBRFAC (S) Nombre de caracteristiques FACULTATIVES =
  21. C= NBRTOT (S) Nombre total de caracteristiques (=NBROBL+NBRFAC) =
  22. C= MOTYPE (S) Segment NOTYPE des types des caracteristiques =
  23. C= NBTYPE (S) Nombre de types differents =
  24. C= =
  25. C= Remarque : Les segments MOCARA et MOTYPE sont ACTIFs lorsque l'on =
  26. C= ---------- quitte le sousprogramme. =
  27. C=======================================================================
  28.  
  29. SUBROUTINE CARAMK (MFOR,IFOR,MELT,CMATE,MOCARA,NBROBL,
  30. & NBRFAC,NBRTOT,MOTYPE,NBTYPE)
  31.  
  32. IMPLICIT INTEGER(I-N)
  33. IMPLICIT REAL*8 (A-H,O-Z)
  34.  
  35. -INC PPARAM
  36. C==DEB= FORMULATION HHO == Include specifique ==========================
  37. -INC CCHHOPA
  38. C==FIN= FORMULATION HHO ================================================
  39.  
  40. C-> Definition de NOMID
  41. -INC SMMODEL
  42.  
  43. SEGMENT NOTYPE
  44. CHARACTER*16 TYPE(NBTYPE)
  45. ENDSEGMENT
  46.  
  47. CHARACTER*(*) CMATE
  48.  
  49. C ====
  50. C 0. - Valeurs par defaut
  51. C ====
  52. NBROBL = 0
  53. NBRFAC = 0
  54. NBTYPE = 0
  55. NOMID = 0
  56. NOTYPE = 0
  57. C ====
  58. C 1. - Formulation MASSIVE en CONTRAINTES PLANES : epaisseur
  59. C ====
  60. IF ((MFOR.EQ.1.OR.MFOR.EQ.31.OR.(MELT.GE.79.AND.MELT.LE.83))
  61. & .AND.IFOR.EQ.-2) THEN
  62. NBRFAC=1
  63. SEGINI,NOMID
  64. LESFAC(1)='DIM3'
  65. C ====
  66. C 2. - Formulation COQUE : epaisseur(s) et excentrement
  67. C ====
  68. ELSE IF (MFOR.EQ.3.OR.MFOR.EQ.5.OR.MFOR.EQ.9) THEN
  69. NBROBL=1
  70. IF (MFOR.EQ.3.AND.IFOR.EQ.-2) THEN
  71. NBRFAC=2
  72. ELSE
  73. NBRFAC=1
  74. ENDIF
  75. SEGINI,NOMID
  76. LESOBL(1)='EPAI'
  77. LESFAC(1)='EXCE'
  78. IF (MFOR.EQ.3.AND.IFOR.EQ.-2) LESFAC(2)='DIM3'
  79. C ====
  80. C 3. - Formulation BARRE : section
  81. C ====
  82. ELSE IF (MFOR.EQ.27) THEN
  83. NBROBL=1
  84. SEGINI,NOMID
  85. LESOBL(1)='SECT'
  86. C ====
  87. C 4. - Formulation BARRE EXCENTREE : section, excentrements et
  88. C orientation de l'element
  89. C ====
  90. ELSE IF (MFOR.EQ.49) THEN
  91. NBROBL=6
  92. SEGINI,NOMID
  93. LESOBL(1)='SECT'
  94. LESOBL(2)='EXCZ'
  95. LESOBL(3)='EXCY'
  96. LESOBL(4)='VX '
  97. LESOBL(5)='VY '
  98. LESOBL(6)='VZ '
  99. C ====
  100. C 5. - Element de LIAISON LIA2 : raideurs locales et orientation
  101. C ====
  102. ELSE IF (MFOR.EQ.51) THEN
  103. NBROBL=9
  104. SEGINI,NOMID
  105. LESOBL(1)='RLUX'
  106. LESOBL(2)='RLUY'
  107. LESOBL(3)='RLUZ'
  108. LESOBL(4)='RLRX'
  109. LESOBL(5)='RLRY'
  110. LESOBL(6)='RLRZ'
  111. LESOBL(7)='VX '
  112. LESOBL(8)='VY '
  113. LESOBL(9)='VZ '
  114. C ====
  115. C 6. - Formulation POUTRE
  116. C ====
  117. ELSE IF (MFOR.EQ.7) THEN
  118. IF (CMATE.EQ.'SECTION') THEN
  119. NBRFAC=3
  120. SEGINI,NOMID
  121. LESFAC(1)='VX '
  122. LESFAC(2)='VY '
  123. LESFAC(3)='VZ '
  124. ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN
  125. NBROBL=2
  126. NBRFAC=1
  127. SEGINI,NOMID
  128. LESOBL(1)='SECT'
  129. LESOBL(2)='INRZ'
  130. LESFAC(1)='SECY'
  131. ELSE
  132. NBROBL=4
  133. NBRFAC=5
  134. SEGINI,NOMID
  135. LESOBL(1)='TORS'
  136. LESOBL(2)='INRY'
  137. LESOBL(3)='INRZ'
  138. LESOBL(4)='SECT'
  139. LESFAC(1)='SECY'
  140. LESFAC(2)='SECZ'
  141. LESFAC(3)='VX '
  142. LESFAC(4)='VY '
  143. LESFAC(5)='VZ '
  144. ENDIF
  145. C ====
  146. C 7. - Formulation TUYAU
  147. C ====
  148. ELSE IF (MFOR.EQ.13) THEN
  149. NBROBL=2
  150. NBRFAC=5
  151. SEGINI,NOMID
  152. LESOBL(1)='EPAI'
  153. LESOBL(2)='RAYO'
  154. LESFAC(1)='RACO'
  155. LESFAC(2)='CISA'
  156. LESFAC(3)='VX '
  157. LESFAC(4)='VY '
  158. LESFAC(5)='VZ '
  159. C ====
  160. C 8. - Formulation LINESPRING
  161. C ====
  162. ELSE IF (MFOR.EQ.15) THEN
  163. NBROBL=5
  164. SEGINI,NOMID
  165. LESOBL(1)='EPAI'
  166. LESOBL(2)='FISS'
  167. LESOBL(3)='VX '
  168. LESOBL(4)='VY '
  169. LESOBL(5)='VZ '
  170. C ====
  171. C 9. - Formulation TUYAU FISSURE
  172. C ====
  173. ELSE IF (MFOR.EQ.17) THEN
  174. NBROBL=9
  175. SEGINI,NOMID
  176. LESOBL(1)='RAYO'
  177. LESOBL(2)='EPAI'
  178. LESOBL(3)='VX '
  179. LESOBL(4)='VY '
  180. LESOBL(5)='VZ '
  181. LESOBL(6)='VXF '
  182. LESOBL(7)='VYF '
  183. LESOBL(8)='VZF '
  184. LESOBL(9)='ANGL'
  185. C =====
  186. C 10. - Elements HOMOGENEISEs
  187. C =====
  188. ELSE IF (MFOR.EQ.37) THEN
  189. IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN
  190. NBROBL=4
  191. SEGINI,NOMID
  192. LESOBL(1)='SCEL'
  193. LESOBL(2)='SFLU'
  194. LESOBL(3)='EPS '
  195. LESOBL(4)='XINE'
  196. ELSE
  197. NBROBL=3
  198. SEGINI,NOMID
  199. LESOBL(1)='SCEL'
  200. LESOBL(2)='SFLU'
  201. LESOBL(3)='EPS '
  202. ENDIF
  203. C =====
  204. C 11. - Elements de type JOINT GENE
  205. C =====
  206. ELSE IF (MFOR.EQ.55) THEN
  207. NBRFAC=1
  208. SEGINI,NOMID
  209. LESFAC(1)='EPAI'
  210.  
  211. C==DEB= FORMULATION HHO ================================================
  212. C =====
  213. C 12. - Formulation HHO
  214. C =====
  215. ELSE IF (MFOR.EQ.HHO_MFR_ELEMENT) THEN
  216. if (melt.ne.HHO_NUM_ELEMENT) then
  217. write(6,*) 'CARAMK - Formulation HHO'
  218. call erreur(5)
  219. return
  220. end if
  221. nbrobl = 1
  222. nbrfac = 1
  223. SEGINI,nomid
  224. nomid.LESOBL(1) = 'PIHO'
  225. nomid.LESFAC(1) = 'DIM3'
  226. MOCARA = nomid
  227. C==FIN= FORMULATION HHO ================================================
  228.  
  229. C =====
  230. C 13. - PAR DEFAUT : Segments VIDEs
  231. C =====
  232. ELSE
  233. SEGINI,NOMID
  234. ENDIF
  235.  
  236. IF (NOTYPE.EQ.0) THEN
  237. NBTYPE = 1
  238. SEGINI,NOTYPE
  239. TYPE(1)='REAL*8'
  240. ENDIF
  241.  
  242. NBRTOT=NBROBL+NBRFAC
  243. MOCARA=NOMID
  244. MOTYPE=NOTYPE
  245.  
  246. RETURN
  247. END
  248.  
  249.  
  250.  

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