Télécharger adva22.eso

Retour à la liste

Numérotation des lignes :

  1. C ADVA22 SOURCE CHAT 05/01/12 21:18:38 5004
  2. SUBROUTINE ADVA22(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,SIGPT,EPSVPT,
  3. & VARPT,XMAT,NSTRS,NVARI)
  4. C -----------------------------------------------------------------
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. -INC CCOPTIO
  8. DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)
  9. DIMENSION SIGPT(*),EPSVPT(*),VARPT(*),XMAT(*)
  10. C
  11. C ICI : le modele est obligatoirement CERAMIQUE
  12. C----------------------------------------------------------------
  13. C THIS ROUTINE CALCULATES THE LATEST VALUES OF SIG,EPSV,VAR,
  14. C FROM THE INITIAL VALUES OF SIG,EPSV,VAR AND DERIVATIVES :
  15. C SIGPT,EPSVPT,VARPT
  16. C----------------------------------------------------------------
  17. C
  18. T1 = XMAT(1)/(1.D0-XMAT(2)*XMAT(2))
  19. T2 = T1 * XMAT(2)
  20. T3 = XMAT(1)/(1.D0+XMAT(2))
  21. NS = NSTRS/2
  22. C
  23. C________________________________________________________________
  24. C STRAIN COMPONENTS
  25. C________________________________________________________________
  26. DO 10 I =1,NSTRS
  27. EPSV1(I) = EPSV(I) + TAU*EPSVPT(I)
  28. 10 CONTINUE
  29. C
  30. C________________________________________________________________
  31. C STRESS COMPONENTS
  32. C________________________________________________________________
  33. IF(NS.EQ.2) THEN
  34. SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2))
  35. SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1))
  36. SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T1*EPSVPT(3)-T2*EPSVPT(4))
  37. SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(3))
  38. IF(IFOUR.EQ.-2) THEN
  39. SIG1(2)=0.D0
  40. SIG1(4)=0.D0
  41. ENDIF
  42. ELSE
  43. SIG1(1) = SIG(1) + TAU*(SIGPT(1)- T1*EPSVPT(1)-T2*EPSVPT(2))
  44. SIG1(2) = SIG(2) + TAU*(SIGPT(2)- T1*EPSVPT(2)-T2*EPSVPT(1))
  45. SIG1(3) = SIG(3) + TAU*(SIGPT(3)- T3*EPSVPT(3))
  46. SIG1(4) = SIG(4) + TAU*(SIGPT(4)- T1*EPSVPT(4)-T2*EPSVPT(5))
  47. SIG1(5) = SIG(5) + TAU*(SIGPT(5)- T1*EPSVPT(5)-T2*EPSVPT(4))
  48. SIG1(6) = SIG(6) + TAU*(SIGPT(6)- T3*EPSVPT(6))
  49. IF(IFOUR.EQ.-2) THEN
  50. SIG1(2)=0.D0
  51. SIG1(5)=0.D0
  52. ENDIF
  53. ENDIF
  54. C________________________________________________________________
  55. C INTERNAL VARIABLES
  56. C________________________________________________________________
  57. C La première variable interne qui était la derniere dans advan2 correspond à EPSE
  58. VAR1(1) = VAR(1)+TAU*VARPT(1)
  59. C La dernière variable interne correspond à EPSE fluage
  60. VAR1(NVARI) = VAR1(NVARI)+TAU*VARPT(NVARI)
  61. C l'avant dernière variable interne correspond à l'endommagement
  62. C on n'y touche pas ici
  63. VAR1(NVARI-1) = VAR(NVARI-1)
  64. CCC IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN
  65. CCC IBID = 11
  66. CCC ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1
  67. CCC 1 .OR.IFOUR.EQ.0) THEN
  68. CCC IBID = 14
  69. CCC ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN
  70. CCC IBID = 19
  71. CCC ENDIF
  72. CCC Eloi : correction de IBID
  73. CCC de plus : ici on a obligatoirement MFR = 3
  74. IBID=NVARI-(2*NSTRS)-5
  75. C de 2 à IBID on a les variables d'ottosen qu'on ne touche pas
  76. C On ne change pas les variables de OTTOSEN
  77. DO 20 I=2,IBID
  78. VAR1(I)=VAR(I)
  79. 20 CONTINUE
  80. C de IBID + 1 à IBID + 2*NSTRS+3
  81. DO 30 I=(IBID+1),(IBID+2*NSTRS+3)
  82. VAR1(I)=VARPT(I)
  83. 30 CONTINUE
  84. RETURN
  85. END
  86. C pour mémoire voici ce qu'il y avait dans advan2
  87. **************************************************
  88. C
  89. C IF((INPLAS.GE.19.AND.INPLAS.LE.23).OR.INPLAS.EQ.61) THEN
  90. C DO 30 I=1,2*NSTRS+3
  91. C VAR1(I)=VARPT(I)
  92. C 30 CONTINUE
  93. C en fait dans IDVAR1 on a 2*NSTRS+4 = NVARI
  94. C il s'agit donc de la variable EPSE qu'on met à jour
  95. C DO 40 I=2*NSTRS+4,NVARI
  96. C VAR1(I)=VAR(I)+TAU*VARPT(I)
  97. C 40 CONTINUE
  98. ***********************************************
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  

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