Télécharger cotype.eso

Retour à la liste

Numérotation des lignes :

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

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