Télécharger idcara.eso

Retour à la liste

Numérotation des lignes :

idcara
  1. C IDCARA SOURCE MB234859 25/08/04 21:15:12 12339
  2. *--------------------------------------------------------------------*
  3. * RECHERCHE DES NOMS DE CARACTERISTIQUES *
  4. *--------------------------------------------------------------------*
  5. * *
  6. * ENTREES: *
  7. * *
  8. * IPMODE Pointeur sur un MMODEL.KMODEL *
  9. * MFR0 Numero de Formulation *
  10. * - Sert seulement si different de celui calcule avec IMODEL *
  11. * *
  12. * SORTIES: *
  13. * *
  14. * IPNOMC Pointeur sur les tables de noms de composantes *
  15. * obligatoires et facultatives *
  16. * NBROBL leur nombre ( =0 si pas trouve ) *
  17. * NBRFAC leur nombre ( =0 si pas trouve ) *
  18. * *
  19. * Remarque : Voir INOMID ou CCOPTIO pour signification IFOUR *
  20. *--------------------------------------------------------------------*
  21. C
  22. SUBROUTINE IDCARA(IPMODE,MFR0,IPNOMC,NBROBL,NBRFAC)
  23. C
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8(A-H,O-Z)
  26. C
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. C==DEB= FORMULATION HHO == Include specifique ==========================
  30. -INC CCHHOPA
  31. C==FIN= FORMULATION HHO ================================================
  32. -INC SMMODEL
  33. C
  34. NBROBL = 0
  35. NBRFAC = 0
  36. NOMID = 0
  37. C
  38. IMODEL=IPMODE
  39. NMAT=IMODEL.MATMOD(/2)
  40. CALL PLACE(MATMOD,NMAT,IIMPE,'IMPEDANCE')
  41. IF (IIMPE.NE.0) RETURN
  42. C
  43. IMODEL=IPMODE
  44. MELE =IMODEL.NEFMOD
  45. MFR =NUMMFR(MELE)
  46. NOMID =IMODEL.LNOMID(7)
  47. C
  48. C Ne pas recreer le NOMID si deja present
  49. IF(NOMID.NE.0.AND.(MFR.EQ.MFR0))THEN
  50. SEGACT,NOMID
  51. NBROBL=LESOBL(/2)
  52. NBRFAC=LESFAC(/2)
  53. IPNOMC=NOMID
  54. RETURN
  55. ENDIF
  56. C
  57. MFR = MFR0
  58. MFR2=NUMFOR(IMODEL)
  59. MFR4=IMODEL.INFELE(13)
  60. *
  61. * ELEMENTS CIFL MACRO ELEMENT CISAILLEMENT FLEXION
  62. *
  63. IF (MELE.EQ.258)THEN
  64. IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2) THEN
  65. NBROBL=2
  66. SEGINI NOMID
  67. LESOBL(1)= 'SECT'
  68. LESOBL(2)= 'INRZ'
  69. ENDIF
  70. ENDIF
  71. C =================================================================
  72. C FORMULATION MECANIQUE
  73. C =================================================================
  74. IF (MFR2.EQ.2) THEN
  75. C
  76. C Cas particulier
  77. C ============================================
  78. IF (MFR.EQ.1.OR.MFR.EQ.75.OR.IFOUR.LT.-3.OR.IFOUR.GT.2) THEN
  79. C
  80. C ajout de la densite (rendement) vectorielle du constituant kich
  81. NBROBL=0
  82. NBRFAC=10
  83. SEGINI,NOMID
  84. LESFAC(1) = 'REND'
  85. LESFAC(2) = 'W1X '
  86. LESFAC(3) = 'W1Y '
  87. LESFAC(4) = 'W1Z '
  88. LESFAC(5) = 'W2X '
  89. LESFAC(6) = 'W2Y '
  90. LESFAC(7) = 'W2Z '
  91. LESFAC(8) = 'REN1'
  92. LESFAC(9) = 'REN2'
  93. LESFAC(10)= 'REN3'
  94. C
  95. C Elements COQUE MINCE CISAILLEMENT TRANSVERSE
  96. C ============================================
  97. ELSE IF (MFR.EQ.3.OR.MFR.EQ.9) THEN
  98. NBROBL=1
  99. NBRFAC=2
  100. SEGINI NOMID
  101. LESOBL(1)='EPAI'
  102. LESFAC(1)='CALF'
  103. LESFAC(2)='EXCE'
  104. C
  105. C Elements COQUE EPAISSE
  106. C ======================
  107. ELSE IF (MFR.EQ.5) THEN
  108. NBROBL=1
  109. NBRFAC=1
  110. SEGINI NOMID
  111. LESOBL(1)='EPAI'
  112. LESFAC(1)='EXCE'
  113. C
  114. C Elements POUTRE
  115. C ===============
  116. ELSE IF (MFR.EQ.7) THEN
  117. IF (IFOUR.EQ.2) THEN
  118. NBRFAC=10
  119. NBROBL=4
  120. SEGINI NOMID
  121. LESOBL(1)= 'TORS'
  122. LESOBL(2)= 'INRY'
  123. LESOBL(3)= 'INRZ'
  124. LESOBL(4)= 'SECT'
  125. LESFAC(1)= 'SECY'
  126. LESFAC(2)= 'SECZ'
  127. LESFAC(3)= 'DX '
  128. LESFAC(4)= 'DY '
  129. LESFAC(5)= 'DZ '
  130. LESFAC(6)= 'OMEG'
  131. LESFAC(7)= 'VECT'
  132. LESFAC(8)= 'VX '
  133. LESFAC(9)= 'VY '
  134. LESFAC(10)= 'VZ '
  135. ELSEIF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  136. NBRFAC=2
  137. NBROBL=2
  138. SEGINI NOMID
  139. LESOBL(1)= 'SECT'
  140. LESOBL(2)= 'INRZ'
  141. LESFAC(1)= 'SECY'
  142. LESFAC(2)= 'DY '
  143. ENDIF
  144. C
  145. C Elements LIAISON
  146. C ================
  147. ELSE IF (MFR.EQ.51) THEN
  148. NBROBL=9
  149. SEGINI NOMID
  150. LESOBL(1)='RLUX'
  151. LESOBL(2)='RLUY'
  152. LESOBL(3)='RLUZ'
  153. LESOBL(4)='RLRX'
  154. LESOBL(5)='RLRY'
  155. LESOBL(6)='RLRZ'
  156. LESOBL(7)='VX '
  157. LESOBL(8)='VY '
  158. LESOBL(9)='VZ '
  159. C
  160. C Elements BARRE EXCENTREE
  161. C ========================
  162. ELSE IF (MFR.EQ.49) THEN
  163. NBROBL=6
  164. SEGINI NOMID
  165. LESOBL(1)='SECT'
  166. LESOBL(2)='EXCZ'
  167. LESOBL(3)='EXCY'
  168. LESOBL(4)='VX '
  169. LESOBL(5)='VY '
  170. LESOBL(6)='VZ '
  171. C
  172. C Elements TUYAU
  173. C ==============
  174. ELSE IF (MFR.EQ.13) THEN
  175. IF (IFOUR.EQ.2) THEN
  176. NBROBL=2
  177. NBRFAC=13
  178. SEGINI NOMID
  179. LESOBL(1)='EPAI'
  180. LESOBL(2)='RAYO'
  181. LESFAC(1)='RACO'
  182. LESFAC(2)='PRES'
  183. LESFAC(3)='CISA'
  184. LESFAC(4)='CFFX'
  185. LESFAC(5)='CFMX'
  186. LESFAC(6)='CFMY'
  187. LESFAC(7)='CFMZ'
  188. LESFAC(8)='CFPR'
  189. LESFAC(9)= 'OMEG'
  190. LESFAC(10)='VECT'
  191. LESFAC(11)='VX '
  192. LESFAC(12)='VY '
  193. LESFAC(13)='VZ '
  194. ENDIF
  195. C
  196. C Elements TUYO
  197. C =============
  198. ELSE IF (MFR.EQ.39) THEN
  199. IF (IFOUR.EQ.2) THEN
  200. NBROBL=2
  201. NBRFAC=6
  202. SEGINI NOMID
  203. LESOBL(1)='EPAI'
  204. LESOBL(2)='RAYO'
  205. LESFAC(1)='RACO'
  206. LESFAC(2)='PRES'
  207. LESFAC(3)='VECT'
  208. LESFAC(4)='VX '
  209. LESFAC(5)='VY '
  210. LESFAC(6)='VZ '
  211. ENDIF
  212. C
  213. C Elements LINESPRING
  214. C ===================
  215. ELSE IF (MFR.EQ.15) THEN
  216. IF (IFOUR.EQ.2) THEN
  217. NBROBL=5
  218. SEGINI NOMID
  219. LESOBL(1)='EPAI'
  220. LESOBL(2)='FISS'
  221. LESOBL(3)='VX '
  222. LESOBL(4)='VY '
  223. LESOBL(5)='VZ '
  224. ENDIF
  225. C
  226. C Elements TUYAU FISSURE
  227. C ===========================
  228. ELSE IF (MFR.EQ.17) THEN
  229. IF (IFOUR.EQ.2) THEN
  230. NBROBL=9
  231. SEGINI NOMID
  232. LESOBL(1)='RAYO'
  233. LESOBL(2)='EPAI'
  234. LESOBL(3)='VX '
  235. LESOBL(4)='VY '
  236. LESOBL(5)='VZ '
  237. LESOBL(6)='VXF '
  238. LESOBL(7)='VYF '
  239. LESOBL(8)='VZF '
  240. LESOBL(9)='ANGL'
  241. ENDIF
  242. C
  243. C Elements BARRE/COS2
  244. C ===================
  245. ELSE IF (MFR.EQ.27.OR.MFR.EQ.78) THEN
  246. IF (MFR4.NE.26.AND.MFR4.NE.28) THEN
  247. NBROBL=1
  248. SEGINI NOMID
  249. LESOBL(1)='SECT'
  250. ENDIF
  251. C
  252. C Elements HOMOGENEISE
  253. C =====================
  254. ELSE IF (MFR.EQ.37) THEN
  255. IF (IFOUR.EQ.1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.2) THEN
  256. NBROBL=5
  257. SEGINI NOMID
  258. LESOBL(1)='SCEL'
  259. LESOBL(2)='SFLU'
  260. LESOBL(3)='EPS '
  261. LESOBL(4)='SECT'
  262. LESOBL(5)='INRZ'
  263. ELSE
  264. NBROBL=3
  265. NBRFAC=2
  266. SEGINI NOMID
  267. LESOBL(1)='SCEL'
  268. LESOBL(2)='SFLU'
  269. LESOBL(3)='EPS '
  270. LESFAC(1)='NOF1'
  271. LESFAC(2)='NOF2'
  272. ENDIF
  273. C
  274. C Elements SECTION
  275. C ================
  276. ELSE IF (MFR.EQ.47) THEN
  277. IF (IFOUR.EQ.2) THEN
  278. NBROBL=2
  279. SEGINI NOMID
  280. LESOBL(1)='ALPY'
  281. LESOBL(2)='ALPZ'
  282. ELSE
  283. NBROBL=1
  284. NBRFAC=0
  285. SEGINI NOMID
  286. LESOBL(1)='ALPY'
  287. ENDIF
  288. C
  289. C CARACTERISTIQUE SUPPLEMENTAIRE POUR LE SEGS
  290. IF (MELE.EQ.166) THEN
  291. NBROBL=NBROBL+1
  292. SEGADJ,NOMID
  293. LESOBL(NBROBL)='LARG'
  294. C CARACTERISTIQUE SUPPLEMENTAIRE POUR LE POJS
  295. ELSE IF (MELE.EQ.167) THEN
  296. NBROBL=NBROBL+1
  297. SEGADJ,NOMID
  298. LESOBL(NBROBL)='SECT'
  299. ENDIF
  300. C
  301. C Elements JOINTS GENERALISE
  302. C ==========================
  303. ELSE IF (MFR.EQ.55) THEN
  304. NBROBL=0
  305. NBRFAC=1
  306. SEGINI NOMID
  307. LESFAC(1)='EPAI'
  308. ENDIF
  309. C =================================================================
  310. C FORMULATION LIQUIDE/MECANIQUE+LIQUIDE
  311. C =================================================================
  312. ELSE IF ((MFR2.EQ.11) .OR. (MFR2.EQ.44)) THEN
  313. C
  314. C Elements LIQUIDE
  315. C ================
  316. IF (MFR.EQ.11.OR.MFR.EQ.19.OR.MFR.EQ.21) THEN
  317. IF (IFOUR.EQ.2) THEN
  318. NBROBL=0
  319. NBRFAC=3
  320. SEGINI NOMID
  321. LESFAC(1)='VX '
  322. LESFAC(2)='VY '
  323. LESFAC(3)='VZ '
  324. ELSE
  325. NBROBL=0
  326. NBRFAC=2
  327. SEGINI NOMID
  328. LESFAC(1)='VX '
  329. LESFAC(2)='VY '
  330. ENDIF
  331. C
  332. C Elements TUYAU ACOUSTIQUE PUR
  333. C =============================
  334. ELSE IF (MFR.EQ.41) THEN
  335. NBROBL=1
  336. NBRFAC=1
  337. SEGINI NOMID
  338. LESOBL(1)='RAYO'
  339.  
  340. C
  341. C Element de RACCORD LIQUIDE TUYAU
  342. C ================================
  343. ELSE IF (MFR.EQ.43) THEN
  344. NBROBL=1
  345. NBRFAC=5
  346. SEGINI NOMID
  347. LESOBL(1)='RAYO'
  348. LESFAC(1)='RACO'
  349. LESFAC(2)='VECT'
  350. LESFAC(3)='VX '
  351. LESFAC(4)='VY '
  352. LESFAC(5)='VZ '
  353. ENDIF
  354. C =================================================================
  355. C FORMULATION THERMIQUE
  356. C =================================================================
  357. ELSE IF (MFR2.EQ.29) THEN
  358. C
  359. C Elements TUYAU
  360. C ==============
  361. IF (MFR.EQ.79 .OR. MFR.EQ.27) then
  362. NBROBL=1
  363. SEGINI NOMID
  364. LESOBL(1)= 'SECT'
  365. C
  366. C Elements COQUE
  367. C ==============
  368. ELSE IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  369. NBROBL=1
  370. NBRFAC=1
  371. SEGINI NOMID
  372. LESOBL(1)='EPAI '
  373. LESFAC(1)='EXCE '
  374. C
  375. C Autres elements
  376. C ===============
  377. ELSE
  378. NBROBL=0
  379. SEGINI NOMID
  380. ENDIF
  381. C =================================================================
  382. C FORMULATION DIFFUSION
  383. C =================================================================
  384. ELSE IF (MFR2.EQ.73) THEN
  385. C
  386. C Elements TUYAU
  387. C ==============
  388. IF (MFR.EQ.79 .OR. MFR.EQ.27) then
  389. NBROBL=1
  390. SEGINI NOMID
  391. LESOBL(1)= 'SECT'
  392. C
  393. C Elements COQUE
  394. C ==============
  395. ELSE IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  396. NBROBL=1
  397. NBRFAC=1
  398. SEGINI NOMID
  399. LESOBL(1)='EPAI '
  400. LESFAC(1)='EXCE '
  401. C
  402. C Autres elements
  403. C ===============
  404. ELSE
  405. NBROBL=0
  406. SEGINI NOMID
  407. ENDIF
  408. C =================================================================
  409. ENDIF
  410. C
  411. IF (NOMID.NE.0) THEN
  412. IF (IFOMOD.EQ.6) THEN
  413. NBRFA0 = NBRFAC
  414. NBRFAC = NBROBL + (NBRFA0*2)
  415. SEGADJ NOMID
  416. DO IMO = 1,NBROBL
  417. LESFAC(NBRFA0 + IMO)(2:4) = LESOBL(IMO)(1:3)
  418. LESFAC(NBRFA0 + IMO)(1:1) = 'I'
  419. ENDDO
  420. DO IMO = 1,NBRFA0
  421. LESFAC(NBRFA0+NBROBL+IMO)(2:4) = LESFAC(IMO)(1:3)
  422. LESFAC(NBRFA0+NBROBL+IMO)(1:1) = 'I'
  423. ENDDO
  424. ENDIF
  425. ENDIF
  426. C
  427. IF (NOMID.NE.0) SEGACT,NOMID*NOMOD
  428. IPNOMC=NOMID
  429. END
  430.  
  431.  

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