Télécharger cotype.eso

Retour à la liste

Numérotation des lignes :

  1. C COTYPE SOURCE BP208322 17/03/01 21:16:41 9325
  2. SUBROUTINE COTYPE(iqmod,ino,motype,iwrk53,nobl,nfac)
  3. *--------------------------
  4. * specifie le type des composantes
  5. *--------------------------
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. -INC CCOPTIO
  9.  
  10. -INC SMMODEL
  11. -INC DECHE
  12.  
  13. imodel = iqmod
  14. wrk53 = iwrk53
  15. *
  16. notype = 0
  17. *
  18. * AIGUILLAGE SUIVANT MOT CLE
  19. *
  20. GOTO ( 1, 2, 1, 1, 1, 6, 7,99,99,10,11,12,13,14,15,16,17,18,
  21. 1 99,20,21,99,23,24,25) ino
  22. *
  23. 99 CONTINUE
  24. c pas de composantes pour ce champ
  25. GOTO 120
  26. *
  27. 1 NBTYPE=1
  28. SEGINI NOTYPE
  29. TYPE(1)='REAL*8'
  30. GOTO 120
  31. *
  32. 2 NBTYPE=1
  33. SEGINI NOTYPE
  34. TYPE(1)='REAL*8'
  35. GOTO 120
  36. *
  37. 6 NBTYPE=1
  38. SEGINI NOTYPE
  39. TYPE(1)='REAL*8'
  40. GOTO 120
  41. *
  42. 7 NBTYPE=1
  43. SEGINI NOTYPE
  44. TYPE(1)='REAL*8'
  45. GOTO 120
  46. *
  47. 10 NBTYPE=1
  48. SEGINI NOTYPE
  49. TYPE(1)='REAL*8'
  50. GOTO 120
  51. *
  52. 11 CONTINUE
  53. IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN
  54. c MODAL / STATIQUE
  55. NBTYPE = 3
  56. SEGINI NOTYPE
  57. TYPE(1)='REAL*8'
  58. TYPE(2)='POINTEURCHPOINT'
  59. TYPE(3)='REAL*8'
  60. ELSE
  61. NBTYPE=1
  62. SEGINI NOTYPE
  63. TYPE(1)='REAL*8'
  64. ENDIF
  65. GOTO 120
  66. *
  67. 12 NBTYPE=1
  68. SEGINI NOTYPE
  69. TYPE(1)='REAL*8'
  70. GOTO 120
  71. *
  72. 13 nmatr = nobl
  73. nmatf = nfac
  74. if(formod(1).eq.'DIFFUSION') then
  75. NBTYPE = 1
  76. SEGINI,NOTYPE
  77. TYPE( 1) = 'REAL*8'
  78. GOTO 120
  79. endif
  80. if (formod(1).eq.'MELANGE') then
  81. * CEREM
  82. IF (CMATE.eq.'CEREM') THEN
  83. NBTYPE = 22
  84. SEGINI,NOTYPE
  85. TYPE( 1) = 'REAL*8'
  86. TYPE( 2) = 'REAL*8'
  87. TYPE( 3) = 'REAL*8'
  88. TYPE( 4) = 'REAL*8'
  89. TYPE( 5) = 'REAL*8'
  90. TYPE( 6) = 'REAL*8'
  91. TYPE( 7) = 'REAL*8'
  92. TYPE( 8) = 'REAL*8'
  93. TYPE( 9) = 'REAL*8'
  94. TYPE(10) = 'REAL*8'
  95. TYPE(11) = 'REAL*8'
  96. TYPE(12) = 'REAL*8'
  97. TYPE(13) = 'REAL*8'
  98. TYPE(13) = 'REAL*8'
  99. TYPE(14) = 'REAL*8'
  100. TYPE(15) = 'REAL*8'
  101. TYPE(16) = 'POINTEURNUAGE'
  102. TYPE(17) = 'POINTEURNUAGE'
  103. TYPE(18) = 'REAL*8'
  104. TYPE(19) = 'REAL*8'
  105. TYPE(20) = 'REAL*8'
  106. TYPE(21) = 'REAL*8'
  107. TYPE(22) = 'REAL*8'
  108. * ZTMAX
  109. ELSE IF (CMATE.eq.'ZTMAX') THEN
  110. NBTYPE = 1
  111. SEGINI,NOTYPE
  112. TYPE(1) = 'REAL*8'
  113. * TMM_LMT2
  114. ELSE IF (CMATE.eq.'TMM_LMT2') THEN
  115. NBTYPE = 1
  116. SEGINI,NOTYPE
  117. TYPE(1) = 'REAL*8'
  118. * PARALLELE
  119. ELSE IF (CMATE.eq.'PARALLELE') THEN
  120. NBTYPE = 1
  121. SEGINI,NOTYPE
  122. TYPE(1) = 'REAL*8'
  123. * SERIE
  124. ELSE IF (CMATE.eq.'SERIE') THEN
  125. NBTYPE = 1
  126. SEGINI,NOTYPE
  127. TYPE(1) = 'REAL*8'
  128. * MARTINEZ GRAIN
  129. ELSE IF (CMATE.eq.'MGRAIN') THEN
  130. NBTYPE = 1
  131. SEGINI,NOTYPE
  132. TYPE(1) = 'REAL*8'
  133. ELSE
  134. * write(ioimp,*) 'non prevu --'
  135. NBTYPE = 0
  136. SEGINI,NOTYPE
  137. ENDIF
  138. GOTO 120
  139. endif
  140. *
  141. if (formod(1).eq.'LIAISON') then
  142. IF (CMATE.eq.'PO_PL_FL') THEN
  143. NBTYPE = 7 + 1
  144. SEGINI,NOTYPE
  145. TYPE( 1) = 'POINTEURPOINT'
  146. TYPE( 2) = 'REAL*8'
  147. TYPE( 3) = 'REAL*8'
  148. TYPE( 4) = 'REAL*8'
  149. TYPE( 5) = 'REAL*8'
  150. TYPE( 6) = 'REAL*8'
  151. TYPE( 7) = 'REAL*8'
  152.  
  153. ELSEIF (CMATE.eq.'PO_PL_FR') THEN
  154. NBTYPE = 9 + 1
  155. SEGINI,NOTYPE
  156. TYPE( 1) = 'POINTEURPOINT'
  157. TYPE( 2) = 'REAL*8'
  158. TYPE( 3) = 'REAL*8'
  159. TYPE( 4) = 'REAL*8'
  160. TYPE( 5) = 'REAL*8'
  161. TYPE( 6) = 'REAL*8'
  162. TYPE( 7) = 'REAL*8'
  163. TYPE( 8) = 'REAL*8'
  164. TYPE( 9) = 'POINTEUREVOLUTIO'
  165.  
  166. ELSEIF (CMATE.eq.'PO_PL') THEN
  167. NBTYPE = 7 + 1
  168. SEGINI,NOTYPE
  169. TYPE( 1) = 'POINTEURPOINT'
  170. TYPE( 2) = 'REAL*8'
  171. TYPE( 3) = 'REAL*8'
  172. TYPE( 4) = 'POINTEUREVOLUTIO'
  173. TYPE( 5) = 'REAL*8'
  174. TYPE( 6) = 'REAL*8'
  175. TYPE( 7) = 'REAL*8'
  176.  
  177. ELSEIF (CMATE.eq.'PO_PO_FR') THEN
  178. NBTYPE = 11 + 1
  179. SEGINI,NOTYPE
  180. TYPE( 1) = 'POINTEURPOINT'
  181. TYPE( 2) = 'REAL*8'
  182. TYPE( 3) = 'REAL*8'
  183. TYPE( 4) = 'POINTEURPOINT'
  184. TYPE( 5) = 'REAL*8'
  185. TYPE( 6) = 'REAL*8'
  186. TYPE( 7) = 'REAL*8'
  187. TYPE( 8) = 'REAL*8'
  188. TYPE( 9) = 'REAL*8'
  189. TYPE(10) = 'POINTEUREVOLUTIO'
  190. TYPE(11) = 'REAL*8'
  191.  
  192. ELSEIF (CMATE.eq.'PO_PO_DP') THEN
  193. NBTYPE = 7 + 1
  194. SEGINI,NOTYPE
  195. TYPE( 1) = 'POINTEURPOINT'
  196. TYPE( 2) = 'REAL*8'
  197. TYPE( 3) = 'REAL*8'
  198. TYPE( 4) = 'POINTEURPOINT'
  199. TYPE( 5) = 'REAL*8'
  200. TYPE( 6) = 'POINTEUREVOLUTIO'
  201. TYPE( 7) = 'REAL*8'
  202.  
  203. ELSEIF (CMATE.eq.'PO_PO_RP') THEN
  204. NBTYPE = 8 + 1
  205. SEGINI,NOTYPE
  206. TYPE( 1) = 'POINTEURPOINT'
  207. TYPE( 2) = 'REAL*8'
  208. TYPE( 3) = 'REAL*8'
  209. TYPE( 4) = 'POINTEURPOINT'
  210. TYPE( 5) = 'REAL*8'
  211. TYPE( 6) = 'POINTEUREVOLUTIO'
  212. TYPE( 7) = 'REAL*8'
  213. TYPE( 8) = 'REAL*8'
  214.  
  215. ELSEIF (CMATE.eq.'PO_PO') THEN
  216. NBTYPE = 7 + 1
  217. SEGINI,NOTYPE
  218. TYPE( 1) = 'POINTEURPOINT'
  219. TYPE( 2) = 'REAL*8'
  220. TYPE( 3) = 'REAL*8'
  221. TYPE( 4) = 'POINTEURPOINT'
  222. TYPE( 5) = 'REAL*8'
  223. TYPE( 6) = 'REAL*8'
  224. TYPE( 7) = 'POINTEUREVOLUTIO'
  225.  
  226. ELSEIF (CMATE.eq.'PO_CE_MO') THEN
  227. NBTYPE = 10 + 1
  228. SEGINI,NOTYPE
  229. TYPE( 1) = 'POINTEURPOINT'
  230. TYPE( 2) = 'REAL*8'
  231. TYPE( 3) = 'POINTEURPOINT'
  232. TYPE( 4) = 'REAL*8'
  233. TYPE( 5) = 'REAL*8'
  234. TYPE( 6) = 'REAL*8'
  235. TYPE( 7) = 'REAL*8'
  236. TYPE( 8) = 'REAL*8'
  237. TYPE( 9) = 'REAL*8'
  238. TYPE(10) = 'REAL*8'
  239.  
  240. ELSEIF (CMATE.eq.'PO_CE_FR') THEN
  241. NBTYPE = 10 + 1
  242. SEGINI,NOTYPE
  243. TYPE( 1) = 'POINTEURPOINT'
  244. TYPE( 2) = 'REAL*8'
  245. TYPE( 3) = 'REAL*8'
  246. TYPE( 4) = 'REAL*8'
  247. TYPE( 5) = 'REAL*8'
  248. TYPE( 6) = 'REAL*8'
  249. TYPE( 7) = 'REAL*8'
  250. TYPE( 8) = 'REAL*8'
  251. TYPE( 9) = 'REAL*8'
  252. TYPE(10) = 'REAL*8'
  253.  
  254. ELSEIF (CMATE.eq.'PO_CE') THEN
  255. NBTYPE = 5 + 1
  256. SEGINI,NOTYPE
  257. TYPE( 1) = 'POINTEURPOINT'
  258. TYPE( 2) = 'REAL*8'
  259. TYPE( 3) = 'REAL*8'
  260. TYPE( 4) = 'REAL*8'
  261. TYPE( 5) = 'REAL*8'
  262.  
  263. ELSEIF (CMATE.eq.'CE_PL_FR') THEN
  264. NBTYPE = 9 + 1
  265. SEGINI,NOTYPE
  266. TYPE( 1) = 'POINTEURPOINT'
  267. TYPE( 2) = 'REAL*8'
  268. TYPE( 3) = 'REAL*8'
  269. TYPE( 4) = 'REAL*8'
  270. TYPE( 5) = 'REAL*8'
  271. TYPE( 6) = 'REAL*8'
  272. TYPE( 7) = 'REAL*8'
  273. TYPE( 8) = 'REAL*8'
  274. TYPE( 9) = 'REAL*8'
  275.  
  276. ELSEIF (CMATE.eq.'CE_CE_FR') THEN
  277. NBTYPE = 11 + 1
  278. SEGINI,NOTYPE
  279. TYPE( 1) = 'POINTEURPOINT'
  280. TYPE( 2) = 'REAL*8'
  281. TYPE( 3) = 'REAL*8'
  282. TYPE( 4) = 'REAL*8'
  283. TYPE( 5) = 'REAL*8'
  284. TYPE( 6) = 'REAL*8'
  285. TYPE( 7) = 'REAL*8'
  286. TYPE( 8) = 'REAL*8'
  287. TYPE( 9) = 'REAL*8'
  288. TYPE(10) = 'REAL*8'
  289. TYPE(11) = 'REAL*8'
  290.  
  291. ELSEIF (CMATE.eq.'PR_PR_IN'.or.CMATE.eq.'PR_PR_EX') THEN
  292. NBTYPE = 5 + 1
  293. SEGINI,NOTYPE
  294. TYPE( 1) = 'POINTEURPOINT'
  295. TYPE( 2) = 'REAL*8'
  296. TYPE( 3) = 'POINTEURMAILLAGE'
  297. TYPE( 4) = 'POINTEURMAILLAGE'
  298. TYPE( 5) = 'REAL*8'
  299.  
  300. ELSEIF (CMATE.eq.'LI_LI_FR') THEN
  301. NBTYPE = 12 + 1
  302. SEGINI,NOTYPE
  303. TYPE( 1) = 'POINTEURPOINT'
  304. TYPE( 2) = 'POINTEURMAILLAGE'
  305. TYPE( 3) = 'POINTEURMAILLAGE'
  306. TYPE( 4) = 'POINTEURCHPOINT'
  307. TYPE( 5) = 'REAL*8'
  308. TYPE( 6) = 'REAL*8'
  309. TYPE( 7) = 'REAL*8'
  310. TYPE( 8) = 'REAL*8'
  311. TYPE( 9) = 'REAL*8'
  312. TYPE(10) = 'POINTEURCHPOINT'
  313. TYPE(11) = 'REAL*8'
  314. TYPE(12) = 'REAL*8'
  315.  
  316. ELSEIF (CMATE.eq.'LI_CE_FR') THEN
  317. NBTYPE = 13 + 1
  318. SEGINI,NOTYPE
  319. TYPE( 1) = 'POINTEURPOINT'
  320. TYPE( 2) = 'POINTEURMAILLAGE'
  321. TYPE( 3) = 'POINTEURMAILLAGE'
  322. TYPE( 4) = 'POINTEURCHPOINT'
  323. TYPE( 5) = 'REAL*8'
  324. TYPE( 6) = 'REAL*8'
  325. TYPE( 7) = 'REAL*8'
  326. TYPE( 8) = 'REAL*8'
  327. TYPE( 9) = 'REAL*8'
  328. TYPE(10) = 'REAL*8'
  329. TYPE(11) = 'REAL*8'
  330. TYPE(12) = 'REAL*8'
  331. TYPE(13) = 'REAL*8'
  332.  
  333. ELSEIF (CMATE.eq.'PA_FL_RO') THEN
  334. NBTYPE = 11 + 1
  335. SEGINI,NOTYPE
  336. TYPE( 1) = 'REAL*8'
  337. TYPE( 2) = 'REAL*8'
  338. TYPE( 3) = 'REAL*8'
  339. TYPE( 4) = 'REAL*8'
  340. TYPE( 5) = 'REAL*8'
  341. TYPE( 6) = 'REAL*8'
  342. TYPE( 7) = 'REAL*8'
  343. TYPE( 8) = 'REAL*8'
  344. TYPE( 9) = 'REAL*8'
  345. TYPE(10) = 'POINTEURTABLE'
  346. TYPE(11) = 'REAL*8'
  347.  
  348. ELSEIF (CMATE.eq.'NEWMOD') THEN
  349. NBTYPE = 4 + 1
  350. SEGINI,NOTYPE
  351. TYPE(1) = 'REAL*8'
  352. TYPE(2) = 'REAL*8'
  353. TYPE(3) = 'REAL*8'
  354. TYPE(4) = 'POINTEURMMODEL'
  355. ELSE
  356. *
  357. NBTYPE = 0 + 1
  358. SEGINI NOTYPE
  359. ENDIF
  360. * composante table de sortie (composante 'SORT')
  361. TYPE(NBTYPE) = 'POINTEURTABLE'
  362. GOTO 120
  363. endif
  364.  
  365. * mecanique
  366. IF(MATE.EQ.1.AND.(INPLAS.EQ.5.OR.INPLAS.EQ.87))THEN
  367. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  368. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  369. NBTYPE=6
  370. ELSE
  371. NBTYPE=5
  372. ENDIF
  373. SEGINI NOTYPE
  374. TYPE(1)='REAL*8'
  375. TYPE(2)='REAL*8'
  376. TYPE(3)='POINTEUREVOLUTIO'
  377. TYPE(4)='REAL*8'
  378. TYPE(5)='REAL*8'
  379. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  380. + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8'
  381. C
  382. ELSE IF (CMATE.EQ.'MODAL') THEN
  383. c MODAL
  384. NBTYPE = 12
  385. SEGINI NOTYPE
  386. TYPE(1)='REAL*8'
  387. TYPE(2)='REAL*8'
  388. TYPE(3)='POINTEURCHPOINT'
  389. TYPE(4)='REAL*8'
  390. TYPE(5)='POINTEURPOINT'
  391. TYPE(6)='POINTEURCHPOINT'
  392. TYPE(7)='POINTEURLISTREEL'
  393. TYPE(8)='POINTEURMAILLAGE'
  394. TYPE(9)='POINTEURLISTREEL'
  395. TYPE(10)='POINTEURLISTREEL'
  396. TYPE(11)='REAL*8'
  397. TYPE(12)='REAL*8'
  398. C
  399. ELSE IF (CMATE.EQ.'STATIQUE') THEN
  400. c STATIQUE
  401. NBTYPE = 11
  402. SEGINI NOTYPE
  403. TYPE(1)='POINTEURCHPOINT'
  404. TYPE(2)='POINTEURCHPOINT'
  405. TYPE(3)='POINTEURCHPOINT'
  406. TYPE(4)='REAL*8'
  407. TYPE(5)='POINTEURLISTREEL'
  408. TYPE(6)='POINTEURMAILLAGE'
  409. TYPE(7)='POINTEURMAILLAGE'
  410. TYPE(8)='POINTEURLISTREEL'
  411. TYPE(9)='POINTEURLISTREEL'
  412. TYPE(10)='REAL*8'
  413. TYPE(11)='REAL*8'
  414. C
  415. ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN
  416. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  417. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  418. NBTYPE=7
  419. ELSE
  420. NBTYPE=6
  421. ENDIF
  422. SEGINI NOTYPE
  423. TYPE(1)='REAL*8'
  424. TYPE(2)='REAL*8'
  425. TYPE(3)='REAL*8'
  426. TYPE(4)='POINTEUREVOLUTIO'
  427. TYPE(5)='REAL*8'
  428. TYPE(6)='REAL*8'
  429. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  430. + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8'
  431. C
  432. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.51)THEN
  433. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  434. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  435. NBTYPE=8
  436. ELSE
  437. NBTYPE=7
  438. ENDIF
  439. SEGINI NOTYPE
  440. TYPE(1)='REAL*8'
  441. TYPE(2)='REAL*8'
  442. TYPE(3)='POINTEUREVOLUTIO'
  443. TYPE(4)='POINTEUREVOLUTIO'
  444. TYPE(5)='POINTEUREVOLUTIO'
  445. TYPE(6)='REAL*8'
  446. TYPE(7)='REAL*8'
  447. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  448. + AND.IFOUR.EQ.-2) TYPE(8)='REAL*8'
  449. C
  450. ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.51)THEN
  451. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  452. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  453. NBTYPE=9
  454. ELSE
  455. NBTYPE=8
  456. ENDIF
  457. SEGINI NOTYPE
  458. TYPE(1)='REAL*8'
  459. TYPE(2)='REAL*8'
  460. TYPE(3)='REAL*8'
  461. TYPE(4)='POINTEUREVOLUTIO'
  462. TYPE(5)='POINTEUREVOLUTIO'
  463. TYPE(6)='POINTEUREVOLUTIO'
  464. TYPE(7)='REAL*8'
  465. TYPE(8)='REAL*8'
  466. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  467. + AND.IFOUR.EQ.-2) TYPE(9)='REAL*8'
  468. C
  469. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.62)THEN
  470. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  471. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  472. NBTYPE=6
  473. ELSE
  474. NBTYPE=5
  475. ENDIF
  476. SEGINI NOTYPE
  477. TYPE(1)='REAL*8'
  478. TYPE(2)='REAL*8'
  479. TYPE(3)='POINTEUREVOLUTIO'
  480. TYPE(4)='REAL*8'
  481. TYPE(5)='REAL*8'
  482. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  483. + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8'
  484. C
  485. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.64)THEN
  486. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  487. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  488. NBTYPE=15
  489. ELSE
  490. NBTYPE=14
  491. ENDIF
  492. SEGINI NOTYPE
  493. TYPE(1)='REAL*8'
  494. TYPE(2)='REAL*8'
  495. TYPE(3)='POINTEUREVOLUTIO'
  496. TYPE(4)='REAL*8'
  497. TYPE(5)='REAL*8'
  498. TYPE(6)='REAL*8'
  499. TYPE(7)='REAL*8'
  500. TYPE(8)='REAL*8'
  501. TYPE(9)='REAL*8'
  502. TYPE(10)='REAL*8'
  503. TYPE(11)='REAL*8'
  504. TYPE(12)='REAL*8'
  505. TYPE(13)='REAL*8'
  506. TYPE(14)='REAL*8'
  507. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  508. + AND.IFOUR.EQ.-2) TYPE(15)='REAL*8'
  509. C
  510. ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.14) THEN
  511. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  512. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  513. NBTYPE=10
  514. ELSE
  515. NBTYPE=9
  516. ENDIF
  517. NBTYPE=9
  518. SEGINI NOTYPE
  519. TYPE(1)='REAL*8'
  520. TYPE(2)='REAL*8'
  521. TYPE(3)='REAL*8'
  522. TYPE(4)='REAL*8'
  523. TYPE(5)='REAL*8'
  524. TYPE(6)='POINTEUREVOLUTIO'
  525. TYPE(7)='POINTEUREVOLUTIO'
  526. TYPE(8)='REAL*8'
  527. TYPE(9)='REAL*8'
  528. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  529. + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8'
  530. C
  531. ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.26) THEN
  532. NBTYPE=0
  533. SEGINI NOTYPE
  534. C
  535. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.29)THEN
  536. NBTYPE=0
  537. SEGINI NOTYPE
  538. C
  539. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.16)THEN
  540. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  541. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  542. NBTYPE=8
  543. ELSE
  544. NBTYPE=7
  545. ENDIF
  546. SEGINI NOTYPE
  547. TYPE(1)='REAL*8'
  548. TYPE(2)='REAL*8'
  549. TYPE(3)='POINTEUREVOLUTIO'
  550. TYPE(4)='REAL*8'
  551. TYPE(5)='REAL*8'
  552. TYPE(6)='REAL*8'
  553. TYPE(7)='REAL*8'
  554. C
  555. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.2)THEN
  556. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  557. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  558. NBTYPE=7
  559. ELSE
  560. NBTYPE=6
  561. ENDIF
  562. SEGINI NOTYPE
  563. TYPE(1)='REAL*8'
  564. TYPE(2)='REAL*8'
  565. TYPE(3)='REAL*8'
  566. TYPE(4)='POINTEUREVOLUTIO'
  567. TYPE(5)='REAL*8'
  568. TYPE(6)='REAL*8'
  569. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  570. + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8'
  571. C
  572. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.32)THEN
  573. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  574. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  575. NBTYPE=10
  576. ELSE
  577. NBTYPE=19
  578. ENDIF
  579. SEGINI NOTYPE
  580. TYPE(1)='REAL*8'
  581. TYPE(2)='REAL*8'
  582. TYPE(3)='REAL*8'
  583. TYPE(4)='REAL*8'
  584. TYPE(5)='POINTEUREVOLUTIO'
  585. TYPE(6)='POINTEUREVOLUTIO'
  586. TYPE(7)='POINTEUREVOLUTIO'
  587. TYPE(8)='POINTEUREVOLUTIO'
  588. TYPE(9)='POINTEUREVOLUTIO'
  589. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33).
  590. + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8'
  591. C
  592. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.44)THEN
  593. C* Toutes les composantes sont de type REAL*8
  594. NBTYPE=1
  595. SEGINI NOTYPE
  596. TYPE(1)='REAL*8'
  597. C
  598. ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.45)THEN
  599. C* Toutes les composantes sont de type REAL*8
  600. NBTYPE=1
  601. SEGINI NOTYPE
  602. TYPE(1)='REAL*8'
  603. C
  604. ELSE IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION')THEN
  605. NBTYPE=3
  606. SEGINI NOTYPE
  607. TYPE(1)='POINTEURMMODEL '
  608. TYPE(2)='POINTEURMCHAML '
  609. TYPE(3)='POINTEURLISTREEL'
  610. C
  611. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.54)THEN
  612. NBTYPE=15
  613. SEGINI NOTYPE
  614. DO I=1,NBTYPE
  615. TYPE(I)='REAL*8'
  616. ENDDO
  617. TYPE(10)='POINTEUREVOLUTIO'
  618. TYPE(11)='POINTEUREVOLUTIO'
  619. C
  620. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.56)THEN
  621. NBTYPE=10
  622. SEGINI NOTYPE
  623. DO I=1,NBTYPE
  624. TYPE(I)='REAL*8'
  625. ENDDO
  626. TYPE(6)='POINTEUREVOLUTIO'
  627. TYPE(7)='POINTEUREVOLUTIO'
  628. TYPE(8)='POINTEUREVOLUTIO'
  629. C
  630. C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut
  631. C YOUN et NU, 3, 4 et 5 (d'apres idplas.eso modele plastique 35)
  632. C PNOR, CPLG, BETA, puis viennent les 3 courbes 6, 7 et 8, c.a.d
  633. C
  634. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.119)THEN
  635. C
  636. C JOINT_COAT
  637. C
  638. NBTYPE=2+3
  639. SEGINI NOTYPE
  640. DO I=1,NBTYPE
  641. TYPE(I)='REAL*8'
  642. ENDDO
  643. TYPE(2)='POINTEUREVOLUTIO'
  644. C
  645. C Note: Il s'agit des parametres obligatoires. 1 est par defaut
  646. C KS, 2 (d'apres idplas.eso modele plastique 49) la courbe SJSB
  647. C+PPm
  648. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.126)THEN
  649. C
  650. C MUR_SHEAR
  651. C
  652. NBTYPE=16+4
  653. SEGINI NOTYPE
  654. DO I=1,NBTYPE
  655. TYPE(I)='REAL*8'
  656. ENDDO
  657. DO I=3,8
  658. TYPE(I)='POINTEUREVOLUTIO'
  659. ENDDO
  660.  
  661. C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut
  662. C YOUN et NU, 3 a 8 (d'apres idplas.eso modele plastique 63) les
  663. C courbes CUFP, CUKP, CULP, CUFM, CUKM, CULM
  664. C
  665. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.125)THEN
  666. C
  667. C DAMAGE_TC
  668. C
  669. NBTYPE=1
  670. SEGINI NOTYPE
  671. TYPE(1)='REAL*8'
  672. C
  673. C TAKEDA
  674. C
  675. ELSEIF(MATE.EQ.1.AND.(INPLAS.EQ.59.OR.INPLAS.EQ.60))THEN
  676. NBTYPE=11
  677. SEGINI NOTYPE
  678. DO I=1,NBTYPE
  679. TYPE(I)='REAL*8'
  680. ENDDO
  681. TYPE(3)='POINTEUREVOLUTIO'
  682. C
  683. C INFILL_UNI
  684. C
  685. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.72)THEN
  686. NBTYPE=12
  687. SEGINI NOTYPE
  688. DO I=1,NBTYPE
  689. TYPE(I)='REAL*8'
  690. ENDDO
  691. TYPE(10)='POINTEUREVOLUTIO'
  692. C
  693. C CISAIL_NL
  694. C
  695. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.73)THEN
  696. NBTYPE=13
  697. SEGINI NOTYPE
  698. DO I=1,NBTYPE
  699. TYPE(I)='REAL*8'
  700. ENDDO
  701. TYPE(10)='POINTEUREVOLUTIO'
  702. TYPE(11)='POINTEUREVOLUTIO'
  703. C
  704. ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.74)THEN
  705. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  706. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  707. NBTYPE=23
  708. SEGINI NOTYPE
  709. TYPE(1)='REAL*8'
  710. TYPE(2)='REAL*8'
  711. TYPE(3)='POINTEUREVOLUTIO'
  712. TYPE(4)='POINTEUREVOLUTIO'
  713. TYPE(5)='REAL*8'
  714. TYPE(6)='POINTEUREVOLUTIO'
  715. TYPE(7)='REAL*8'
  716. TYPE(8)='POINTEUREVOLUTIO'
  717. TYPE(9)='REAL*8'
  718. TYPE(10)='POINTEUREVOLUTIO'
  719. TYPE(11)='REAL*8'
  720. TYPE(12)='REAL*8'
  721. TYPE(13)='REAL*8'
  722. TYPE(14)='REAL*8'
  723. TYPE(15)='REAL*8'
  724. TYPE(16)='POINTEUREVOLUTIO'
  725. TYPE(17)='REAL*8'
  726. TYPE(18)='POINTEUREVOLUTIO'
  727. TYPE(19)='REAL*8'
  728. TYPE(20)='POINTEUREVOLUTIO'
  729. TYPE(21)='REAL*8'
  730. TYPE(22)='POINTEUREVOLUTIO'
  731. TYPE(23)='REAL*8'
  732. ELSE
  733. NBTYPE=22
  734. SEGINI NOTYPE
  735. TYPE(1)='REAL*8'
  736. TYPE(2)='REAL*8'
  737. TYPE(3)='POINTEUREVOLUTIO'
  738. TYPE(4)='POINTEUREVOLUTIO'
  739. TYPE(5)='REAL*8'
  740. TYPE(6)='POINTEUREVOLUTIO'
  741. TYPE(7)='REAL*8'
  742. TYPE(8)='POINTEUREVOLUTIO'
  743. TYPE(9)='REAL*8'
  744. TYPE(10)='POINTEUREVOLUTIO'
  745. TYPE(11)='REAL*8'
  746. TYPE(12)='REAL*8'
  747. TYPE(13)='REAL*8'
  748. TYPE(14)='REAL*8'
  749. TYPE(15)='POINTEUREVOLUTIO'
  750. TYPE(16)='REAL*8'
  751. TYPE(17)='POINTEUREVOLUTIO'
  752. TYPE(18)='REAL*8'
  753. TYPE(19)='POINTEUREVOLUTIO'
  754. TYPE(20)='REAL*8'
  755. TYPE(21)='POINTEUREVOLUTIO'
  756. TYPE(22)='REAL*8'
  757. ENDIF
  758. C
  759. ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.74)THEN
  760. IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  761. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN
  762. NBTYPE=23
  763. SEGINI NOTYPE
  764. TYPE(1)='REAL*8'
  765. TYPE(2)='REAL*8'
  766. TYPE(3)='REAL*8'
  767. TYPE(4)='POINTEUREVOLUTIO'
  768. TYPE(5)='POINTEUREVOLUTIO'
  769. TYPE(6)='REAL*8'
  770. TYPE(7)='POINTEUREVOLUTIO'
  771. TYPE(8)='REAL*8'
  772. TYPE(9)='POINTEUREVOLUTIO'
  773. TYPE(10)='REAL*8'
  774. TYPE(11)='POINTEUREVOLUTIO'
  775. TYPE(12)='REAL*8'
  776. TYPE(13)='REAL*8'
  777. TYPE(14)='REAL*8'
  778. TYPE(15)='REAL*8'
  779. TYPE(16)='POINTEUREVOLUTIO'
  780. TYPE(17)='REAL*8'
  781. TYPE(18)='POINTEUREVOLUTIO'
  782. TYPE(19)='REAL*8'
  783. TYPE(20)='POINTEUREVOLUTIO'
  784. TYPE(21)='REAL*8'
  785. TYPE(22)='POINTEUREVOLUTIO'
  786. TYPE(23)='REAL*8'
  787. ELSE IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.
  788. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.2) THEN
  789. NBTYPE=26
  790. SEGINI NOTYPE
  791. TYPE(1)='REAL*8'
  792. TYPE(2)='REAL*8'
  793. TYPE(3)='REAL*8'
  794. TYPE(4)='REAL*8'
  795. TYPE(5)='REAL*8'
  796. TYPE(6)='REAL*8'
  797. TYPE(7)='REAL*8'
  798. TYPE(8)='POINTEUREVOLUTIO'
  799. TYPE(9)='POINTEUREVOLUTIO'
  800. TYPE(10)='REAL*8'
  801. TYPE(11)='POINTEUREVOLUTIO'
  802. TYPE(12)='REAL*8'
  803. TYPE(13)='POINTEUREVOLUTIO'
  804. TYPE(14)='REAL*8'
  805. TYPE(15)='POINTEUREVOLUTIO'
  806. TYPE(16)='REAL*8'
  807. TYPE(17)='REAL*8'
  808. TYPE(18)='REAL*8'
  809. TYPE(19)='POINTEUREVOLUTIO'
  810. TYPE(20)='REAL*8'
  811. TYPE(21)='POINTEUREVOLUTIO'
  812. TYPE(22)='REAL*8'
  813. TYPE(23)='POINTEUREVOLUTIO'
  814. TYPE(24)='REAL*8'
  815. TYPE(25)='POINTEUREVOLUTIO'
  816. TYPE(26)='REAL*8'
  817. ELSE
  818. NBTYPE=22
  819. SEGINI NOTYPE
  820. TYPE(1)='REAL*8'
  821. TYPE(2)='REAL*8'
  822. TYPE(3)='REAL*8'
  823. TYPE(4)='POINTEUREVOLUTIO'
  824. TYPE(5)='POINTEUREVOLUTIO'
  825. TYPE(6)='REAL*8'
  826. TYPE(7)='POINTEUREVOLUTIO'
  827. TYPE(8)='REAL*8'
  828. TYPE(9)='POINTEUREVOLUTIO'
  829. TYPE(10)='REAL*8'
  830. TYPE(11)='POINTEUREVOLUTIO'
  831. TYPE(12)='REAL*8'
  832. TYPE(13)='REAL*8'
  833. TYPE(14)='REAL*8'
  834. TYPE(15)='POINTEUREVOLUTIO'
  835. TYPE(16)='REAL*8'
  836. TYPE(17)='POINTEUREVOLUTIO'
  837. TYPE(18)='REAL*8'
  838. TYPE(19)='POINTEUREVOLUTIO'
  839. TYPE(20)='REAL*8'
  840. TYPE(21)='POINTEUREVOLUTIO'
  841. TYPE(22)='REAL*8'
  842. ENDIF
  843. *
  844. * modele maxott
  845. *
  846. ELSE IF(INPLAS.EQ.106) THEN
  847. * formulation defo planes / axisymetrique
  848. IF((IFOMOD.EQ.-1.AND.IFOUR.NE.-2) .OR.
  849. & (IFOMOD.EQ.0.OR.IFOMOD.EQ.1)) THEN
  850. NBTYPE=58
  851. SEGINI NOTYPE
  852. DO IT=1,9
  853. TYPE(IT)='REAL*8'
  854. END DO
  855. TYPE(10)='POINTEUREVOLUTIO'
  856. TYPE(11)='POINTEUREVOLUTIO'
  857. TYPE(12)='REAL*8'
  858. TYPE(13)='POINTEUREVOLUTIO'
  859. TYPE(14)='REAL*8'
  860. TYPE(15)='POINTEUREVOLUTIO'
  861. TYPE(16)='REAL*8'
  862. TYPE(17)='POINTEUREVOLUTIO'
  863. TYPE(18)='REAL*8'
  864. DO IT=19,50
  865. TYPE(IT)='REAL*8'
  866. END DO
  867. TYPE(51)='POINTEUREVOLUTIO'
  868. TYPE(52)='REAL*8'
  869. TYPE(53)='POINTEUREVOLUTIO'
  870. TYPE(54)='REAL*8'
  871. TYPE(55)='POINTEUREVOLUTIO'
  872. TYPE(56)='REAL*8'
  873. TYPE(57)='POINTEUREVOLUTIO'
  874. TYPE(58)='REAL*8'
  875. * formulation contraintes planes / 3D coques minces
  876. ELSE IF((IFOMOD.EQ.-1.AND.IFOUR.EQ.-2).OR.
  877. & (IFOMOD.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN
  878. NBTYPE=54
  879. SEGINI NOTYPE
  880. DO IT=1,9
  881. TYPE(IT)='REAL*8'
  882. END DO
  883. TYPE(10)='POINTEUREVOLUTIO'
  884. TYPE(11)='POINTEUREVOLUTIO'
  885. TYPE(12)='REAL*8'
  886. TYPE(13)='POINTEUREVOLUTIO'
  887. TYPE(14)='REAL*8'
  888. TYPE(15)='POINTEUREVOLUTIO'
  889. TYPE(16)='REAL*8'
  890. TYPE(17)='POINTEUREVOLUTIO'
  891. TYPE(18)='REAL*8'
  892. DO IT=19,46
  893. TYPE(IT)='REAL*8'
  894. END DO
  895. TYPE(47)='POINTEUREVOLUTIO'
  896. TYPE(48)='REAL*8'
  897. TYPE(49)='POINTEUREVOLUTIO'
  898. TYPE(50)='REAL*8'
  899. TYPE(51)='POINTEUREVOLUTIO'
  900. TYPE(52)='REAL*8'
  901. TYPE(53)='POINTEUREVOLUTIO'
  902. TYPE(54)='REAL*8'
  903. * formulation tridimensionnelle massive
  904. ELSE IF(IFOMOD.EQ.2.AND.MFR.EQ.1) THEN
  905. NBTYPE=64
  906. SEGINI NOTYPE
  907. DO IT=1,14
  908. TYPE(IT)='REAL*8'
  909. END DO
  910. TYPE(15)='POINTEUREVOLUTIO'
  911. TYPE(16)='POINTEUREVOLUTIO'
  912. TYPE(17)='REAL*8'
  913. TYPE(18)='POINTEUREVOLUTIO'
  914. TYPE(19)='REAL*8'
  915. TYPE(20)='POINTEUREVOLUTIO'
  916. TYPE(21)='REAL*8'
  917. TYPE(22)='POINTEUREVOLUTIO'
  918. TYPE(23)='REAL*8'
  919. DO IT=24,55
  920. TYPE(IT)='REAL*8'
  921. END DO
  922. TYPE(57)='POINTEUREVOLUTIO'
  923. TYPE(58)='REAL*8'
  924. TYPE(59)='POINTEUREVOLUTIO'
  925. TYPE(60)='REAL*8'
  926. TYPE(61)='POINTEUREVOLUTIO'
  927. TYPE(62)='REAL*8'
  928. TYPE(63)='POINTEUREVOLUTIO'
  929. TYPE(64)='REAL*8'
  930. ENDIF
  931. *
  932. ELSEIF(INPLAS.EQ.67) THEN
  933. c NBTYPE=NMATR+NMATF
  934. NBTYPE = nmatt
  935. SEGINI NOTYPE
  936. IM2=NMATR-2
  937. DO IC=1,IM2
  938. TYPE(IC)='REAL*8'
  939. ENDDO
  940. TYPE(NMATR-1)='POINTEUREVOLUTIO'
  941. TYPE(NMATR) ='POINTEUREVOLUTIO'
  942. DO IC=NMATR+1,NBTYPE
  943. TYPE(IC)='REAL*8'
  944. ENDDO
  945. C
  946. ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN
  947. NBTYPE=6
  948. SEGINI NOTYPE
  949. TYPE(1)='REAL*8'
  950. TYPE(2)='REAL*8'
  951. TYPE(3)='REAL*8'
  952. TYPE(4)='POINTEUREVOLUTIO'
  953. TYPE(5)='REAL*8'
  954. TYPE(6)='REAL*8'
  955. c mistral :
  956. ELSEIF (INPLAS.EQ.94) THEN
  957. NBTYPE=nmatt
  958. SEGINI NOTYPE
  959. DO 1311 ITYP=1,NBTYPE
  960. TYPE(ITYP)='REAL*8'
  961. 1311 CONTINUE
  962. c pour le modele mistral il y a 10 composantes non lineaires qui
  963. * sont des listes de reels
  964. NLDEB=NMATR-9
  965. DO 1313 ITYP=NLDEB,NMATR
  966. TYPE(ITYP)='POINTEURLISTREEL'
  967. 1313 CONTINUE
  968. c mistral.
  969. *
  970. ELSEIF(INPLAS.EQ.105) THEN
  971. NBTYPE = 9
  972. SEGINI NOTYPE
  973. DO ITYP = 1,9
  974. TYPE(ITYP) = 'REAL*8'
  975. ENDDO
  976. TYPE(7)='POINTEUREVOLUTIO'
  977. TYPE(8)='POINTEUREVOLUTIO'
  978. *
  979. * syco1
  980. *
  981. ELSEIF(INPLAS.EQ.153) THEN
  982. nbtype=8
  983. segini notype
  984. do i = 1,8
  985. TYPE(i)='REAL*8'
  986. enddo
  987. TYPE(3)='POINTEUREVOLUTIO'
  988. *
  989. * syco2
  990. *
  991. ELSEIF(INPLAS.EQ.154) THEN
  992. nbtype=10
  993. segini notype
  994. do i = 1,10
  995. TYPE(i)='REAL*8'
  996. enddo
  997. TYPE(3)='POINTEUREVOLUTIO'
  998. c
  999. c loi de liaison acier-beton (liaison_acbe)
  1000. c
  1001. ELSEif(INPLAS.EQ.171) then
  1002. nbtype=4
  1003. segini notype
  1004. TYPE(1)='REAL*8'
  1005. TYPE(2)='REAL*8'
  1006. TYPE(3)='POINTEUREVOLUTIO'
  1007. TYPE(4)='REAL*8'
  1008.  
  1009. C
  1010. C Loi non lineaire externe
  1011. C
  1012. ELSEIF (INPLAS.LT.0) THEN
  1013. NBTYPE=1
  1014. SEGINI NOTYPE
  1015. TYPE(1)='REAL*8'
  1016. C
  1017. C Par defaut, toutes les composantes sont de type 'REAL*8'
  1018. C
  1019. ELSE
  1020. NBTYPE=1
  1021. SEGINI NOTYPE
  1022. TYPE(1)='REAL*8'
  1023. C
  1024. ENDIF
  1025. GOTO 120
  1026. *
  1027. 14 continue
  1028. *
  1029. * coques minces
  1030. *
  1031. IF (MFR.EQ.3.OR.MFR.EQ.9) THEN
  1032. NBTYPE=1
  1033. SEGINI NOTYPE
  1034. TYPE(1)='REAL*8'
  1035. ELSEIF (MFR.EQ.5) THEN
  1036. NBTYPE=1
  1037. SEGINI NOTYPE
  1038. TYPE(1)='REAL*8'
  1039. *
  1040. * section pour les barres
  1041. *
  1042. ELSE IF (MFR.EQ.27) THEN
  1043. NBTYPE=1
  1044. SEGINI NOTYPE
  1045. TYPE(1)='REAL*8'
  1046. *
  1047. * section, excentrements et orientation pour les barres excentrees
  1048. *
  1049. ELSE IF (MFR.EQ.49) THEN
  1050. NBTYPE=1
  1051. SEGINI NOTYPE
  1052. TYPE(1)='REAL*8'
  1053. *
  1054. * raideurs locales pour l'element LIA2 de liaison a 2 noeuds
  1055. *
  1056. ELSE IF (MFR.EQ.51) THEN
  1057. NBTYPE=1
  1058. SEGINI NOTYPE
  1059. TYPE(1)='REAL*8'
  1060. *
  1061. ELSE IF (MFR.EQ.7 ) THEN
  1062. *
  1063. * cas des poutres en formulation section ou 3D
  1064. *
  1065. IF (CMATE.EQ.'SECTION'.OR.IFOUR.EQ.2) THEN
  1066. NBTYPE=11
  1067. SEGINI NOTYPE
  1068. do ic1 = 1,11
  1069. type(ic1) = 'REAL*8'
  1070. enddo
  1071. * surcharge composante facultative VECT
  1072. TYPE(11)='POINTEURPOINT '
  1073. *
  1074. * Cas des poutres 2D
  1075. *
  1076. ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  1077. NBTYPE=1
  1078. SEGINI NOTYPE
  1079. TYPE(1)='REAL*8'
  1080. ENDIF
  1081. *
  1082. * caracteristiques pour les tuyaux
  1083. *
  1084. ELSE IF (MFR.EQ.13) THEN
  1085. NBTYPE=12
  1086. SEGINI NOTYPE
  1087. TYPE(1)='REAL*8'
  1088. TYPE(2)='REAL*8'
  1089. TYPE(3)='REAL*8'
  1090. TYPE(4)='REAL*8'
  1091. TYPE(5)='REAL*8'
  1092. TYPE(6)='REAL*8'
  1093. TYPE(7)='REAL*8'
  1094. TYPE(8)='REAL*8'
  1095. TYPE(9)='REAL*8'
  1096. TYPE(10)='REAL*8'
  1097. TYPE(11)='REAL*8'
  1098. TYPE(12)='POINTEURPOINT '
  1099. *
  1100. * caracteristiques pour les linespring
  1101. *
  1102. ELSE IF (MFR.EQ.15) THEN
  1103. *
  1104. NBTYPE=1
  1105. SEGINI NOTYPE
  1106. TYPE(1)='REAL*8'
  1107. *
  1108. * caracteristiques pour les tuyaux fissures
  1109. *
  1110. ELSE IF (MFR.EQ.17) THEN
  1111. NBTYPE=1
  1112. SEGINI NOTYPE
  1113. TYPE(1)='REAL*8'
  1114. *
  1115. * caracteristiques des elements homogeneises
  1116. *
  1117. ELSE IF (MFR.EQ.37) THEN
  1118. NBTYPE=1
  1119. SEGINI NOTYPE
  1120. TYPE(1)='REAL*8'
  1121. ELSE
  1122. NBTYPE=1
  1123. SEGINI NOTYPE
  1124. TYPE(1)='REAL*8'
  1125. ENDIF
  1126. GOTO 120
  1127. *
  1128. 15 NBTYPE=1
  1129. SEGINI NOTYPE
  1130. TYPE(1)='REAL*8'
  1131. GOTO 120
  1132. *
  1133. 16 NBTYPE=1
  1134. SEGINI NOTYPE
  1135. TYPE(1)='REAL*8'
  1136. GOTO 120
  1137. *
  1138. 17 continue
  1139. GOTO 120
  1140. *
  1141. 18 continue
  1142. GOTO 120
  1143. *
  1144. * variables internes
  1145. *
  1146. 20 IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION') THEN
  1147. NBTYPE=1
  1148. SEGINI NOTYPE
  1149. TYPE(1)='POINTEURMCHAML '
  1150.  
  1151. ELSE IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN
  1152. c MODAL / STATIQUE
  1153. if (inatuu.eq.3) then
  1154. NBTYPE = 3
  1155. else
  1156. NBTYPE = 1
  1157. endif
  1158. SEGINI NOTYPE
  1159. TYPE(1)='REAL*8'
  1160. if (inatuu.eq.3) then
  1161. TYPE(2)='REAL*8'
  1162. TYPE(3)='POINTEURLISTREEL'
  1163. endif
  1164. *
  1165. * cas particulier modele de maxwell
  1166. *
  1167. ELSE IF(INPLAS.EQ.74) THEN
  1168. NBTYPE=10
  1169. SEGINI NOTYPE
  1170. TYPE(1)='REAL*8'
  1171. DO IC=2,10
  1172. TYPE(IC)='POINTEURLISTREEL'
  1173. END DO
  1174. *
  1175. * cas particulier modele maxott
  1176. *
  1177. ELSE IF(INPLAS.EQ.106) THEN
  1178. *
  1179. *------ cas tridimensionnel massif
  1180. *
  1181. IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN
  1182. NBTYPE=31
  1183. SEGINI NOTYPE
  1184. DO IC=1,21
  1185. TYPE(IC)='REAL*8'
  1186. END DO
  1187. DO IC=22,31
  1188. TYPE(IC)='POINTEURLISTREEL'
  1189. END DO
  1190. *
  1191. *------ cas defo planes/axisymetrique
  1192. *
  1193. ELSE IF(IFOUR.EQ.-1.OR.IFOUR.EQ.-3.OR.
  1194. & IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN
  1195. NBTYPE=26
  1196. SEGINI NOTYPE
  1197. DO IC=1,16
  1198. TYPE(IC)='REAL*8'
  1199. END DO
  1200. DO IC=17,26
  1201. TYPE(IC)='POINTEURLISTREEL'
  1202. END DO
  1203. *
  1204. *------ cas cont planes ou tridimensionnel coques
  1205. *
  1206. ELSE IF(IFOUR.EQ.-2.OR.
  1207. & (IFOUR.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN
  1208. NBTYPE=23
  1209. SEGINI NOTYPE
  1210. DO IC=1,13
  1211. TYPE(IC)='REAL*8'
  1212. END DO
  1213. DO IC=14,23
  1214. TYPE(IC)='POINTEURLISTREEL'
  1215. END DO
  1216. ENDIF
  1217. ELSEIF (formod(1).eq.'LIAISON') then
  1218. NBTYPE = 5
  1219. SEGINI NOTYPE
  1220. TYPE(1)='POINTEURCHPOINT'
  1221. TYPE(2)='POINTEURTABLE'
  1222. TYPE(3) ='POINTEURLISTENTI'
  1223. TYPE(4) ='POINTEURLISTREEL'
  1224. TYPE(5) ='POINTEURMAILLAGE'
  1225.  
  1226. ELSE
  1227. NBTYPE=1
  1228. SEGINI NOTYPE
  1229. TYPE(1)='REAL*8'
  1230. ENDIF
  1231. GOTO 120
  1232. *
  1233. 21 NBTYPE=1
  1234. SEGINI NOTYPE
  1235. TYPE(1)='REAL*8'
  1236. GOTO 120
  1237. *
  1238. 23 NBTYPE=1
  1239. SEGINI NOTYPE
  1240. TYPE(1)='REAL*8'
  1241. GOTO 120
  1242. *
  1243. 24 NBTYPE=1
  1244. SEGINI NOTYPE
  1245. TYPE(1)='REAL*8'
  1246. GOTO 120
  1247. *
  1248. 25 NBTYPE=1
  1249. SEGINI NOTYPE
  1250. TYPE(1)='REAL*8'
  1251. GOTO 120
  1252. *
  1253. 120 CONTINUE
  1254. MOTYPE=NOTYPE
  1255.  
  1256. RETURN
  1257. END
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  

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