Télécharger bdbs1.eso

Retour à la liste

Numérotation des lignes :

  1. C BDBS1 SOURCE CHAT 05/01/12 21:37:51 5004
  2.  
  3. C=======================================================================
  4. C= B D B S 1 =
  5. C= --------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Calcul de la contribution du point de Gauss iGau a la matrice de =
  10. C= RIGIDITE elastique REL d'un element fini. Traitement de cas par- =
  11. C= ticuliers suivant l'element fini et le type de materiau utilise. =
  12. C= Contribution : Jacobien.transpose(BGENE)*DHOOK*BGENE =
  13. C= =
  14. C= Parametres : (E)=Entree (S)=Sortie =
  15. C= ------------ =
  16. C= BGENE (E) Matrice B (B-Barre dans le cas incompressible) =
  17. C= DJac (E) "Volume" associe au point de Gauss =
  18. C= DHOOK (E) Matrice de Hooke au point de Gauss =
  19. C= LRE (E) Nombre de DDL de l'element fini =
  20. C= NSTRS (E) Nombre de composantes de contraintes/deformations =
  21. C= REL (E/S) Matrice de rigidite de l'element fini =
  22. C= MFR (E) Formulation associee a l'element fini =
  23. C= IFOU (E) Mode de calcul utilise (cf. IFOUR dans CCOPTIO) =
  24. C= MATE (E) Type du materiau utilise =
  25. C= iGau (E) Numero du point de Gauss considere =
  26. C= Excen (E) Excentrement (coque avec couplage membrane-flexion)=
  27. C= IMAT (E) =1 si =
  28. C= =
  29. C= Remarque : Actuellement, NSTRS doit etre inferieur ou egal a 10 ! =
  30. C=======================================================================
  31.  
  32. SUBROUTINE BDBS1 (BGENE,DJac,DHOOK,LRE,NSTRS,REL,MFR,IFOU,MATE,
  33. . iGau,IMAT,Excen)
  34.  
  35. IMPLICIT INTEGER(I-N)
  36. IMPLICIT REAL*8 (A-H,O-Z)
  37.  
  38. -INC CCREEL
  39.  
  40. DIMENSION DHOOK(NSTRS,*),REL(LRE,*),BGENE(NSTRS,*)
  41. DIMENSION WORK1(10),WORK2(10),TRD1(3,3),TRD2(3,3),TRG(3,3)
  42.  
  43. C 1 - Determination de la methode de multiplication matricielle la
  44. C plus adaptee a l'element fini et au type de materiau utilise
  45. C ==================================================================
  46. IMULT=0
  47. IF (IMAT.EQ.1) THEN
  48. IF (MFR.EQ.1.AND.MATE.EQ.1) THEN
  49. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  50. IMULT=1
  51. ELSE IF (IFOU.EQ. 2) THEN
  52. IMULT=2
  53. ENDIF
  54. ELSE IF (MFR.EQ.3) THEN
  55. IF (MATE.EQ.1.AND.Excen.EQ.XZero) IMULT=3
  56. C* ELSE IF (MFR.EQ.31.AND.MATE.EQ.1) THEN
  57. C* IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  58. C* IMULT=1
  59. C* ELSE IF (IFOU.EQ. 2) THEN
  60. C* IMULT=2
  61. C* ENDIF
  62. ENDIF
  63. ENDIF
  64.  
  65. C 2 - Calcul de la contribution DJac*transpose(BGENE)*DHOOK*BGENE
  66. C =================================================================
  67. C 2.1 - Multiplication matricielle normale
  68. C =====
  69. IF (IMULT.EQ.0) THEN
  70. DO IX=1,LRE
  71. DO j=1,NSTRS
  72. WORK1(j)=DJac*BGENE(j,IX)
  73. ENDDO
  74. DO i=1,NSTRS
  75. CC=XZero
  76. DO j=1,NSTRS
  77. CC=CC+WORK1(j)*DHOOK(i,j)
  78. ENDDO
  79. WORK2(i)=CC
  80. ENDDO
  81. DO IY=1,IX
  82. CC=XZero
  83. DO i=1,NSTRS
  84. CC=CC+BGENE(i,IY)*WORK2(i)
  85. ENDDO
  86. REL(IX,IY)=REL(IX,IY)+CC
  87. REL(IY,IX)=REL(IX,IY)
  88. ENDDO
  89. ENDDO
  90. C =====
  91. C 2.2 - Cas des elements massifs 2D incompressibles et isotropes
  92. C =====
  93. ELSE IF (IMULT.EQ.1) THEN
  94. LRE2=LRE-1
  95. D1=DHOOK(1,1)*DJac
  96. D2=DHOOK(1,2)*DJac
  97. G=DHOOK(4,4)*DJac
  98. DO j=1,LRE2,2
  99. j1=j+1
  100. DO i=1,LRE2,2
  101. i1=i+1
  102. Tr11=BGENE(1,i )*BGENE(1,j )
  103. Tr21=BGENE(2,i1)*BGENE(1,j )
  104. Tr12=BGENE(1,i )*BGENE(2,j1)
  105. Tr22=BGENE(2,i1)*BGENE(2,j1)
  106. REL(i ,j )=REL(i ,j )+D1*Tr11+G*Tr22
  107. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  108. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  109. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*Tr11
  110. ENDDO
  111. ENDDO
  112. C =====
  113. C 2.3 - Cas des elements massifs 3D incompressibles et isotropes
  114. C =====
  115. ELSE IF (IMULT.EQ.2) THEN
  116. LRE3=LRE-2
  117. D1=DHOOK(1,1)*DJac
  118. D2=DHOOK(1,2)*DJac
  119. G=DHOOK(4,4)*DJac
  120. DO j=1,LRE3,3
  121. j1=j+1
  122. j2=j+2
  123. DO i=1,LRE3,3
  124. i1=i+1
  125. i2=i+2
  126. TR11=BGENE(1,i )*BGENE(1,j )
  127. TR12=BGENE(1,i )*BGENE(2,j1)
  128. TR13=BGENE(1,i )*BGENE(3,j2)
  129. TR21=BGENE(2,i1)*BGENE(1,j )
  130. TR22=BGENE(2,i1)*BGENE(2,j1)
  131. TR23=BGENE(2,i1)*BGENE(3,j2)
  132. TR31=BGENE(3,i2)*BGENE(1,j )
  133. TR32=BGENE(3,i2)*BGENE(2,j1)
  134. Tr33=BGENE(3,i2)*BGENE(3,j2)
  135. REL(i ,j )=REL(i ,j )+D1*Tr11+G*(Tr22+Tr33)
  136. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  137. REL(i2,j )=REL(i2,j )+D2*Tr31+G*Tr13
  138. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  139. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*(Tr11+Tr33)
  140. REL(i2,j1)=REL(i2,j1)+D2*Tr32+G*Tr23
  141. REL(i ,j2)=REL(i ,j2)+D2*Tr13+G*Tr31
  142. REL(i1,j2)=REL(i1,j2)+D2*Tr23+G*Tr32
  143. REL(i2,j2)=REL(i2,j2)+D1*Tr33+G*(Tr11+Tr22)
  144. ENDDO
  145. ENDDO
  146. C =====
  147. C 2.4 - Cas des coques minces 3D isotropes
  148. C =====
  149. ELSE IF (IMULT.EQ.3) THEN
  150. LRE6=LRE-5
  151. D1=DHOOK(1,1)*DJac
  152. D2=DHOOK(1,2)*DJac
  153. G=DHOOK(3,3)*DJac
  154. DH1=DHOOK(4,4)*DJac
  155. DH2=DHOOK(5,4)*DJac
  156. GH=DHOOK(6,6)*DJac
  157. DO j=1,LRE6,6
  158. j1=j+1
  159. DO i=1,LRE6,6
  160. i1=i+1
  161. Tr11=BGENE(1,i )*BGENE(1,j )
  162. Tr21=BGENE(2,i1)*BGENE(1,j )
  163. Tr12=BGENE(1,i )*BGENE(2,j1)
  164. Tr22=BGENE(2,i1)*BGENE(2,j1)
  165. REL(i ,j )=REL(i ,j )+D1*Tr11+G*Tr22
  166. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  167. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  168. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*Tr11
  169. DO l=1,3
  170. jl=j1+l
  171. DO k=1,3
  172. ik=i1+k
  173. TrD1(k,l)=( BGENE(4,ik)*BGENE(4,jl)
  174. . +BGENE(5,ik)*BGENE(5,jl))*DH1
  175. TrD2(k,l)=( BGENE(4,ik)*BGENE(5,jl)
  176. . +BGENE(5,ik)*BGENE(4,jl))*DH2
  177. TrG(k,l)=BGENE(6,ik)*BGENE(6,jl)*GH
  178. ENDDO
  179. ENDDO
  180. DO l=1,3
  181. jl=j1+l
  182. DO k=1,3
  183. ik=i1+k
  184. REL(ik,jl)=REL(ik,jl)+TrD1(k,l)+TrD2(k,l)+TrG(k,l)
  185. ENDDO
  186. ENDDO
  187. ENDDO
  188. ENDDO
  189. ENDIF
  190.  
  191. RETURN
  192. END
  193.  
  194.  
  195.  
  196.  

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