Télécharger coq4ri.eso

Retour à la liste

Numérotation des lignes :

coq4ri
  1. C COQ4RI SOURCE CB215821 26/08/24 21:15:42 12622
  2. SUBROUTINE COQ4RI (IGAU,BGENE,DJAC,EXCENT,NOPLAN,DHOOK,REL)
  3. ************************************************************************
  4. *
  5. * C O Q 4 R I
  6. * -----------
  7. *
  8. * FONCTION:
  9. * ---------
  10. *
  11. * Calcul du produit Bt.D.B en 1 point de Gauss, pour le COQ4.
  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. * - cisaillement 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 memes
  50. * conditions que pour la membrane.
  51. *
  52. * AUTEUR, DATE DE CREATION:
  53. * -------------------------
  54. *
  55. * Pascal MANIGOT 27 Mars 1991
  56. *
  57. ************************************************************************
  58. *
  59. DO 241 J=1,NSTRS
  60. DO 100 I=1,NSTRS
  61. DHOOK(I,J) = DJAC * DHOOK(I,J)
  62. 100 CONTINUE
  63. 241 CONTINUE
  64. * END DO
  65. * END DO
  66. *
  67. CALL ZERO (DB,NSTRS,LRE)
  68. IF (ABS(EXCENT) .GT. 1.D-30) THEN
  69. INCMAX = 5
  70. ELSE
  71. INCMAX = 2
  72. END IF
  73. *
  74. DO 110 NOEUD=1,4
  75. N6 = 6 * (NOEUD - 1)
  76. *
  77. * eD.Bm | eD.h.Bf
  78. DO 243 J=1,INCMAX
  79. DO 242 I=1,3
  80. DO 120 K=1,3
  81. DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6)
  82. 120 CONTINUE
  83. 242 CONTINUE
  84. 243 CONTINUE
  85. * END DO
  86. * END DO
  87. * END DO
  88. *
  89. IF (IGAU .LE. 4) THEN
  90. DO 160 J=3,5
  91. * e3/12.D.Bf
  92. DO 244 I=4,6
  93. DO 140 K=4,6
  94. DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6)
  95. 140 CONTINUE
  96. 244 CONTINUE
  97. * END DO
  98. * END DO
  99. * 5/6.eG.Bc
  100. DB(7,J+N6) = DB(7,J+N6) + DHOOK(7,7)*BGENE(7,J+N6)
  101. DB(8,J+N6) = DB(8,J+N6) + DHOOK(8,8)*BGENE(8,J+N6)
  102. 160 CONTINUE
  103. * END DO
  104. END IF
  105. *
  106. 110 CONTINUE
  107. * END DO
  108. *
  109. IF (IGAU .LE. 4) THEN
  110. * Int{gration exacte.
  111. *
  112. * Rigidit{ de Flexion et Cisaillement transverse.
  113. DO 248 M=3,5
  114. DO 247 L=3,5
  115. DO 246 NOEUD = 1,4
  116. L6 = 6 * (NOEUD - 1)
  117. DO 245 NOEUD2 = 1,4
  118. M6 = 6 * (NOEUD2 - 1)
  119. DO 200 I=4,8
  120. REL(L+L6,M+M6)
  121. & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6)
  122. 200 CONTINUE
  123. 245 CONTINUE
  124. 246 CONTINUE
  125. 247 CONTINUE
  126. 248 CONTINUE
  127. * END DO
  128. * END DO
  129. * END DO
  130. * END DO
  131. * END DO
  132. *
  133. IF (NOPLAN .EQ. 0) THEN
  134. * Int{gration exacte raideur de membrane et de couplage
  135. * membrane/flexion, sauf cisaillement:
  136. DO 251 M=1,INCMAX
  137. DO 250 L=1,INCMAX
  138. DO 249 NOEUD = 1,4
  139. L6 = 6 * (NOEUD - 1)
  140. DO 220 NOEUD2 = 1,4
  141. M6 = 6 * (NOEUD2 - 1)
  142. REL(L+L6,M+M6) = REL(L+L6,M+M6)
  143. & + BGENE(1,L+L6)*DB(1,M+M6)
  144. & + BGENE(2,L+L6)*DB(2,M+M6)
  145. 220 CONTINUE
  146. 249 CONTINUE
  147. 250 CONTINUE
  148. 251 CONTINUE
  149. * END DO
  150. * END DO
  151. * END DO
  152. * END DO
  153. END IF
  154. *
  155. ELSE IF (IGAU .EQ. 5) THEN
  156. *
  157. * Int{gration r{duite raideur de membrane et de couplage
  158. * membrane/flexion:
  159. IF (NOPLAN .EQ. 1) THEN
  160. I1 = 1
  161. ELSE
  162. I1 = 3
  163. END IF
  164. DO 255 M=1,INCMAX
  165. DO 254 L=1,INCMAX
  166. DO 253 NOEUD = 1,4
  167. L6 = 6 * (NOEUD - 1)
  168. DO 252 NOEUD2 = 1,4
  169. M6 = 6 * (NOEUD2 - 1)
  170. DO 240 I=I1,3
  171. REL(L+L6,M+M6)
  172. & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6)
  173. 240 CONTINUE
  174. 252 CONTINUE
  175. 253 CONTINUE
  176. 254 CONTINUE
  177. 255 CONTINUE
  178. * END DO
  179. * END DO
  180. * END DO
  181. * END DO
  182. * END DO
  183. *
  184. END IF
  185. *
  186. END
  187.  
  188.  
  189.  

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