Télécharger advflo.eso

Retour à la liste

Numérotation des lignes :

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

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