Télécharger tpyr5.eso

Retour à la liste

Numérotation des lignes :

tpyr5
  1. C TPYR5 SOURCE OF166741 23/12/04 21:15:17 11800
  2.  
  3. C=======================================================================
  4. C= T P Y R 5 =
  5. C= --------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Acquisition des caracteristiques d'integration aux noeuds, aux =
  10. C= points d'integration (Gauss) ou au centre de gravite pour =
  11. C= l'element thermique support PYR5. =
  12. C= =
  13. C= Parametres : (E)=Entree (S)=Sortie =
  14. C= ------------ =
  15. C= ISUPTH (E) Indique le support d'integration demande =
  16. C= IPINTE (S) Pointeur sur le segment MINTE associe (ACTIF en S) =
  17. C=======================================================================
  18.  
  19. SUBROUTINE TPYR5 (ISUPTH,IPINTE)
  20.  
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8 (A-H,O-Z)
  23.  
  24. -INC SMINTE
  25.  
  26. PARAMETER ( O0=0.D0, O1=1.D0, O5=0.5D0, O4=4.D0 )
  27. C H1 = (10.D0-sqrt(15D.0))/40.D0 & H2 = (5.D0+2.D0*sqrt(15D.0))/20.D0
  28. PARAMETER ( H1=0.153175416344814577870518365005440D0 )
  29. PARAMETER ( H2=0.637298334620741688517926539978239D0 )
  30. PARAMETER ( O215=2.D0/15.D0 )
  31. PARAMETER ( O23=2.D0/3.D0 )
  32. PARAMETER ( O14= O1/O4 )
  33.  
  34. NBNO = 5
  35. IF (ISUPTH.EQ.1 .OR. ISUPTH.EQ.2) THEN
  36. NBPGAU = 5
  37. ELSE IF (ISUPTH.EQ.3) THEN
  38. NBPGAU = 1
  39. ELSE
  40. RETURN
  41. ENDIF
  42. SEGINI,MINTE
  43.  
  44. C COORDONNEES ET POIDS DES 5 NOEUDS
  45. IF (ISUPTH.EQ.1) THEN
  46. QSIGAU(1) = O1
  47. QSIGAU(2) = O0
  48. QSIGAU(3) = -O1
  49. QSIGAU(4) = O0
  50. QSIGAU(5) = O0
  51. ETAGAU(1) = O0
  52. ETAGAU(2) = O1
  53. ETAGAU(3) = O0
  54. ETAGAU(4) = -O1
  55. ETAGAU(5) = O0
  56. DZEGAU(1) = O0
  57. DZEGAU(2) = O0
  58. DZEGAU(3) = O0
  59. DZEGAU(4) = O0
  60. DZEGAU(5) = O1
  61. POIGAU(1) = O215
  62. POIGAU(2) = O215
  63. POIGAU(3) = O215
  64. POIGAU(4) = O215
  65. POIGAU(5) = O215
  66.  
  67. C COORDONNEES ET POIDS DES 5 POINTS DE GAUSS
  68. ELSE IF (ISUPTH.EQ.2) THEN
  69. QSIGAU(1) = O5
  70. QSIGAU(2) = O0
  71. QSIGAU(3) = -O5
  72. QSIGAU(4) = O0
  73. QSIGAU(5) = O0
  74. ETAGAU(1) = O0
  75. ETAGAU(2) = O5
  76. ETAGAU(3) = O0
  77. ETAGAU(4) = -O5
  78. ETAGAU(5) = O0
  79. DZEGAU(1) = H1
  80. DZEGAU(2) = H1
  81. DZEGAU(3) = H1
  82. DZEGAU(4) = H1
  83. DZEGAU(5) = H2
  84. POIGAU(1) = O215
  85. POIGAU(2) = O215
  86. POIGAU(3) = O215
  87. POIGAU(4) = O215
  88. POIGAU(5) = O215
  89.  
  90. C COORDONNEES ET POIDS DU CENTRE DE GRAVITE
  91. ELSE IF (ISUPTH.EQ.3) THEN
  92. QSIGAU(1) = O0
  93. ETAGAU(1) = O0
  94. DZEGAU(1) = O14
  95. POIGAU(1) = O23
  96. ENDIF
  97.  
  98. C FONCTIONS DE FORME ET LEURS DERIVEES AU(X) NBPGAU POINT(S)
  99. DO I = 1, NBPGAU
  100. XI = QSIGAU(I)
  101. YI = ETAGAU(I)
  102. ZI = DZEGAU(I)
  103.  
  104. DZEM = O1-ZI
  105. IF (ABS(DZEM).LT.1.D-6) THEN
  106. cC Initialisations a 0 faites par SEGINI
  107. c DO IB = 1, NBNO
  108. c SHPTOT(1,IB,I) = O0
  109. c SHPTOT(2,IB,I) = O0
  110. c SHPTOT(3,IB,I) = O0
  111. c SHPTOT(4,IB,I) = O0
  112. c ENDDO
  113. SHPTOT(1,5,I) = O1
  114. SHPTOT(2,1,I) = O5
  115. SHPTOT(2,3,I) = -O5
  116. SHPTOT(3,2,I) = O5
  117. SHPTOT(3,4,I) = -O5
  118. SHPTOT(4,1,I) = -O5
  119. SHPTOT(4,2,I) = -O5
  120. SHPTOT(4,3,I) = -O5
  121. SHPTOT(4,4,I) = -O5
  122. SHPTOT(4,5,I) = O1
  123. ELSE
  124.  
  125. DZEM4 = DZEM*O4
  126. AUX0 = +XI+YI+ZI-O1
  127. AUX1 = -XI+YI+ZI-O1
  128. AUX2 = -XI-YI+ZI-O1
  129. AUX3 = +XI-YI+ZI-O1
  130. SHPTOT(1,1,I) = AUX1*AUX2/DZEM4
  131. SHPTOT(1,2,I) = AUX2*AUX3/DZEM4
  132. SHPTOT(1,3,I) = AUX0*AUX3/DZEM4
  133. SHPTOT(1,4,I) = AUX0*AUX1/DZEM4
  134. SHPTOT(1,5,I) = ZI
  135. SHPTOT(2,1,I) = (-AUX1-AUX2)/DZEM4
  136. SHPTOT(2,2,I) = ( AUX2-AUX3)/DZEM4
  137. SHPTOT(2,3,I) = ( AUX0+AUX3)/DZEM4
  138. SHPTOT(2,4,I) = ( AUX1-AUX0)/DZEM4
  139. SHPTOT(2,5,I) = O0
  140. SHPTOT(3,1,I) = ( AUX2-AUX1)/DZEM4
  141. SHPTOT(3,2,I) = (-AUX2-AUX3)/DZEM4
  142. SHPTOT(3,3,I) = ( AUX3-AUX0)/DZEM4
  143. SHPTOT(3,4,I) = ( AUX0+AUX1)/DZEM4
  144. SHPTOT(3,5,I) = O0
  145. SHPTOT(4,1,I) = (AUX1+AUX2+AUX1*AUX2/DZEM)/DZEM4
  146. SHPTOT(4,2,I) = (AUX2+AUX3+AUX2*AUX3/DZEM)/DZEM4
  147. SHPTOT(4,3,I) = (AUX3+AUX0+AUX3*AUX0/DZEM)/DZEM4
  148. SHPTOT(4,4,I) = (AUX0+AUX1+AUX0*AUX1/DZEM)/DZEM4
  149. SHPTOT(4,5,I) = O1
  150. ENDIF
  151.  
  152. ENDDO
  153.  
  154. IPINTE = MINTE
  155.  
  156. c RETURN
  157. END
  158.  
  159.  
  160.  

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