Télécharger coq8ks.eso

Retour à la liste

Numérotation des lignes :

  1. C COQ8KS SOURCE CHAT 05/01/12 22:22:05 5004
  2. SUBROUTINE COQ8KS(AKS,XX,SHPCOQ,SHPELE,NBPGAU,POIGAU,
  3. 1 DZEGAU,ES,SIGGAU,NBNN,LRE,LRI,RI)
  4. C==============================================================
  5. C MATRICE DES CONTRAINTES INITIALES COQ8 ET COQ6
  6. C ENTREES
  7. C XX(3,NBNN) = COORDONNEES DE L ELELEMENT
  8. C SHPCOQ(6,NBNN,NBPGAU) = FONCTIONS DE FORME POINTS DE CONTRAINTES
  9. C SHPELE(6,NBNN,NBNN) = FONCTIONS DE FORME NOEUDS
  10. C NBPGAU = NOMBRE DE POINTS DE GAUSS
  11. C POIGAU(NBPGAU) = POIDS D INTEGRATION
  12. C DZEGAU(NBPGAU) = TROISIEME COORDONNEE REDUITE
  13. C ES(NBNN) = EPAISSEURS
  14. C SIGGAU(5*NBPGAU) = LES CONTRAINTES
  15. C NBNN = NOMBRE DE NOEUDS
  16. C LRE = NOMBRE DE D.D.L. ( NBNN*6)
  17. C LRI = NOMBRE DE D.D.L. REDUITS ( NBNN*5)
  18. C TABLEAU DE TRAVAIL
  19. C RI(LRI,LRI) = TABLEAU DE TRAVAIL
  20. C SORTIES
  21. C AKS(LRE,LRE) = MATRICE DES CONTRAINTES INITIALES
  22. C
  23. C=================================================================
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8(A-H,O-Z)
  26. PARAMETER(XZER=0.D0,UN=1.D0,UNDEMI=.5D0)
  27. DIMENSION AKS(LRE,*),XX(3,*),SHPCOQ(6,NBNN,*),SHPELE(6,NBNN,*)
  28. DIMENSION POIGAU(*),DZEGAU(*)
  29. DIMENSION SIGGAU(*),ES(*),RI(LRI,*)
  30. DIMENSION H(8),P(2,8),TH(8),XJ(3,3),XJI(3,3)
  31. DIMENSION XJIT(3,3),TET(3,3),TT(9),TE(3,3),SIG(3,3),SIGT(3,3)
  32. DIMENSION SI(3,3),A(3,8),V2V1(3,2),V2V1T(2,3),RIP(2,2)
  33. DIMENSION VR(3,2),AKSP(3,3),TXR(3,3,8)
  34. DIMENSION AMA1(3,3),AMA2(3,3),AMA3(3,3)
  35. C
  36. C
  37. EQUIVALENCE(TET(1,1),TT(1))
  38. C
  39. C OBJET MATRICE DE RIGIDITE GEOMETRIQUE ELEMENTAIRE
  40. C
  41. DO 5 I=1,NBNN
  42. 5 TH(I)=ES(I)
  43. DO 10 I=1,LRE
  44. DO 10 J=1,LRE
  45. 10 AKS(I,J)=XZER
  46. CALL CQ8LOC(XX,NBNN,SHPELE,TXR,IRR)
  47. DO 50 NGAU=1,NBPGAU
  48. DO 20 I=1,NBNN
  49. H(I) =SHPCOQ(1,I,NGAU)
  50. P(1,I)=SHPCOQ(2,I,NGAU)
  51. P(2,I)=SHPCOQ(3,I,NGAU)
  52. 20 CONTINUE
  53. DO 11 I=1,LRI
  54. DO 11 J=1,LRI
  55. RI(I,J)=XZER
  56. 11 CONTINUE
  57. E3=DZEGAU(NGAU)
  58. WT=POIGAU(NGAU)
  59. CALL COQ8JC(NGAU,NBNN,E3,XX,TH,TXR,SHPCOQ,XJ,DET,IRR)
  60. FACT=WT*DET
  61. C
  62. C INVERSION DE LA MATRICE JACOBIENNE
  63. C
  64. DUM= UN/DET
  65. XJI(1,1)=DUM*( XJ(2,2)*XJ(3,3)-XJ(2,3)*XJ(3,2))
  66. XJI(2,1)=DUM*(-XJ(2,1)*XJ(3,3)+XJ(2,3)*XJ(3,1))
  67. XJI(3,1)=DUM*( XJ(2,1)*XJ(3,2)-XJ(2,2)*XJ(3,1))
  68. XJI(1,2)=DUM*(-XJ(1,2)*XJ(3,3)+XJ(1,3)*XJ(3,2))
  69. XJI(2,2)=DUM*( XJ(1,1)*XJ(3,3)-XJ(1,3)*XJ(3,1))
  70. XJI(3,2)=DUM*(-XJ(1,1)*XJ(3,2)+XJ(1,2)*XJ(3,1))
  71. XJI(1,3)=DUM*( XJ(1,2)*XJ(2,3)-XJ(1,3)*XJ(2,2))
  72. XJI(2,3)=DUM*(-XJ(1,1)*XJ(2,3)+XJ(1,3)*XJ(2,1))
  73. XJI(3,3)=DUM*( XJ(1,1)*XJ(2,2)-XJ(1,2)*XJ(2,1))
  74. C
  75. C CALCUL DE J-1 TRANSPOSEE
  76. C
  77. DO 30 I=1,3
  78. DO 30 J=1,3
  79. XJIT(I,J)=XJI(J,I)
  80. 30 CONTINUE
  81. C
  82. C CALCUL DE TET MATRICE DE LA ROTATION LOCALE AU POINT DE GAUSS
  83. C
  84. DO 31 I=1,3
  85. DO 31 J=1,2
  86. TET(I,J)=XJ(J,I)
  87. 31 CONTINUE
  88. CALL CROSS2(TT(1),TT(4),TT(7),IERR)
  89. CALL CROSS2(TT(7),TT(1),TT(4),IERR)
  90. CALL CROSS2(TT(4),TT(7),TT(1),IERR)
  91. C
  92. C TE EST LA TRANSPOSEE DE TET
  93. C
  94. DO 32 I=1,3
  95. DO 32 J=1,3
  96. TE(I,J)=TET(J,I)
  97. 32 CONTINUE
  98. C
  99. C ON RECUPERE LES CONTRAINTES D UN POINT DE GAUSS
  100. C
  101. SIG(1,1)=SIGGAU((NGAU-1)*5+1)
  102. SIG(2,2)=SIGGAU((NGAU-1)*5+2)
  103. SIG(1,2)=SIGGAU((NGAU-1)*5+3)
  104. SIG(1,3)=SIGGAU((NGAU-1)*5+4)
  105. SIG(2,3)=SIGGAU((NGAU-1)*5+5)
  106. SIG(2,1)=SIG(1,2)
  107. SIG(3,2)=SIG(2,3)
  108. SIG(3,1)=SIG(1,3)
  109. SIG(3,3)=XZER
  110. C
  111. C CALCUL DE SIGT=TET*SIG*TE
  112. C
  113. CALL MULMAT(AMA1,XJIT,TET,3,3,3)
  114. CALL MULMAT(AMA2,AMA1,SIG,3,3,3)
  115. CALL MULMAT(AMA3,AMA2,TE,3,3,3)
  116. CALL MULMAT(SIGT,AMA3,XJI,3,3,3)
  117. C
  118. C CALCUL DES TERMES RELATIFS AU NOEUD I,J
  119. C
  120. DO 40 I=1,NBNN
  121. DO 100 J=I,NBNN
  122. A(1,I)=P(1,I)*E3*TH(I)*UNDEMI
  123. A(2,I)=P(2,I)*E3*TH(I)*UNDEMI
  124. A(1,J)=P(1,J)*E3*TH(J)*UNDEMI
  125. A(2,J)=P(2,J)*E3*TH(J)*UNDEMI
  126. A(3,I)=H(I)*TH(I)*UNDEMI
  127. A(3,J)=H(J)*TH(J)*UNDEMI
  128. C
  129. DO 116 K=1,3
  130. IK=5*(I-1)+K
  131. JK=5*(J-1)+K
  132. DO 200 M=1,2
  133. DO 200 N=1,2
  134. RI(IK,JK)=RI(IK,JK)+SIGT(M,N)*P(M,I)*P(N,J)
  135. 200 CONTINUE
  136. 116 CONTINUE
  137. C
  138. DO 117 K=1,3
  139. IS=-1
  140. DO 117 L=4,5
  141. LL=L-3
  142. C
  143. C
  144. IK=5*(I-1)+K
  145. JL=5*(J-1)+L
  146. IS=-IS
  147. DO 210 M=1,2
  148. DO 210 N=1,3
  149. RI(IK,JL)=RI(IK,JL)+SIGT(M,N)*P(M,I)*TXR(K,LL,J)*A(N,J)*IS
  150. 210 CONTINUE
  151. 117 CONTINUE
  152. IS=-1
  153. C
  154. DO 119 K=4,5
  155. IS=-IS
  156. DO 119 L=1,3
  157. IK=5*(I-1)+K
  158. JL=5*(J-1)+L
  159. KK=K-3
  160. DO 230 N=1,2
  161. DO 230 M=1,3
  162. RI(IK,JL)=RI(IK,JL)+SIGT(M,N)*P(N,J)*TXR(L,KK,I)*A(M,I)*IS
  163. 230 CONTINUE
  164. 119 CONTINUE
  165. IS=1
  166. C
  167. DO 121 K=4,5
  168. IS=-IS
  169. DO 121 L=4,5
  170. IS=-IS
  171. KK=K-3
  172. LL=L-3
  173. IK=5*(I-1)+K
  174. JL=5*(J-1)+L
  175. COE1=XZER
  176. COE2=XZER
  177. DO 240 M=1,3
  178. DO 240 N=1,3
  179. COE1=COE1+SIGT(M,N)*A(M,I)*A(N,J)
  180. 240 CONTINUE
  181. DO 241 MM=1,3
  182. COE2=COE2+TXR(MM,KK,I)*TXR(MM,LL,J)
  183. 241 CONTINUE
  184. RI(IK,JL)=COE1*COE2*IS
  185. 121 CONTINUE
  186. C
  187. C CHANGEMENT DE VARIABLE ROTATIONS LOCALES-GLOBALES
  188. C ET INTEGRATION
  189. C
  190. DO 130 K=1,3
  191. DO 130 L=1,3
  192. IK6=6*(I-1)+K
  193. JL6=6*(J-1)+L
  194. IK5=5*(I-1)+K
  195. JL5=5*(J-1)+L
  196. AKS(IK6,JL6)=AKS(IK6,JL6)+FACT*RI(IK5,JL5)
  197. 130 CONTINUE
  198. C
  199. 100 CONTINUE
  200. 40 CONTINUE
  201. 50 CONTINUE
  202. C
  203. DO 150 I=1,LRE
  204. DO 150 J=1,I
  205. AKS(I,J)=AKS(J,I)
  206. 150 CONTINUE
  207. C
  208. RETURN
  209. END
  210.  
  211.  

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