Télécharger crilam.eso

Retour à la liste

Numérotation des lignes :

crilam
  1. C CRILAM SOURCE CB215821 16/04/21 21:16:10 8920
  2. SUBROUTINE CRILAM(I,ST,S,DS,ALFV,ALF1,ALF2,VOM,DPD,DF1,DF2,POR,P1,
  3. .P2,P3,YUNG,XNU,DGLAMP,DGLAMM,DGLAM,DL,DI,ISOMET,KERRE)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7.  
  8. -INC PPARAM
  9. -INC CCOPTIO
  10. C
  11. DIMENSION S(*),DS(*),ST(*)
  12. C
  13. ZR=0.D0
  14. ISOMET=0
  15. C
  16. GO TO (100,200,300,400,500),I
  17. WRITE(IOIMP,10)I
  18. KERRE=640
  19. RETURN
  20. C
  21. C CAS DU CRITERE DE LA POROSITE (1)
  22. C
  23. 100 A=-0.33333333333333333333333333333333333D0
  24. IB=0
  25. H=P3
  26. GO TO 1
  27. C
  28. C CAS DU CRITERE DE DRUCKER DUCTILE (2)
  29. C
  30. 200 A=ALFV
  31. IB=1
  32. H=0.D0
  33. GO TO 1
  34. C
  35. C CAS DU CRITERE DE VON MISES (3)
  36. C
  37. 300 A=0.D0
  38. IB=1
  39. H=P1
  40. GO TO 1
  41. C
  42. C CAS DU CRITERE DE DRUCKER FRAGILE (4)
  43. C
  44. 400 A=ALF1
  45. IB=1
  46. H=0.
  47. GO TO 1
  48. C
  49. C CAS DU CRITERE DE DRUCKER FRAGILE ECROUI. (5)
  50. C
  51. 500 A=ALF2
  52. IB=1
  53. H=P2
  54. GO TO 1
  55. C
  56. 1 SU=1.5D0*YUNG/(1.D0+XNU)
  57. DU=3.D0*YUNG/(1.D0-2.D0*XNU)
  58. C
  59. C CALCUL DU: DEN
  60. C
  61. DEN=H
  62. IF(IB.NE.0) DEN=DEN+SU
  63. IF(A.NE.0.D0) DEN=DEN+A*A*DU
  64. IF(DEN.NE.0.D0) GO TO 2
  65. WRITE(IOIMP,11)
  66. KERRE=640
  67. RETURN
  68. C
  69. 2 CALL KRITER(I,ALFV,ALF1,ALF2,VOM,DPD,DF1,DF2,POR,P1,
  70. .P2,P3,ZR,ST,FSIG,FCRIT,KERRE)
  71. DGLAMM=FCRIT/DEN
  72. CALL KRITER(I,ALFV,ALF1,ALF2,VOM,DPD,DF1,DF2,POR,P1,
  73. .P2,P3,ZR,S,FSIG,FCRIT,KERRE)
  74. DI=FCRIT/DEN
  75. TRDS=DS(1)+DS(2)+DS(3)
  76. X=A*TRDS
  77. IF(A.EQ.0.D0) X=0.D0
  78. IF(IB.EQ.0)GO TO 3
  79. TRS=S(1)+S(2)+S(3)
  80. SIGEQ2=AVM(S,S)
  81. SIGEQ=SQRT(SIGEQ2)
  82. IF(SIGEQ.NE.0.D0) GO TO 5
  83. ISOMET=1
  84. DGLAM=TRDS*A/DEN
  85. GO TO 6
  86. 5 FF=S(1)*DS(1)+S(2)*DS(2)+S(3)*DS(3)
  87. ZZ=2.D0*(S(4)*DS(4)+S(5)*DS(5)+S(6)*DS(6))
  88. TRSDS=FF+ZZ-TRS*TRDS/3.D0
  89. X=X+1.5D0*TRSDS/SIGEQ
  90. 3 DGLAM=X/DEN
  91. 6 X=A*TRDS
  92. IF(A.EQ.0.D0) X=0.D0
  93. IF(IB.EQ.0)GO TO 4
  94. TRS=ST(1)+ST(2)+ST(3)
  95. SIGEQ2=AVM(ST,ST)
  96. SIGEQ=SQRT(SIGEQ2)
  97. IF(SIGEQ.NE.0.D0) GO TO 7
  98. ISOMET=1
  99. DGLAMP=TRDS*A/DEN
  100. GO TO 8
  101. 7 FF=ST(1)*DS(1)+ST(2)*DS(2)+ST(3)*DS(3)
  102. ZZ=2.D0*(ST(4)*DS(4)+ST(5)*DS(5)+ST(6)*DS(6))
  103. TRSDS=FF+ZZ-TRS*TRDS/3.D0
  104. X=X+1.5D0*TRSDS/SIGEQ
  105. 4 DGLAMP=X/DEN
  106. 8 DL=DGLAMM-0.5D0*DGLAMP
  107. C
  108. 10 FORMAT(1X,'ERREUR DANS CRILAM I=',I4)
  109. 11 FORMAT(1X,'ERREUR DANS CRILAM DEN EGAL A ZERO')
  110. C
  111. RETURN
  112. END
  113.  
  114.  
  115.  
  116.  

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