Télécharger iddefo.eso

Retour à la liste

Numérotation des lignes :

iddefo
  1. C IDDEFO SOURCE MB234859 25/08/04 21:15:15 12339
  2.  
  3. C=======================================================================
  4. C= RECHERCHE DES NOMS DE COMPOSANTES DE DEFORMATIONS =
  5. C= ------------------------------------------------- =
  6. C= =
  7. C= Entrees : =
  8. C= IPMODL pointeur ACTIF sur objet IMODEL =
  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 IDDEFO (IPMODL,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 SMMODEL
  31. POINTEUR nomid1.nomid
  32. C
  33. NBROBL = 0
  34. NBRFAC = 0
  35. C
  36. IMODEL=IPMODL
  37. NOMID =IMODEL.LNOMID(5)
  38. C
  39. C Ne pas recreer le NOMID si deja present
  40. IF (NOMID.NE.0) THEN
  41. NBROBL=LESOBL(/2)
  42. NBRFAC=LESFAC(/2)
  43. IPNOMC=NOMID
  44. RETURN
  45. ENDIF
  46. C
  47. MELE=IMODEL.NEFMOD
  48. MFR =NUMMFR(MELE)
  49. MFR2=NUMFOR(IMODEL)
  50. *
  51. * MACRO ELEMENT
  52. *
  53. IF (MFR.EQ.61)THEN
  54. IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2) THEN
  55. NBROBL=5
  56. SEGINI NOMID
  57. LESOBL(1)='EPS1'
  58. LESOBL(2)='CZ1 '
  59. LESOBL(3)='GXY '
  60. LESOBL(4)='EPS2'
  61. LESOBL(5)='CZ2 '
  62. ENDIF
  63. C =================================================================
  64. C FORMULATION MECANIQUE/LIAISON/NAVIER_STOKES/HHO
  65. C =================================================================
  66. ELSE IF (MFR2.EQ.2.OR.MFR2.EQ.24.OR.MFR2.EQ.52.OR.
  67. & MFR2.EQ.HHO_MFR_ELEMENT) THEN
  68. C
  69. NMAT=MATMOD(/2)
  70. CALL PLACE(MATMOD,NMAT,IIMPE,'IMPEDANCE')
  71. IF (IIMPE.NE.0) THEN
  72. C
  73. C Recuperation du NOMID des composantes primales
  74. NOMID1=IMODEL.LNOMID(1)
  75. NBROBL=NOMID1.LESOBL(/2)
  76. NBRFAC=NOMID1.LESFAC(/2)
  77. SEGINI,NOMID
  78. DO IO = 1,NBROBL
  79. LESOBL(IO)='E'//NOMID1.LESOBL(IO)(1:3)
  80. ENDDO
  81. DO IO = 1,NBRFAC
  82. LESFAC(IO)='E'//NOMID1.LESFAC(IO)(1:3)
  83. ENDDO
  84.  
  85. IPNOMC=NOMID
  86. RETURN
  87.  
  88. ENDIF
  89. C
  90. C Elements MASSIFS (standard,incompressibles,XFEM,Navier_Stokes,HHO)
  91. C ================
  92. IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.63.OR.MFR.EQ.52.OR.
  93. & MFR.EQ.HHO_MFR_ELEMENT) THEN
  94. IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  95. NBROBL=4
  96. SEGINI,NOMID
  97. LESOBL(1)='EPXX'
  98. LESOBL(2)='EPYY'
  99. LESOBL(3)='EPZZ'
  100. LESOBL(4)='GAXY'
  101. ELSE IF (IFOUR.EQ.0) THEN
  102. NBROBL=4
  103. SEGINI,NOMID
  104. LESOBL(1)='EPRR'
  105. LESOBL(2)='EPZZ'
  106. LESOBL(3)='EPTT'
  107. LESOBL(4)='GARZ'
  108. ELSE IF (IFOUR.EQ.1) THEN
  109. NBROBL=6
  110. SEGINI,NOMID
  111. LESOBL(1)='EPRR'
  112. LESOBL(2)='EPZZ'
  113. LESOBL(3)='EPTT'
  114. LESOBL(4)='GARZ'
  115. LESOBL(5)='GART'
  116. LESOBL(6)='GAZT'
  117. ELSE IF (IFOUR.EQ.2) THEN
  118. NBROBL=6
  119. SEGINI,NOMID
  120. LESOBL(1)='EPXX'
  121. LESOBL(2)='EPYY'
  122. LESOBL(3)='EPZZ'
  123. LESOBL(4)='GAXY'
  124. LESOBL(5)='GAXZ'
  125. LESOBL(6)='GAYZ'
  126. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.15.AND.MFR.EQ.1) THEN
  127. NBROBL=3
  128. SEGINI,NOMID
  129. IF (IFOUR.LE.11) THEN
  130. LESOBL(1)='EPXX'
  131. LESOBL(2)='EPYY'
  132. LESOBL(3)='EPZZ'
  133. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.14) THEN
  134. LESOBL(1)='EPRR'
  135. LESOBL(2)='EPZZ'
  136. LESOBL(3)='EPTT'
  137. ELSE IF (IFOUR.EQ.15) THEN
  138. LESOBL(1)='EPRR'
  139. C Voir TC pour LESOBL(2)='EPFF' ?
  140. LESOBL(2)='EPZZ'
  141. LESOBL(3)='EPTT'
  142. ENDIF
  143. ENDIF
  144. C
  145. C Elements COQUES
  146. C ===============
  147. ELSE IF (MFR.EQ.3.OR.MFR.EQ.39) THEN
  148. NPINT=INFMOD(1)
  149. IF (NPINT.EQ.0) THEN
  150. IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN
  151. NBROBL=6
  152. SEGINI,NOMID
  153. LESOBL(1)='EPSS'
  154. LESOBL(2)='EPTT'
  155. LESOBL(3)='GAST'
  156. LESOBL(4)='RTSS'
  157. LESOBL(5)='RTTT'
  158. LESOBL(6)='RTST'
  159. ELSE IF (IFOUR.EQ.0) THEN
  160. NBROBL=4
  161. SEGINI,NOMID
  162. LESOBL(1)='EPSS'
  163. LESOBL(2)='EPTT'
  164. LESOBL(3)='RTSS'
  165. LESOBL(4)='RTTT'
  166. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  167. NBROBL=4
  168. SEGINI,NOMID
  169. LESOBL(1)='EPSS'
  170. LESOBL(2)='EPZZ'
  171. LESOBL(3)='RTSS'
  172. LESOBL(4)='RTZZ'
  173. ENDIF
  174. ELSE
  175. IF (MFR.EQ.3.AND.IFOUR.EQ.2) THEN
  176. NBROBL=4
  177. SEGINI,NOMID
  178. LESOBL(1)='EPSS'
  179. LESOBL(2)='EPTT'
  180. LESOBL(3)='EPNN'
  181. LESOBL(4)='GAST'
  182. ENDIF
  183. ENDIF
  184. C
  185. C Elements COQUE EPAISSE
  186. C ======================
  187. ELSE IF (MFR.EQ.5) THEN
  188. NBROBL=5
  189. SEGINI,NOMID
  190. LESOBL(1)='EPSS'
  191. LESOBL(2)='EPTT'
  192. LESOBL(3)='GAST'
  193. LESOBL(4)='GASN'
  194. LESOBL(5)='GATN'
  195. C
  196. C Element de COQUE en CISAILLEMENT TRANSVERSE (tridimensionnel)
  197. C ===========================================
  198. ELSE IF (MFR.EQ.9) THEN
  199. NPINT=INFMOD(1)
  200. IF (NPINT.EQ.0) THEN
  201. IF (IFOUR.EQ.2) THEN
  202. NBROBL=8
  203. SEGINI,NOMID
  204. LESOBL(1)='EPSS'
  205. LESOBL(2)='EPTT'
  206. LESOBL(3)='GAST'
  207. LESOBL(4)='RTSS'
  208. LESOBL(5)='RTTT'
  209. LESOBL(6)='RTST'
  210. LESOBL(7)='GASN'
  211. LESOBL(8)='GATN'
  212. ENDIF
  213. ENDIF
  214. C
  215. C Elements POUTRES ET TUYAUX
  216. C ==========================
  217. ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  218. IF (IFOUR.EQ.2) THEN
  219. NBROBL=6
  220. SEGINI,NOMID
  221. LESOBL(1)='EPS '
  222. LESOBL(2)='GXY '
  223. LESOBL(3)='GXZ '
  224. LESOBL(4)='CX '
  225. LESOBL(5)='CY '
  226. LESOBL(6)='CZ '
  227. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  228. NBROBL=3
  229. SEGINI,NOMID
  230. LESOBL(1)='EPS '
  231. LESOBL(2)='GXY '
  232. LESOBL(3)='CZ '
  233. ENDIF
  234. C
  235. C Element LIA2
  236. C ============
  237. ELSE IF (MFR.EQ.51) THEN
  238. NBROBL=6
  239. SEGINI,NOMID
  240. LESOBL(1)='EPS '
  241. LESOBL(2)='GXY '
  242. LESOBL(3)='GXZ '
  243. LESOBL(4)='CX '
  244. LESOBL(5)='CY '
  245. LESOBL(6)='CZ '
  246. C
  247. C Element JOINT JOI1
  248. C ==================
  249. ELSE IF (MFR.EQ.75) THEN
  250. IF (IFOUR.EQ.2) THEN
  251. NBROBL=6
  252. SEGINI,NOMID
  253. LESOBL(1)='EXX '
  254. LESOBL(2)='GXY '
  255. LESOBL(3)='GXZ '
  256. LESOBL(4)='CXX '
  257. LESOBL(5)='CXY '
  258. LESOBL(6)='CXZ '
  259. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  260. NBROBL=3
  261. SEGINI,NOMID
  262. LESOBL(1)='EXX '
  263. LESOBL(2)='GXY '
  264. LESOBL(3)='CXZ '
  265. ENDIF
  266. C
  267. C Element JOINT JOI2
  268. C =================
  269. ELSE IF (MFR.EQ.35) THEN
  270. IF (IFOUR.EQ.2) THEN
  271. NBROBL=3
  272. SEGINI,NOMID
  273. LESOBL(1)='DRS1'
  274. LESOBL(2)='DRS2'
  275. LESOBL(3)='DRN '
  276. ELSE IF ((IFOUR.EQ.-3).OR.(IFOUR.EQ.-2).OR.(IFOUR.EQ.-1).OR.
  277. & (IFOUR.EQ.0)) THEN
  278. NBROBL=2
  279. SEGINI,NOMID
  280. LESOBL(1)='DRSN'
  281. LESOBL(2)='DRN '
  282. ENDIF
  283. C
  284. C Element BARRE EXCENTREE
  285. C =======================
  286. ELSE IF (MFR.EQ.49) THEN
  287. NBROBL=1
  288. SEGINI,NOMID
  289. LESOBL(1)='EPSS'
  290. C
  291. C Element LINESPRING
  292. C ==================
  293. ELSE IF (MFR.EQ.15) THEN
  294. IF (IFOUR.EQ.2) THEN
  295. NBROBL=6
  296. SEGINI,NOMID
  297. LESOBL(1)='EPZZ'
  298. LESOBL(2)='GAXZ'
  299. LESOBL(3)='GAYZ'
  300. LESOBL(4)='RTXX'
  301. LESOBL(5)='RTZZ'
  302. LESOBL(6)='DJP '
  303. ENDIF
  304. C
  305. C Element de MEMBRANE
  306. C ===================
  307. ELSE IF (MFR.EQ.25) THEN
  308. NBROBL=3
  309. SEGINI,NOMID
  310. LESOBL(1)='EPSS'
  311. LESOBL(2)='EPTT'
  312. LESOBL(3)='GAST'
  313. C
  314. C Element UNIAXIALE
  315. C =================
  316. ELSE IF (MFR.EQ.27) THEN
  317. NBROBL=1
  318. SEGINI,NOMID
  319. LESOBL(1)='EPSS'
  320. C
  321. C Element TUYAU FISSURE
  322. C =====================
  323. ELSE IF (MFR.EQ.17) THEN
  324. IF (IFOUR.EQ.2) THEN
  325. NBROBL=8
  326. SEGINI,NOMID
  327. LESOBL(1)='EPS '
  328. LESOBL(2)='GXY '
  329. LESOBL(3)='GXZ '
  330. LESOBL(4)='CX '
  331. LESOBL(5)='CY '
  332. LESOBL(6)='CZ '
  333. LESOBL(7)='EPS7'
  334. LESOBL(8)='EPS8'
  335. ENDIF
  336. C
  337. C Element SECTION/FIBRE
  338. C =====================
  339. ELSE IF (MFR.EQ.47) THEN
  340. IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  341. NBROBL=2
  342. SEGINI,NOMID
  343. LESOBL(1)='EPXX'
  344. LESOBL(2)='GAXY'
  345. ELSE IF (IFOUR.EQ.2) THEN
  346. NBROBL=3
  347. SEGINI,NOMID
  348. LESOBL(1)='EPXX'
  349. LESOBL(2)='GAXY'
  350. LESOBL(3)='GAXZ'
  351. ENDIF
  352. C
  353. C Element coaxial COS2
  354. C ====================
  355. ELSE IF ( MFR.EQ.78) THEN
  356. NBROBL=3
  357. SEGINI,NOMID
  358. LESOBL(1)='GLIT'
  359. LESOBL(2)='GLIN'
  360. LESOBL(3)='GLIM'
  361. C
  362. C Element JOINT CISAILLEMENT
  363. C =========================
  364. ELSE IF (MFR.EQ.53) THEN
  365. IF ((IFOUR.EQ.-3).OR.(IFOUR.EQ.-2).OR.(IFOUR.EQ.-1)) THEN
  366. NBROBL=2
  367. SEGINI,NOMID
  368. LESOBL(1)='DRS1'
  369. LESOBL(2)='DRS2'
  370. ENDIF
  371. C
  372. C Elements JOINT GENERALISE
  373. C =========================
  374. ELSE IF (MFR.EQ.55) THEN
  375. IF ((IFOUR.EQ.-3).OR.(IFOUR.EQ.-2).OR.(IFOUR.EQ.-1)) THEN
  376. NBROBL=4
  377. SEGINI,NOMID
  378. LESOBL(1)='DRSN'
  379. LESOBL(2)='DRN '
  380. LESOBL(3)='EPTT'
  381. LESOBL(4)='EPZZ'
  382. ELSE IF (IFOUR.EQ.2) THEN
  383. NBROBL=6
  384. SEGINI,NOMID
  385. LESOBL(1)='DRS1'
  386. LESOBL(2)='DRS2'
  387. LESOBL(3)='DRN '
  388. LESOBL(4)='EPTT'
  389. LESOBL(5)='EPUU'
  390. LESOBL(6)='GATU'
  391. ENDIF
  392. C
  393. C Elements ZONE COHESIVE
  394. C ==========================
  395. ELSE IF (MFR.EQ.77) THEN
  396. IF (IFOUR.GT.0) THEN
  397. NBROBL=3
  398. SEGINI,NOMID
  399. LESOBL(1)='DRS1'
  400. LESOBL(2)='DRS2'
  401. LESOBL(3)='DRN '
  402. ELSE IF (IFOUR.LE.0) THEN
  403. NBROBL=2
  404. SEGINI,NOMID
  405. LESOBL(1)='DRSN'
  406. LESOBL(2)='DRN '
  407. ENDIF
  408. ENDIF
  409. C =================================================================
  410. C FORMULATION THERMIQUE
  411. C =================================================================
  412. ELSE IF (MFR2.EQ.29) THEN
  413. IF (IFOUR.EQ.2) THEN
  414. NBROBL=3
  415. SEGINI,NOMID
  416. LESOBL(1)='GRDX'
  417. LESOBL(2)='GRDY'
  418. LESOBL(3)='GRDZ'
  419. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  420. NBROBL=2
  421. SEGINI,NOMID
  422. LESOBL(1)='GRDX'
  423. LESOBL(2)='GRDY'
  424. ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.0) THEN
  425. NBROBL=2
  426. SEGINI,NOMID
  427. LESOBL(1)='GRDX'
  428. LESOBL(2)='GRDY'
  429. C*OF LESOBL(1)='GRDR'
  430. C*OF LESOBL(2)='GRDZ'
  431. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.15) THEN
  432. NBROBL=1
  433. SEGINI,NOMID
  434. LESOBL(1)='GRDX'
  435. ENDIF
  436. C =================================================================
  437. C FORMULATION POREUX
  438. C =================================================================
  439. ELSE IF (MFR2.EQ.33) THEN
  440. C
  441. C Elements POREUX
  442. C ================
  443. IF (MFR.EQ.33) THEN
  444. IF (MELE.GE.79.AND.MELE.LE.83) THEN
  445. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  446. NBROBL=5
  447. SEGINI,NOMID
  448. LESOBL(1)='EPXX'
  449. LESOBL(2)='EPYY'
  450. LESOBL(3)='EPZZ'
  451. LESOBL(4)='GAXY'
  452. LESOBL(5)='PRES'
  453. ELSE IF (IFOUR.EQ.0) THEN
  454. NBROBL=5
  455. SEGINI,NOMID
  456. LESOBL(1)='EPRR'
  457. LESOBL(2)='EPZZ'
  458. LESOBL(3)='EPTT'
  459. LESOBL(4)='GARZ'
  460. LESOBL(5)='PRES'
  461. ELSE IF (IFOUR.EQ.1) THEN
  462. NBROBL=7
  463. SEGINI,NOMID
  464. LESOBL(1)='EPRR'
  465. LESOBL(2)='EPZZ'
  466. LESOBL(3)='EPTT'
  467. LESOBL(4)='GARZ'
  468. LESOBL(5)='GART'
  469. LESOBL(6)='GAZT'
  470. LESOBL(7)='PRES'
  471. ELSE IF (IFOUR.EQ.2.OR.IFOUR.EQ.-3) THEN
  472. NBROBL=7
  473. SEGINI,NOMID
  474. LESOBL(1)='EPXX'
  475. LESOBL(2)='EPYY'
  476. LESOBL(3)='EPZZ'
  477. LESOBL(4)='GAXY'
  478. LESOBL(5)='GAXZ'
  479. LESOBL(6)='GAYZ'
  480. LESOBL(7)='PRES'
  481. ENDIF
  482. ELSE IF (MELE.GE.108.AND.MELE.LE.110) THEN
  483. IF (IFOUR.EQ.2) THEN
  484. NBROBL=4
  485. SEGINI,NOMID
  486. LESOBL(1)='DRS1'
  487. LESOBL(2)='DRS2'
  488. LESOBL(3)='DRN '
  489. LESOBL(4)='PRES'
  490. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  491. NBROBL=3
  492. SEGINI,NOMID
  493. LESOBL(1)='DRSN'
  494. LESOBL(2)='DRN '
  495. LESOBL(3)='PRES'
  496. ENDIF
  497. ENDIF
  498. C
  499. C Elements POREUX Type Q
  500. C ======================
  501. ELSE IF (MFR.EQ.57) THEN
  502. IF (MELE.GE.173.AND.MELE.LE.177) THEN
  503. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  504. NBROBL=6
  505. SEGINI,NOMID
  506. LESOBL(1)='EPXX'
  507. LESOBL(2)='EPYY'
  508. LESOBL(3)='EPZZ'
  509. LESOBL(4)='GAXY'
  510. LESOBL(5)='PRES'
  511. LESOBL(6)='PREQ'
  512. ELSE IF (IFOUR.EQ.0) THEN
  513. NBROBL=6
  514. SEGINI,NOMID
  515. LESOBL(1)='EPRR'
  516. LESOBL(2)='EPZZ'
  517. LESOBL(3)='EPTT'
  518. LESOBL(4)='GARZ'
  519. LESOBL(5)='PRES'
  520. LESOBL(6)='PREQ'
  521. ELSE IF (IFOUR.EQ.1) THEN
  522. NBROBL=8
  523. SEGINI,NOMID
  524. LESOBL(1)='EPRR'
  525. LESOBL(2)='EPZZ'
  526. LESOBL(3)='EPTT'
  527. LESOBL(4)='GARZ'
  528. LESOBL(5)='GART'
  529. LESOBL(6)='GAZT'
  530. LESOBL(7)='PRES'
  531. LESOBL(8)='PREQ'
  532. ELSE IF (IFOUR.EQ.2.OR.IFOUR.EQ.-3) THEN
  533. NBROBL=8
  534. SEGINI,NOMID
  535. LESOBL(1)='EPXX'
  536. LESOBL(2)='EPYY'
  537. LESOBL(3)='EPZZ'
  538. LESOBL(4)='GAXY'
  539. LESOBL(5)='GAXZ'
  540. LESOBL(6)='GAYZ'
  541. LESOBL(7)='PRES'
  542. LESOBL(8)='PREQ'
  543. ENDIF
  544. ELSE IF (MELE.GE.185.AND.MELE.LE.187) THEN
  545. IF (IFOUR.EQ.2) THEN
  546. NBROBL=5
  547. SEGINI,NOMID
  548. LESOBL(1)='DRS1'
  549. LESOBL(2)='DRS2'
  550. LESOBL(3)='DRN '
  551. LESOBL(4)='PRES'
  552. LESOBL(5)='PREQ'
  553. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  554. NBROBL=4
  555. SEGINI,NOMID
  556. LESOBL(1)='DRSN'
  557. LESOBL(2)='DRN '
  558. LESOBL(3)='PRES'
  559. LESOBL(4)='PREQ'
  560. ENDIF
  561. ENDIF
  562. C
  563. C Elements POREUX Type R
  564. C ======================
  565. ELSE IF (MFR.EQ.59) THEN
  566. IF (MELE.GE.178.AND.MELE.LE.182) THEN
  567. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  568. NBROBL=7
  569. SEGINI,NOMID
  570. LESOBL(1)='EPXX'
  571. LESOBL(2)='EPYY'
  572. LESOBL(3)='EPZZ'
  573. LESOBL(4)='GAXY'
  574. LESOBL(5)='PRES'
  575. LESOBL(6)='PREQ'
  576. LESOBL(7)='TPT '
  577. ELSE IF (IFOUR.EQ.0) THEN
  578. NBROBL=7
  579. SEGINI,NOMID
  580. LESOBL(1)='EPRR'
  581. LESOBL(2)='EPZZ'
  582. LESOBL(3)='EPTT'
  583. LESOBL(4)='GARZ'
  584. LESOBL(5)='PRES'
  585. LESOBL(6)='PREQ'
  586. LESOBL(7)='TPT '
  587. ELSE IF (IFOUR.EQ.1) THEN
  588. NBROBL=9
  589. SEGINI,NOMID
  590. LESOBL(1)='EPRR'
  591. LESOBL(2)='EPZZ'
  592. LESOBL(3)='EPTT'
  593. LESOBL(4)='GARZ'
  594. LESOBL(5)='GART'
  595. LESOBL(6)='GAZT'
  596. LESOBL(7)='PRES'
  597. LESOBL(8)='PREQ'
  598. LESOBL(9)='TPT '
  599. ELSE IF (IFOUR.EQ.2.OR.IFOUR.EQ.-3) THEN
  600. NBROBL=9
  601. SEGINI,NOMID
  602. LESOBL(1)='EPXX'
  603. LESOBL(2)='EPYY'
  604. LESOBL(3)='EPZZ'
  605. LESOBL(4)='GAXY'
  606. LESOBL(5)='GAXZ'
  607. LESOBL(6)='GAYZ'
  608. LESOBL(7)='PRES'
  609. LESOBL(8)='PREQ'
  610. LESOBL(9)='TPT '
  611. ENDIF
  612. ELSE IF (MELE.GE.188.AND.MELE.LE.190) THEN
  613. IF (IFOUR.EQ.2) THEN
  614. NBROBL=6
  615. SEGINI,NOMID
  616. LESOBL(1)='DRS1'
  617. LESOBL(2)='DRS2'
  618. LESOBL(3)='DRN '
  619. LESOBL(4)='PRES'
  620. LESOBL(5)='PREQ'
  621. LESOBL(6)='TPT '
  622. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  623. NBROBL=5
  624. SEGINI,NOMID
  625. LESOBL(1)='DRSN'
  626. LESOBL(2)='DRN '
  627. LESOBL(3)='PRES'
  628. LESOBL(4)='PREQ'
  629. LESOBL(5)='TPT '
  630. ENDIF
  631. ENDIF
  632. ENDIF
  633. C =================================================================
  634. C FORMULATION ELECTROSTATIQUE
  635. C =================================================================
  636. ELSE IF (MFR2.EQ.71) THEN
  637. IF (IFOUR.EQ.2) THEN
  638. NBROBL=3
  639. SEGINI,NOMID
  640. LESOBL(1)='EELX '
  641. LESOBL(2)='EELY '
  642. LESOBL(3)='EELZ '
  643. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  644. NBROBL=2
  645. SEGINI,NOMID
  646. LESOBL(1)='EELX '
  647. LESOBL(2)='EELY '
  648. ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.0) THEN
  649. NBROBL=2
  650. SEGINI,NOMID
  651. LESOBL(1)='EELR '
  652. LESOBL(2)='EELZ '
  653. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.15) THEN
  654. NBROBL=1
  655. SEGINI,NOMID
  656. IF (IFOUR.LE.11) THEN
  657. LESOBL(1)='EELX '
  658. ELSE
  659. LESOBL(1)='EELR '
  660. ENDIF
  661. ENDIF
  662. C =================================================================
  663. C FORMULATION DIFFUSION
  664. C =================================================================
  665. ELSE IF (MFR2.EQ.73) THEN
  666. C*DEB = Merci de conserver ces lignes ! (Developpements futurs)
  667. C*XC ======
  668. C*XC 22.0 - BARRE
  669. C*XC ======
  670. C*X IF (MELE.EQ.46) THEN
  671. C*X NBROBL=1
  672. C*X SEGINI,NOMID
  673. C*X LESOBL(1)='GS '
  674. C*X ELSE
  675. C*X IF (IFOUR.EQ.2) THEN
  676. C*X NBROBL=3
  677. C*X SEGINI,NOMID
  678. C*X LESOBL(1)='GX '
  679. C*X LESOBL(2)='GY '
  680. C*X LESOBL(3)='GZ '
  681. C*X ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  682. C*X NBROBL=2
  683. C*X SEGINI,NOMID
  684. C*X LESOBL(1)='GX '
  685. C*X LESOBL(2)='GY '
  686. C*X ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.0) THEN
  687. C*X NBROBL=2
  688. C*X SEGINI,NOMID
  689. C*X LESOBL(1)='GR '
  690. C*X LESOBL(2)='GZ '
  691. C*X ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.15) THEN
  692. C*X NBROBL=1
  693. C*X SEGINI,NOMID
  694. C*X IF (IFOUR.LE.11) THEN
  695. C*X LESOBL(1)='GX '
  696. C*X ELSE
  697. C*X LESOBL(1)='GR '
  698. C*X ENDIF
  699. C*X ENDIF
  700. C*X ENDIF
  701. C*XC* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1)
  702. C*X DO i = 1, NBROBL
  703. C*X LESOBL(i)(3:8) = imodel.TYMODE(1)(1:6)
  704. C*X ENDDO
  705. C*FIN = Merci de conserver ces lignes ! (Developpements futurs)
  706. C =================================================================
  707. ENDIF
  708. C
  709. IF (NOMID.NE.0) THEN
  710. IF (IFOMOD.EQ.6) THEN
  711. NBRFA0 = NBRFAC
  712. NBRFAC = NBROBL + (NBRFA0*2)
  713. SEGADJ,NOMID
  714. DO IMO = 1,NBROBL
  715. LESFAC(NBRFA0 + IMO)(2:4) = LESOBL(IMO)(1:3)
  716. LESFAC(NBRFA0 + IMO)(1:1) = 'I'
  717. ENDDO
  718. DO IMO = 1,NBRFA0
  719. LESFAC(NBRFA0+NBROBL+IMO)(2:4) = LESFAC(IMO)(1:3)
  720. LESFAC(NBRFA0+NBROBL+IMO)(1:1) = 'I'
  721. ENDDO
  722. ENDIF
  723. ENDIF
  724. C
  725. IF (NOMID.NE.0) SEGACT,NOMID*NOMOD
  726. IPNOMC=NOMID
  727. END
  728.  
  729.  

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