Télécharger tufiec.eso

Retour à la liste

Numérotation des lignes :

tufiec
  1. C TUFIEC SOURCE CB215821 16/04/21 21:18:32 8920
  2. SUBROUTINE TUFIEC(XM,XP,DELTAM,DELTAP,THETA,XJP,EP,FIP,
  3. & DLAM1,DLAM2,PRECIS,IRET,XM0,XP0,RAYOM,XLAM0,WORK,EPAI,YOUN,
  4. & THETA0,KERRE)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. C=====================================================================
  8. C CE SOUS PROGRAMME REALISE L ECOULEMENT PLASTIQUE
  9. C SANS PROPAGATION
  10. C IL EST APPELE PAR TUFIPA
  11. C
  12. C ENTREES : XM,XP CONTRAINTES SUR LE CRITERE
  13. C DELTAM,DELTAP INCREMENT EN ELASTIQUE
  14. C THETA ANGLE DE LA FISSURE
  15. C XJP VALEUR DE JP AU DEBUT
  16. C IRET REGION OU L ON SE TROUVE
  17. C
  18. C SORTIES : XJP VALEUR DE JP A LA FIN
  19. C EP,FIP INCREMENT DE DEFORMATIONS PLASTIQUES
  20. C DLAM1,DLAM2 INCREMENT DE LAMBDA
  21. C=======================================================================
  22. -INC CCREEL
  23. *-
  24.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. SEGMENT/WORK/(SIG(NCOURB)*D,XLAM(NCOURB)*D)
  28. DIMENSION DTUFI(2,2),CTUFI(2,2)
  29. XM0SS0=4.D0*RAYOM*RAYOM*EPAI
  30. XP0SS0=2.D0*XPI*RAYOM*EPAI
  31. NCOURB=SIG(/1)
  32. IBI=0
  33. C
  34. IF(IIMPI.EQ.999)WRITE (IOIMP,*) 'ENTREE DANS TUFIEC'
  35. C
  36. C ON TESTE SUR QUELLE SURFACE ON DOIT PROJETTER
  37. C
  38. * CAS DE L OUVERTURE
  39. IF(IRET.EQ.1) SENS=1.d0
  40. * CAS DE LA FERMETURE
  41. IF(IRET.EQ.3) SENS=-1.D0
  42. * POINTS SINGULIERS
  43. IF(IRET.NE.1.AND.IRET.NE.3) GOTO 2
  44. C
  45. C POINTS NON SINGULIERS ON FAIT L ECOULEMENT
  46. C
  47. NBIT=0
  48. CALL TUFIHO(THETA0,DTUFI,CTUFI,YOUN,RAYOM,EPAI)
  49. C
  50. C 1ERE ESTIMATION : TOUT EST ELASTIQUE
  51. C
  52. EP1=0.D0
  53. FIP1=0.D0
  54. XM1=XM+DELTAM
  55. XP1=XP+DELTAP
  56. XLAM1=XLAM0
  57. CALL TRACTI(SIGMA1,XLAM1,SIG,XLAM,NCOURB,2,IBI)
  58. IF(IBI.EQ.1) THEN
  59. KERRE=75
  60. RETURN
  61. ENDIF
  62. XM0=XM0SS0*SIGMA1
  63. XP0=XP0SS0*SIGMA1
  64. F1=CRIT1(XM1,XP1,THETA0,XM0,XP0)
  65.  
  66. C
  67. C 2EME ESTIMATION : TOUT EST PLASTIQUE
  68. C SI BEAUCOUP TROP GRAND , ESTIMATION A PARTIR COURBE (M,PHIP)
  69. C
  70. CALL TRACTI(PENTE1,XLAM1,SIG,XLAM,NCOURB,1,IBI)
  71. FIP21=ABS((DELTAM/XM0SS0)/PENTE1)
  72. FIP2=CTUFI(1,1)*DELTAM+CTUFI(1,2)*DELTAP
  73. AFIP2=SENS*FIP2
  74. IF (FIP21.LT.AFIP2) FIP2=FIP21*SENS
  75. FIP=CTUFI(1,1)*DELTAM+CTUFI(1,2)*DELTAP
  76. EP=CTUFI(1,2)*DELTAM+CTUFI(2,2)*DELTAP
  77. ALPH=EP/FIP
  78. EP2=ALPH*FIP2
  79.  
  80. XLAM2=XLAM0+FIP2*SENS
  81. CALL TRACTI(SIGMA2,XLAM2,SIG,XLAM,NCOURB,2,IBI)
  82. IF(IBI.EQ.1) THEN
  83. KERRE=75
  84. RETURN
  85. ENDIF
  86. XM0=XM0SS0*SIGMA2
  87. XP0=XP0SS0*SIGMA2
  88. DM2=DELTAM-DTUFI(1,1)*FIP2-DTUFI(1,2)*EP2
  89. DP2=DELTAP-DTUFI(1,2)*FIP2-DTUFI(2,2)*EP2
  90. XM2=XM+DM2
  91. XP2=XP+DP2
  92. F2=CRIT1(XM2,XP2,THETA0,XM0,XP0)
  93. IF (ABS(F2).LT.PRECIS) THEN
  94. FIP3=FIP2
  95. EP3=EP2
  96. XM3=XM2
  97. XP3=XP2
  98. GOTO 20
  99. ENDIF
  100. C
  101. C DETERMINATION DE DELTA LAMBDA PAR DICHOTOMIE
  102. C
  103. 11 CONTINUE
  104. NBIT=NBIT+1
  105. C
  106. C TEST SUR LE NOMBRE D ITERATIONS INTERNES
  107. C
  108. IF(NBIT.GT.50) THEN
  109. KERRE=2
  110. RETURN
  111. ENDIF
  112. FP=(FIP2-FIP1)/(F2-F1)
  113. FIP3=FIP1-FP*F1
  114. XLAM3=XLAM0+FIP3*SENS
  115. CALL TRACTI(SIGMA3,XLAM3,SIG,XLAM,NCOURB,2,IBI)
  116. IF(IBI.EQ.1) THEN
  117. KERRE=75
  118. RETURN
  119. ENDIF
  120. XM0=XM0SS0*SIGMA3
  121. XP0=XP0SS0*SIGMA3
  122. EP3=ALPH*FIP3
  123. DM3=DELTAM-DTUFI(1,1)*FIP3-DTUFI(1,2)*EP3
  124. DP3=DELTAP-DTUFI(1,2)*FIP3-DTUFI(2,2)*EP3
  125. XM3=XM+DM3
  126. XP3=XP+DP3
  127. F3=CRIT1(XM3,XP3,THETA0,XM0,XP0)
  128. C
  129. C TESTS DE CONVERGENCE
  130. C
  131. IF (ABS(F3).LT.PRECIS) GOTO 20
  132. C
  133. IF ((F1*F3).LT.0.D0) THEN
  134. FIP2=FIP3
  135. F2=F3
  136. GO TO 11
  137. ENDIF
  138. IF (((F1*F2).GT.0.D0).OR.((F3*F2).LT.0.D0)) THEN
  139. FIP1=FIP3
  140. F1=F3
  141. GO TO 11
  142. ENDIF
  143. 20 CONTINUE
  144. IF(IRET.EQ.1) THEN
  145. DLAM1=FIP3
  146. DLAM2=0.D0
  147. ELSE
  148. DLAM1=0.D0
  149. DLAM2=FIP3*SENS
  150. ENDIF
  151. FIP=FIP3
  152. EP=EP3
  153. XM=XM3
  154. XP=XP3
  155. C DJP=RAYOM*COS(THETA)*DLAM1/XM0
  156. C DJP=RAYOM*COS(THETA)*FIP
  157. C DJP=SIGMA3*(DJP+EP)
  158. DJP=RAYOM*SIGMA3*(COS(THETA)+SIN(THETA/2.D0))*FIP*SENS
  159. XJP=XJP+DJP
  160. IF(IIMPI.EQ.999)THEN
  161. WRITE (IOIMP,*) 'NBRE ITERATIONS',NBIT
  162. WRITE (IOIMP,*)'SORTIE DE TUFIEC'
  163. ENDIF
  164. RETURN
  165. C
  166. C CAS DES POINTS SINGULIERS DE LA SURFACE
  167. C
  168. 2 CONTINUE
  169. XM1=XM+DELTAM
  170. XP1=XP+DELTAP
  171. IF(IIMPI.EQ.999)WRITE(IOIMP,*)'ON EST SUR UNE POINTE'
  172. KERRE=21
  173. C
  174. C ON CHERCHE OU L ON VA PROJETTER
  175. C
  176. C CALL TUFINO(XM1,XP1,THETA,ISOR,XM0,XP0)
  177. C IF(ISOR.EQ.1) GO TO 10
  178. C IF(ISOR.EQ.3) GO TO 30
  179. C
  180. C ON PROJETTE SUR LA POINTE
  181. C
  182. C IF(IIMPI.EQ.999)WRITE(IOIMP,*)'ON PROJETTE SUR LA POINTE'
  183. C CALL TUFIHO(THETA,DTUFI,CTUFI,YOUN,RAYOM,EPAI)
  184. C FIP=CTUFI(1,1)*DELTAM+CTUFI(1,2)*DELTAP
  185. C EP=CTUFI(1,2)*DELTAM+CTUFI(2,2)*DELTAP
  186. C DJP=SIGMA0*ABS(EP)
  187. C XJP=XJP+DJP
  188. IF(IIMPI.EQ.999)WRITE (IOIMP,*) 'SORTIE DE TUFIEC'
  189. RETURN
  190. END
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  

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