Télécharger donoeu.eso

Retour à la liste

Numérotation des lignes :

donoeu
  1. C DONOEU SOURCE MB234859 26/02/06 21:15:01 12468
  2. SUBROUTINE DONOEU(IELE,MELE,NBSH,NNO,IPT,IRET)
  3. C=======================================================================
  4. C
  5. C CALCULE LES COORDONNEES REDUITES ET LES POIDS
  6. C D'INTEGRATION CORRESPONDANTS
  7. C IELE = NUMEROTATION DES ELEMENTS DANS NOMS(32)
  8. C (VOIR CCGEO..ME)
  9. C MELE = NUMERO DE L'ELEMENT FINI
  10. C NBSH = NOMBRE DE FONCTIONS D'INTERPOLATION
  11. C NNO = NOMBRE DE NOEUDS DE L'ELEMENT NOMS(IELE)
  12. C QSI(NNO) ETA(NNO) DZE(NNO) = COORDONNEES REDUITES
  13. C
  14. C POI(NBG) = POIDS DE L'INTEGRATION
  15. C C A D VOLUME DE L'ELEMENT DE BASE
  16. C FOIS CONTRIBUTION DU NOEUD
  17. C
  18. C IRET = 1 OU 0 SUIVANT QUE IELE IMPLEMENTE OU PAS
  19. C
  20. C=======================================================================
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. -INC CCREEL
  24. -INC SMINTE
  25. C
  26. C QUELQUES CONSTANTES EN VRAC
  27. C
  28. DATA UNDEMI,UNQUAR,UN/.5D0,0.25D0,1.D0/
  29. DATA UNDOU/.8333333333333333D-1/
  30. DATA UNTIER/.33333333333333333D0/
  31. DATA DEUTIE/.66666666666666666D0/
  32. DATA UNSIX/.166666666666666666D0/
  33. C
  34. NBPGAU=NNO
  35. NBNO=NBSH
  36. SEGINI MINTE
  37. IPT=MINTE
  38. IRET=1
  39. DO 100 I=1,NNO
  40. QSIGAU(I)=XZERO
  41. ETAGAU(I)=XZERO
  42. DZEGAU(I)=XZERO
  43. POIGAU(I)=XZERO
  44. 100 CONTINUE
  45. *
  46. * PETIT DEBRANCHEMENT POUR ELEMENT TUYO
  47. *
  48. IF(MELE.EQ.96) GO TO 96
  49. C
  50. C 66 INDIQUE QUE L ELEMENT N EST PAS ENCORE IMPLEMENTE
  51. C DANS CE CAS IRET EST MIS A XZERO
  52. C
  53. C ELEMENTS LIAISON : AJOUT AIGUILLAGE MAIS GERE PAR TSHAPE
  54. C
  55. C P1 S2 S3 T3 T4 T6 T7 Q4 Q5 Q8 Q9 R2 R3 C8 C20 P6 P15
  56. GOTO ( 1, 2, 3, 4, 5, 6, 7, 8, 8,10,10, 2,13,14, 15,16, 17,
  57. C L3 L4 L6 L8 MU T4 T10 P5 P13 ATT SUP RP3 LP6 LP8
  58. 1 4, 8, 6,10,66,23, 24,25, 26, 66, 66, 3, 6, 10,
  59. C POLY CU27 PR21 TE15 PY19
  60. 2 32,15, 17, 24, 26),IELE
  61. C
  62. 66 IRET=0
  63. IPT=0
  64. GOTO 666
  65. C
  66. C ELEMENT POI1
  67. C
  68. 1 CONTINUE
  69. POIGAU(1)=UN
  70. GOTO 666
  71. C
  72. C ELEMENT LIGNE 2 NOEUDS LONGUEUR=2
  73. C
  74. 2 CONTINUE
  75. QSIGAU(1)=-UN
  76. QSIGAU(2)= UN
  77. POIGAU(1)= UN
  78. POIGAU(2)= UN
  79. GOTO 666
  80. C
  81. C ELEMENT LIGNE 3 NOEUDS LONGUEUR=2
  82. C
  83. 3 CONTINUE
  84. QSIGAU(1)=-UN
  85. QSIGAU(3)= UN
  86. POIGAU(1)= DEUTIE
  87. POIGAU(2)= DEUTIE
  88. POIGAU(3)= DEUTIE
  89. GOTO 666
  90. C
  91. C ELEMENT TRIANGLE 3 NOEUDS SURFACE=1/2
  92. C
  93. 4 CONTINUE
  94. QSIGAU(2)=UN
  95. ETAGAU(3)=UN
  96. POIGAU(1)=UNSIX
  97. POIGAU(2)=UNSIX
  98. POIGAU(3)=UNSIX
  99. GOTO 666
  100. C
  101. C ELEMENT TRIANGLE 4 NOEUDS SURFACE =1/2
  102. C
  103. 5 CONTINUE
  104. QSIGAU(2)=UN
  105. ETAGAU(3)=UN
  106. QSIGAU(4)=UNTIER
  107. ETAGAU(4)=UNTIER
  108. POIGAU(1)=1.D0/8.D0
  109. POIGAU(2)=POIGAU(1)
  110. POIGAU(3)=POIGAU(1)
  111. POIGAU(4)=POIGAU(1)
  112. GOTO 666
  113. C
  114. C TRIANGLE 6 NOEUDS SURFACE = 1/2
  115. C
  116. 6 CONTINUE
  117. QSIGAU(2)=UNDEMI
  118. QSIGAU(3)=UN
  119. QSIGAU(4)=UNDEMI
  120. ETAGAU(4)=UNDEMI
  121. ETAGAU(5)=UN
  122. ETAGAU(6)=UNDEMI
  123. DO 61 IA=1,6
  124. POIGAU(IA)=UNDOU
  125. 61 CONTINUE
  126. GOTO 666
  127. C
  128. C TRIANGLE 7 NOEUDS SURFACE=1/2
  129. C
  130. 7 CONTINUE
  131. QSIGAU(2)=UNDEMI
  132. QSIGAU(3)=UN
  133. QSIGAU(4)=UNDEMI
  134. ETAGAU(4)=UNDEMI
  135. ETAGAU(5)=UN
  136. ETAGAU(6)=UNDEMI
  137. QSIGAU(7)=UNTIER
  138. ETAGAU(7)=UNTIER
  139. UN14=1.D0/14.D0
  140. DO 71 IA=1,7
  141. POIGAU(IA)=UN14
  142. 71 CONTINUE
  143. GOTO 666
  144. C
  145. C ELEMENT CARRE 4 OU 5 NOEUDS SURFACE =4
  146. C
  147. 8 CONTINUE
  148. QSIGAU(1)=-UN
  149. QSIGAU(2)= UN
  150. QSIGAU(3)= UN
  151. QSIGAU(4)=-UN
  152. ETAGAU(1)=-UN
  153. ETAGAU(2)=-UN
  154. ETAGAU(3)= UN
  155. ETAGAU(4)= UN
  156. UN4=UN
  157. IF(NNO.EQ.5) UN4=.8D0
  158. DO 81 IA=1,NNO
  159. POIGAU(IA)=UN4
  160. 81 CONTINUE
  161. GOTO 666
  162. C
  163. C CARRE 8 OU 9 NOEUDS SURFACE=4
  164. C
  165. 10 CONTINUE
  166. QSIGAU(1)=-UN
  167. QSIGAU(3)= UN
  168. QSIGAU(4)= UN
  169. QSIGAU(5)= UN
  170. QSIGAU(7)=-UN
  171. QSIGAU(8)=-UN
  172. ETAGAU(1)=-UN
  173. ETAGAU(2)=-UN
  174. ETAGAU(3)=-UN
  175. ETAGAU(5)= UN
  176. ETAGAU(6)= UN
  177. ETAGAU(7)= UN
  178. UN2=UNDEMI
  179. IF(NNO.EQ.9) UN2=4.D0/9.D0
  180. DO 11 IA=1,NNO
  181. POIGAU(IA)=UN2
  182. 11 CONTINUE
  183. GOTO 666
  184. C
  185. C ELEMENT RACCORD 2 SURFACE=0 ( DEBRANCHE ! )
  186. C VOIR 2 CONTINUE
  187. C
  188. C 12 CONTINUE
  189. C QSIGAU(1)=-UN
  190. C QSIGAU(2)= UN
  191. C QSIGAU(3)= UN
  192. C QSIGAU(4)=-UN
  193. C ETAGAU(1)=-UN
  194. C ETAGAU(2)=-UN
  195. C ETAGAU(3)= UN
  196. C ETAGAU(4)= UN
  197. C POIGAU(1)= UN
  198. C POIGAU(2)= UN
  199. C POIGAU(3)= UN
  200. C POIGAU(4)= UN
  201. C GOTO 666
  202. C
  203. C ELEMENT RACCORD 3 SURFACE=0
  204. C
  205. 13 CONTINUE
  206. QSIGAU(1)=-UN
  207. QSIGAU(2)= XZERO
  208. QSIGAU(3)= UN
  209. QSIGAU(4)= UN
  210. QSIGAU(5)= XZERO
  211. QSIGAU(6)=-UN
  212. C
  213. ETAGAU(1)=-UN
  214. ETAGAU(2)=-UN
  215. ETAGAU(3)=-UN
  216. ETAGAU(4)= UN
  217. ETAGAU(5)= UN
  218. ETAGAU(6)= UN
  219. C
  220. POIGAU(1)= UN
  221. POIGAU(2)= UN
  222. POIGAU(3)= UN
  223. POIGAU(4)= UN
  224. POIGAU(5)= UN
  225. POIGAU(6)= UN
  226. GOTO 666
  227. C
  228. C ELEMENT CUBE VOLUME=8 8 NOEUDS
  229. C
  230. 14 CONTINUE
  231. QSIGAU(1)=-UN
  232. QSIGAU(2)= UN
  233. QSIGAU(3)= UN
  234. QSIGAU(4)=-UN
  235. QSIGAU(5)=-UN
  236. QSIGAU(6)= UN
  237. QSIGAU(7)= UN
  238. QSIGAU(8)=-UN
  239. ETAGAU(1)=-UN
  240. ETAGAU(2)=-UN
  241. ETAGAU(3)= UN
  242. ETAGAU(4)= UN
  243. ETAGAU(5)=-UN
  244. ETAGAU(6)=-UN
  245. ETAGAU(7)= UN
  246. ETAGAU(8)= UN
  247. DO 141 IA=1,4
  248. DZEGAU(IA )=-UN
  249. DZEGAU(IA+4)= UN
  250. POIGAU(IA )= UN
  251. POIGAU(IA+4)= UN
  252. 141 CONTINUE
  253. GOTO 666
  254. C
  255. C CUBE A 20 ou 27 NOEUDS VOLUME=8
  256. C
  257. 15 CONTINUE
  258. DO 151 IA=3,5
  259. QSIGAU(IA )= UN
  260. QSIGAU(IA+12)= UN
  261. 151 CONTINUE
  262. QSIGAU(10)= UN
  263. QSIGAU(11)= UN
  264. QSIGAU( 9)=-UN
  265. QSIGAU(12)=-UN
  266. QSIGAU( 1)=-UN
  267. QSIGAU( 8)=-UN
  268. QSIGAU( 7)=-UN
  269. QSIGAU(13)=-UN
  270. QSIGAU(20)=-UN
  271. QSIGAU(19)=-UN
  272. DO 152 IA=1,8
  273. DZEGAU(IA )=-UN
  274. DZEGAU(IA+12)= UN
  275. 152 CONTINUE
  276. DO 153 IA=1,3
  277. ETAGAU(IA )=-UN
  278. ETAGAU(IA+4 )= UN
  279. ETAGAU(IA+12)=-UN
  280. ETAGAU(IA+16)= UN
  281. 153 CONTINUE
  282. ETAGAU( 9)=-UN
  283. ETAGAU(10)=-UN
  284. ETAGAU(11)= UN
  285. ETAGAU(12)= UN
  286. *
  287. IF (NNO.EQ.27) THEN
  288. QSIGAU(21)=QSIGAU(2)
  289. ETAGAU(21)=ETAGAU(2)
  290. QSIGAU(22)=QSIGAU(4)
  291. ETAGAU(22)=ETAGAU(4)
  292. QSIGAU(23)=QSIGAU(6)
  293. ETAGAU(23)=ETAGAU(6)
  294. QSIGAU(24)=QSIGAU(8)
  295. ETAGAU(24)=ETAGAU(8)
  296. DZEGAU(25)=-UN
  297. DZEGAU(26)=UN
  298. * le 27eme noeud est l'origine
  299. ENDIF
  300. *
  301. XPOGA=.4D0
  302. IF (NNO.EQ.27) XPOGA=8.D0/27.D0
  303. DO 154 IA=1,NNO
  304. POIGAU(IA)=XPOGA
  305. 154 CONTINUE
  306. GOTO 666
  307. C
  308. C ELEMENT PRISME VOLUME=1 6 NOEUDS
  309. C
  310. 16 CONTINUE
  311. QSIGAU(2)= UN
  312. ETAGAU(3)= UN
  313. DZEGAU(1)=-UN
  314. DZEGAU(2)=-UN
  315. DZEGAU(3)=-UN
  316. QSIGAU(5)= UN
  317. ETAGAU(6)= UN
  318. DZEGAU(4)= UN
  319. DZEGAU(5)= UN
  320. DZEGAU(6)= UN
  321. DO 161 IA=1,6
  322. POIGAU(IA)=UNSIX
  323. 161 CONTINUE
  324. GOTO 666
  325. C
  326. C PRISME A 15 NOEUDS VOLUME=1
  327. C
  328. 17 CONTINUE
  329. DO 171 IA=1,6
  330. DZEGAU(IA )=-UN
  331. DZEGAU(IA+9)= UN
  332. 171 CONTINUE
  333. QSIGAU(8) =UN
  334. ETAGAU(9) =UN
  335. QSIGAU(2) =UNDEMI
  336. QSIGAU(4) =UNDEMI
  337. QSIGAU(11) =UNDEMI
  338. QSIGAU(13) =UNDEMI
  339. QSIGAU(3) =UN
  340. QSIGAU(8) =UN
  341. QSIGAU(12) =UN
  342. ETAGAU(4) =UNDEMI
  343. ETAGAU(6) =UNDEMI
  344. ETAGAU(13) =UNDEMI
  345. ETAGAU(15) =UNDEMI
  346. ETAGAU(5) =UN
  347. ETAGAU(9) =UN
  348. ETAGAU(14) =UN
  349. IF (NNO.EQ.21) THEN
  350. QSIGAU(16)=QSIGAU(2)
  351. ETAGAU(16)=ETAGAU(2)
  352. QSIGAU(17)=QSIGAU(4)
  353. ETAGAU(17)=ETAGAU(4)
  354. QSIGAU(18)=QSIGAU(6)
  355. ETAGAU(18)=ETAGAU(6)
  356. *
  357. DO IA=19,21
  358. QSIGAU(IA)=UNTIER
  359. ETAGAU(IA)=UNTIER
  360. ENDDO
  361. DZEGAU(19)=-UN
  362. DZEGAU(20)= UN
  363. ENDIF
  364. UN15=1.D0/15.D0
  365. IF (NNO.EQ.21) UN15=1.D0/21.D0
  366. DO 172 IA=1,NNO
  367. POIGAU(IA)=UN15
  368. 172 CONTINUE
  369. GOTO 666
  370. C
  371. C ELEMENT LIAISON 3 VOLUME=0
  372. C
  373. 18 CONTINUE
  374. QSIGAU(2)= UN
  375. ETAGAU(3)= UN
  376. DZEGAU(1)=-UN
  377. DZEGAU(2)=-UN
  378. DZEGAU(3)=-UN
  379. QSIGAU(5)= UN
  380. ETAGAU(6)= UN
  381. DZEGAU(4)= UN
  382. DZEGAU(5)= UN
  383. DZEGAU(6)= UN
  384. DO 181 IA=1,6
  385. POIGAU(IA)=UNSIX
  386. 181 CONTINUE
  387. GOTO 666
  388. C
  389. C ELEMENT LIAISON 4 VOLUME=0
  390. C
  391. C 19 CONTINUE
  392. C QSIGAU(1)=-UN
  393. C QSIGAU(2)= UN
  394. C QSIGAU(3)= UN
  395. C QSIGAU(4)=-UN
  396. C QSIGAU(5)=-UN
  397. C QSIGAU(6)= UN
  398. C QSIGAU(7)= UN
  399. C QSIGAU(8)=-UN
  400. C ETAGAU(1)=-UN
  401. C ETAGAU(2)=-UN
  402. C ETAGAU(3)= UN
  403. C ETAGAU(4)= UN
  404. C ETAGAU(5)=-UN
  405. C ETAGAU(6)=-UN
  406. C ETAGAU(7)= UN
  407. C ETAGAU(8)= UN
  408. C DO 191 IA=1,4
  409. C DZEGAU(IA )=-UN
  410. C DZEGAU(IA+4)= UN
  411. C POIGAU(IA )= UN
  412. C POIGAU(IA+4)= UN
  413. C 191 CONTINUE
  414. C GOTO 666
  415. C
  416. C ELEMENT TETRAEDRE VOLUME=1/3 4 NOEUDS
  417. C
  418. 23 CONTINUE
  419. QSIGAU(2)=UN
  420. ETAGAU(3)=UN
  421. DZEGAU(4)=UN
  422. POIGAU(1)=UNDOU
  423. POIGAU(2)=UNDOU
  424. POIGAU(3)=UNDOU
  425. POIGAU(4)=UNDOU
  426. GOTO 666
  427. C
  428. C ELEMENT TETRAEDRE VOLUME =1/3 10 ou 15 NOEUDS
  429. C
  430. 24 CONTINUE
  431. QSIGAU(2)=UNDEMI
  432. QSIGAU(4)=UNDEMI
  433. QSIGAU(8)=UNDEMI
  434. ETAGAU(4)=UNDEMI
  435. ETAGAU(6)=UNDEMI
  436. ETAGAU(9)=UNDEMI
  437. DZEGAU(7)=UNDEMI
  438. DZEGAU(8)=UNDEMI
  439. DZEGAU(9)=UNDEMI
  440. QSIGAU(3)=UN
  441. ETAGAU(5)=UN
  442. DZEGAU(10)=UN
  443. *
  444. IF (NNO.EQ.15) THEN
  445. QSIGAU(11)=UNTIER
  446. ETAGAU(11)=UNTIER
  447. QSIGAU(12)=UNTIER
  448. DZEGAU(12)=UNTIER
  449. QSIGAU(13)=UNTIER
  450. ETAGAU(13)=UNTIER
  451. DZEGAU(13)=UNTIER
  452. ETAGAU(14)=UNTIER
  453. DZEGAU(14)=UNTIER
  454. *
  455. QSIGAU(15)=UNQUAR
  456. ETAGAU(15)=UNQUAR
  457. DZEGAU(15)=UNQUAR
  458. ENDIF
  459. *
  460. UN30=1.D0/30.D0
  461. IF (NNO.EQ.15) UN30=1.D0/45.D0
  462. DO 241 IA=1,NNO
  463. POIGAU(IA)=UN30
  464. 241 CONTINUE
  465. GOTO 666
  466. C
  467. C ELEMENT PYRAMIDE VOLUME=2/3 5 NOEUDS
  468. C
  469. 25 CONTINUE
  470. QSIGAU(1)= UN
  471. QSIGAU(2)= XZERO
  472. QSIGAU(3)=-UN
  473. QSIGAU(4)= XZERO
  474. ETAGAU(1)= XZERO
  475. ETAGAU(2)= UN
  476. ETAGAU(3)= XZERO
  477. ETAGAU(4)=-UN
  478. DZEGAU(5)= UN
  479. UN215 =2.D0/15.D0
  480. DO 251 IA=1,5
  481. POIGAU(IA)=UN215
  482. 251 CONTINUE
  483. GOTO 666
  484. C
  485. C ELEMENT PYRAMIDE 13 NOEUDS VOLUME =2/3
  486. C
  487. 26 CONTINUE
  488. QSIGAU(1)= UN
  489. QSIGAU(2)= UNDEMI
  490. QSIGAU(3)= XZERO
  491. QSIGAU(4)=-UNDEMI
  492. QSIGAU(5)=-UN
  493. QSIGAU(6)=-UNDEMI
  494. QSIGAU(7)= XZERO
  495. QSIGAU(8)= UNDEMI
  496. QSIGAU(9)= UNDEMI
  497. QSIGAU(10)= XZERO
  498. QSIGAU(11)=-UNDEMI
  499. QSIGAU(12)= XZERO
  500. QSIGAU(13)= XZERO
  501. ETAGAU(1)= XZERO
  502. ETAGAU(2)= UNDEMI
  503. ETAGAU(3)= UN
  504. ETAGAU(4)= UNDEMI
  505. ETAGAU(5)= XZERO
  506. ETAGAU(6)=-UNDEMI
  507. ETAGAU(7)=-UN
  508. ETAGAU(8)=-UNDEMI
  509. ETAGAU(9)= XZERO
  510. ETAGAU(10)= UNDEMI
  511. ETAGAU(11)= XZERO
  512. ETAGAU(12)=-UNDEMI
  513. ETAGAU(13)= XZERO
  514. DO 261 IA=9,12
  515. DZEGAU(IA)=UNDEMI
  516. 261 CONTINUE
  517. DZEGAU(13)=UN
  518. *
  519. IF (NNO.EQ.19) THEN
  520. * 14 a l'origine
  521. QSIGAU(15)=QSIGAU(2)
  522. ETAGAU(15)=ETAGAU(2)
  523. QSIGAU(16)=QSIGAU(4)
  524. ETAGAU(16)=ETAGAU(4)
  525. QSIGAU(17)=QSIGAU(6)
  526. ETAGAU(17)=ETAGAU(6)
  527. QSIGAU(18)=QSIGAU(8)
  528. ETAGAU(18)=ETAGAU(8)
  529. DO IA=15,18
  530. DZEGAU(IA)=UNDEMI
  531. ENDDO
  532. DZEGAU(19)=UNQUAR
  533. ENDIF
  534. *
  535. UN239=2.D0/39.D0
  536. IF (NNO.EQ.19) UN239=2.D0/57.D0
  537. DO 262 IA=1,NNO
  538. POIGAU(IA)=UN239
  539. 262 CONTINUE
  540. GOTO 666
  541. C
  542. C POLYGONE A N COTES SURFACE = N * COS(XPI/N) * SIN(XPI/N)
  543. C
  544. 32 CONTINUE
  545. C
  546. DO 325 IA = 1, NNO
  547. C
  548. ALPHA = (2*IA - 1) * XPI / NNO
  549. C
  550. QSIGAU(IA) = COS(ALPHA)
  551. ETAGAU(IA) = SIN(ALPHA)
  552. C
  553. 325 CONTINUE
  554. GOTO 666
  555. C
  556. 96 CONTINUE
  557. C
  558. C ELEMENT TUYO LONGUEUR = 2
  559. C
  560. NTETA= NNO/2
  561. DO 961 IN=1,NTETA
  562. QSIGAU(IN)=-UN
  563. QSIGAU(IN+NTETA)= UN
  564. 961 CONTINUE
  565. *
  566. DTETA=2.D0*XPI/DBLE(NTETA)
  567. TETA=0.D0
  568. DO 962 IN=1,NTETA
  569. ETAGAU(IN)=TETA
  570. ETAGAU(IN+NTETA)=TETA
  571. TETA=TETA+DTETA
  572. 962 CONTINUE
  573. GOTO 666
  574.  
  575. *
  576. 666 CONTINUE
  577. C
  578. C MISE A UN DES POIDS DES POINTS
  579. C
  580. DO 200 IA=1,NNO
  581. POIGAU(IA)=UN
  582. 200 CONTINUE
  583. IF(IRET.EQ.0) SEGSUP MINTE
  584. END
  585.  
  586.  
  587.  
  588.  
  589.  

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