Télécharger avan1.eso

Retour à la liste

Numérotation des lignes :

avan1
  1. C AVAN1 SOURCE CHAT 05/01/12 21:29:47 5004
  2. C----------------------------------------------------------------
  3. SUBROUTINE AVAN1(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,
  4. + EPSVPT,VARPT,XPM,DSPT,
  5. + XMAT,NSTRS0,NVARI,NCOMAT,IFOUR,IVTEST,
  6. + MFR)
  7. C
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL*8(A-H,O-Z)
  10. DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)
  11. DIMENSION EPSVPT(*),VARPT(*),XPM(*),DSPT(*),XMAT(*)
  12. DIMENSION XX(6),EPSV0(6),EPSV00(6)
  13. C----------------------------------------------------------------
  14. C ====> connaissant l'{tat, c'est @ dire SIG, EPSV et VAR
  15. C ainsi que les deriv{es EPSVPT, VARPT et DSPT
  16. C on calcule l'{tat SIG1, EPSV1, VAR1 au temps T + TAU
  17. C----------------------------------------------------------------
  18. C
  19. NSTRS=NSTRS0
  20. C
  21. C------ AFFECTATION DE QUELQUES VARIABLES
  22. YOU = XMAT(1)
  23. XNU = XMAT(2)
  24. XM = XMAT(10)
  25. AN = XMAT(17)
  26. C
  27. C------- MAJ DE EPSV
  28. DO 30 I =1,NSTRS
  29. EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)
  30. 30 CONTINUE
  31. C
  32. C------- MAJ DE SIG
  33. C SIG1 = SIG + T.(E:EPSPT - E:EPSVPT ) , DSPT = E:EPSPT
  34. C cas des contraintes planes
  35. IF (IFOUR.EQ.-2) THEN
  36. SIG(3) = 0.0
  37. X2MU = YOU/(1.+XNU)
  38. XCO = X2MU/(1.-XNU)
  39. SIG1(1) =SIG(1) + TAU*(DSPT(1)- XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  40. SIG1(2) =SIG(2) + TAU*(DSPT(2)- XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  41. SIG1(4) =SIG(4) + TAU*(DSPT(4)- X2MU*EPSVPT(4))
  42. SIG1(3) = 0.0
  43. C cas tri dim
  44. ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
  45. & IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN
  46. IF (MFR.EQ.5) THEN
  47. X2MU=YOU/(1.0+XNU)
  48. XCO = X2MU/(1.0-XNU)
  49. SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  50. SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  51. SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3))
  52. SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))
  53. SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5))
  54. ELSE
  55. TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  56. X2MU = YOU/(1+XNU)
  57. XLAMB = X2MU*XNU/(1-2*XNU)
  58. DO 31 I=1,NSTRS
  59. A = 0.0
  60. IF (I.LE.3) A=1.0
  61. SIG1(I) = SIG(I) + TAU*(DSPT(I)-XLAMB*A*TRACE-X2MU*EPSVPT(I))
  62. 31 CONTINUE
  63. ENDIF
  64. C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ)
  65. ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
  66. SIG(3) = 0.
  67. XCO = YOU/(1.-XNU*XNU)
  68. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  69. SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  70. SIG1(3) = 0.
  71. C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et
  72. C= 1D axisymetrique contraintes axiales nulles (AXCZ)
  73. ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
  74. SIG(2) = 0.
  75. XCO = YOU/(1.-XNU*XNU)
  76. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3)))
  77. SIG1(2) = 0.
  78. SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1)))
  79. C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ)
  80. ELSE IF (IFOUR.EQ.6) THEN
  81. SIG(2) = 0.
  82. SIG(3) = 0.
  83. SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1))
  84. SIG1(2) = 0.
  85. SIG1(3) = 0.
  86. C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ)
  87. C= 1D axisymetrique (AXDZ AXGZ) et 1D spherique
  88. ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11
  89. . .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
  90. X2MU = YOU/(1.+XNU)
  91. TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  92. XCO = X2MU*XNU*TRACE/(1.-XNU)
  93. SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO)
  94. SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO)
  95. SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO)
  96. ELSE
  97. WRITE(*,*) 'CAS NON PREVU DANS AVAN1 (GUIONNET)'
  98. STOP
  99. ENDIF
  100. C
  101. C------ SAUVEGARDE DE VAR, MEMOIRE COMPRISE
  102. DO 32 I=1,NVARI,1
  103. VAR1(I) = VAR(I)
  104. 32 CONTINUE
  105. C
  106. C il n'y a que 4+NSTRS valeurs dans VARPT,
  107. C
  108. C------ MAJ DE VAR(1..4)
  109. IF (MFR.EQ.5) THEN
  110. NSTRS=NSTRS0+1
  111. EPSV0(1)=EPSV1(1)
  112. EPSV0(2)=EPSV1(2)
  113. EPSV0(3)=-1.*(EPSV0(1)+EPSV0(2))
  114. EPSV0(4)=EPSV1(3)
  115. EPSV0(5)=EPSV1(4)
  116. EPSV0(6)=EPSV1(5)
  117. EPSV00(1)=EPSV(1)
  118. EPSV00(2)=EPSV(2)
  119. EPSV00(3)=-1.*(EPSV00(1)+EPSV00(2))
  120. EPSV00(4)=EPSV(3)
  121. EPSV00(5)=EPSV(4)
  122. EPSV00(6)=EPSV(5)
  123. ELSE
  124. NSTRS=NSTRS0
  125. DO 01 I=1,NSTRS
  126. EPSV0(I)=EPSV1(I)
  127. EPSV00(I)=EPSV(I)
  128. 01 CONTINUE
  129. ENDIF
  130. VAR1(1) = VAR(1) + TAU*VARPT(1)
  131. VAR1(2) = VAR(2) + TAU*VARPT(2)
  132. C Chargement cyclique ?
  133. IF (VAR(2).LT.VAR(5+NSTRS)) THEN
  134. VAR1(3) = VAR(3) + TAU*VARPT(3)
  135. VAR1(4) = VAR(4) + TAU*VARPT(4)
  136. ELSE
  137. DPN = VAR1(2)**AN - VAR(2)**AN
  138. VAR1(3) = VAR(3) + DPN
  139. VAR1(4) = VAR(4) + DPN
  140. ENDIF
  141. C
  142. C------ MAJ DE VAR(4+1..NSTRS)
  143. C D X = XPM * D P**XM + XPT * D T
  144. C P1 = VAR(2)
  145. DPM = VAR1(2)**XM - VAR(2)**XM
  146. DO 34 I=1,NSTRS,1
  147. VAR1(4+I) = VAR(4+I) + XPM(I)*DPM + VARPT(4+I)*TAU
  148. 34 CONTINUE
  149. C
  150. C CRITERE D'INVERSION : EXTREMUM D'UNE DES COMPOSANTES DU TENSEUR
  151. C DES DEFORMATIONS VISCOPLASTIQUES
  152. C
  153. CALL GIOCRT(EPSV0,EPSV00,NSTRS,VAR1,NVARI,IVTEST)
  154. C
  155. RETURN
  156. END
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  

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