Télécharger bdbs1.eso

Retour à la liste

Numérotation des lignes :

bdbs1
  1. C BDBS1 SOURCE PV090527 26/07/16 21:15:05 12599
  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. CC=DDOTPV(NSTRS,WORK1(1),DHOOK(1,i))
  80. WORK2(i)=CC
  81. ENDDO
  82. DO IY=1,IX
  83. ** CC=XZero
  84. ** DO i=1,NSTRS
  85. ** CC=CC+BGENE(i,IY)*WORK2(i)
  86. ** ENDDO
  87. CC=DDOTPV(NSTRS,BGENE(1,IY),WORK2(1))
  88. REL(IX,IY)=REL(IX,IY)+CC
  89. REL(IY,IX)=REL(IX,IY)
  90. ENDDO
  91. ENDDO
  92. C =====
  93. C 2.2 - Cas des elements massifs 2D incompressibles et isotropes
  94. C =====
  95. ELSE IF (IMULT.EQ.1) THEN
  96. LRE2=LRE-1
  97. D1=DHOOK(1,1)*DJac
  98. D2=DHOOK(1,2)*DJac
  99. G=DHOOK(4,4)*DJac
  100. DO j=1,LRE2,2
  101. j1=j+1
  102. DO i=1,LRE2,2
  103. i1=i+1
  104. Tr11=BGENE(1,i )*BGENE(1,j )
  105. Tr21=BGENE(2,i1)*BGENE(1,j )
  106. Tr12=BGENE(1,i )*BGENE(2,j1)
  107. Tr22=BGENE(2,i1)*BGENE(2,j1)
  108. REL(i ,j )=REL(i ,j )+D1*Tr11+G*Tr22
  109. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  110. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  111. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*Tr11
  112. ENDDO
  113. ENDDO
  114. C =====
  115. C 2.3 - Cas des elements massifs 3D incompressibles et isotropes
  116. C =====
  117. ELSE IF (IMULT.EQ.2) THEN
  118. LRE3=LRE-2
  119. D1=DHOOK(1,1)*DJac
  120. D2=DHOOK(1,2)*DJac
  121. G=DHOOK(4,4)*DJac
  122. DO j=1,LRE3,3
  123. j1=j+1
  124. j2=j+2
  125. DO i=1,LRE3,3
  126. i1=i+1
  127. i2=i+2
  128. TR11=BGENE(1,i )*BGENE(1,j )
  129. TR12=BGENE(1,i )*BGENE(2,j1)
  130. TR13=BGENE(1,i )*BGENE(3,j2)
  131. TR21=BGENE(2,i1)*BGENE(1,j )
  132. TR22=BGENE(2,i1)*BGENE(2,j1)
  133. TR23=BGENE(2,i1)*BGENE(3,j2)
  134. TR31=BGENE(3,i2)*BGENE(1,j )
  135. TR32=BGENE(3,i2)*BGENE(2,j1)
  136. Tr33=BGENE(3,i2)*BGENE(3,j2)
  137. REL(i ,j )=REL(i ,j )+D1*Tr11+G*(Tr22+Tr33)
  138. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  139. REL(i2,j )=REL(i2,j )+D2*Tr31+G*Tr13
  140. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  141. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*(Tr11+Tr33)
  142. REL(i2,j1)=REL(i2,j1)+D2*Tr32+G*Tr23
  143. REL(i ,j2)=REL(i ,j2)+D2*Tr13+G*Tr31
  144. REL(i1,j2)=REL(i1,j2)+D2*Tr23+G*Tr32
  145. REL(i2,j2)=REL(i2,j2)+D1*Tr33+G*(Tr11+Tr22)
  146. ENDDO
  147. ENDDO
  148. C =====
  149. C 2.4 - Cas des coques minces 3D isotropes
  150. C =====
  151. ELSE IF (IMULT.EQ.3) THEN
  152. LRE6=LRE-5
  153. D1=DHOOK(1,1)*DJac
  154. D2=DHOOK(1,2)*DJac
  155. G=DHOOK(3,3)*DJac
  156. DH1=DHOOK(4,4)*DJac
  157. DH2=DHOOK(5,4)*DJac
  158. GH=DHOOK(6,6)*DJac
  159. DO j=1,LRE6,6
  160. j1=j+1
  161. DO i=1,LRE6,6
  162. i1=i+1
  163. Tr11=BGENE(1,i )*BGENE(1,j )
  164. Tr21=BGENE(2,i1)*BGENE(1,j )
  165. Tr12=BGENE(1,i )*BGENE(2,j1)
  166. Tr22=BGENE(2,i1)*BGENE(2,j1)
  167. REL(i ,j )=REL(i ,j )+D1*Tr11+G*Tr22
  168. REL(i1,j )=REL(i1,j )+D2*Tr21+G*Tr12
  169. REL(i ,j1)=REL(i ,j1)+D2*Tr12+G*Tr21
  170. REL(i1,j1)=REL(i1,j1)+D1*Tr22+G*Tr11
  171. DO l=1,3
  172. jl=j1+l
  173. DO k=1,3
  174. ik=i1+k
  175. TrD1(k,l)=( BGENE(4,ik)*BGENE(4,jl)
  176. . +BGENE(5,ik)*BGENE(5,jl))*DH1
  177. TrD2(k,l)=( BGENE(4,ik)*BGENE(5,jl)
  178. . +BGENE(5,ik)*BGENE(4,jl))*DH2
  179. TrG(k,l)=BGENE(6,ik)*BGENE(6,jl)*GH
  180. ENDDO
  181. ENDDO
  182. DO l=1,3
  183. jl=j1+l
  184. DO k=1,3
  185. ik=i1+k
  186. REL(ik,jl)=REL(ik,jl)+TrD1(k,l)+TrD2(k,l)+TrG(k,l)
  187. ENDDO
  188. ENDDO
  189. ENDDO
  190. ENDDO
  191. ENDIF
  192.  
  193. RETURN
  194. END
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  

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