Télécharger cotype.eso

Retour à la liste

Numérotation des lignes :

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

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