Télécharger bgrcq8.eso

Retour à la liste

Numérotation des lignes :

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

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