Télécharger iddual.eso

Retour à la liste

Numérotation des lignes :

iddual
  1. C IDDUAL SOURCE CB215821 24/04/12 21:16:20 11897
  2. C=======================================================================
  3. C= DEFINITION DES NOMS DE COMPOSANTES PRIMALES =
  4. C= ------------------------------------------- =
  5. C= =
  6. C= Entrees : =
  7. C= IPMODE Pointeur sur un MMODEL.KMODEL =
  8. C= MFR0 Numero de Formulation =
  9. C= - Sert seulement si different de celui calcule avec IMODEL =
  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 IDDUAL(IPMODE,MFR0,IPNOMC,NBROBL,NBRFAC)
  19.  
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22.  
  23. CHARACTER*16 NOM16
  24. EXTERNAL LONG
  25.  
  26.  
  27. -INC PPARAM
  28. -INC CCOPTIO
  29. -INC SMMODEL
  30. -INC SMLMOTS
  31.  
  32. CHARACTER*(LOCOMP) CCOMP
  33.  
  34.  
  35. NOMID =0
  36. NBROBL=0
  37. NBRFAC=0
  38. IMODEL=IPMODE
  39. C Recuperation de IFOUR dans CCOPTIO.INC
  40. IFOU = IFOUR
  41. MELE =NEFMOD
  42. MFR =NUMMFR(MELE)
  43.  
  44. C On suppose que le IMODEL est actif
  45. NOMID = IMODEL.LNOMID(2)
  46.  
  47. C S'ils sont déjà présents dans le IMODEL on ne se les refait pas...
  48. IF(NOMID .NE. 0 .AND. (MFR .EQ. MFR0))THEN
  49. NBROBL=LESOBL(/2)
  50. NBRFAC=LESFAC(/2)
  51. IPNOMC = NOMID
  52. RETURN
  53. ENDIF
  54.  
  55. C Sinon on les détermine
  56. MFR = MFR0
  57.  
  58. C Cas particuliers de la THERMIQUE, DIFFUSION, METALLURGIE
  59. NOM16=FORMOD(1)
  60. IF(NOM16 .EQ. 'THERMIQUE ') GOTO 1001
  61. IF(NOM16 .EQ. 'DIFFUSION ') GOTO 1002
  62. IF(NOM16 .EQ. 'METALLURGIE ') GOTO 1003
  63.  
  64. * formulation thermohydrique
  65. IF( MFR.EQ.65) THEN
  66. NBROBL=3
  67. SEGINI NOMID
  68. LESOBL(1)='QG '
  69. LESOBL(2)='QC '
  70. LESOBL(3)='Q '
  71. *
  72. * 0/ MACRO ELEMENT
  73. *
  74. ELSEIF (MFR.EQ.61)THEN
  75. C
  76. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  77. *
  78. * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES
  79. *
  80. NBROBL=5
  81. SEGINI NOMID
  82. LESOBL(1)='FX '
  83. LESOBL(2)='FY '
  84. LESOBL(3)='MZ '
  85. LESOBL(4)='FM '
  86. LESOBL(5)='MM '
  87. ENDIF
  88.  
  89. C 1 - Elements COQUE (3), COQUE EPAISSE (5), POUTRE (7), COQUE en
  90. C CISAILLEMENT TRANSVERSE (9), TUYAU (13), LINESPRING (15), TUYAU
  91. C FISSURE (17), Barre excentree BAEX (49), LIA2 (51), JOI1(75)
  92. C ====================================================================
  93. ELSE IF (MFR.EQ. 3.OR.MFR.EQ. 5.OR.MFR.EQ. 7.OR.MFR.EQ. 9.OR.
  94. . MFR.EQ.13.OR.MFR.EQ.15.OR.MFR.EQ.17.OR.MFR.EQ.49.OR.
  95. . MFR.EQ.51.OR.MFR.EQ.75.OR.MFR.EQ.74) THEN
  96. C =====
  97. C 1.1 - Tridimensionnel
  98. C =====
  99. IF (IFOU.EQ.2) THEN
  100. NBROBL=6
  101. SEGINI,NOMID
  102. LESOBL(1)='FX '
  103. LESOBL(2)='FY '
  104. LESOBL(3)='FZ '
  105. LESOBL(4)='MX '
  106. LESOBL(5)='MY '
  107. LESOBL(6)='MZ '
  108. C =====
  109. C 1.2 - Fourier
  110. C =====
  111. ELSE IF (IFOU.EQ.1) THEN
  112. NBROBL=4
  113. SEGINI,NOMID
  114. LESOBL(1)='FR '
  115. LESOBL(2)='FZ '
  116. LESOBL(3)='FT '
  117. LESOBL(4)='MT '
  118. C =====
  119. C 1.3 - Axisymetrie
  120. C =====
  121. ELSE IF (IFOU.EQ.0) THEN
  122. NBROBL=3
  123. SEGINI,NOMID
  124. LESOBL(1)='FR '
  125. LESOBL(2)='FZ '
  126. LESOBL(3)='MT '
  127. C =====
  128. C 1.4 - Bidimensionnel PLAN (CP/DP)
  129. C =====
  130. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  131. NBROBL=3
  132. SEGINI,NOMID
  133. LESOBL(1)='FX '
  134. LESOBL(2)='FY '
  135. LESOBL(3)='MZ '
  136. C =====
  137. C 1.5 - Bidimensionnel PLAN GENE
  138. C =====
  139. ELSE IF (IFOU.EQ.-3) THEN
  140. C Ici il faut distinguer les formulations
  141. IF (MFR.EQ.3 .OR. MFR.EQ.5) THEN
  142. NBROBL=6
  143. SEGINI,NOMID
  144. LESOBL(1)='FX '
  145. LESOBL(2)='FY '
  146. LESOBL(3)='MZ '
  147. LESOBL(4)='FZ '
  148. LESOBL(5)='MY '
  149. LESOBL(6)='MX '
  150. ELSE
  151. NBROBL=3
  152. SEGINI,NOMID
  153. LESOBL(1)='FX '
  154. LESOBL(2)='FY '
  155. LESOBL(3)='MZ '
  156. ENDIF
  157. ENDIF
  158.  
  159. C 2 - Elements LIQUIDE
  160. C ======================
  161. ELSE IF (MFR.EQ.11) THEN
  162. NBROBL=2
  163. SEGINI,NOMID
  164. LESOBL(1)='FP '
  165. LESOBL(2)='FPI '
  166.  
  167. C 3 - Elements TUYAU ACOUSTIQUE PUR
  168. C ===================================
  169. ELSE IF (MFR.EQ.41) THEN
  170. NBROBL=2
  171. SEGINI,NOMID
  172. LESOBL(1)='FPI '
  173. LESOBL(2)='FP '
  174.  
  175. C 4 - Element de RACCORD LITU
  176. C =============================
  177. ELSE IF (MFR.EQ.43) THEN
  178. NBROBL=5
  179. SEGINI,NOMID
  180. LESOBL(1)='FX '
  181. LESOBL(2)='FY '
  182. LESOBL(3)='FZ '
  183. LESOBL(4)='FPI '
  184. LESOBL(5)='FP '
  185.  
  186. C 5 - Elements HOMOGENEISE
  187. C ==========================
  188. ELSE IF (MFR.EQ.37) THEN
  189. C =====
  190. C 5.1 - Fourier
  191. C =====
  192. IF (IFOU.EQ.1) THEN
  193. NBROBL=6
  194. SEGINI,NOMID
  195. LESOBL(1)='FP '
  196. LESOBL(2)='FPI '
  197. LESOBL(3)='FR '
  198. LESOBL(4)='MT '
  199. LESOBL(5)='FT '
  200. LESOBL(6)='MR '
  201. C =====
  202. C 5.2 - Axisymetrie
  203. C =====
  204. ELSE IF (IFOU.EQ.0) THEN
  205. NBROBL=4
  206. SEGINI,NOMID
  207. LESOBL(1)='FP '
  208. LESOBL(2)='FPI '
  209. LESOBL(3)='FR '
  210. LESOBL(4)='MT '
  211. C =====
  212. C 5.3 - Tridimensionnel
  213. C =====
  214. ELSE IF (IFOU.EQ.2) THEN
  215. NBROBL=6
  216. SEGINI,NOMID
  217. LESOBL(1)='FP '
  218. LESOBL(2)='FPI '
  219. LESOBL(3)='FX '
  220. LESOBL(4)='MY '
  221. LESOBL(5)='FY '
  222. LESOBL(6)='MX '
  223. C =====
  224. C 5.4 - Bidimensionnel PLAN (DP/CP/DPGE)
  225. C =====
  226. ELSE
  227. NBROBL=4
  228. SEGINI,NOMID
  229. LESOBL(1)='FP '
  230. LESOBL(2)='FPI '
  231. LESOBL(3)='FX '
  232. LESOBL(4)='FY '
  233. ENDIF
  234.  
  235. C 6 - Element de SURFACE LIBRE
  236. C ==============================
  237. ELSE IF (MFR.EQ.23) THEN
  238. NBROBL=3
  239. SEGINI,NOMID
  240. LESOBL(1)='FP '
  241. LESOBL(2)='FPI '
  242. LESOBL(3)='FZ '
  243.  
  244. C 7 - Element JOINT (35),JOINT CISAILLEMENT (53),JOINT GENERALISE (55)
  245. C =====================================================================
  246. c cccccc
  247. ELSE IF (MFR.EQ.35.OR.MFR.EQ.53.OR.MFR.EQ.55.OR.MFR.EQ.78) THEN
  248. c cccccc
  249. C =====
  250. C 7.1 - Tridimensionnel
  251. C =====
  252. IF (IFOU.EQ.2) THEN
  253. NBROBL=3
  254. SEGINI,NOMID
  255. LESOBL(1)='FX '
  256. LESOBL(2)='FY '
  257. LESOBL(3)='FZ '
  258. C =====
  259. C 7.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  260. C =====
  261. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  262. NBROBL=2
  263. SEGINI,NOMID
  264. LESOBL(1)='FX '
  265. LESOBL(2)='FY '
  266. C =====
  267. C 7.3 - Axisymetrie
  268. C =====
  269. ELSE IF (IFOU.EQ.0) THEN
  270. NBROBL=2
  271. SEGINI,NOMID
  272. LESOBL(1)='FR '
  273. LESOBL(2)='FZ '
  274. ENDIF
  275.  
  276. C 8 - Elements MASSIFS, de MEMBRANE (25), UNIAXIALE (27)
  277. C NAVIER_STOKES(52)
  278. C ========================================================
  279. ELSE IF (MFR.EQ.1.OR.MFR.EQ.25.OR.MFR.EQ.27.OR.MFR.EQ.31.OR.
  280. $ MFR.EQ.72.OR.MFR.EQ.52) THEN
  281. C =====
  282. C 8.1 - Bidimensionnel PLAN (CP/DP)
  283. C =====
  284. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  285. NBROBL=2
  286. SEGINI,NOMID
  287. LESOBL(1)='FX '
  288. LESOBL(2)='FY '
  289. C =====
  290. C 8.2 - Axisymetrie
  291. C =====
  292. ELSE IF (IFOU.EQ.0) THEN
  293. NBROBL=2
  294. SEGINI,NOMID
  295. LESOBL(1)='FR '
  296. LESOBL(2)='FZ '
  297. C =====
  298. C 8.3 - Fourier
  299. C =====
  300. ELSE IF (IFOU.EQ.1) THEN
  301. NBROBL=3
  302. SEGINI,NOMID
  303. LESOBL(1)='FR '
  304. LESOBL(2)='FZ '
  305. LESOBL(3)='FT '
  306. C =====
  307. C 8.4 - Tridimensionnel
  308. C =====
  309. ELSE IF (IFOU.EQ.2) THEN
  310. NBROBL=3
  311. SEGINI,NOMID
  312. LESOBL(1)='FX '
  313. LESOBL(2)='FY '
  314. LESOBL(3)='FZ '
  315. C =====
  316. C 8.5 - Bidimensionnel PLAN DPGE
  317. C =====
  318. ELSE IF (IFOU.EQ.-3) THEN
  319. IF (MFR.EQ.72) THEN
  320. NBROBL=2
  321. SEGINI,NOMID
  322. LESOBL(1)='FX '
  323. LESOBL(2)='FY '
  324. ELSE
  325. NBROBL=5
  326. SEGINI,NOMID
  327. LESOBL(1)='FX '
  328. LESOBL(2)='FY '
  329. LESOBL(3)='FZ '
  330. LESOBL(4)='MY '
  331. LESOBL(5)='MX '
  332. ENDIF
  333. C =====
  334. C 8.6 - Unidimensionnel (1D)
  335. C =====
  336. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
  337. IF (IFOU.LE.6) THEN
  338. NBROBL=1
  339. SEGINI,NOMID
  340. LESOBL(1)='FX '
  341. ELSE IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN
  342. NBROBL=2
  343. SEGINI,NOMID
  344. LESOBL(1)='FX '
  345. LESOBL(2)='FY '
  346. ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN
  347. NBROBL=2
  348. SEGINI,NOMID
  349. LESOBL(1)='FX '
  350. LESOBL(2)='FZ '
  351. ELSE IF (IFOU.EQ.11) THEN
  352. NBROBL=3
  353. SEGINI,NOMID
  354. LESOBL(1)='FX '
  355. LESOBL(2)='FY '
  356. LESOBL(3)='FZ '
  357. ELSE IF (IFOU.EQ.12.OR.IFOU.EQ.13.OR.IFOU.EQ.15) THEN
  358. NBROBL=1
  359. SEGINI,NOMID
  360. LESOBL(1)='FR '
  361. ELSE IF (IFOU.EQ.14) THEN
  362. NBROBL=2
  363. SEGINI,NOMID
  364. LESOBL(1)='FR '
  365. LESOBL(2)='FZ '
  366. ENDIF
  367. ENDIF
  368.  
  369. C 10 - Formulation POREUX
  370. C =========================
  371. ELSE IF (MFR.EQ.33) THEN
  372. C ======
  373. C 10.1 - Bidimensionnel PLAN (CP/DP)
  374. C ======
  375. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  376. NBROBL=3
  377. SEGINI,NOMID
  378. LESOBL(1)='FX '
  379. LESOBL(2)='FY '
  380. LESOBL(3)='FP '
  381. C ======
  382. C 10.2 - Axisymetrie
  383. C ======
  384. ELSE IF (IFOU.EQ.0) THEN
  385. NBROBL=3
  386. SEGINI,NOMID
  387. LESOBL(1)='FR '
  388. LESOBL(2)='FZ '
  389. LESOBL(3)='FP '
  390. C ======
  391. C 10.3 - Fourier
  392. C ======
  393. ELSE IF (IFOU.EQ.1) THEN
  394. NBROBL=4
  395. SEGINI,NOMID
  396. LESOBL(1)='FR '
  397. LESOBL(2)='FZ '
  398. LESOBL(3)='FT '
  399. LESOBL(4)='FP '
  400. C ======
  401. C 10.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  402. C ======
  403. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  404. NBROBL=4
  405. SEGINI,NOMID
  406. LESOBL(1)='FX '
  407. LESOBL(2)='FY '
  408. LESOBL(3)='FZ '
  409. LESOBL(4)='FP '
  410. ENDIF
  411.  
  412. C 11 - Formulation POREUX type Q
  413. C ================================
  414. ELSE IF (MFR.EQ.57) THEN
  415. C ======
  416. C 11.1 - Bidimensionnel PLAN (CP/DP)
  417. C ======
  418. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  419. NBROBL=4
  420. SEGINI,NOMID
  421. LESOBL(1)='FX '
  422. LESOBL(2)='FY '
  423. LESOBL(3)='FP '
  424. LESOBL(4)='FPQ '
  425. C ======
  426. C 11.2 - Axisymetrie
  427. C ======
  428. ELSE IF (IFOU.EQ.0) THEN
  429. NBROBL=4
  430. SEGINI,NOMID
  431. LESOBL(1)='FR '
  432. LESOBL(2)='FZ '
  433. LESOBL(3)='FP '
  434. LESOBL(4)='FPQ '
  435. C ======
  436. C 11.3 - Fourier
  437. C ======
  438. ELSE IF (IFOU.EQ.1) THEN
  439. NBROBL=5
  440. SEGINI,NOMID
  441. LESOBL(1)='FR '
  442. LESOBL(2)='FZ '
  443. LESOBL(3)='FT '
  444. LESOBL(4)='FP '
  445. LESOBL(5)='FPQ '
  446. C ======
  447. C 11.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  448. C ======
  449. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  450. NBROBL=5
  451. SEGINI,NOMID
  452. LESOBL(1)='FX '
  453. LESOBL(2)='FY '
  454. LESOBL(3)='FZ '
  455. LESOBL(4)='FP '
  456. LESOBL(5)='FPQ '
  457. ENDIF
  458.  
  459. C 12 - Formulation POREUX type R
  460. C ================================
  461. ELSE IF (MFR.EQ.59) THEN
  462. C ======
  463. C 12.1 - Bidimensionnel PLAN (CP/DP)
  464. C ======
  465. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  466. NBROBL=5
  467. SEGINI,NOMID
  468. LESOBL(1)='FX '
  469. LESOBL(2)='FY '
  470. LESOBL(3)='FP '
  471. LESOBL(4)='FPQ '
  472. LESOBL(5)='FTP '
  473. C ======
  474. C 12.2 - Axisymetrie
  475. C ======
  476. ELSE IF (IFOU.EQ.0) THEN
  477. NBROBL=5
  478. SEGINI,NOMID
  479. LESOBL(1)='FR '
  480. LESOBL(2)='FZ '
  481. LESOBL(3)='FP '
  482. LESOBL(4)='FPQ '
  483. LESOBL(5)='FTP '
  484. C ======
  485. C 12.3 - Fourier
  486. C ======
  487. ELSE IF (IFOU.EQ.1) THEN
  488. NBROBL=6
  489. SEGINI,NOMID
  490. LESOBL(1)='FR '
  491. LESOBL(2)='FZ '
  492. LESOBL(3)='FT '
  493. LESOBL(4)='FP '
  494. LESOBL(5)='FPQ '
  495. LESOBL(6)='FTP '
  496. C ======
  497. C 12.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  498. C ======
  499. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  500. NBROBL=6
  501. SEGINI,NOMID
  502. LESOBL(1)='FX '
  503. LESOBL(2)='FY '
  504. LESOBL(3)='FZ '
  505. LESOBL(4)='FP '
  506. LESOBL(5)='FPQ '
  507. LESOBL(6)='FTP '
  508. ENDIF
  509.  
  510. C 13 - Elements de RACCORD
  511. C ==========================
  512. ELSE IF (MFR.EQ.19.OR.MFR.EQ.21) THEN
  513. NBROBL=2
  514. SEGINI,NOMID
  515. LESOBL(1)='FP '
  516. LESOBL(2)='FPI '
  517.  
  518. C 14 - Element de RACCORD MASSIF (2e serie de composantes)
  519. C ==========================================================
  520. ELSE IF (MFR.EQ.1019) THEN
  521. C ======
  522. C 14.1 - Bidimensionnel PLAN (CP/DP)
  523. C ======
  524. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  525. NBROBL=2
  526. SEGINI,NOMID
  527. LESOBL(1)='FX '
  528. LESOBL(2)='FY '
  529. C ======
  530. C 14.2 - Axisymetrie
  531. C ======
  532. ELSE IF (IFOU.EQ.0) THEN
  533. NBROBL=2
  534. SEGINI,NOMID
  535. LESOBL(1)='FR '
  536. LESOBL(2)='FZ '
  537. C ======
  538. C 14.3 - Fourier
  539. C ======
  540. ELSE IF (IFOU.EQ.1) THEN
  541. NBROBL=3
  542. SEGINI,NOMID
  543. LESOBL(1)='FR '
  544. LESOBL(2)='FZ '
  545. LESOBL(3)='FT '
  546. C ======
  547. C 14.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  548. C ======
  549. ELSE IF(IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  550. NBROBL=3
  551. SEGINI,NOMID
  552. LESOBL(1)='FX '
  553. LESOBL(2)='FY '
  554. LESOBL(3)='FZ '
  555. ENDIF
  556.  
  557. C 15 - Element de RACCORD COQUE (2e serie de composantes)
  558. C =========================================================
  559. ELSE IF (MFR.EQ.1021) THEN
  560. C ======
  561. C 15.1 - Bidimensionnel PLAN (CP/DP)
  562. C ======
  563. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  564. NBROBL=3
  565. SEGINI,NOMID
  566. LESOBL(1)='FX '
  567. LESOBL(2)='FY '
  568. LESOBL(3)='MZ '
  569. C ======
  570. C 15.2 - Axisymetrie
  571. C ======
  572. ELSE IF (IFOU.EQ.0) THEN
  573. NBROBL=3
  574. SEGINI,NOMID
  575. LESOBL(1)='FR '
  576. LESOBL(2)='FZ '
  577. LESOBL(3)='MT '
  578. C ======
  579. C 15.3 - Fourier
  580. C ======
  581. ELSE IF (IFOU.EQ.1) THEN
  582. NBROBL=4
  583. SEGINI,NOMID
  584. LESOBL(1)='FR '
  585. LESOBL(2)='FZ '
  586. LESOBL(3)='FT '
  587. LESOBL(4)='MT '
  588. C ======
  589. C 15.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  590. C ======
  591. ELSE IF(IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  592. NBROBL=6
  593. SEGINI,NOMID
  594. LESOBL(1)='FX '
  595. LESOBL(2)='FY '
  596. LESOBL(3)='FZ '
  597. LESOBL(4)='MX '
  598. LESOBL(5)='MY '
  599. LESOBL(6)='MZ '
  600. ENDIF
  601.  
  602. C 16 - Element TUYO
  603. C ===================
  604. ELSE IF (MFR.EQ.39) THEN
  605. NBROBL=6+9
  606. SEGINI,NOMID
  607. LESOBL(1)='FX '
  608. LESOBL(2)='FY '
  609. LESOBL(3)='FZ '
  610. LESOBL(4)='MX '
  611. LESOBL(5)='MY '
  612. LESOBL(6)='MZ '
  613. LESOBL(7)='FW0 '
  614. LESOBL(8)='FU1 '
  615. LESOBL(9)='FU2 '
  616. LESOBL(10)='FU3 '
  617. LESOBL(11)='FU4 '
  618. LESOBL(12)='FW1 '
  619. LESOBL(13)='FW2 '
  620. LESOBL(14)='FW3 '
  621. LESOBL(15)='FW4 '
  622. C 17 - Element POI1 materiau MODAL
  623. C ===================
  624. ELSE IF (MFR.EQ.26) THEN
  625. NBROBL=1
  626. SEGINI,NOMID
  627. LESOBL(1)='FALF'
  628. C 18 - Element POI1 materiau STATIQUE
  629. C ===================
  630. ELSE IF (MFR.EQ.28) THEN
  631. NBROBL=1
  632. SEGINI,NOMID
  633. LESOBL(1)='FBET'
  634. C 19 - Element XQ4R (xfem meca rupture)
  635. C==================
  636. ELSEIF(MFR.EQ.63) THEN
  637. CTY - Element XQ4R (xfem meca rupture en 2D)
  638. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  639. NBROBL=2
  640. NBRFAC=18
  641. SEGINI,NOMID
  642. LESOBL(1)='FX '
  643. LESOBL(2)='FY '
  644. LESFAC(1)='FAX '
  645. LESFAC(2)='FAY '
  646. LESFAC(3)='FB1X'
  647. LESFAC(4)='FB1Y'
  648. LESFAC(5)='FC1X'
  649. LESFAC(6)='FC1Y'
  650. LESFAC(7)='FD1X'
  651. LESFAC(8)='FD1Y'
  652. LESFAC(9)='FE1X'
  653. LESFAC(10)='FE1Y'
  654. LESFAC(11)='FB2X'
  655. LESFAC(12)='FB2Y'
  656. LESFAC(13)='FC2X'
  657. LESFAC(14)='FC2Y'
  658. LESFAC(15)='FD2X'
  659. LESFAC(16)='FD2Y'
  660. LESFAC(17)='FE2X'
  661. LESFAC(18)='FE2Y'
  662. CTY - Element XC8R (xfem meca rupture en 3D)
  663. ELSE IF (IFOU.EQ.2) THEN
  664. NBROBL=3
  665. NBRFAC=27
  666. SEGINI,NOMID
  667. LESOBL(1)='FX '
  668. LESOBL(2)='FY '
  669. LESOBL(3)='FZ '
  670. LESFAC(1)='FAX '
  671. LESFAC(2)='FAY '
  672. LESFAC(3)='FAZ '
  673. LESFAC(4)='FB1X'
  674. LESFAC(5)='FB1Y'
  675. LESFAC(6)='FB1Z'
  676. LESFAC(7)='FC1X'
  677. LESFAC(8)='FC1Y'
  678. LESFAC(9)='FC1Z'
  679. LESFAC(10)='FD1X'
  680. LESFAC(11)='FD1Y'
  681. LESFAC(12)='FD1Z'
  682. LESFAC(13)='FE1X'
  683. LESFAC(14)='FE1Y'
  684. LESFAC(15)='FE1Z'
  685. LESFAC(16)='FB2X'
  686. LESFAC(17)='FB2Y'
  687. LESFAC(18)='FB2Z'
  688. LESFAC(19)='FC2X'
  689. LESFAC(20)='FC2Y'
  690. LESFAC(21)='FC2Z'
  691. LESFAC(22)='FD2X'
  692. LESFAC(23)='FD2Y'
  693. LESFAC(24)='FD2Z'
  694. LESFAC(25)='FE2X'
  695. LESFAC(26)='FE2Y'
  696. LESFAC(27)='FE2Z'
  697. ENDIF
  698.  
  699.  
  700. C 20 - Elements de zones cohesives
  701. C=================================
  702. ELSEIF(MFR.EQ.77) THEN
  703. C - Element ZCO2 (xfem meca rupture en 2D)
  704. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  705. NBROBL=2
  706. NBRFAC=18
  707. SEGINI,NOMID
  708. LESOBL(1)='FAX '
  709. LESOBL(2)='FAY '
  710. LESFAC(1)='FX '
  711. LESFAC(2)='FY '
  712. LESFAC(3)='FB1X'
  713. LESFAC(4)='FB1Y'
  714. LESFAC(5)='FC1X'
  715. LESFAC(6)='FC1Y'
  716. LESFAC(7)='FD1X'
  717. LESFAC(8)='FD1Y'
  718. LESFAC(9)='FE1X'
  719. LESFAC(10)='FE1Y'
  720. LESFAC(11)='FB2X'
  721. LESFAC(12)='FB2Y'
  722. LESFAC(13)='FC2X'
  723. LESFAC(14)='FC2Y'
  724. LESFAC(15)='FD2X'
  725. LESFAC(16)='FD2Y'
  726. LESFAC(17)='FE2X'
  727. LESFAC(18)='FE2Y'
  728. C - Element ZCO3 et ZCO4 (xfem meca rupture en 3D)
  729. ELSE IF (IFOU.EQ.2) THEN
  730. NBROBL=3
  731. NBRFAC=27
  732. SEGINI,NOMID
  733. LESOBL(1)='FAX '
  734. LESOBL(2)='FAY '
  735. LESOBL(3)='FAZ '
  736. LESFAC(1)='FX '
  737. LESFAC(2)='FY '
  738. LESFAC(3)='FZ '
  739. LESFAC(4)='FB1X'
  740. LESFAC(5)='FB1Y'
  741. LESFAC(6)='FB1Z'
  742. LESFAC(7)='FC1X'
  743. LESFAC(8)='FC1Y'
  744. LESFAC(9)='FC1Z'
  745. LESFAC(10)='FD1X'
  746. LESFAC(11)='FD1Y'
  747. LESFAC(12)='FD1Z'
  748. LESFAC(13)='FE1X'
  749. LESFAC(14)='FE1Y'
  750. LESFAC(15)='FE1Z'
  751. LESFAC(16)='FB2X'
  752. LESFAC(17)='FB2Y'
  753. LESFAC(18)='FB2Z'
  754. LESFAC(19)='FC2X'
  755. LESFAC(20)='FC2Y'
  756. LESFAC(21)='FC2Z'
  757. LESFAC(22)='FD2X'
  758. LESFAC(23)='FD2Y'
  759. LESFAC(24)='FD2Z'
  760. LESFAC(25)='FE2X'
  761. LESFAC(26)='FE2Y'
  762. LESFAC(27)='FE2Z'
  763. ENDIF
  764.  
  765. C 21 - Formulation ELECTROSTATIQUE (base MASSIF)
  766. C ==================================
  767. ELSE IF (MFR.EQ.71) THEN
  768. NBROBL=1
  769. SEGINI,NOMID
  770. LESOBL(1)='QEL '
  771.  
  772. ENDIF
  773.  
  774. C Par DEFAUT : segment VIDE
  775. C ===========================
  776. IF (NOMID.EQ.0) THEN
  777. SEGINI,NOMID
  778. ELSE
  779. if (ifomod.eq.6) then
  780. nbrfa0 = nbrfac
  781. NBRFAC = NBROBL + (nbrfa0*2)
  782. segadj nomid
  783. do imo = 1,nbrobl
  784. lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(1:3)
  785. lesfac(nbrfa0 + imo)(1:1) = 'I'
  786. enddo
  787. do imo = 1,nbrfa0
  788. lesfac(nbrfa0+nbrobl+imo)(2:4) = lesfac(imo)(1:3)
  789. lesfac(nbrfa0+nbrobl+imo)(1:1) = 'I'
  790. enddo
  791. endif
  792. ENDIF
  793.  
  794. IPNOMC=NOMID
  795. RETURN
  796.  
  797.  
  798. C 9 - Formulation THERMIQUE
  799. C ===========================
  800. 1001 CONTINUE
  801. C Cas des COQUES
  802. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  803. NPINT = 0
  804. if(infmod(/1).ne.0) NPINT=infmod(1)
  805. IF(NPINT.EQ.0) THEN
  806. NBROBL=3
  807. SEGINI NOMID
  808. LESOBL(1)='QINF '
  809. LESOBL(2)='Q '
  810. LESOBL(3)='QSUP '
  811. ELSE
  812. NBROBL = 1
  813. SEGINI NOMID
  814. LESOBL(1)='Q '
  815. ENDIF
  816. *
  817. *--- TOUS LES CAS SAUF COQUES ET COQUES EPAISSES
  818. *
  819. ELSE
  820. NBROBL=1
  821. SEGINI NOMID
  822. LESOBL(1)='Q '
  823. ENDIF
  824. IPNOMC=NOMID
  825. RETURN
  826.  
  827. C 22 - Formulation DIFFUSION
  828. C ===========================
  829. 1002 CONTINUE
  830. C Recuperation du LISTMOTS dans IVAMOD(1)
  831. MLMOT1=IVAMOD(1)
  832.  
  833. C Recuperation de l'inconnue DUALE
  834. CCOMP =MLMOT1.MOTS(2)
  835. NBCHAR=LONG(CCOMP)
  836.  
  837. C Cas des COQUES
  838. IF (MFR.EQ.3 .OR. MFR.EQ.5 .OR. MFR.EQ.9) THEN
  839. NPINT = 0
  840. if(infmod(/1).ne.0) NPINT=infmod(1)
  841. IF(NPINT.EQ.0) THEN
  842. NBROBL=3
  843. SEGINI NOMID
  844. IF(NBCHAR .GT. 4) THEN
  845. CALL ERREUR(536)
  846. RETURN
  847. ENDIF
  848.  
  849. LESOBL(1)=CCOMP(1:NBCHAR)//'IN '
  850. LESOBL(2)=CCOMP
  851. LESOBL(3)=CCOMP(1:NBCHAR)//'SU '
  852.  
  853. ELSE
  854. NBROBL = 1
  855. SEGINI NOMID
  856. LESOBL(1 )= CCOMP
  857. ENDIF
  858.  
  859. C Cas des autres elements
  860. ELSE
  861. NBROBL = 1
  862. SEGINI NOMID
  863. LESOBL(1)=CCOMP
  864. ENDIF
  865. IPNOMC=NOMID
  866. RETURN
  867.  
  868. C 23 - Formulation METALLURGIE
  869. C ==================================
  870. 1003 CONTINUE
  871. NBROBL=0
  872. NBRFAC=0
  873. SEGINI NOMID
  874. IPNOMC=NOMID
  875. RETURN
  876.  
  877. END
  878.  
  879.  
  880.  
  881.  
  882.  

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