Télécharger tufinc.eso

Retour à la liste

Numérotation des lignes :

  1. C TUFINC SOURCE PV 11/03/07 21:18:39 6885
  2. C TUFINC SOURCE BROC 94/05/09
  3. C______________________________________________________________________
  4. SUBROUTINE TUFINC(DT,SIG,EPSV,VAR,XMAT,XCAR,EPSVPT,VARPT,
  5. & NSTRS,NVARI,INPLAS,NCOMAT,KERR1)
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. C Include contenant quelques constantes dont XPI :
  9. -INC CCREEL
  10. DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),XCAR(*),
  11. & EPSVPT(*),VARPT(*)
  12. C______________________________________________________________________
  13. C CETTE ROUTINE CALCULE A PARTIR DES VALEURS INITIALES SIG VAR & EPSV
  14. C ET DE LA VARIATION DU TEMPS DT
  15. C LES INCREMENTS DE DEFORMATIONS VISQUEUSES ET DE VARIABLES INTERNES
  16. C____________________________________________________________________
  17.  
  18. THETA = XCAR(9)/2
  19. EPAIS = XCAR(2)
  20. RAYOM = XCAR(1)-(EPAIS/2)
  21. AF1 = XMAT(6)
  22. AF2 = XMAT(7)
  23. ANG=XPI*THETA/180.0D0
  24.  
  25. EPLU = VAR (1)
  26. EMIN = VAR (2)
  27. EEFF = VAR (3)
  28. EPSH = VAR (4)
  29. LL = nint(VAR (5))
  30. DO 30 I=1,6
  31. EPSVPT(I)=0.0D0
  32. 30 CONTINUE
  33. EPSCRP= EPSV(6)
  34. DO 50 I=1,NVARI
  35. VARPT(I)=0.0D0
  36. 50 CONTINUE
  37. KERR1=0
  38.  
  39. C
  40. C CALCUL DES INCREMENTS DE VARIABLES INTERNES
  41. C
  42. CALL TUFVAR(SIG,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,NSTRS)
  43. VARPT (1) = EPLU
  44. VARPT (2) = EMIN
  45. VARPT (3) = EEFF
  46. VARPT (4) = EPSH
  47. VARPT (5) = LL
  48. C
  49. C CALCUL DES INCREMENTS DE EPSILON
  50. C
  51.  
  52. C EVALUATION DE C* MOYENNANT ZAHOOR
  53. C---- C* CALCULE QUE POUR DES CHARGEMENTS EN OUVERTURE DE FISSURE
  54. C----ATTENTION SIG(6)<0 SI MOMENT EN OUVERTURE
  55.  
  56. IF (SIG(6).GT.(1.D-6).OR.SIG(1).LT.(-1.D-6)) THEN
  57. KERR1=729
  58. RETURN
  59. ENDIF
  60. XM0= 4*RAYOM*RAYOM*EPAIS*(COS(ANG/2)-0.5D0*SIN(ANG))
  61. IF (ABS(SIG(6)).GT.(0.99D0*SIG(1)*RAYOM)) THEN
  62. XLSLP1 = 1.D0
  63. ELSE
  64. XLAMDA = ABS(SIG(6))/(SIG(1)*RAYOM)
  65. XP0 = 2*RAYOM*EPAIS*(XPI-ANG - 2*ASIN(0.5D0*SIN(ANG)))
  66. XPP0=0.5D0*(-1*XLAMDA*RAYOM*XP0*XP0/XM0)
  67. XX=0.5D0*(((((XLAMDA*RAYOM*XP0*XP0/XM0)**2) + 4*XP0*XP0)**0.5D0
  68. $ ))
  69. XPP0=XPP0+XX
  70. XLSLP1=XLAMDA/(XLAMDA+1)
  71. ENDIF
  72. RAP=RAYOM/EPAIS
  73. AN=ANG/XPI
  74. CALL TUFH1(RAP,AF2,AN,XLSLP1,H1,KERR1)
  75. IF (KERR1.NE.0) THEN
  76. RETURN
  77. ENDIF
  78. IF (XLSLP1.GT.(0.99D0)) GOTO 55
  79. CETOI=AF1*(XPI-ANG)*RAYOM*(ANG/XPI)
  80. CETOI=CETOI*H1*((SIG(1)/XPP0)**(AF2+1))
  81. GO TO 60
  82.  
  83. 55 CONTINUE
  84. CETOI=AF1*XPI*((1-ANG/XPI)**2)*RAYOM
  85. CETOI=CETOI*H1*(ABS(SIG(6)/XM0)**(AF2+1))
  86. 60 CONTINUE
  87. VARPT (7) =CETOI/DT
  88.  
  89. C RECHERCHE DE LA POSITION ALPHA DE LA FIBRE NEUTRE
  90.  
  91. ALPH1=ANG/2
  92. ALPH2=ACOS(0.5D0*SIN(ANG))
  93. IF (ABS(SIG(6)).GT.(0.99D0*SIG(1)*RAYOM)) THEN
  94. ALPH=ALPH1
  95. GOTO 120
  96. ELSE
  97. X=XPI*ABS(SIG(6))/(SIG(1)*2*RAYOM)
  98. IF (X.LT.1.D-6) THEN
  99. ALPH=ALPH2
  100. GOTO 120
  101. ENDIF
  102. ENDIF
  103.  
  104. F1=COS(ALPH1)-0.5D0*SIN(ANG)-X*(ALPH1/XPI-ANG/(2*XPI))
  105. F2=COS(ALPH2)-0.5D0*SIN(ANG)-X*(ALPH2/XPI-ANG/(2*XPI))
  106. ALPH3=ALPH1-((ALPH2-ALPH1)/(F2-F1))*F1
  107. F3=COS(ALPH3)-0.5D0*SIN(ANG)-X*(ALPH3/XPI-ANG/(2*XPI))
  108.  
  109. ERR=F3
  110.  
  111. 70 CONTINUE
  112. IF ((F1*F3).LT.(0.0D0)) THEN
  113. ALPH2=ALPH3
  114. F2=F3
  115. ENDIF
  116. IF ((F2*F3).LT.(0.0D0)) THEN
  117. ALPH1=ALPH3
  118. F1=F3
  119. ENDIF
  120. ALPH3=ALPH1-((ALPH2-ALPH1)/(F2-F1))*F1
  121. F3=COS(ALPH3)-0.5D0*SIN(ANG)-X*(ALPH3/XPI-ANG/(2*XPI))
  122. ERR=COS(ALPH3)-0.5D0*SIN(ANG)-X*(ALPH3/XPI-ANG/(2*XPI))
  123. IF (ERR.GT.(1.00D-3)) GOTO 70
  124.  
  125. ALPH=ALPH3
  126. C EVALUATION DE L INCREMENT DE ROTATION DE FLUAGE
  127.  
  128. 120 CONTINUE
  129. YM0= 4*RAYOM*RAYOM*EPAIS*( COS(ALPH)-0.5D0*SIN(ANG))
  130. YP0= 2*RAYOM*EPAIS*(2*ALPH-ANG)
  131. IF (YM0.GE.1.0D-1) THEN
  132. EPSVPT(6)=CETOI/((SIG(6)/YM0)*RAYOM*(COS(ANG)+SIN(ALPH)))
  133. ELSE
  134. EPSVPT(6)=CETOI/((SIG(1)/YP0)*RAYOM*(COS(ANG)+SIN(ALPH)))
  135. ENDIF
  136. VARPT (6) = ABS(EPSVPT(6))
  137.  
  138. RETURN
  139. END
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  

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