Télécharger adva22.eso

Retour à la liste

Numérotation des lignes :

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

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