Télécharger tufist.eso

Retour à la liste

Numérotation des lignes :

tufist
  1. C TUFIST SOURCE CHAT 05/01/13 03:56:20 5004
  2. SUBROUTINE TUFIST(VALMAT,XDDL,CAR,DD,BPSS,XDDLOC,XSTRS,KERRE)
  3. C=================================================================
  4. C CALCULE LES CONTRAINTES DU TUYAU FISSURE
  5. C ENTREES
  6. C VALMAT = TABLEAU DE MATERIAU
  7. C XDDL(12) = D.D.L. DU TUYAU FISSURE GLOBAUX
  8. C CAR(9) = CARACTERISTIQUES
  9. C CAR(1) = RAYON EXTERIEUR DU TUYAU
  10. C CAR(2) = EPAISSEUR DU TUYAU
  11. C CAR(3),CAR(4),CAR(5) AXE DU TUYAU
  12. C CAR(6),CAR(7),CAR(8) DIRECTION DE LA FISSU
  13. C CAR(9) = ANGLE DE LA FISSURE
  14. C DD(6,6) = MATRICE DE HOOKE
  15. C TRAVAIL
  16. C BPSS(3,3)= ...
  17. C XDDLOC(12) = D.D.L. LOCAUX
  18. C SORTIES
  19. C XSTRS(7) = CONTRAINTES
  20. C XSTRS(1),XSTRS(2),XSTRS(3) FORCES
  21. C XSTRS(4),XSTRS(5),XSTRS(6) MOMENTS
  22. C XSTRS(7) FACTEUR D INTENSITE DES CONTRAINTES
  23. C KERRE = CODE D'ERREUR CORRESPONDANT A LA POSITION RELATIVE DES
  24. C DEUX VECTEURS V1 ET V2 DEFINISSANT L'ELEMENT TUFI:
  25. C 0 SI PAS DE PROBLEME, 1 SINON.
  26. C 1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES.
  27. C 2 SI V1 EST NUL.
  28. C 3 SI TUYAU TROP EPAI
  29. C CODE EBERSOLT SEPTEMBRE 85
  30. C
  31. C=================================================================
  32. IMPLICIT INTEGER(I-N)
  33. IMPLICIT REAL*8(A-H,O-Z)
  34. C Include contenant quelques constantes dont XPI :
  35. -INC CCREEL
  36. PARAMETER(UN=1.D0,UNS2=.5D0,DEUX=2.D0)
  37. PARAMETER(EPS=1.D-10)
  38. C
  39. DIMENSION XDDL(*),V1(3),V2(3),BPSS(3,*),XDDLOC(*)
  40. DIMENSION XSTRS(*),DD(6,*),BV1(3),BV2(3),CAR(*)
  41. DIMENSION VALMAT(*)
  42. C
  43. C D6 = COEFFICIENT INTERVENANT POUR LES TERMES DE PENALISATION.
  44. C
  45. KERRE=0
  46. YOU=VALMAT(1)
  47. RAYO=CAR(1)
  48. EPAI=CAR(2)
  49. V1(1)=CAR(3)
  50. V1(2)=CAR(4)
  51. V1(3)=CAR(5)
  52. V2(1)=CAR(6)
  53. V2(2)=CAR(7)
  54. V2(3)=CAR(8)
  55. ANGL=CAR(9)
  56. *
  57. RAYMO= RAYO - (EPAI/DEUX)
  58. TETA1= ANGL*UNS2
  59. C CONVERSION DE TETA1 EN RADIAN
  60. TETA= (TETA1*XPI)/180.D0
  61. TESPI = TETA/XPI
  62. C
  63. C NORMALISATION DES VECTEURS V1 ET V2.
  64. C
  65. XNV1 = XZERO
  66. XNV2 = XZERO
  67. DO 5 I=1,3
  68. XNV1 = XNV1 + (V1(I)*V1(I))
  69. XNV2 = XNV2 + (V2(I)*V2(I))
  70. 5 CONTINUE
  71. IF (XNV1.LT.EPS) THEN
  72. KERRE = 2
  73. GOTO 666
  74. ENDIF
  75. IF (XNV2.LT.EPS) THEN
  76. KERRE = 1
  77. GOTO 666
  78. ENDIF
  79. XNV1 = UN/SQRT(XNV1)
  80. XNV2 = UN/SQRT(XNV2)
  81. DO 10 I=1,3
  82. BV1(I) = V1(I)*XNV1
  83. BV2(I) = V2(I)*XNV2
  84. 10 CONTINUE
  85. C
  86. C ORTHOGONALISATION ET RENORMALISATION DE V2.
  87. C
  88. PS = (BV1(1)*BV2(1))+(BV1(2)*BV2(2))+(BV1(3)*BV2(3))
  89. C
  90. C TEST SUR LA COLINEARITE DE V1 ET V2.
  91. C
  92. IF(ABS(PS).GE.(.99D0)) THEN
  93. KERRE = 1
  94. GOTO 666
  95. ELSE
  96. XNV2 = UN/SQRT(UN-(PS**2))
  97. DO 15 I=1,3
  98. BV2(I) = XNV2*(BV2(I)-(PS*BV1(I)))
  99. 15 CONTINUE
  100. ENDIF
  101. C
  102. C CALCUL DE LA MATRICE DE PASSAGE
  103. C LOCAL = BPSS * GLOBAL
  104. C V1 REPRESENTE L'AXE LOCAL DES Z
  105. C V2 REPRESENTE L'AXE LOCAL DES Y
  106. C
  107. DO 20 I=1,3
  108. BPSS(1,I) =BV1(I)
  109. BPSS(2,I) =BV2(I)
  110. 20 CONTINUE
  111. BPSS(3,1) = (BPSS(1,2)*BPSS(2,3))-(BPSS(1,3)*BPSS(2,2))
  112. BPSS(3,2) = (BPSS(1,3)*BPSS(2,1))-(BPSS(1,1)*BPSS(2,3))
  113. BPSS(3,3) = (BPSS(1,1)*BPSS(2,2))-(BPSS(1,2)*BPSS(2,1))
  114. C
  115. C TRANSFORMATION DES DDL GLOBAUX EN DDL LOCAUX X AXE TUYAU
  116. C Y POSITION FISSURE
  117. C Z COMPLEMENT
  118. CALL MATVEC(XDDL,XDDLOC,BPSS,4)
  119. C
  120. C TRANCHANT AXE Y
  121. C
  122. XSTRS(2)= DD(2,2)*(XDDLOC(8 )-XDDLOC(2))
  123. C
  124. C TRANCHANT AVEC L AXE Z
  125. C
  126. XSTRS(3)= DD(3,3)*(XDDLOC(9 )-XDDLOC(3))
  127. C
  128. C TORSION AXE X
  129. C
  130. XSTRS(4)= DD(4,4)*(XDDLOC(10)-XDDLOC(4))
  131. C
  132. C FLEXION AXE Y
  133. C
  134. XSTRS(5)= DD(5,5)*(XDDLOC(11)-XDDLOC(5))
  135. C
  136. XX1= XDDLOC(7 )-XDDLOC(1)
  137. XX2= XDDLOC(12)-XDDLOC(6)
  138. C
  139. C OUVERTURE TUFI ET ROTATION TUFI
  140. C
  141. XSTRS(1)= XX1*DD(1,1)+XX2*DD(1,6)
  142. XSTRS(6)= XX1*DD(6,1)+XX2*DD(6,6)
  143. C
  144. C CALCUL DE A COEFFICIENT ZAHOR
  145. C
  146. RSURT=RAYMO / EPAI
  147. IF(RSURT.LE.10.D0.AND.RSURT.GE.4.9D0) THEN
  148. AXX = ( .125D0*RSURT - .25D0 ) **.25D0
  149. ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN
  150. AXX = ( .4D0*RSURT - 3.D0 ) **.25D0
  151. ELSE
  152. KERRE=3
  153. ENDIF
  154. CALL TUFIFP(TESPI,AXX,FP,FM,FMP,FOP,FOM)
  155. C
  156. C
  157. C FACTEUR D INTENSITE DES CONTRAINTES
  158. C
  159. IF(TETA1.LE.(0.5D0))THEN
  160. XSTRS(7)=XZERO
  161. GOTO 666
  162. ENDIF
  163. SQQ= XPI * RAYMO * TETA
  164. SQQ= SQRT(SQQ)
  165. XEX= SQQ * FOP/(DEUX * XPI * RAYMO *EPAI)
  166. XFL= SQQ * FOM/(XPI * RAYMO * RAYMO *EPAI)
  167. XSTRS(7)=XEX * XSTRS(1) - XFL * XSTRS(6)
  168. C
  169. C CALCUL DES AIRES DE BRECHE NOTE TECHNIQUE DRE/STRE/LMA 85/695
  170. C
  171. SIGM = XSTRS(1)/( DEUX * XPI * RAYMO * EPAI )
  172. SIGF = XSTRS(6)/( XPI * RAYMO * RAYMO * EPAI )
  173. XIM = XPI * RAYMO * RAYMO * DEUX * TETA * TETA * FP /YOU
  174. XIF = XIM * ( .75D0 +(.25D0 * COS ( TETA )))
  175. XSTRS(8)=XIM * SIGM - XIF * SIGF
  176. C
  177. 666 CONTINUE
  178. RETURN
  179. END
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  

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