Télécharger coq4rj.eso

Retour à la liste

Numérotation des lignes :

coq4rj
  1. C COQ4RJ SOURCE CB215821 26/08/24 21:15:42 12622
  2. SUBROUTINE COQ4RJ (IGAU,BGENE,DJAC,EXCENT,NOPLAN,DHOOK,REL)
  3. ************************************************************************
  4. *
  5. * C O Q 4 R J
  6. * -----------
  7. *
  8. * FONCTION:
  9. * ---------
  10. *
  11. * Calcul du produit Bt.D.B en 1 point de Gauss, pour le COQ4 non-isotrope.
  12. *
  13. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  14. * -----------
  15. *
  16. * IGAU (E) Numéro du point de Gauss.
  17. * BGENE (E) Matrice "B".
  18. * DJAC (E) Jacobien.
  19. * EXCENT (E) Excentrement.
  20. * NOPLAN (E) = 1 si élément non plan,
  21. * = 0 sinon.
  22. * DHOOK (E) Matrice de Hooke intégrée dans l'épaisseur.
  23. * Séparation par blocs:
  24. * membrane, puis flexion, puis cisaillement transverse.
  25. * (S) Contenu modifie.
  26. * REL (E) Matrice de Raideur.
  27. * (S) Completée par la contribution du point de Gauss
  28. * courant.
  29. *
  30. IMPLICIT INTEGER(I-N)
  31. PARAMETER (NSTRS=8, LRE=24)
  32. REAL*8 DJAC,EXCENT
  33. REAL*8 DHOOK(NSTRS,NSTRS),REL(LRE,LRE),BGENE(NSTRS,LRE)
  34. *
  35. * VARIABLES:
  36. * ----------
  37. *
  38. REAL*8 DB(NSTRS,LRE)
  39. *
  40. * MODE DE FONCTIONNEMENT:
  41. * -----------------------
  42. *
  43. * Utilisation de la valeur de "Bm" au point central pour toute ou
  44. * partie de la raideur de membrane:
  45. * - tout si élément non plan,
  46. * - rien sinon.
  47. *
  48. * Utilisation de la valeur de "Bf" au point central pour la raideur
  49. * de couplage membrane/flexion due à l'excentrement dans les mêmes
  50. * conditions que pour la membrane.
  51. *
  52. * AUTEUR, DATE DE CREATION:
  53. * -------------------------
  54. *
  55. * Michel BULIK 26 Novembre 1996 d'après COQ4RI écrit par
  56. * Pascal MANIGOT 27 Mars 1991
  57. *
  58. ************************************************************************
  59. *
  60. *
  61. * On multiplie les termes de la matrice de Hooke par le Jacobien,
  62. * elle est déja intégrée dans l'épaisseur ...
  63. *
  64. DO 241 J=1,NSTRS
  65. DO 100 I=1,NSTRS
  66. DHOOK(I,J) = DJAC * DHOOK(I,J)
  67. 100 CONTINUE
  68. 241 CONTINUE
  69. * END DO
  70. * END DO
  71. *
  72. * Mise à 0 de DB, en cas de coque non excentrée INCMAX=2 permet
  73. * d'éviter pas mal de multiplications par 0 ...
  74. *
  75. CALL ZERO (DB,NSTRS,LRE)
  76. IF (ABS(EXCENT) .GT. 1.D-30) THEN
  77. INCMAX = 5
  78. ELSE
  79. INCMAX = 2
  80. END IF
  81. *
  82. * Calcul de DB ...
  83. *
  84. DO 110 NOEUD=1,4
  85. N6 = 6 * (NOEUD - 1)
  86. *
  87. * eD.Bm | eD.h.Bf
  88. DO 243 J=1,INCMAX
  89. DO 242 I=1,3
  90. DO 120 K=1,3
  91. DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6)
  92. 120 CONTINUE
  93. 242 CONTINUE
  94. 243 CONTINUE
  95. * END DO
  96. * END DO
  97. * END DO
  98. *
  99. * Pour le calcul de la raideur et lorsque IGAU=5, seules les
  100. * lignes de 1 à 3 de la matrice B peuvent contenir des termes
  101. * non nuls, d'où cette condition :
  102. *
  103. IF (IGAU .LE. 4) THEN
  104. DO 160 J=3,5
  105. * e3/12.D.Bf
  106. DO 244 I=4,6
  107. DO 140 K=4,6
  108. DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6)
  109. 140 CONTINUE
  110. 244 CONTINUE
  111. * END DO
  112. * END DO
  113. * 5/6.eG.Bc
  114. *
  115. * ATTENTION !!! en orthotrope, cela n'est pas correct !!!!!!!!!!!!!!!!!!
  116. * car les termes (7,8) et (8,7) de D sont en général non nuls ...
  117. *
  118. * DB(7,J+N6) = DB(7,J+N6) + DHOOK(7,7)*BGENE(7,J+N6)
  119. * DB(8,J+N6) = DB(8,J+N6) + DHOOK(8,8)*BGENE(8,J+N6)
  120. *
  121. DO 245 I=7,8
  122. DO 150 K=7,8
  123. DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6)
  124. 150 CONTINUE
  125. 245 CONTINUE
  126. * END DO
  127. * END DO
  128.  
  129. 160 CONTINUE
  130. * END DO
  131. END IF
  132. *
  133. 110 CONTINUE
  134. * END DO
  135. *
  136. * Intégration elle-même ...
  137. *
  138. IF (IGAU .LE. 4) THEN
  139. * Intégration exacte.
  140. *
  141. * Rigidité de Flexion et Cisaillement transverse.
  142. DO 249 M=3,5
  143. DO 248 L=3,5
  144. DO 247 NOEUD = 1,4
  145. L6 = 6 * (NOEUD - 1)
  146. DO 246 NOEUD2 = 1,4
  147. M6 = 6 * (NOEUD2 - 1)
  148. DO 200 I=4,8
  149. REL(L+L6,M+M6)
  150. & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6)
  151. 200 CONTINUE
  152. 246 CONTINUE
  153. 247 CONTINUE
  154. 248 CONTINUE
  155. 249 CONTINUE
  156. * END DO
  157. * END DO
  158. * END DO
  159. * END DO
  160. * END DO
  161. *
  162. IF (NOPLAN .EQ. 0) THEN
  163. * Intégration exacte raideur de membrane et de couplage
  164. * membrane/flexion, avec cisaillement:
  165. DO 252 M=1,INCMAX
  166. DO 251 L=1,INCMAX
  167. DO 250 NOEUD = 1,4
  168. L6 = 6 * (NOEUD - 1)
  169. DO 220 NOEUD2 = 1,4
  170. M6 = 6 * (NOEUD2 - 1)
  171. REL(L+L6,M+M6) = REL(L+L6,M+M6)
  172. & + BGENE(1,L+L6)*DB(1,M+M6)
  173. & + BGENE(2,L+L6)*DB(2,M+M6)
  174. & + BGENE(3,L+L6)*DB(3,M+M6)
  175. 220 CONTINUE
  176. 250 CONTINUE
  177. 251 CONTINUE
  178. 252 CONTINUE
  179. * END DO
  180. * END DO
  181. * END DO
  182. * END DO
  183. END IF
  184. *
  185. ELSE IF (IGAU .EQ. 5) THEN
  186. *
  187. * Intégration réduite raideur de membrane et de couplage
  188. * membrane/flexion:
  189. IF (NOPLAN .EQ. 1) THEN
  190.  
  191. DO 256 M=1,INCMAX
  192. DO 255 L=1,INCMAX
  193. DO 254 NOEUD = 1,4
  194. L6 = 6 * (NOEUD - 1)
  195. DO 253 NOEUD2 = 1,4
  196. M6 = 6 * (NOEUD2 - 1)
  197. DO 240 I= 1,3
  198. REL(L+L6,M+M6)
  199. & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6)
  200. 240 CONTINUE
  201. 253 CONTINUE
  202. 254 CONTINUE
  203. 255 CONTINUE
  204. 256 CONTINUE
  205. * END DO
  206. * END DO
  207. * END DO
  208. * END DO
  209. * END DO
  210. *
  211. END IF
  212.  
  213. END IF
  214. *
  215. END
  216.  
  217.  
  218.  
  219.  

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