Télécharger ladep.eso

Retour à la liste

Numérotation des lignes :

ladep
  1. C LADEP SOURCE CB215821 26/08/24 21:17:07 12622
  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 14 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. 14 CONTINUE
  71. C
  72. DO 15 I=1,NSTRS
  73. DO 2 J=1,NSTRS
  74. AJ(I,J)=D(I,J)
  75. 2 CONTINUE
  76. 15 CONTINUE
  77. C-------------------------------------------------------------------
  78. CALL INVMA2(AJ,NSTRS,ISING)
  79. IF (ISING.EQ.1) THEN
  80. C WRITE(*,*)'MATRICE AJ singuliere dans eladep '
  81. ENDIF
  82. C-------------------------------------------------------------------
  83. C
  84. DO 16 I=1,NSTRS
  85. DO 3 J=1,NSTRS
  86. AK(I,J)=AJ(I,J)+DLAM*D2FSIG(I,J)
  87. 3 CONTINUE
  88. 16 CONTINUE
  89. DO 17 I=1,NSTRS
  90. DO 13 J=1,NSTRS
  91. AH(I,J)=AK(I,J)
  92. 13 CONTINUE
  93. 17 CONTINUE
  94. C-------------------------------------------------------------------
  95. CALL INVMA2(AH,NSTRS,ISING)
  96. IF (ISING.EQ.1) THEN
  97. C WRITE(*,*)'MATRICE AKI singuliere ds ladep '
  98. ENDIF
  99. C-------------------------------------------------------------------
  100. C
  101. DO 18 I=1,NSTRS
  102. DO 5 J=1,NSTRS
  103. AB(I)=AB(I)+AH(I,J)*DFSIG(J)
  104. 5 CONTINUE
  105. 18 CONTINUE
  106. C
  107. DO 19 I=1,NSTRS
  108. DO 6 J=1,NSTRS
  109. AC(I)=AC(I)+AH(J,I)*DFSIG(J)
  110. 6 CONTINUE
  111. 19 CONTINUE
  112. C
  113. DO 20 I=1,NSTRS
  114. DO 7 J=1,NSTRS
  115. DP(I,J)=DP(I,J)+AB(I)*AC(J)
  116. 7 CONTINUE
  117. 20 CONTINUE
  118. C
  119. H1=0.D0
  120. DO 8 I=1,NSTRS
  121. H1=H1+DFSIG(I)*AB(I)
  122. 8 CONTINUE
  123. C
  124. HA=H1+PAEC
  125. DO 21 I=1,NSTRS
  126. DO 9 J=1,NSTRS
  127. DP(I,J)=DP(I,J)/HA
  128. DEP(I,J)=AH(I,J)-DP(I,J)
  129. 9 CONTINUE
  130. 21 CONTINUE
  131. C
  132. DO 22 I=1,NSTRS
  133. DO 10 J=1,NSTRS
  134. IF (ABS(DEP(I,J)).LT.1.D-5) THEN
  135. DEP(I,J)=0.D0
  136. ENDIF
  137. 10 CONTINUE
  138. 22 CONTINUE
  139. C-------------------------------------------------------------------
  140. RETURN
  141. END
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  

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