Télécharger iddefo.eso

Retour à la liste

Numérotation des lignes :

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

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