Télécharger idgrad.eso

Retour à la liste

Numérotation des lignes :

idgrad
  1. C IDGRAD SOURCE MB234859 25/08/04 21:15:17 12339
  2.  
  3. C=======================================================================
  4. C= RECHERCHE DES NOMS DE COMPOSANTES DE GRADIENTS =
  5. C= ---------------------------------------------- =
  6. C= =
  7. C= Entrees : =
  8. C= IPMODE Pointeur sur un MMODEL.KMODEL =
  9. C= IFOU valeur de IFOUR de CCOPTIO =
  10. C= =
  11. C= Sorties : =
  12. C= IPNOMC pointeur de type NOMID sur les listes de noms de =
  13. C= composantes OBLigatoires et FACultatives =
  14. C= NBROBL nombre de composantes OBLigatoires =
  15. C= NBRFAC nombre de composantes FACultatives =
  16. C= =
  17. C= Remarque : Voir INOMID ou CCOPTIO pour signification IFOUR =
  18. C=======================================================================
  19. C
  20. SUBROUTINE IDGRAD(IPMODE,IFOU,IPNOMC,NBROBL,NBRFAC)
  21. C
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. C
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. C==DEB= FORMULATION HHO == Include specifique ==========================
  28. -INC CCHHOPA
  29. C==FIN= FORMULATION HHO ================================================
  30. -INC SMLMOTS
  31. -INC SMMODEL
  32. C
  33. CHARACTER*(LOCOMP) CCOMP
  34. EXTERNAL LONG
  35. C
  36. NBROBL=0
  37. NBRFAC=0
  38. C
  39. IMODEL=IPMODE
  40. NOMID =IMODEL.LNOMID(3)
  41. C
  42. C Ne pas recreer le NOMID si deja present
  43. IF (NOMID.NE.0) THEN
  44. NBROBL=LESOBL(/2)
  45. NBRFAC=LESFAC(/2)
  46. IPNOMC=NOMID
  47. RETURN
  48. ENDIF
  49. C
  50. MELE=IMODEL.NEFMOD
  51. MFR =NUMMFR(MELE)
  52. MFR2=NUMFOR(IMODEL)
  53. C =================================================================
  54. C FORMULATION THERMOHYDRIQUE
  55. C =================================================================
  56. IF (MFR2.EQ.65) THEN
  57. IF (IFOUR.EQ.2) THEN
  58. NBROBL=9
  59. SEGINI,NOMID
  60. LESOBL(1)='PG,X '
  61. LESOBL(2)='PG,Y '
  62. LESOBL(3)='PG,Z '
  63. LESOBL(4)='PC,X '
  64. LESOBL(5)='PC,Y '
  65. LESOBL(6)='PC,Z '
  66. LESOBL(7)='T,X '
  67. LESOBL(8)='T,Y '
  68. LESOBL(9)='T,Z '
  69. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  70. NBROBL=6
  71. SEGINI,NOMID
  72. LESOBL(1)='PG,X '
  73. LESOBL(2)='PG,Y '
  74. LESOBL(3)='PC,X '
  75. LESOBL(4)='PC,Y '
  76. LESOBL(5)='T,X '
  77. LESOBL(6)='T,Y '
  78. ELSE IF (IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  79. NBROBL=6
  80. SEGINI,NOMID
  81. LESOBL(1)='PG,R '
  82. LESOBL(2)='PG,Z '
  83. LESOBL(3)='PC,R '
  84. LESOBL(4)='PC,Z '
  85. LESOBL(5)='T,R '
  86. LESOBL(6)='T,Z '
  87. ENDIF
  88. C =================================================================
  89. C FORMULATION MECANIQUE/POREUX/MELANGE/NAVIER_STOKES/HHO
  90. C =================================================================
  91. ELSE IF (MFR2.EQ.2.OR.MFR2.EQ.33.OR.MFR2.EQ.38.OR.MFR2.EQ.52
  92. & .OR. MFR2.EQ.HHO_MFR_ELEMENT) THEN
  93. C
  94. C Elements MASSIFS (standard,incompressibles,XFEM,Navier_Stokes,HHO)
  95. C ================
  96. IF (MFR.EQ.1 .OR. MFR.EQ.31 .OR. MFR.EQ.63 .OR. MFR.EQ.52 .OR.
  97. & MFR.EQ.HHO_MFR_ELEMENT) THEN
  98. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.
  99. & IFOUR.EQ.2) THEN
  100. NBROBL=9
  101. SEGINI,NOMID
  102. LESOBL(1)='UX,X '
  103. LESOBL(2)='UX,Y '
  104. LESOBL(3)='UX,Z '
  105. LESOBL(4)='UY,X '
  106. LESOBL(5)='UY,Y '
  107. LESOBL(6)='UY,Z '
  108. LESOBL(7)='UZ,X '
  109. LESOBL(8)='UZ,Y '
  110. LESOBL(9)='UZ,Z '
  111. ELSE IF (IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  112. NBROBL=9
  113. SEGINI,NOMID
  114. LESOBL(1)='UR,R '
  115. LESOBL(2)='UR,Z '
  116. LESOBL(3)='UR,T '
  117. LESOBL(4)='UZ,R '
  118. LESOBL(5)='UZ,Z '
  119. LESOBL(6)='UZ,T '
  120. LESOBL(7)='UT,R '
  121. LESOBL(8)='UT,Z '
  122. LESOBL(9)='UT,T '
  123. ELSE IF (MFR.EQ.1 .AND. (IFOUR.GE.3.AND.IFOUR.LE.15)) THEN
  124. NBROBL=9
  125. SEGINI,NOMID
  126. IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  127. LESOBL(1)='UX,X '
  128. LESOBL(2)='UX,Y '
  129. LESOBL(3)='UX,Z '
  130. LESOBL(4)='UY,X '
  131. LESOBL(5)='UY,Y '
  132. LESOBL(6)='UY,Z '
  133. LESOBL(7)='UZ,X '
  134. LESOBL(8)='UZ,Y '
  135. LESOBL(9)='UZ,Z '
  136. ELSE
  137. LESOBL(1)='UR,R '
  138. LESOBL(2)='UR,Z '
  139. LESOBL(3)='UR,T '
  140. LESOBL(4)='UZ,R '
  141. LESOBL(5)='UZ,Z '
  142. LESOBL(6)='UZ,T '
  143. LESOBL(7)='UT,R '
  144. LESOBL(8)='UT,Z '
  145. LESOBL(9)='UT,T '
  146. ENDIF
  147. ENDIF
  148. C
  149. C Elements COQUES
  150. C ===============
  151. ELSE IF (MFR.EQ.3) THEN
  152. IF (IFOUR.EQ.2) THEN
  153. NBROBL=9
  154. SEGINI,NOMID
  155. LESOBL(1)='UX,X'
  156. LESOBL(2)='UX,Y'
  157. LESOBL(3)='UX,Z'
  158. LESOBL(4)='UY,X'
  159. LESOBL(5)='UY,Y'
  160. LESOBL(6)='UY,Z'
  161. LESOBL(7)='UZ,X'
  162. LESOBL(8)='UZ,Y'
  163. LESOBL(9)='UZ,Z'
  164. ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.0.OR.
  165. . IFOUR.EQ.-1.OR.IFOUR.EQ.-2.or.IFOUR.eq.-3) THEN
  166. NBROBL=9
  167. SEGINI,NOMID
  168. LESOBL(1)='UU,S'
  169. LESOBL(2)='UU,T'
  170. LESOBL(3)='UU,N'
  171. LESOBL(4)='UV,S'
  172. LESOBL(5)='UV,T'
  173. LESOBL(6)='UV,N'
  174. LESOBL(7)='UW,S'
  175. LESOBL(8)='UW,T'
  176. LESOBL(9)='UW,N'
  177. ENDIF
  178. C
  179. C Elements COQUES EPAISSES (COQ6,COQ8)
  180. C ========================
  181. ELSE IF (MFR.EQ.5) THEN
  182. IF (IFOUR.EQ.2) THEN
  183. NBROBL=9
  184. SEGINI,NOMID
  185. LESOBL(1)='UX,X'
  186. LESOBL(2)='UX,Y'
  187. LESOBL(3)='UX,Z'
  188. LESOBL(4)='UY,X'
  189. LESOBL(5)='UY,Y'
  190. LESOBL(6)='UY,Z'
  191. LESOBL(7)='UZ,X'
  192. LESOBL(8)='UZ,Y'
  193. LESOBL(9)='UZ,Z'
  194. ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.0) THEN
  195. NBROBL=9
  196. SEGINI,NOMID
  197. LESOBL(1)='UR,R'
  198. LESOBL(2)='UR,Z'
  199. LESOBL(3)='UR,T'
  200. LESOBL(4)='UZ,R'
  201. LESOBL(5)='UZ,Z'
  202. LESOBL(6)='UZ,T'
  203. LESOBL(7)='UT,R'
  204. LESOBL(8)='UT,Z'
  205. LESOBL(9)='UT,T'
  206. ENDIF
  207. C
  208. C Element de COQUE en CISAILLEMENT TRANSVERSE (tridimensionnel)
  209. C ===========================================
  210. ELSE IF (MFR.EQ.9) THEN
  211. IF (IFOUR.EQ.2) THEN
  212. NBROBL=9
  213. SEGINI,NOMID
  214. LESOBL(1)='UX,X'
  215. LESOBL(2)='UX,Y'
  216. LESOBL(3)='UX,Z'
  217. LESOBL(4)='UY,X'
  218. LESOBL(5)='UY,Y'
  219. LESOBL(6)='UY,Z'
  220. LESOBL(7)='UZ,X'
  221. LESOBL(8)='UZ,Y'
  222. LESOBL(9)='UZ,Z'
  223. ENDIF
  224. C
  225. C Elements POUTRES ET TUYAUX
  226. C ==========================
  227. ELSE IF (MFR.EQ.7 .OR. MFR.EQ.13) THEN
  228. IF (IFOUR.EQ.2) THEN
  229. NBROBL=3
  230. SEGINI,NOMID
  231. LESOBL(1)='U,S '
  232. LESOBL(2)='V,S '
  233. LESOBL(3)='W,S '
  234. ELSE
  235. NBROBL=2
  236. SEGINI,NOMID
  237. LESOBL(1)='U,S '
  238. LESOBL(2)='V,S '
  239. ENDIF
  240. C
  241. C Element JOINT JOI1
  242. C =================
  243. ELSE IF (MFR.EQ.75) THEN
  244. IF (IFOUR.EQ.2 .OR. IFOUR.EQ.-3) THEN
  245. NBROBL=9
  246. SEGINI,NOMID
  247. LESOBL(1)='UX,X '
  248. LESOBL(2)='UX,Y '
  249. LESOBL(3)='UX,Z '
  250. LESOBL(4)='UY,X '
  251. LESOBL(5)='UY,Y '
  252. LESOBL(6)='UY,Z '
  253. LESOBL(7)='UZ,X '
  254. LESOBL(8)='UZ,Y '
  255. LESOBL(9)='UZ,Z '
  256. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  257. NBROBL=4
  258. SEGINI,NOMID
  259. LESOBL(1)='UX,X '
  260. LESOBL(2)='UX,Y '
  261. LESOBL(3)='UY,X '
  262. LESOBL(4)='UY,Y '
  263. ELSE IF (IFOUR.EQ.0) THEN
  264. NBROBL=4
  265. SEGINI,NOMID
  266. LESOBL(1)='UR,R '
  267. LESOBL(2)='UR,Z '
  268. LESOBL(3)='UZ,R '
  269. LESOBL(4)='UZ,Z '
  270. ENDIF
  271. C
  272. C Element JOINT JOI2
  273. C =================
  274. ELSEIF (MFR.EQ.35) THEN
  275. IF (IFOUR.EQ.2 .OR. IFOUR.EQ.-3) THEN
  276. NBROBL=3
  277. SEGINI,NOMID
  278. LESOBL(1)='U1,N '
  279. LESOBL(2)='U2,N '
  280. LESOBL(3)='UN,N '
  281. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  282. NBROBL=2
  283. SEGINI,NOMID
  284. LESOBL(1)='US,N '
  285. LESOBL(2)='UN,N '
  286. ENDIF
  287. C
  288. C Element XFEM meca rupt
  289. C ================================
  290. c ELSE IF (MFR.EQ.63) THEN
  291. CTY Element XQ4R (xfem meca rupture en 2D)
  292. c IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) then
  293. c NBROBL=4
  294. c NBRFAC=36
  295. c NBRFAC=20
  296. c SEGINI,NOMID
  297. c LESOBL(1)='UX,X'
  298. c LESOBL(2)='UX,Y'
  299. c LESOBL(3)='UY,X'
  300. c LESOBL(4)='UY,Y'
  301. c LESFAC(1)='AX,X'
  302. c LESFAC(2)='AX,Y'
  303. c LESFAC(3)='AY,X'
  304. c LESFAC(4)='AY,Y'
  305. c LESFAC(5)='B1XX'
  306. c LESFAC(6)='B1XY'
  307. c LESFAC(7)='B1YX'
  308. c LESFAC(8)='B1YY'
  309. c LESFAC(9)='C1XX'
  310. c LESFAC(10)='C1XY'
  311. c LESFAC(11)='C1YX'
  312. c LESFAC(12)='C1YY'
  313. c LESFAC(13)='D1XX'
  314. c LESFAC(14)='D1XY'
  315. c LESFAC(15)='D1YX'
  316. c LESFAC(16)='D1YY'
  317. c LESFAC(17)='E1XX'
  318. c LESFAC(18)='E1XY'
  319. c LESFAC(19)='E1YX'
  320. c LESFAC(20)='E1YY'
  321. c LESFAC(21)='B2XX'
  322. c LESFAC(22)='B2XY'
  323. c LESFAC(23)='B2YX'
  324. c LESFAC(24)='B2YY'
  325. c LESFAC(25)='C2XX'
  326. c LESFAC(26)='C2XY'
  327. c LESFAC(27)='C2YX'
  328. c LESFAC(28)='C2YY'
  329. c LESFAC(29)='D2XX'
  330. c LESFAC(30)='D2XY'
  331. c LESFAC(31)='D2YX'
  332. c LESFAC(32)='D2YY'
  333. c LESFAC(33)='E2XX'
  334. c LESFAC(34)='E2XY'
  335. c LESFAC(35)='E2YX'
  336. c LESFAC(36)='E2YY'
  337. CTY Element XC8R (xfem meca rupture en 3D)
  338. c ELSE IF (IFOUR.EQ.2) THEN
  339. c NBROBL=9
  340. c NBRFAC=45
  341. c NBRFAC=81
  342. c SEGINI,NOMID
  343. c LESOBL(1)='UX,X'
  344. c LESOBL(2)='UX,Y'
  345. c LESOBL(3)='UX,Z'
  346. c LESOBL(4)='UY,X'
  347. c LESOBL(5)='UY,Y'
  348. c LESOBL(6)='UY,Z'
  349. c LESOBL(7)='UZ,X'
  350. c LESOBL(8)='UZ,Y'
  351. c LESOBL(9)='UZ,Z'
  352. c LESFAC(1)='AX,X'
  353. c LESFAC(2)='AX,Y'
  354. c LESFAC(3)='AX,Z'
  355. c LESFAC(4)='AY,X'
  356. c LESFAC(5)='AY,Y'
  357. c LESFAC(6)='AY,Z'
  358. c LESFAC(7)='AZ,X'
  359. c LESFAC(8)='AZ,Y'
  360. c LESFAC(9)='AZ,Z'
  361. c LESFAC(10)='B1XX'
  362. c LESFAC(11)='B1XY'
  363. c LESFAC(12)='B1XZ'
  364. c LESFAC(13)='B1YX'
  365. c LESFAC(14)='B1YY'
  366. c LESFAC(15)='B1YZ'
  367. c LESFAC(16)='B1ZX'
  368. c LESFAC(17)='B1ZY'
  369. c LESFAC(18)='B1ZZ'
  370. c LESFAC(19)='C1XX'
  371. c LESFAC(20)='C1XY'
  372. c LESFAC(21)='C1XZ'
  373. c LESFAC(22)='C1YX'
  374. c LESFAC(23)='C1YY'
  375. c LESFAC(24)='C1YZ'
  376. c LESFAC(25)='C1ZX'
  377. c LESFAC(26)='C1ZY'
  378. c LESFAC(27)='C1ZZ'
  379. c LESFAC(28)='D1XX'
  380. c LESFAC(29)='D1XY'
  381. c LESFAC(30)='D1XZ'
  382. c LESFAC(31)='D1YX'
  383. c LESFAC(32)='D1YY'
  384. c LESFAC(33)='D1YZ'
  385. c LESFAC(34)='D1ZX'
  386. c LESFAC(35)='D1ZY'
  387. c LESFAC(36)='D1ZZ'
  388. c LESFAC(37)='E1XX'
  389. c LESFAC(38)='E1XY'
  390. c LESFAC(39)='E1XZ'
  391. c LESFAC(40)='E1YX'
  392. c LESFAC(41)='E1YY'
  393. c LESFAC(42)='E1YZ'
  394. c LESFAC(43)='E1ZX'
  395. c LESFAC(44)='E1ZY'
  396. c LESFAC(45)='E1ZZ'
  397. c LESFAC(46)='B2XX'
  398. c LESFAC(47)='B2XY'
  399. c LESFAC(48)='B2XZ'
  400. c LESFAC(49)='B2YX'
  401. c LESFAC(50)='B2YY'
  402. c LESFAC(51)='B2YZ'
  403. c LESFAC(52)='B2ZX'
  404. c LESFAC(53)='B2ZY'
  405. c LESFAC(54)='B2ZZ'
  406. c LESFAC(55)='C2XX'
  407. c LESFAC(56)='C2XY'
  408. c LESFAC(57)='C2XZ'
  409. c LESFAC(58)='C2YX'
  410. c LESFAC(59)='C2YY'
  411. c LESFAC(60)='C2YZ'
  412. c LESFAC(61)='C2ZX'
  413. c LESFAC(62)='C2ZY'
  414. c LESFAC(63)='C2ZZ'
  415. c LESFAC(64)='D2XX'
  416. c LESFAC(65)='D2XY'
  417. c LESFAC(66)='D2XZ'
  418. c LESFAC(67)='D2YX'
  419. c LESFAC(68)='D2YY'
  420. c LESFAC(69)='D2YZ'
  421. c LESFAC(70)='D2ZX'
  422. c LESFAC(71)='D2ZY'
  423. c LESFAC(72)='D2ZZ'
  424. c LESFAC(73)='E2XX'
  425. c LESFAC(74)='E2XY'
  426. c LESFAC(75)='E2XZ'
  427. c LESFAC(76)='E2YX'
  428. c LESFAC(77)='E2YY'
  429. c LESFAC(78)='E2YZ'
  430. c LESFAC(79)='E2ZX'
  431. c LESFAC(80)='E2ZY'
  432. c LESFAC(81)='E2ZZ'
  433. c ENDIF
  434. C
  435. C Elements ZONE COHESIVE
  436. C ==========================
  437. ELSE IF (MFR.EQ.77) THEN
  438. IF (IFOUR.EQ.2) THEN
  439. NBROBL=9
  440. SEGINI,NOMID
  441. LESOBL(1)='AX,X '
  442. LESOBL(2)='AX,Y '
  443. LESOBL(3)='AX,Z '
  444. LESOBL(4)='AY,X '
  445. LESOBL(5)='AY,Y '
  446. LESOBL(6)='AY,Z '
  447. LESOBL(7)='AZ,X '
  448. LESOBL(8)='AZ,Y '
  449. LESOBL(9)='AZ,Z '
  450. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  451. NBROBL=4
  452. SEGINI,NOMID
  453. LESOBL(1)='AX,X '
  454. LESOBL(2)='AX,Y '
  455. LESOBL(3)='AY,X '
  456. LESOBL(4)='AY,Y '
  457. ENDIF
  458. ENDIF
  459. C =================================================================
  460. C FORMULATION THERMIQUE
  461. C =================================================================
  462. ELSE IF (MFR2.EQ.29) THEN
  463. C
  464. C Elements MASSIFS
  465. C ================
  466. IF (MFR.EQ.1) THEN
  467. IF (IFOUR.EQ.2) THEN
  468. NBROBL=3
  469. SEGINI,NOMID
  470. LESOBL(1)='T,X '
  471. LESOBL(2)='T,Y '
  472. LESOBL(3)='T,Z '
  473. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  474. NBROBL=2
  475. SEGINI,NOMID
  476. LESOBL(1)='T,X '
  477. LESOBL(2)='T,Y '
  478. ELSE IF (IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  479. NBROBL=2
  480. SEGINI,NOMID
  481. LESOBL(1)='T,R '
  482. LESOBL(2)='T,Z '
  483. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  484. NBROBL=1
  485. SEGINI,NOMID
  486. LESOBL(1)='T,X '
  487. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  488. NBROBL=1
  489. SEGINI,NOMID
  490. LESOBL(1)='T,R '
  491. ENDIF
  492. C
  493. C Elements COQUES
  494. C ===============
  495. ELSE IF (MFR.EQ.3 .OR. MFR.EQ. 5 .OR. MFR.EQ.9) THEN
  496. IF (IFOUR.EQ.2) THEN
  497. NBROBL=2
  498. SEGINI,NOMID
  499. LESOBL(1)='T,X '
  500. LESOBL(2)='T,Y '
  501. ELSE IF (IFOUR.EQ.0) THEN
  502. NBROBL=1
  503. SEGINI,NOMID
  504. LESOBL(1)='T,Z '
  505. ENDIF
  506. C
  507. C Elements TUY2 TUY3 BARR
  508. C =======================
  509. ELSE IF ((MFR.EQ.27) .OR. (MFR.EQ.79)) THEN
  510. NBROBL=1
  511. SEGINI,NOMID
  512. LESOBL(1)='T,S '
  513. ENDIF
  514. C =================================================================
  515. C FORMULATION MAGNETODYNAMIQUE COQUE TRIDIMENSIONNEL
  516. C =================================================================
  517. ELSE IF (MFR2.EQ.69) THEN
  518. NBROBL=3
  519. SEGINI,NOMID
  520. LESOBL(1)='FC,X '
  521. LESOBL(2)='FC,Y '
  522. LESOBL(3)='FC,Z '
  523. C =================================================================
  524. C FORMULATION ELECTROSTATIQUE
  525. C =================================================================
  526. ELSE IF (MFR2.EQ.71) THEN
  527. IF (IFOUR.EQ.2) THEN
  528. NBROBL=3
  529. SEGINI,NOMID
  530. LESOBL(1)='VE,X '
  531. LESOBL(2)='VE,Y '
  532. LESOBL(3)='VE,Z '
  533. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  534. NBROBL=2
  535. SEGINI,NOMID
  536. LESOBL(1)='VE,X '
  537. LESOBL(2)='VE,Y '
  538. ELSE IF (IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  539. NBROBL=2
  540. SEGINI,NOMID
  541. LESOBL(1)='VE,R '
  542. LESOBL(2)='VE,Z '
  543. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  544. NBROBL=1
  545. SEGINI,NOMID
  546. LESOBL(1)='VE,X '
  547. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  548. NBROBL=1
  549. SEGINI,NOMID
  550. LESOBL(1)='VE,R '
  551. ENDIF
  552. C =================================================================
  553. C FORMULATION DIFFUSION
  554. C =================================================================
  555. ELSE IF (MFR2.EQ.73) THEN
  556. MLMOT1=IMODEL.IVAMOD(1)
  557. CCOMP =MLMOT1.MOTS(1)
  558. NBCHAR=LONG(CCOMP)
  559. C
  560. C Elements MASSIFS
  561. C ================
  562. IF (MFR.EQ.1)THEN
  563. IF (IFOUR.EQ.2) THEN
  564. NBROBL=3
  565. SEGINI,NOMID
  566. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  567. LESOBL(2)=CCOMP(1:NBCHAR)//',Y'
  568. LESOBL(3)=CCOMP(1:NBCHAR)//',Z'
  569. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  570. NBROBL=2
  571. SEGINI,NOMID
  572. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  573. LESOBL(2)=CCOMP(1:NBCHAR)//',Y'
  574. ELSE IF (IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  575. NBROBL=2
  576. SEGINI,NOMID
  577. LESOBL(1)=CCOMP(1:NBCHAR)//',R'
  578. LESOBL(2)=CCOMP(1:NBCHAR)//',Z'
  579. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  580. NBROBL=1
  581. SEGINI,NOMID
  582. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  583. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  584. NBROBL=1
  585. SEGINI,NOMID
  586. LESOBL(1)=CCOMP(1:NBCHAR)//',R'
  587. ELSE
  588. CALL ERREUR(5)
  589. RETURN
  590. ENDIF
  591. C
  592. C Elements TUY2 TUY3 BARR
  593. C =======================
  594. ELSE IF (MFR.EQ.27 .OR. MFR.EQ.79)THEN
  595. NBROBL=1
  596. SEGINI,NOMID
  597. LESOBL(1)=CCOMP(1:NBCHAR)//',S'
  598. C
  599. C Elements COQUES
  600. C ===============
  601. ELSE IF (MFR.EQ.3 .OR. MFR.EQ.5 .OR. MFR.EQ.9)THEN
  602. IF (IFOUR.EQ.2) THEN
  603. NBROBL=2
  604. SEGINI,NOMID
  605. LESOBL(1)=CCOMP(1:NBCHAR)//',X '
  606. LESOBL(2)=CCOMP(1:NBCHAR)//',Y '
  607. ELSE IF (IFOUR.EQ.0) THEN
  608. NBROBL=1
  609. SEGINI,NOMID
  610. LESOBL(1)=CCOMP(1:NBCHAR)//',Z '
  611. ELSE
  612. CALL ERREUR(5)
  613. RETURN
  614. ENDIF
  615.  
  616. ENDIF
  617. C =================================================================
  618. ENDIF
  619.  
  620. IF (NOMID.NE.0) SEGACT,NOMID*NOMOD
  621. IPNOMC=NOMID
  622. END
  623.  
  624.  

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