Télécharger bcoq8e.eso

Retour à la liste

Numérotation des lignes :

bcoq8e
  1. C BCOQ8E SOURCE CB215821 26/08/24 21:15:13 12622
  2. SUBROUTINE BCOQ8E(NOBG,XX,NBNN,TH,EXC,B,DET,E,SHPCOQ,TXR,IRR)
  3. C=======================================================================
  4. C ROUTINE EQUIVALENTE A BCOQ8 AVEC EXCENTREMENT.
  5. C ENTREES
  6. C NOBG : NUMERO DU POINT DE GAUSS
  7. C XX(3,NBNN) : TABLEAU DES COORDONNEES DES NOEUDS
  8. C NBNN : NOMBRE DE NOEUDS
  9. C TH(NBNN) : TABLEAU DES EPAISSEURS
  10. C EXC(NBNN) : TABLEAU DES EXCENTREMENTS
  11. C E : COORDONNEE REDUITE DU POINT DE GAUSS DANS
  12. C L EPAISSEUR
  13. C SHPCOQ(6,NBNN,NBPGAU) : FONCTIONS DE FORME ET DERIVESS AUX PTS DE GSS
  14. C TXR(3,3,NBNN): TABLEAU DE CHGMT DE REPERE ENTRE NOEUD ET REP.
  15. C GLOBAL
  16. C SORTIES
  17. C B(5,LRE): MATRICE B
  18. C DET : DETERMINANT DU JACOBIEN
  19. C IRR : INDICATEUR DE SUCCES ( 1 ) , D ECHEC (0 OU-1)
  20. C INSPIRE DE SHLMSD DE BILBO JUILLET 86
  21. C=======================================================================
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8 (A-H,O-Z)
  24. PARAMETER(UN=1.D0,UNDEMI=.5D0,XZER=0.D0)
  25. DIMENSION XX(3,*),TH(*),EXC(*),B(5,*),SHPCOQ(6,NBNN,*),TXR(3,3,*)
  26. DIMENSION XJ(3,3),XJI(3,3),BI(5,3),BT(5,3),TT(9)
  27. C*
  28. C* DETERMINATION DU JACOBIEN ET DE SON DETERMINANT AU POINT (R,S,T)
  29. C*
  30. CALL CQ8JCE(NOBG,NBNN,E,XX,TH,EXC,TXR,SHPCOQ,XJ,DET,IRR)
  31. C
  32. IF(IRR.EQ.-1) RETURN
  33.  
  34. C*
  35. C* DETERMINATION DES COSINUS DIRECTEURS DES AXES LOCAUX EN CE POINT
  36. C*
  37. DO 101 I=1,3
  38. DO 10 J=1,2
  39. K=3*(J-1)+I
  40. TT(K) = XJ(J,I)
  41. 10 CONTINUE
  42. 101 CONTINUE
  43. C*
  44. C* PRODUITS VECTORIELS ET NORMALISATIONS
  45. C*
  46. CALL CROSS2(TT(1),TT(4),TT(7),IRR)
  47. CALL CROSS2(TT(7),TT(1),TT(4),IRR)
  48. CALL CROSS2(TT(4),TT(7),TT(1),IRR)
  49. C
  50. IF(IRR.EQ.0) RETURN
  51. C*
  52. C* INVERSION DU JACOBIEN
  53. C*
  54. DUM =UN/DET
  55. XJI(1,1) = DUM*( XJ(2,2)*XJ(3,3) - XJ(2,3)*XJ(3,2))
  56. XJI(2,1) = DUM*(-XJ(2,1)*XJ(3,3) + XJ(2,3)*XJ(3,1))
  57. XJI(3,1) = DUM*( XJ(2,1)*XJ(3,2) - XJ(2,2)*XJ(3,1))
  58. XJI(1,2) = DUM*(-XJ(1,2)*XJ(3,3) + XJ(1,3)*XJ(3,2))
  59. XJI(2,2) = DUM*( XJ(1,1)*XJ(3,3) - XJ(1,3)*XJ(3,1))
  60. XJI(3,2) = DUM*(-XJ(1,1)*XJ(3,2) + XJ(1,2)*XJ(3,1))
  61. XJI(1,3) = DUM*( XJ(1,2)*XJ(2,3) - XJ(1,3)*XJ(2,2))
  62. XJI(2,3) = DUM*(-XJ(1,1)*XJ(2,3) + XJ(1,3)*XJ(2,1))
  63. XJI(3,3) = DUM*( XJ(1,1)*XJ(2,2) - XJ(1,2)*XJ(2,1))
  64. C*
  65. C* PRODUIT MATRICIEL TT TRANSPOSE * XJI
  66. C*
  67. DO 103 I=1,3
  68. DO 102 J=1,3
  69. XJ(I,J)=XZER
  70. DO 20 K=1,3
  71. K1=3*(I-1)+K
  72. XJ(I,J) = XJ(I,J)+TT(K1)*XJI(K,J)
  73. 20 CONTINUE
  74. 102 CONTINUE
  75. 103 CONTINUE
  76. C*
  77. C* DETERMINATION DES COEFFICIENTS DES DEPLACEMENTS
  78. C*
  79. DO 100 I=1,NBNN
  80. B1=XJ(1,1)*SHPCOQ(2,I,NOBG) +XJ(1,2)*SHPCOQ(3,I,NOBG)
  81. B2=XJ(2,1)*SHPCOQ(2,I,NOBG) +XJ(2,2)*SHPCOQ(3,I,NOBG)
  82. DO 104 J=1,5
  83. DO 30 K=1,3
  84. BI(J,K)=XZER
  85. 30 CONTINUE
  86. 104 CONTINUE
  87. BI(1,1) = B1
  88. BI(2,2) = B2
  89. BI(3,1) = B2
  90. BI(3,2) = B1
  91. BI(4,3) = B1
  92. BI(5,3) = B2
  93. C
  94. C DANS BILBO, BI(4,3)=B2 ET BI(5,3)=B1
  95. C
  96. DO 106 J=1,5
  97. DO 105 K=1,3
  98. KK=6*(I-1)+K
  99. B(J,KK)=XZER
  100. DO 35 L=1,3
  101. K1=3*(L-1)+K
  102. B(J,KK) = B(J,KK)+BI(J,L)*TT(K1)
  103. 35 CONTINUE
  104. 105 CONTINUE
  105. 106 CONTINUE
  106. C*
  107. C* DETERMINATION DES COEFFICIENTS DES ROTATIONS
  108. C*
  109. DUM = XJ(3,3)*SHPCOQ(1,I,NOBG)
  110. DO 107 J=1,5
  111. DO 40 K=1,3
  112. BI(J,K) = BI(J,K)
  113. 40 CONTINUE
  114. 107 CONTINUE
  115. BI(4,1)=DUM
  116. BI(5,2)=DUM
  117. C
  118. C DANS BILBO, DUM=BI(4,2)=BI(5,1)
  119. C
  120. DO 108 J=1,5
  121. DO 45 K=1,3
  122. BI(J,K) = BI(J,K)*UNDEMI*TH(I)*E + BI(J,K)*EXC(I)
  123. 45 CONTINUE
  124. 108 CONTINUE
  125. BI(4,1)=DUM*UNDEMI*TH(I)
  126. BI(5,2)=DUM*UNDEMI*TH(I)
  127. C
  128. DO 110 J=1,5
  129. DO 109 K=1,3
  130. BT(J,K) = XZER
  131. DO 50 L=1,3
  132. K1=3*(L-1)+K
  133. BT(J,K) = BT(J,K) + BI(J,L)*TT(K1)
  134. 50 CONTINUE
  135. 109 CONTINUE
  136. 110 CONTINUE
  137. C
  138. DO 60 J=1,3
  139. XJI(J,J)= XZER
  140. 60 CONTINUE
  141. XJI(1,2) = TXR(1,1,I)*TXR(2,2,I)-TXR(2,1,I)*TXR(1,2,I)
  142. XJI(1,3) = TXR(1,1,I)*TXR(3,2,I)-TXR(1,2,I)*TXR(3,1,I)
  143. XJI(2,3) = TXR(2,1,I)*TXR(3,2,I)-TXR(2,2,I)*TXR(3,1,I)
  144. DO 111 J=1,3
  145. DO 70 K=J,3
  146. XJI(K,J) =-XJI(J,K)
  147. 70 CONTINUE
  148. 111 CONTINUE
  149. C
  150. DO 113 J=1,5
  151. DO 112 K=1,3
  152. KK = 6*I+K-3
  153. B(J,KK)= XZER
  154. DO 80 L=1,3
  155. B(J,KK) = B(J,KK)+BT(J,L)*XJI(L,K)
  156. 80 CONTINUE
  157. 112 CONTINUE
  158. 113 CONTINUE
  159. 100 CONTINUE
  160. RETURN
  161. END
  162.  
  163.  
  164.  

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