Télécharger idgrad.eso

Retour à la liste

Numérotation des lignes :

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

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