Télécharger advddi.eso

Retour à la liste

Numérotation des lignes :

  1. C ADVDDI SOURCE CB215821 16/04/21 21:15:06 8920
  2. SUBROUTINE ADVDDI(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT,
  3. & EPSVPT,VARPT,XMAT,NSTRS,NVARI,IFOUR,INPLAS,NCOMAT
  4. & ,MFR)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*)
  8. DIMENSION DSPT(*),EPSVPT(*),VARPT(*),XMAT(*)
  9. C ____________________________________________________________________
  10. C
  11. C THIS ROUTINE UPDATES THE STRAINS ,STRESSES & INTERNAL VARIABLES
  12. C ____________________________________________________________________
  13. C
  14. DETIER=2.0D0/3.0D0
  15. C STEP-1 : UPDATING STRAINS
  16. C ----------------------------
  17. YOU =XMAT(1)
  18. XNU =XMAT(2)
  19. DO 10 I=1,NSTRS
  20. EPSV1(I)=EPSV(I)+TAU*EPSVPT(I)
  21. 10 CONTINUE
  22. C
  23. C STEP-2 : UPDATING STESSES
  24. C ----------------------------
  25. IF(IFOUR.EQ.-2) THEN
  26. SIG(3)=0.0D0
  27. X2MU=YOU/(1.0+XNU)
  28. XCO = X2MU/(1.0-XNU)
  29. SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  30. SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  31. SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))
  32. SIG1(3)=0.0D0
  33. ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.
  34. & IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN
  35. X2MU = YOU/(1+XNU)
  36. ALMB = X2MU*XNU/(1-2*XNU)
  37. IF (MFR.EQ.5) THEN
  38. X2MU=YOU/(1.0+XNU)
  39. XCO = X2MU/(1.0-XNU)
  40. SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  41. SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  42. SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3))
  43. SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4))
  44. SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5))
  45. ELSE
  46. TRACE=EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  47. DO 20 I=1,NSTRS,1
  48. A = 0.0
  49. IF (I.LE.3) A=1.0
  50. SIG1(I) = SIG(I) +
  51. & TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I))
  52. 20 CONTINUE
  53. ENDIF
  54. C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ)
  55. ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
  56. SIG(3) = 0.
  57. XCO = YOU/(1.-XNU*XNU)
  58. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2)))
  59. SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1)))
  60. SIG1(3) = 0.
  61. C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et
  62. C= 1D axisymetrique contraintes axiales nulles (AXCZ)
  63. ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
  64. SIG(2) = 0.
  65. XCO = YOU/(1.-XNU*XNU)
  66. SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3)))
  67. SIG1(2) = 0.
  68. SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1)))
  69. C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ)
  70. ELSE IF (IFOUR.EQ.6) THEN
  71. SIG(2) = 0.
  72. SIG(3) = 0.
  73. SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1))
  74. SIG1(2) = 0.
  75. SIG1(3) = 0.
  76. C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ)
  77. C= 1D axisymetrique (AXDZ AXGZ) et 1D spherique
  78. ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11
  79. . .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN
  80. X2MU = YOU/(1.+XNU)
  81. TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3)
  82. XCO = X2MU*XNU*TRACE/(1.-XNU)
  83. SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO)
  84. SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO)
  85. SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO)
  86. ENDIF
  87. C
  88. C STEP-3 : UPDATING THE INTERNAL VARIABLES
  89. C------------------------------------------
  90. IF (MFR.EQ.5) THEN
  91. NSTRS0=NSTRS+1
  92. ELSE
  93. NSTRS0=NSTRS
  94. ENDIF
  95. DO 50 I=1,NVARI
  96. VAR1(I)=VAR(I)+TAU*VARPT(I)
  97. 50 CONTINUE
  98. DO 60 I=1,NSTRS0
  99. VAR1(I)=DETIER*(XMAT(8)*VAR1(2*NSTRS+I)+XMAT(21)*VAR1(7*NSTRS+I))
  100. VAR1(NSTRS+I)=DETIER*(XMAT(9)*VAR1(3*NSTRS+I)+
  101. & XMAT(22)*VAR1(8*NSTRS+I))
  102. VAR1(5*NSTRS+I)=DETIER*(XMAT(17)*VAR1(7*NSTRS+I)+
  103. & XMAT(21)*VAR1(2*NSTRS+I))
  104. VAR1(6*NSTRS+I)=DETIER*(XMAT(18)*VAR1(8*NSTRS+I)+
  105. & XMAT(22)*VAR1(3*NSTRS+I))
  106. 60 CONTINUE
  107. VAR1(10*NSTRS+2)=XMAT(6)*(1.D0-EXP(-XMAT(7)*VAR1(10*NSTRS+1)))
  108. VAR1(10*NSTRS+4)=XMAT(15)*(1.D0-EXP(-XMAT(16)*VAR1(10*NSTRS+3)))
  109. C
  110. C _____________________________________________________________________
  111. RETURN
  112. END
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  

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