Télécharger ladep.eso

Retour à la liste

Numérotation des lignes :

ladep
  1. C LADEP SOURCE CB215821 16/04/21 21:17:39 8920
  2. SUBROUTINE LADEP(S1,DEP,PAEC,SEQ,NSTRS,IFOU,
  3. & DFSIG,D2FSIG,DLAM,D,DP,BETJEF)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. DIMENSION S1(4),DEP(4,4),DP(4,4),AH(4,4),IS(4)
  8. DIMENSION D(4,4),AC(6),AB(6),D2FSIG(4,4),DFSIG(4)
  9. DIMENSION AI(4,4), AJ(4,4), AK(4,4),AKI(4,4)
  10. *
  11. SEGMENT BETJEF
  12. REAL*8 AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  13. & TCON,DPSTF1,DPSTF2,TETA,PDT,TP0
  14. INTEGER ICT,ICC,IMOD,IVISS,ITER,
  15. & ISIM,IBB1,IGAU1,IZON
  16. ENDSEGMENT
  17. *
  18. * COMMON /DBETJEF/AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  19. * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICT,ICC,IMOD,IVISS,ITER,
  20. * & ISIM,IBB1,IGAU1,IZON
  21. C *************************************************
  22. C ** CALCUL DE LA MATRICE ELASTOPLASTIQUE [Dep] **
  23. C *************************************************
  24. C-------------------------------------------------------------------
  25. CALL ZERO(DEP,4,4)
  26. CALL ZERO(DP,4,4)
  27. CALL ZERO(AB,6,1)
  28. CALL ZERO(AC,6,1)
  29. C-------------------------------------------------------------------
  30. IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN
  31. AD=YOUN/(1.D0-XNU*XNU)
  32. D(1,1)=AD
  33. D(2,2)=D(1,1)
  34. D(3,3)=AD*(1.D0-XNU)/2.D0
  35. D(1,2)=AD*XNU
  36. D(2,1)=D(1,2)
  37. D(1,3)=0.D0
  38. D(2,3)=0.D0
  39. D(3,1)=0.D0
  40. D(3,2)=0.D0
  41. ENDIF
  42. IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN
  43. ADD=YOUN/((1.D0+XNU)*(1.D0-2.D0*XNU))
  44. D(1,1)=ADD*(1.D0-XNU)
  45. D(2,2)=D(1,1)
  46. D(3,3)=D(1,1)
  47. D(1,2)=ADD*XNU
  48. D(2,1)=D(1,2)
  49. D(1,3)=D(1,2)
  50. D(2,3)=D(1,2)
  51. D(3,1)=D(1,2)
  52. D(3,2)=D(1,2)
  53. D(1,4)=0.D0
  54. D(2,4)=0.D0
  55. D(3,4)=0.D0
  56. D(4,1)=0.D0
  57. D(4,2)=0.D0
  58. D(4,3)=0.D0
  59. D(4,4)=0.5*ADD*(1.D0-2.D0*XNU)
  60. ENDIF
  61. C-------------------------------------------------------------------
  62. DO 1 I=1,NSTRS
  63. DO 1 J=1,NSTRS
  64. IF (I.EQ.J) THEN
  65. AI(I,J)=1.D0
  66. ELSE
  67. AI(I,J)=0.D0
  68. ENDIF
  69. 1 CONTINUE
  70. C
  71. DO 2 I=1,NSTRS
  72. DO 2 J=1,NSTRS
  73. AJ(I,J)=D(I,J)
  74. 2 CONTINUE
  75. C-------------------------------------------------------------------
  76. CALL INVMA2(AJ,NSTRS,ISING)
  77. IF (ISING.EQ.1) THEN
  78. C WRITE(*,*)'MATRICE AJ singuliere dans eladep '
  79. ENDIF
  80. C-------------------------------------------------------------------
  81. C
  82. DO 3 I=1,NSTRS
  83. DO 3 J=1,NSTRS
  84. AK(I,J)=AJ(I,J)+DLAM*D2FSIG(I,J)
  85. 3 CONTINUE
  86. DO 13 I=1,NSTRS
  87. DO 13 J=1,NSTRS
  88. AH(I,J)=AK(I,J)
  89. 13 CONTINUE
  90. C-------------------------------------------------------------------
  91. CALL INVMA2(AH,NSTRS,ISING)
  92. IF (ISING.EQ.1) THEN
  93. C WRITE(*,*)'MATRICE AKI singuliere ds ladep '
  94. ENDIF
  95. C-------------------------------------------------------------------
  96. C
  97. DO 5 I=1,NSTRS
  98. DO 5 J=1,NSTRS
  99. AB(I)=AB(I)+AH(I,J)*DFSIG(J)
  100. 5 CONTINUE
  101. C
  102. DO 6 I=1,NSTRS
  103. DO 6 J=1,NSTRS
  104. AC(I)=AC(I)+AH(J,I)*DFSIG(J)
  105. 6 CONTINUE
  106. C
  107. DO 7 I=1,NSTRS
  108. DO 7 J=1,NSTRS
  109. DP(I,J)=DP(I,J)+AB(I)*AC(J)
  110. 7 CONTINUE
  111. C
  112. H1=0.D0
  113. DO 8 I=1,NSTRS
  114. H1=H1+DFSIG(I)*AB(I)
  115. 8 CONTINUE
  116. C
  117. HA=H1+PAEC
  118. DO 9 I=1,NSTRS
  119. DO 9 J=1,NSTRS
  120. DP(I,J)=DP(I,J)/HA
  121. DEP(I,J)=AH(I,J)-DP(I,J)
  122. 9 CONTINUE
  123. C
  124. DO 10 I=1,NSTRS
  125. DO 10 J=1,NSTRS
  126. IF (ABS(DEP(I,J)).LT.1.D-5) THEN
  127. DEP(I,J)=0.D0
  128. ENDIF
  129. 10 CONTINUE
  130. C-------------------------------------------------------------------
  131. RETURN
  132. END
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  

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