Télécharger tufir1.eso

Retour à la liste

Numérotation des lignes :

tufir1
  1. C TUFIR1 SOURCE CHAT 05/01/13 03:56:11 5004
  2. SUBROUTINE TUFIR1(REG,RAYON,EPAI,V1,V2,ANDEG,D,REL,BPSS,KERRE)
  3. C=======================================================================
  4. C CALCUL DE LA MATRICE DE RIGIDITE DE L'ELEMENT DE TUYAU FISSURE
  5. C DANS LE REPERE GLOBAL
  6. C ENTREES:
  7. C WORK = TABLEAU CONTENANT LES CARACTERISTIQUES GEOMETRIQUES DE
  8. C L'ELEMENT
  9. C D(2,2)= MATRICE DE HOOKE
  10. C TRAVAIL
  11. C REL(12,12) = MATRICE DE RIGIDITE LOCALE
  12. C V1(3),V2(3) = VECTEURS ORIENTANT LE TUYAU FISSURE
  13. C BPSS(3,3) = MATRICE DE PASSAGE
  14. C SORTIE:
  15. C REG(12,12)= MATRICE DE RIGIDITE GLOBALE
  16. C KERRE = CODE D'ERREUR CORRESPONDANT A LA POSITION RELATIVE DES
  17. C DEUX VECTEURS V1 ET V2 DEFINISSANT L'ELEMENT TUFI:
  18. C 0 SI PAS DE PROBLEME, 1 SINON.
  19. C 1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES.
  20. C 2 SI V1 EST NUL.
  21. C 3 SI LE TUYAU FISSURE EST TRP EPAI R/T INF A 2
  22. C=======================================================================
  23. IMPLICIT INTEGER(I-N)
  24. IMPLICIT REAL*8(A-H,O-Z)
  25. C Include contenant quelques constantes dont XPI :
  26. -INC CCREEL
  27. DIMENSION REL(12,*),V1(*),V2(*),D(2,*),BPSS(3,*)
  28. DIMENSION REG(12,*),BV1(3),BV2(3)
  29. C
  30. DATA EPS/1.D-10/
  31. DATA UN,UNS2/1.D0,.5D0/
  32. C
  33. C D6 = COEFFICIENT INTERVENANT POUR LES TERMES DE PENALISATION.
  34. C
  35. DATA DEUX,D6/2.D0,1.D06/
  36. C
  37. KERRE = 0
  38. TETA1 = ANDEG*UNS2
  39. YOU = D(1,1)
  40. XNU = D(2,2)
  41. CISA = YOU /(DEUX *(UN + XNU))
  42. C=======================================================================
  43. C LES CARACTERISTIQUES REPRESENTENT:
  44. C EPAI = EPAISSEUR DU TUYAU
  45. C RAYON = RAYON EXTERIEUR DU TUYAU
  46. C TETA1 = DEMI-ANGLE D'OUVERTURE DE LA FISSURE EN DEGRE
  47. C V1 = VECTEUR ORIENTANT LES NOEUDS 1 ET 2 (AXE DU TUYAU)
  48. C V2 = VECTEUR ORIENTANT L'AXE DE LA FISSURE
  49. C YOU = MODULE D'YOUNG
  50. C CISA = MODULE DE CISAILLEMENT
  51. C TABLEAU DE TRAVAIL:
  52. C BPSS = MATRICE DE PASSAGE
  53. C ON OBTIENT:
  54. C REG(12,12) = MATRICE DE RIGIDITE AXES GLOBAUX
  55. C
  56. C=======================================================================
  57. C
  58. C CONVERSION DE TETA1 EN RADIAN
  59. C
  60. TETA = (TETA1 * XPI)/180.D0
  61. C
  62. C ON MET DANS 'RAYON' LE RAYON MOYEN DU TUYAU.
  63. C
  64. RAYMO = RAYON - EPAI*UNS2
  65. C
  66. C ON CALCULE A
  67. C
  68. RSURT= RAYMO / EPAI
  69. IF(RSURT.LE.10.0D0.AND.RSURT.GE.4.9D0) THEN
  70. AXX= (.125D0*RSURT - .25D0 ) **.25D0
  71. ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN
  72. AXX= (.4D0*RSURT - 3.D0 ) **.25D0
  73. ELSE
  74. KERRE=3
  75. ENDIF
  76. IF(KERRE.EQ.3) GOTO 666
  77. C
  78. C NORMALISATION DES VECTEURS V1 ET V2.
  79. C
  80. XNV1 = XZERO
  81. XNV2 = XZERO
  82. DO 5 I=1,3
  83. XNV1 = XNV1 + (V1(I)*V1(I))
  84. XNV2 = XNV2 + (V2(I)*V2(I))
  85. 5 CONTINUE
  86. C
  87. C MISE A ZERO DE REG
  88. C
  89. CALL ZERO(REG,12,12)
  90. IF (XNV1.LT.EPS) THEN
  91. KERRE = 2
  92. GOTO 666
  93. ENDIF
  94. IF (XNV2.LT.EPS) THEN
  95. KERRE = 1
  96. GOTO 666
  97. ENDIF
  98. XNV1 = UN/SQRT(XNV1)
  99. XNV2 = UN/SQRT(XNV2)
  100. DO 10 I=1,3
  101. BV1(I) = V1(I)*XNV1
  102. BV2(I) = V2(I)*XNV2
  103. 10 CONTINUE
  104. C
  105. C ORTHOGONALISATION ET RENORMALISATION DE V2.
  106. C
  107. PS = (BV1(1)*BV2(1))+(BV1(2)*BV2(2))+(BV1(3)*BV2(3))
  108. C
  109. C TEST SUR LA COLINEARITE DE V1 ET V2.
  110. C
  111. IF(ABS(PS).GE.(.99D0)) THEN
  112. KERRE = 1
  113. GOTO 666
  114. ELSE
  115. XNV2 = UN/SQRT(UN-(PS**2))
  116. DO 15 I=1,3
  117. BV2(I) = XNV2*(BV2(I)-(PS*BV1(I)))
  118. 15 CONTINUE
  119. ENDIF
  120. C
  121. C CALCUL DE LA MATRICE DE PASSAGE
  122. C LOCAL = BPSS * GLOBAL
  123. C BV1 REPRESENTE L'AXE LOCAL DES Z
  124. C BV2 REPRESENTE L'AXE LOCAL DES Y
  125. C
  126. DO 20 I=1,3
  127. BPSS(3,I) =BV1(I)
  128. BPSS(2,I) =BV2(I)
  129. 20 CONTINUE
  130. BPSS(1,1) = (BPSS(2,2)*BPSS(3,3))-(BPSS(2,3)*BPSS(3,2))
  131. BPSS(1,2) = (BPSS(2,3)*BPSS(3,1))-(BPSS(2,1)*BPSS(3,3))
  132. BPSS(1,3) = (BPSS(2,1)*BPSS(3,2))-(BPSS(2,2)*BPSS(3,1))
  133. C
  134. C CALCUL DES TERMES DE LA MATRICE DE RIGIDITE REPERE LOCAL
  135. C
  136. TESPI = TETA/XPI
  137. CALL ZERO(REL,12,12)
  138. C
  139. C ON TESTE SUR L'IMPORTANCE DE L'ANGLE D'OUVERTURE DE LA FISSURE. SI
  140. C CE DERNIER EST INFERIEUR A UN DEGRE, ON ANNULE TOUS LES COEFFI-
  141. C CIENTS DE COUPLAGE ET ON PENALISE TOUS LES DEGRES DE LIBERTE. DANS
  142. C LE CAS CONTRAIRE, SEULS SONT PERMIS LA ROTATION AUTOUR DE L'AXE
  143. C LOCAL DES X ET L'ALLONGEMENT SUIVANT L'AXE LOCAL DES Z ,CES DEUX
  144. C DEGRES DE LIBERTE ETANT COUPLES.
  145. C
  146. IF (TETA1.LE.(0.5D0)) THEN
  147. REL(3,3) = DEUX * YOU * XPI * EPAI * RAYMO * D6
  148. REL(4,4) = YOU * XPI * EPAI * (RAYMO**2) * D6
  149. ELSE
  150. C
  151. CALL TUFIFP(TESPI,AXX,FP,FM,FMP,FOP,FOM)
  152. DENOM = FP*FM - FMP*FMP
  153. COEF = (YOU * XPI * EPAI)/(DENOM * (TETA**2))
  154. REL(3,3) = COEF * DEUX * FM
  155. REL(3,4) = -COEF * RAYMO * FMP
  156. REL(4,3) = REL(3,4)
  157. REL(4,4) = COEF * (RAYMO**2) * FP * UNS2
  158. ENDIF
  159. C
  160. C INITIALISATION DES TERMES DE PENALISATION
  161. C
  162. REL(1,1) = DEUX * CISA * XPI * EPAI * RAYMO * D6
  163. REL(2,2) = REL(1,1)
  164. REL(5,5) = YOU * XPI * EPAI * (RAYMO**2) * D6
  165. REL(6,6) = DEUX * CISA * XPI * EPAI * (RAYMO**2) * D6
  166. C
  167. C CALCUL DE LA MATRICE (12,12) A PARTIR DE LA MATRICE (6,6)
  168. C
  169. DO 30 I=1,6
  170. DO 301 J=1,6
  171. REL(I+6,J+6) = REL(I,J)
  172. REL(I+6,J ) = -REL(I,J)
  173. REL(I ,J+6) = -REL(I,J)
  174. 301 CONTINUE
  175. 30 CONTINUE
  176. CALL POUROT(REG,12,BPSS,REL)
  177. 666 CONTINUE
  178. RETURN
  179. END
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  

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