Télécharger idgrad.eso

Retour à la liste

Numérotation des lignes :

idgrad
  1. C IDGRAD SOURCE OF166741 24/05/06 21:15:18 11082
  2.  
  3. C=======================================================================
  4. C= RECHERCHE DES NOMS DE COMPOSANTES DE GRADIENTS =
  5. C= ---------------------------------------------- =
  6. C= =
  7. C= Entrees : =
  8. C= MFR Numero de la FORMULATION element fini =
  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.  
  18. SUBROUTINE IDGRAD (MFR,IFOU,IPNOMC,NBROBL,NBRFAC)
  19.  
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22.  
  23. -INC PPARAM
  24. C==DEB= FORMULATION HHO == Include specifique ==========================
  25. -INC CCHHOPA
  26. C==FIN= FORMULATION HHO ================================================
  27.  
  28. -INC SMMODEL
  29.  
  30. CHARACTER*(LOCOMP) CCOMP
  31.  
  32. EXTERNAL LONG
  33.  
  34. NBROBL=0
  35. NBRFAC=0
  36. NOMID =0
  37.  
  38. C FORMULATION THERMOHYDRIQUE
  39. C ==========================
  40. IF (MFR.EQ.65) THEN
  41. C =====
  42. C Tridimensionnel
  43. C =====
  44. IF (IFOU.EQ.2) THEN
  45. NBROBL=9
  46. SEGINI,NOMID
  47. LESOBL(1)='PG,X '
  48. LESOBL(2)='PG,Y '
  49. LESOBL(3)='PG,Z '
  50. LESOBL(4)='PC,X '
  51. LESOBL(5)='PC,Y '
  52. LESOBL(6)='PC,Z '
  53. LESOBL(7)='T,X '
  54. LESOBL(8)='T,Y '
  55. LESOBL(9)='T,Z '
  56. C =====
  57. C Bidimensionnel PLAN (DP/CP/DPGE)
  58. C =====
  59. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  60. NBROBL=6
  61. SEGINI,NOMID
  62. LESOBL(1)='PG,X '
  63. LESOBL(2)='PG,Y '
  64. LESOBL(3)='PC,X '
  65. LESOBL(4)='PC,Y '
  66. LESOBL(5)='T,X '
  67. LESOBL(6)='T,Y '
  68. C =====
  69. C Axisymetrie et Fourier
  70. C =====
  71. ELSE IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN
  72. NBROBL=6
  73. SEGINI,NOMID
  74. LESOBL(1)='PG,R '
  75. LESOBL(2)='PG,Z '
  76. LESOBL(3)='PC,R '
  77. LESOBL(4)='PC,Z '
  78. LESOBL(5)='T,R '
  79. LESOBL(6)='T,Z '
  80. ENDIF
  81.  
  82. C 1A- Element JOINT JOI1
  83. C =======================
  84.  
  85. ELSEIF (MFR.EQ.75) THEN
  86. C =====
  87. C 1A.1 - Tridimensionnel et Bidimensionnel PLAN DPGE
  88. C =====
  89. IF (IFOU.EQ.2 .OR. IFOU.EQ.-3) THEN
  90. NBROBL=9
  91. SEGINI,NOMID
  92. LESOBL(1)='UX,X '
  93. LESOBL(2)='UX,Y '
  94. LESOBL(3)='UX,Z '
  95. LESOBL(4)='UY,X '
  96. LESOBL(5)='UY,Y '
  97. LESOBL(6)='UY,Z '
  98. LESOBL(7)='UZ,X '
  99. LESOBL(8)='UZ,Y '
  100. LESOBL(9)='UZ,Z '
  101. C =====
  102. C 1A.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
  103. C =====
  104. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  105. NBROBL=4
  106. SEGINI,NOMID
  107. LESOBL(1)='UX,X '
  108. LESOBL(2)='UX,Y '
  109. LESOBL(3)='UY,X '
  110. LESOBL(4)='UY,Y '
  111. C =====
  112. C 1A.3 - Axisymetrie
  113. C =====
  114. ELSE IF (IFOU.EQ.0) THEN
  115. NBROBL=4
  116. SEGINI,NOMID
  117. LESOBL(1)='UR,R '
  118. LESOBL(2)='UR,Z '
  119. LESOBL(3)='UZ,R '
  120. LESOBL(4)='UZ,Z '
  121. ENDIF
  122.  
  123. C 1B- Element JOINT JOI2
  124. C =======================
  125.  
  126. ELSEIF (MFR.EQ.35) THEN
  127. C =====
  128. C 1B.1 - Tridimensionnel et Bidimensionnel PLAN DPGE
  129. C =====
  130. IF (IFOU.EQ.2 .OR. IFOU.EQ.-3) THEN
  131. NBROBL=3
  132. SEGINI,NOMID
  133. LESOBL(1)='U1,N '
  134. LESOBL(2)='U2,N '
  135. LESOBL(3)='UN,N '
  136. C =====
  137. C 1A.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
  138. C =====
  139. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
  140. NBROBL=2
  141. SEGINI,NOMID
  142. LESOBL(1)='US,N '
  143. LESOBL(2)='UN,N '
  144. ENDIF
  145.  
  146. C 2 - Elements MASSIFS (standard,incompressibles,XFEM,Navier_Stokes,HHO)
  147. C ======================
  148. ELSE IF (MFR.EQ.1 .OR. MFR.EQ.31 .OR. MFR.EQ.63 .OR.
  149. & MFR.EQ.52 .OR. MFR.EQ.HHO_MFR_ELEMENT) THEN
  150. C =====
  151. C 2.1 - Bidimensionnel PLAN (CP/DP/DPGE) et Tridimensionnel
  152. C =====
  153. IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.2) THEN
  154. NBROBL=9
  155. SEGINI,NOMID
  156. LESOBL(1)='UX,X '
  157. LESOBL(2)='UX,Y '
  158. LESOBL(3)='UX,Z '
  159. LESOBL(4)='UY,X '
  160. LESOBL(5)='UY,Y '
  161. LESOBL(6)='UY,Z '
  162. LESOBL(7)='UZ,X '
  163. LESOBL(8)='UZ,Y '
  164. LESOBL(9)='UZ,Z '
  165. C =====
  166. C 2.2 - 2D Axisymetrie et Fourier
  167. C =====
  168. ELSE IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN
  169. NBROBL=9
  170. SEGINI,NOMID
  171. LESOBL(1)='UR,R '
  172. LESOBL(2)='UR,Z '
  173. LESOBL(3)='UR,T '
  174. LESOBL(4)='UZ,R '
  175. LESOBL(5)='UZ,Z '
  176. LESOBL(6)='UZ,T '
  177. LESOBL(7)='UT,R '
  178. LESOBL(8)='UT,Z '
  179. LESOBL(9)='UT,T '
  180. C =====
  181. C 2.3 - Massif Unidimensionnel (1D) PLAN et AXIS/SPHE
  182. C =====
  183. ELSE IF (MFR.EQ.1 .AND. (IFOU.GE.3.AND.IFOU.LE.15)) THEN
  184. NBROBL=9
  185. SEGINI,NOMID
  186. IF (IFOU.GE.3.AND.IFOU.LE.11) THEN
  187. LESOBL(1)='UX,X '
  188. LESOBL(2)='UX,Y '
  189. LESOBL(3)='UX,Z '
  190. LESOBL(4)='UY,X '
  191. LESOBL(5)='UY,Y '
  192. LESOBL(6)='UY,Z '
  193. LESOBL(7)='UZ,X '
  194. LESOBL(8)='UZ,Y '
  195. LESOBL(9)='UZ,Z '
  196. ELSE
  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. ENDIF
  208.  
  209. C 3 - Elements COQUES
  210. C =====================
  211. ELSE IF (MFR.EQ.3) THEN
  212. C =====
  213. C 3.1 - Tridimensionnel
  214. C =====
  215. IF (IFOU.EQ.2) THEN
  216. NBROBL=9
  217. SEGINI,NOMID
  218. LESOBL(1)='UX,X'
  219. LESOBL(2)='UX,Y'
  220. LESOBL(3)='UX,Z'
  221. LESOBL(4)='UY,X'
  222. LESOBL(5)='UY,Y'
  223. LESOBL(6)='UY,Z'
  224. LESOBL(7)='UZ,X'
  225. LESOBL(8)='UZ,Y'
  226. LESOBL(9)='UZ,Z'
  227. C =====
  228. C 3.2 - Axisymetrie, Fourier, Bidimensionnel PLAN (CP/DP)
  229. C =====
  230. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0.OR.
  231. . IFOU.EQ.-1.OR.IFOU.EQ.-2.or.ifou.eq.-3) THEN
  232. NBROBL=9
  233. SEGINI,NOMID
  234. LESOBL(1)='UU,S'
  235. LESOBL(2)='UU,T'
  236. LESOBL(3)='UU,N'
  237. LESOBL(4)='UV,S'
  238. LESOBL(5)='UV,T'
  239. LESOBL(6)='UV,N'
  240. LESOBL(7)='UW,S'
  241. LESOBL(8)='UW,T'
  242. LESOBL(9)='UW,N'
  243. ENDIF
  244.  
  245. C 4 - Elements COQUES EPAISSES (COQ6,COQ8)
  246. C ==============================
  247. ELSE IF (MFR.EQ.5) THEN
  248. C =====
  249. C 4.1 - Tridimensionnel
  250. C =====
  251. IF (IFOU.EQ.2) THEN
  252. NBROBL=9
  253. SEGINI,NOMID
  254. LESOBL(1)='UX,X'
  255. LESOBL(2)='UX,Y'
  256. LESOBL(3)='UX,Z'
  257. LESOBL(4)='UY,X'
  258. LESOBL(5)='UY,Y'
  259. LESOBL(6)='UY,Z'
  260. LESOBL(7)='UZ,X'
  261. LESOBL(8)='UZ,Y'
  262. LESOBL(9)='UZ,Z'
  263. C =====
  264. C 4.2 - Axisymetrie et Fourier
  265. C =====
  266. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  267. NBROBL=9
  268. SEGINI,NOMID
  269. LESOBL(1)='UR,R'
  270. LESOBL(2)='UR,Z'
  271. LESOBL(3)='UR,T'
  272. LESOBL(4)='UZ,R'
  273. LESOBL(5)='UZ,Z'
  274. LESOBL(6)='UZ,T'
  275. LESOBL(7)='UT,R'
  276. LESOBL(8)='UT,Z'
  277. LESOBL(9)='UT,T'
  278. ENDIF
  279.  
  280. C 5 - Element de COQUE en CISAILLEMENT TRANSVERSE (tridimensionnel)
  281. C =================================================
  282. ELSE IF (MFR.EQ.9) THEN
  283. IF (IFOU.EQ.2) THEN
  284. NBROBL=9
  285. SEGINI,NOMID
  286. LESOBL(1)='UX,X'
  287. LESOBL(2)='UX,Y'
  288. LESOBL(3)='UX,Z'
  289. LESOBL(4)='UY,X'
  290. LESOBL(5)='UY,Y'
  291. LESOBL(6)='UY,Z'
  292. LESOBL(7)='UZ,X'
  293. LESOBL(8)='UZ,Y'
  294. LESOBL(9)='UZ,Z'
  295. ENDIF
  296.  
  297. C 6 - Formulation THERMIQUE MASSIF
  298. C ==================================
  299. ELSE IF (MFR.EQ.29) THEN
  300. C =====
  301. C 6.1 - Tridimensionnel
  302. C =====
  303. IF (IFOU.EQ.2) THEN
  304. NBROBL=3
  305. SEGINI,NOMID
  306. LESOBL(1)='T,X '
  307. LESOBL(2)='T,Y '
  308. LESOBL(3)='T,Z '
  309. C =====
  310. C 6.2 - Bidimensionnel PLAN (DP/CP/DPGE)
  311. C =====
  312. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  313. NBROBL=2
  314. SEGINI,NOMID
  315. LESOBL(1)='T,X '
  316. LESOBL(2)='T,Y '
  317. C =====
  318. C 6.3 - Axisymetrie et Fourier
  319. C =====
  320. ELSE IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN
  321. NBROBL=2
  322. SEGINI,NOMID
  323. LESOBL(1)='T,R '
  324. LESOBL(2)='T,Z '
  325. C =====
  326. C 6.4 - Unidimensionnel (1D)
  327. C =====
  328. ELSE IF (IFOU.GE.3.AND.IFOU.LE.11) THEN
  329. NBROBL=1
  330. SEGINI,NOMID
  331. LESOBL(1)='T,X '
  332. ELSE IF (IFOU.GE.12.AND.IFOU.LE.15) THEN
  333. NBROBL=1
  334. SEGINI,NOMID
  335. LESOBL(1)='T,R '
  336. ENDIF
  337.  
  338. C 7 - Formulation THERMIQUE COQUE
  339. C =================================
  340. ELSE IF (MFR.EQ.39) THEN
  341. C =====
  342. C 7.1 - Tridimensionnel
  343. C =====
  344. IF (IFOU.EQ.2) THEN
  345. NBROBL=2
  346. SEGINI,NOMID
  347. LESOBL(1)='T,X '
  348. LESOBL(2)='T,Y '
  349. C =====
  350. C 7.2 - Axisymetrie et Fourier
  351. C =====
  352. ELSE IF (IFOU.EQ.0) THEN
  353. NBROBL=1
  354. SEGINI,NOMID
  355. LESOBL(1)='T,Z '
  356. ENDIF
  357.  
  358. C 8 - Formulation MAGNETODYNAMIQUE COQUE (tridimensionnel)
  359. C ========================================
  360. ELSE IF (MFR.EQ.69) THEN
  361. NBROBL=3
  362. SEGINI,NOMID
  363. LESOBL(1)='FC,X '
  364. LESOBL(2)='FC,Y '
  365. LESOBL(3)='FC,Z '
  366.  
  367. C 9 - formulation XFEM meca rupt
  368. C =====================================
  369. c ELSE IF (MFR.EQ.63) THEN
  370. CTY - Element XQ4R (xfem meca rupture en 2D)
  371. c IF(IFOU.EQ.-2.OR.ifou.EQ.-1) then
  372. c NBROBL=4
  373. c NBRFAC=36
  374. c NBRFAC=20
  375. c SEGINI,NOMID
  376. c LESOBL(1)='UX,X'
  377. c LESOBL(2)='UX,Y'
  378. c LESOBL(3)='UY,X'
  379. c LESOBL(4)='UY,Y'
  380. c LESFAC(1)='AX,X'
  381. c LESFAC(2)='AX,Y'
  382. c LESFAC(3)='AY,X'
  383. c LESFAC(4)='AY,Y'
  384. c LESFAC(5)='B1XX'
  385. c LESFAC(6)='B1XY'
  386. c LESFAC(7)='B1YX'
  387. c LESFAC(8)='B1YY'
  388. c LESFAC(9)='C1XX'
  389. c LESFAC(10)='C1XY'
  390. c LESFAC(11)='C1YX'
  391. c LESFAC(12)='C1YY'
  392. c LESFAC(13)='D1XX'
  393. c LESFAC(14)='D1XY'
  394. c LESFAC(15)='D1YX'
  395. c LESFAC(16)='D1YY'
  396. c LESFAC(17)='E1XX'
  397. c LESFAC(18)='E1XY'
  398. c LESFAC(19)='E1YX'
  399. c LESFAC(20)='E1YY'
  400. c LESFAC(21)='B2XX'
  401. c LESFAC(22)='B2XY'
  402. c LESFAC(23)='B2YX'
  403. c LESFAC(24)='B2YY'
  404. c LESFAC(25)='C2XX'
  405. c LESFAC(26)='C2XY'
  406. c LESFAC(27)='C2YX'
  407. c LESFAC(28)='C2YY'
  408. c LESFAC(29)='D2XX'
  409. c LESFAC(30)='D2XY'
  410. c LESFAC(31)='D2YX'
  411. c LESFAC(32)='D2YY'
  412. c LESFAC(33)='E2XX'
  413. c LESFAC(34)='E2XY'
  414. c LESFAC(35)='E2YX'
  415. c LESFAC(36)='E2YY'
  416. c ELSE IF (IFOU.EQ.2) THEN
  417. CTY - Element XC8R (xfem meca rupture en 3D)
  418. c NBROBL=9
  419. c NBRFAC=45
  420. c NBRFAC=81
  421. c SEGINI,NOMID
  422. c LESOBL(1)='UX,X'
  423. c LESOBL(2)='UX,Y'
  424. c LESOBL(3)='UX,Z'
  425. c LESOBL(4)='UY,X'
  426. c LESOBL(5)='UY,Y'
  427. c LESOBL(6)='UY,Z'
  428. c LESOBL(7)='UZ,X'
  429. c LESOBL(8)='UZ,Y'
  430. c LESOBL(9)='UZ,Z'
  431. c LESFAC(1)='AX,X'
  432. c LESFAC(2)='AX,Y'
  433. c LESFAC(3)='AX,Z'
  434. c LESFAC(4)='AY,X'
  435. c LESFAC(5)='AY,Y'
  436. c LESFAC(6)='AY,Z'
  437. c LESFAC(7)='AZ,X'
  438. c LESFAC(8)='AZ,Y'
  439. c LESFAC(9)='AZ,Z'
  440. c LESFAC(10)='B1XX'
  441. c LESFAC(11)='B1XY'
  442. c LESFAC(12)='B1XZ'
  443. c LESFAC(13)='B1YX'
  444. c LESFAC(14)='B1YY'
  445. c LESFAC(15)='B1YZ'
  446. c LESFAC(16)='B1ZX'
  447. c LESFAC(17)='B1ZY'
  448. c LESFAC(18)='B1ZZ'
  449. c LESFAC(19)='C1XX'
  450. c LESFAC(20)='C1XY'
  451. c LESFAC(21)='C1XZ'
  452. c LESFAC(22)='C1YX'
  453. c LESFAC(23)='C1YY'
  454. c LESFAC(24)='C1YZ'
  455. c LESFAC(25)='C1ZX'
  456. c LESFAC(26)='C1ZY'
  457. c LESFAC(27)='C1ZZ'
  458. c LESFAC(28)='D1XX'
  459. c LESFAC(29)='D1XY'
  460. c LESFAC(30)='D1XZ'
  461. c LESFAC(31)='D1YX'
  462. c LESFAC(32)='D1YY'
  463. c LESFAC(33)='D1YZ'
  464. c LESFAC(34)='D1ZX'
  465. c LESFAC(35)='D1ZY'
  466. c LESFAC(36)='D1ZZ'
  467. c LESFAC(37)='E1XX'
  468. c LESFAC(38)='E1XY'
  469. c LESFAC(39)='E1XZ'
  470. c LESFAC(40)='E1YX'
  471. c LESFAC(41)='E1YY'
  472. c LESFAC(42)='E1YZ'
  473. c LESFAC(43)='E1ZX'
  474. c LESFAC(44)='E1ZY'
  475. c LESFAC(45)='E1ZZ'
  476. c LESFAC(46)='B2XX'
  477. c LESFAC(47)='B2XY'
  478. c LESFAC(48)='B2XZ'
  479. c LESFAC(49)='B2YX'
  480. c LESFAC(50)='B2YY'
  481. c LESFAC(51)='B2YZ'
  482. c LESFAC(52)='B2ZX'
  483. c LESFAC(53)='B2ZY'
  484. c LESFAC(54)='B2ZZ'
  485. c LESFAC(55)='C2XX'
  486. c LESFAC(56)='C2XY'
  487. c LESFAC(57)='C2XZ'
  488. c LESFAC(58)='C2YX'
  489. c LESFAC(59)='C2YY'
  490. c LESFAC(60)='C2YZ'
  491. c LESFAC(61)='C2ZX'
  492. c LESFAC(62)='C2ZY'
  493. c LESFAC(63)='C2ZZ'
  494. c LESFAC(64)='D2XX'
  495. c LESFAC(65)='D2XY'
  496. c LESFAC(66)='D2XZ'
  497. c LESFAC(67)='D2YX'
  498. c LESFAC(68)='D2YY'
  499. c LESFAC(69)='D2YZ'
  500. c LESFAC(70)='D2ZX'
  501. c LESFAC(71)='D2ZY'
  502. c LESFAC(72)='D2ZZ'
  503. c LESFAC(73)='E2XX'
  504. c LESFAC(74)='E2XY'
  505. c LESFAC(75)='E2XZ'
  506. c LESFAC(76)='E2YX'
  507. c LESFAC(77)='E2YY'
  508. c LESFAC(78)='E2YZ'
  509. c LESFAC(79)='E2ZX'
  510. c LESFAC(80)='E2ZY'
  511. c LESFAC(81)='E2ZZ'
  512. c ENDIF
  513.  
  514. C 10- Formulation MECANIQUE POUTRES ET TUYAUX
  515. C ============================================
  516. ELSE IF (MFR.EQ.7 .OR. MFR.EQ.13) THEN
  517. C ======
  518. C 10.1 - Tridimensionnel
  519. C ======
  520. IF (IFOU.EQ.2) THEN
  521. NBROBL=3
  522. SEGINI,NOMID
  523. LESOBL(1)='U,S '
  524. LESOBL(2)='V,S '
  525. LESOBL(3)='W,S '
  526. C ======
  527. C 10.2 - Autres cas
  528. C ======
  529. ELSE
  530. NBROBL=2
  531. SEGINI,NOMID
  532. LESOBL(1)='U,S '
  533. LESOBL(2)='V,S '
  534. ENDIF
  535.  
  536. C 11 - Formulation ELECTROSTATIQUE (base MASSIF)
  537. C ==================================
  538. ELSE IF (MFR.EQ.71) THEN
  539. C ======
  540. C 11.1 - Tridimensionnel
  541. C ======
  542. IF (IFOU.EQ.2) THEN
  543. NBROBL=3
  544. SEGINI,NOMID
  545. LESOBL(1)='VE,X '
  546. LESOBL(2)='VE,Y '
  547. LESOBL(3)='VE,Z '
  548. C ======
  549. C 11.2 - Bidimensionnel PLAN (DP/CP/DPGE)
  550. C ======
  551. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  552. NBROBL=2
  553. SEGINI,NOMID
  554. LESOBL(1)='VE,X '
  555. LESOBL(2)='VE,Y '
  556. C ======
  557. C 11.3 - Axisymetrie et Fourier
  558. C ======
  559. ELSE IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN
  560. NBROBL=2
  561. SEGINI,NOMID
  562. LESOBL(1)='VE,R '
  563. LESOBL(2)='VE,Z '
  564. C ======
  565. C 11.4 - Unidimensionnel (1D)
  566. C ======
  567. ELSE IF (IFOU.GE.3.AND.IFOU.LE.11) THEN
  568. NBROBL=1
  569. SEGINI,NOMID
  570. LESOBL(1)='VE,X '
  571. ELSE IF (IFOU.GE.12.AND.IFOU.LE.15) THEN
  572. NBROBL=1
  573. SEGINI,NOMID
  574. LESOBL(1)='VE,R '
  575. ENDIF
  576.  
  577. C 12 - Formulation DIFFUSION
  578. C ============================
  579. ELSE IF ((MFR.EQ.73) .OR. (MFR.EQ.76) .OR. (MFR.EQ.74)) THEN
  580. NOMID = IPNOMC
  581.  
  582. C Recuperation de l'inconnue PRIMALE dans le NOMID
  583. CCOMP =NOMID.LESOBL(1)
  584. NBCHAR=LONG(CCOMP)
  585.  
  586. C Formulation DIFFUSION (Massif)
  587. IF(MFR.EQ.73)THEN
  588.  
  589. C ======
  590. C 12.1 - Tridimensionnel
  591. C ======
  592. IF (IFOU.EQ.2) THEN
  593. NBROBL=3
  594. SEGINI,NOMID
  595. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  596. LESOBL(2)=CCOMP(1:NBCHAR)//',Y'
  597. LESOBL(3)=CCOMP(1:NBCHAR)//',Z'
  598. C ======
  599. C 12.2 - Bidimensionnel PLAN (DP/CP/DPGE)
  600. C ======
  601. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  602. NBROBL=2
  603. SEGINI,NOMID
  604. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  605. LESOBL(2)=CCOMP(1:NBCHAR)//',Y'
  606. C ======
  607. C 12.3 - Axisymetrie et Fourier
  608. C ======
  609. ELSE IF (IFOU.EQ.0.OR.IFOU.EQ.1) THEN
  610. NBROBL=2
  611. SEGINI,NOMID
  612. LESOBL(1)=CCOMP(1:NBCHAR)//',R'
  613. LESOBL(2)=CCOMP(1:NBCHAR)//',Z'
  614. C ======
  615. C 12.4 - Unidimensionnel (1D)
  616. C ======
  617. ELSE IF (IFOU.GE.3.AND.IFOU.LE.11) THEN
  618. NBROBL=1
  619. SEGINI,NOMID
  620. LESOBL(1)=CCOMP(1:NBCHAR)//',X'
  621. ELSE IF (IFOU.GE.12.AND.IFOU.LE.15) THEN
  622. NBROBL=1
  623. SEGINI,NOMID
  624. LESOBL(1)=CCOMP(1:NBCHAR)//',R'
  625. ELSE
  626. CALL ERREUR(5)
  627. RETURN
  628. ENDIF
  629.  
  630. C Formulation DIFFUSION (TUY2, TUY3, BARR)
  631. ELSE IF(MFR.EQ.76)THEN
  632. NBROBL=1
  633. SEGINI,NOMID
  634. LESOBL(1)=CCOMP(1:NBCHAR)//',S'
  635.  
  636. C Formulation DIFFUSION (COQUES)
  637. ELSE IF(MFR.EQ.74)THEN
  638.  
  639. C =====
  640. C 12.5 - Tridimensionnel
  641. C =====
  642. IF (IFOU.EQ.2) THEN
  643. NBROBL=2
  644. SEGINI,NOMID
  645. LESOBL(1)=CCOMP(1:NBCHAR)//',X '
  646. LESOBL(2)=CCOMP(1:NBCHAR)//',Y '
  647. C =====
  648. C 12.6 - Axisymetrie et Fourier
  649. C =====
  650. ELSE IF (IFOU.EQ.0) THEN
  651. NBROBL=1
  652. SEGINI,NOMID
  653. LESOBL(1)=CCOMP(1:NBCHAR)//',Z '
  654. ELSE
  655. CALL ERREUR(5)
  656. RETURN
  657. ENDIF
  658.  
  659. ENDIF
  660.  
  661. C 13 - Formulation ZONE COHESIVE
  662. C ================================
  663. ELSE IF (MFR.EQ.77) THEN
  664. C =====
  665. C 13.1 - Tridimensionnel
  666. C =====
  667. IF (IFOU.EQ.2) THEN
  668. NBROBL=9
  669. SEGINI,NOMID
  670. LESOBL(1)='AX,X '
  671. LESOBL(2)='AX,Y '
  672. LESOBL(3)='AX,Z '
  673. LESOBL(4)='AY,X '
  674. LESOBL(5)='AY,Y '
  675. LESOBL(6)='AY,Z '
  676. LESOBL(7)='AZ,X '
  677. LESOBL(8)='AZ,Y '
  678. LESOBL(9)='AZ,Z '
  679. C =====
  680. C 13.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  681. C =====
  682. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  683. NBROBL=4
  684. SEGINI,NOMID
  685. LESOBL(1)='AX,X '
  686. LESOBL(2)='AX,Y '
  687. LESOBL(3)='AY,X '
  688. LESOBL(4)='AY,Y '
  689. ENDIF
  690.  
  691. C 14 - Formulation THERMIQUE TUY2, TUY3, BARR
  692. C ===========================================
  693. ELSE IF (MFR.EQ.40) THEN
  694. NBROBL=1
  695. SEGINI,NOMID
  696. LESOBL(1)='T,S '
  697.  
  698. ENDIF
  699.  
  700. C Par DEFAUT : segment VIDE
  701. C ===========================
  702. IF (NOMID.EQ.0) SEGINI,NOMID
  703.  
  704. SEGACT,NOMID*NOMOD
  705. IPNOMC=NOMID
  706.  
  707. RETURN
  708. END
  709.  
  710.  
  711.  
  712.  

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