Télécharger shmacr.eso

Retour à la liste

Numérotation des lignes :

shmacr
  1. C SHMACR SOURCE MAGN 05/02/18 21:16:22 5031
  2. SUBROUTINE SHMACR(QSI,ETA,DZE,MELE,SHP,IRET)
  3. C=======================================================================
  4. C
  5. C FONCTIONS DE FORME ET LEUR DERIVEES CENTREP1
  6. C
  7. C=======================================================================
  8. IMPLICIT REAL*8(A-H,O-Z)
  9. PARAMETER(UNDEMI=.5D0,DEUX=2.D0)
  10. PARAMETER(TROIS=3.D0,QUATRE=4.D0)
  11. DIMENSION SHP(6,*)
  12. C=======================================================================
  13. C QSI ETA DZE COORDONNEES REDUITES DU POINT DE GAUSS
  14. C
  15. C SHP FONCTIONS DE FORME SHP(1,INO) FONCTIONS DE FORME DU ND INO
  16. C SHP(2,INO) DERIVEES PR RPPRT A QSI
  17. C SHP(3,INO) DERIVEES PR RPPRT A ETA
  18. C SHP(4,INO) DERIVEES PR RPPRT A DZE
  19. C SHP(5,INO) DERIVEES PR RPPRT A 4
  20. C COORDONNEES BARYCENTRIQUES
  21. C CAS DE DIMENSION 2
  22. C 3 NOEUDS TRIANGLE
  23. C=======================================================================
  24. IRET=1
  25.  
  26. C CAS MACRO pour un element geometrique de type TRI6
  27. IF(MELE.EQ.224.OR.MELE.EQ.231) THEN
  28.  
  29. SHP(1,1)=0.D0
  30. SHP(1,2)=0.D0
  31. SHP(1,3)=0.D0
  32. SHP(1,4)=0.D0
  33. SHP(1,5)=0.D0
  34. SHP(1,6)=0.D0
  35. SHP(2,1)=0.D0
  36. SHP(2,2)=0.D0
  37. SHP(2,3)=0.D0
  38. SHP(2,4)=0.D0
  39. SHP(2,5)=0.D0
  40. SHP(2,6)=0.D0
  41. SHP(3,1)=0.D0
  42. SHP(3,2)=0.D0
  43. SHP(3,3)=0.D0
  44. SHP(3,4)=0.D0
  45. SHP(3,5)=0.D0
  46. SHP(3,6)=0.D0
  47. IF (QSI.GE.0.D0.AND.QSI.LE.0.5D0) THEN
  48. IF (ETA.LE.(0.5D0-QSI)) THEN
  49. * Omega1
  50. SHP(1,1)=2.D0*(0.5D0-QSI-ETA)
  51. SHP(1,2)=2.D0*QSI
  52. SHP(1,6)=2.D0*ETA
  53. SHP(2,1)=-2.D0
  54. SHP(2,2)=2.D0
  55. SHP(2,6)=0.D0
  56. SHP(3,1)=-2.D0
  57. SHP(3,2)=0.D0
  58. SHP(3,6)=2.D0
  59. ELSEIF (ETA.GE.0.5D0.AND.ETA.LE.(1.D0-QSI)) THEN
  60. * Omega3
  61. SHP(1,4)=2.D0*QSI
  62. SHP(1,5)=2.D0*(ETA-0.5D0)
  63. SHP(1,6)=2.D0*(1.0D0-QSI-ETA)
  64. SHP(2,4)=2.D0
  65. SHP(2,5)=0.D0
  66. SHP(2,6)=-2.D0
  67. SHP(3,4)=0.D0
  68. SHP(3,5)=2.D0
  69. SHP(3,6)=-2.D0
  70. ELSEIF (ETA.LE.0.5D0.AND.ETA.GE.(0.5D0-QSI)) THEN
  71. * Omega4
  72. SHP(1,2)=1.D0-2.D0*ETA
  73. SHP(1,4)=2.D0*(QSI+ETA-0.5D0)
  74. SHP(1,6)=1.D0-2.D0*QSI
  75. SHP(2,2)=0.D0
  76. SHP(2,4)=2.D0
  77. SHP(2,6)=-2.D0
  78. SHP(3,2)=-2.D0
  79. SHP(3,4)=2.D0
  80. SHP(3,6)=0.D0
  81. ENDIF
  82. ELSEIF (QSI.GE.0.5D0.AND.QSI.LE.1.D0) THEN
  83. IF (ETA.LE.(1.D0-QSI)) THEN
  84. * Omega2
  85. SHP(1,2)=2.D0*(1.D0-QSI-ETA)
  86. SHP(1,3)=2.D0*(QSI-0.5D0)
  87. SHP(1,4)=2.D0*ETA
  88. SHP(2,2)=-2.D0
  89. SHP(2,3)=2.D0
  90. SHP(2,4)=0.D0
  91. SHP(3,2)=-2.D0
  92. SHP(3,3)=0.D0
  93. SHP(3,4)=2.D0
  94. ENDIF
  95. ENDIF
  96. C CAS MACRO pour un element geometrique de type QUA9
  97. ELSEIF(MELE.EQ.225.OR.MELE.EQ.232) THEN
  98.  
  99. SHP(1,1)=0.D0
  100. SHP(1,2)=0.D0
  101. SHP(1,3)=0.D0
  102. SHP(1,4)=0.D0
  103. SHP(1,5)=0.D0
  104. SHP(1,6)=0.D0
  105. SHP(1,7)=0.D0
  106. SHP(1,8)=0.D0
  107. SHP(1,9)=0.D0
  108. SHP(2,1)=0.D0
  109. SHP(2,2)=0.D0
  110. SHP(2,3)=0.D0
  111. SHP(2,4)=0.D0
  112. SHP(2,5)=0.D0
  113. SHP(2,6)=0.D0
  114. SHP(2,7)=0.D0
  115. SHP(2,8)=0.D0
  116. SHP(2,9)=0.D0
  117. SHP(3,1)=0.D0
  118. SHP(3,2)=0.D0
  119. SHP(3,3)=0.D0
  120. SHP(3,4)=0.D0
  121. SHP(3,5)=0.D0
  122. SHP(3,6)=0.D0
  123. SHP(3,7)=0.D0
  124. SHP(3,8)=0.D0
  125. SHP(3,9)=0.D0
  126. IF (QSI.GE.-1.D0.AND.QSI.LE.0.D0) THEN
  127. IF (ETA.GE.-1.D0.AND.ETA.LE.0.D0) THEN
  128. * Omega1
  129. SHP(1,1)=QSI*ETA
  130. SHP(1,2)=-ETA*(1.D0+QSI)
  131. SHP(1,8)=-QSI*(1.D0+ETA)
  132. SHP(1,9)=(1.D0+QSI)*(1.D0+ETA)
  133. SHP(2,1)=ETA
  134. SHP(3,1)=QSI
  135. SHP(2,2)=-ETA
  136. SHP(3,2)=-(1.D0+QSI)
  137. SHP(2,8)=-(1.D0+ETA)
  138. SHP(3,8)=-QSI
  139. SHP(2,9)=1.D0+ETA
  140. SHP(3,9)=1.D0+QSI
  141. ELSEIF (ETA.GE.0.D0.AND.ETA.LE.1.D0) THEN
  142. * Omega4
  143. SHP(1,6)=ETA*(1.D0+QSI)
  144. SHP(1,7)=-QSI*ETA
  145. SHP(1,8)=-QSI*(1.D0-ETA)
  146. SHP(1,9)=(1.D0+QSI)*(1.D0-ETA)
  147. SHP(2,6)=ETA
  148. SHP(3,6)=1.D0+QSI
  149. SHP(2,7)=-ETA
  150. SHP(3,7)=-QSI
  151. SHP(2,8)=-(1.D0-ETA)
  152. SHP(3,8)=QSI
  153. SHP(2,9)=1.D0-ETA
  154. SHP(3,9)=-(1.D0+QSI)
  155. ENDIF
  156. ELSEIF (QSI.GE.0.D0.AND.QSI.LE.1.D0) THEN
  157. IF (ETA.GE.-1.D0.AND.ETA.LE.0.D0) THEN
  158. * Omega2
  159. SHP(1,2)=-ETA*(1.D0-QSI)
  160. SHP(1,3)=-QSI*ETA
  161. SHP(1,4)=QSI*(1.D0+ETA)
  162. SHP(1,9)=(1.D0-QSI)*(1.D0+ETA)
  163. SHP(2,2)=ETA
  164. SHP(3,2)=-(1.D0-QSI)
  165. SHP(2,3)=-ETA
  166. SHP(3,3)=-QSI
  167. SHP(2,4)=1.D0+ETA
  168. SHP(3,4)=QSI
  169. SHP(2,9)=-(1.D0+ETA)
  170. SHP(3,9)=1.D0-QSI
  171. ELSEIF (ETA.GE.0.D0.AND.ETA.LE.1.D0) THEN
  172. * Omega3
  173. SHP(1,4)=QSI*(1.D0-ETA)
  174. SHP(1,5)=QSI*ETA
  175. SHP(1,6)=ETA*(1.D0-QSI)
  176. SHP(1,9)=(1.D0-QSI)*(1.D0-ETA)
  177. SHP(2,4)=1.D0-ETA
  178. SHP(3,4)=-QSI
  179. SHP(2,5)=ETA
  180. SHP(3,5)=QSI
  181. SHP(2,6)=-ETA
  182. SHP(3,6)=1.D0-QSI
  183. SHP(2,9)=-(1.D0-ETA)
  184. SHP(3,9)=-(1.D0-QSI)
  185. ENDIF
  186. ENDIF
  187.  
  188. * WRITE(6,*)'SHP:',SHP(1,1),SHP(1,2),SHP(1,3),SHP(1,4)
  189. * WRITE(6,*) SHP(1,5),SHP(1,6),SHP(1,7),SHP(1,8),SHP(1,9)
  190.  
  191. ENDIF
  192.  
  193. RETURN
  194. END
  195.  
  196.  
  197.  

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