Télécharger bmatst.eso

Retour à la liste

Numérotation des lignes :

  1. C BMATST SOURCE FANDEUR 10/08/31 21:15:17 6735
  2.  
  3. C=======================================================================
  4. C= B M A T S T =
  5. C= ----------- =
  6. C= Fonction : =
  7. C= ---------- =
  8. C= Calcul de la matrice B reliant les deformations en un point d'un =
  9. C= element fini aux ddls de deplacement aux noeuds de cet element =
  10. C= Le jacobien est egalement evalue au point de Gauss pour verifier =
  11. C= ulterieurement si l'element fini n'est pas trop distordu. =
  12. C= =
  13. C= Parametres : (E)=Entree (S)=Sortie =
  14. C= ------------ =
  15. C= iGau (E) Numero du point de Gauss considere =
  16. C= NBPGAU (E) Nombre de points de Gauss de l'element fini =
  17. C= POIGAU,QSIGAU (E) | Poids et coordonnees de reference des =
  18. C= ETAGAU,DZEGAU (E) | differents points de Gauss de l'element =
  19. C= ITEL (E) Type de l'element fini (cf. NOMTP dans bdata.eso) =
  20. C= MFR (E) Formulation associee a l'element fini =
  21. C= NBNO (E) Nombre de noeuds de l'element fini =
  22. C= LRE (E) Nombre de DDL de l'element fini =
  23. C= IFOU (E) Mode de calcul utilise (cf. IFOUR dans CCOPTIO) =
  24. C= NST (E) Nombre de composantes de deformations =
  25. C= NN (E) Numero du mode de Fourier (si IFOU=1) =
  26. C= DIM3 (E) Epaisseur dans l'hypothese des contraintes planes =
  27. C= XEL (E) Coordonnees des noeuds de l'element fini etudie =
  28. C= SHPTOT (E) Fonctions de forme et leurs derivees =
  29. C= SHP (S) Fonctions de forme et leurs derivees actuelles =
  30. C= BGENE (S) Matrice de gradients (B) calcule au point de Gauss =
  31. C= DJac (S) Jacobien au point de Gauss etudie =
  32. C= XDPGE,YDPGE (E) Coordonnees du noeud support (mode PLAN GENE) =
  33. C= =
  34. C= Remarque : =
  35. C= ---------- =
  36. C= Lors de l'entree dans le sous-programme, SHPTOT(2 a 4,*) contient =
  37. C= les DERIVEES des fonctions de forme par rapport aux coordonnees =
  38. C= de REFERENCE Qsi,Eta,Dzeta. =
  39. C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES =
  40. C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. =
  41. C= Pour les elements finis massifs incompressibles, la matrice B est =
  42. C= modifiee ulterieurement par appel au sous-programme BBAR. =
  43. C=======================================================================
  44.  
  45. SUBROUTINE BMATST (iGau,NBPGAU,POIGAU,QSIGAU,ETAGAU,DZEGAU,
  46. & ITEL,MFR,NBNO,LRE,IFOU,NST,NN,DIM3,XEL,
  47. & SHPTOT,SHP,BGENE,DJAC,XDPGE,YDPGE)
  48.  
  49. IMPLICIT INTEGER(I-N)
  50. IMPLICIT REAL*8 (A-H,O-Z)
  51.  
  52. -INC CCREEL
  53.  
  54. DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*),
  55. & POIGAU(*),QSIGAU(*),ETAGAU(*),DZEGAU(*)
  56.  
  57. RR=XZero
  58. CALL ZERO(BGENE,NST,LRE)
  59.  
  60. IFOR=IFOU+4
  61. GOTO ( 5,10,10,20,30,40,50,50,50,50,50,50,50,50,50,
  62. & 60,60,60,70),IFOR
  63. GOTO 100
  64.  
  65. C ===
  66. C 1 - Elements MASSIFS 2D PLAN GENE
  67. C ===
  68. 5 XXX=XZero
  69. YYY=XZero
  70. DO i=1,NBNO
  71. SHP(1,i)=SHPTOT(1,i,iGau)
  72. SHP(2,i)=SHPTOT(2,i,iGau)
  73. SHP(3,i)=SHPTOT(3,i,iGau)
  74. XXX=XXX+SHP(1,i)*XEL(1,i)
  75. YYY=YYY+SHP(1,i)*XEL(2,i)
  76. ENDDO
  77. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC)
  78. K=1
  79. DO i=1,NBNO
  80. BGENE(1,K)=SHP(2,i)
  81. BGENE(2,K+1)=SHP(3,i)
  82. BGENE(4,K)=SHP(3,i)
  83. BGENE(4,K+1)=SHP(2,i)
  84. K=K+2
  85. ENDDO
  86. BGENE(3,K)=1.D0
  87. BGENE(3,K+1)=XDPGE-XXX
  88. BGENE(3,K+2)=YYY-YDPGE
  89. GOTO 100
  90. C ===
  91. C 2 - Elements MASSIFS 2D PLAN DEFO ou PLAN CONT
  92. C ===
  93. 10 DO i=1,NBNO
  94. SHP(1,i)=SHPTOT(1,i,iGau)
  95. SHP(2,i)=SHPTOT(2,i,iGau)
  96. SHP(3,i)=SHPTOT(3,i,iGau)
  97. ENDDO
  98. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC)
  99. K=1
  100. DO i=1,NBNO
  101. BGENE(1,K)=SHP(2,i)
  102. BGENE(2,K+1)=SHP(3,i)
  103. BGENE(4,K)=SHP(3,i)
  104. BGENE(4,K+1)=SHP(2,i)
  105. K=K+2
  106. ENDDO
  107. GOTO 100
  108. C ===
  109. C 3 - Elements MASSIFS 2D AXISymetrique
  110. C ===
  111. 20 DO i=1,NBNO
  112. SHP(1,i)=SHPTOT(1,i,iGau)
  113. SHP(2,i)=SHPTOT(2,i,iGau)
  114. SHP(3,i)=SHPTOT(3,i,iGau)
  115. ENDDO
  116. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC)
  117. K=1
  118. DO i=1,NBNO
  119. BGENE(1,K)=SHP(2,i)
  120. BGENE(2,K+1)=SHP(3,i)
  121. BGENE(3,K)=SHP(1,i)/RR
  122. BGENE(4,K)=SHP(3,i)
  123. BGENE(4,K+1)=SHP(2,i)
  124. K=K+2
  125. ENDDO
  126. GOTO 100
  127. C ===
  128. C 4 - Elements MASSIFS 2D FOURIER
  129. C ===
  130. 30 DO i=1,NBNO
  131. SHP(1,i)=SHPTOT(1,i,iGau)
  132. SHP(2,i)=SHPTOT(2,i,iGau)
  133. SHP(3,i)=SHPTOT(3,i,iGau)
  134. ENDDO
  135. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC)
  136. XNSUR=DBLE(NN)/RR
  137. K=1
  138. DO i=1,NBNO
  139. BGENE(1,K)=SHP(2,i)
  140. BGENE(2,K+1)=SHP(3,i)
  141. BGENE(3,K)=SHP(1,i)/RR
  142. BGENE(3,K+2)=SHP(1,i)*XNSUR
  143. BGENE(4,K)=SHP(3,i)
  144. BGENE(4,K+1)=SHP(2,i)
  145. BGENE(5,K)=-SHP(1,i)*XNSUR
  146. BGENE(5,K+2)=SHP(2,i)-SHP(1,i)/RR
  147. BGENE(6,K+1)=-SHP(1,i)*XNSUR
  148. BGENE(6,K+2)=SHP(3,i)
  149. K=K+3
  150. ENDDO
  151. GOTO 100
  152. C ===
  153. C 6 - Elements MASSIFS 3D
  154. C ===
  155. 40 DO i=1,NBNO
  156. SHP(1,i)=SHPTOT(1,i,iGau)
  157. SHP(2,i)=SHPTOT(2,i,iGau)
  158. SHP(3,i)=SHPTOT(3,i,iGau)
  159. SHP(4,i)=SHPTOT(4,i,iGau)
  160. ENDDO
  161. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,3,DIM3,RR,DJAC)
  162. K=1
  163. DO i=1,NBNO
  164. BGENE(1,K)=SHP(2,i)
  165. BGENE(2,K+1)=SHP(3,i)
  166. BGENE(3,K+2)=SHP(4,i)
  167. BGENE(4,K)=SHP(3,i)
  168. BGENE(4,K+1)=SHP(2,i)
  169. BGENE(5,K)=SHP(4,i)
  170. BGENE(5,K+2)=SHP(2,i)
  171. BGENE(6,K+1)=SHP(4,i)
  172. BGENE(6,K+2)=SHP(3,i)
  173. K=K+3
  174. ENDDO
  175. GOTO 100
  176. C ===
  177. C 7 - Elements MASSIFS 1D
  178. C ===
  179. C= 7.1 - Modes 1D PLAN
  180. 50 DO i=1,NBNO
  181. SHP(1,i)=SHPTOT(1,i,iGau)
  182. SHP(2,i)=SHPTOT(2,i,iGau)
  183. ENDDO
  184. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC)
  185. DO i=1,NBNO
  186. BGENE(1,i)=SHP(2,i)
  187. ENDDO
  188. IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN
  189. BGENE(2,i)=1.
  190. ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN
  191. BGENE(3,i)=1.
  192. ELSE IF (IFOU.EQ.11) THEN
  193. BGENE(2,i)=1.
  194. BGENE(3,i+1)=1.
  195. ENDIF
  196. GOTO 100
  197. C= 7.2 - Modes 1D AXIS
  198. 60 DO i=1,NBNO
  199. SHP(1,i)=SHPTOT(1,i,iGau)
  200. SHP(2,i)=SHPTOT(2,i,iGau)
  201. ENDDO
  202. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC)
  203. DO i=1,NBNO
  204. BGENE(1,i)=SHP(2,i)
  205. BGENE(3,i)=SHP(1,i)/RR
  206. ENDDO
  207. IF (IFOU.EQ.14) BGENE(2,i)=1.
  208. GOTO 100
  209. C= 7.3 - Mode 1D SPHE
  210. 70 DO i=1,NBNO
  211. SHP(1,i)=SHPTOT(1,i,iGau)
  212. SHP(2,i)=SHPTOT(2,i,iGau)
  213. ENDDO
  214. CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC)
  215. DO i=1,NBNO
  216. BGENE(1,i)=SHP(2,i)
  217. ZZ=SHP(1,i)/RR
  218. BGENE(2,i)=ZZ
  219. BGENE(3,i)=ZZ
  220. ENDDO
  221. GOTO 100
  222. 100 CONTINUE
  223.  
  224. RETURN
  225. END
  226.  
  227.  
  228.  

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