Télécharger ddfds.eso

Retour à la liste

Numérotation des lignes :

  1. C DDFDS SOURCE CHAT 05/01/12 22:37:49 5004
  2. SUBROUTINE DDFDS(IC,ALFADV,ALFAD1,ALFAD2,YUNG,XNU,S1,S2,DDF,KERRE)
  3. C
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. -INC CCOPTIO
  7. C
  8. DIMENSION S1(6),S2(6),DDF(6),WW1(3)
  9. C
  10. C INITIALISATIONS
  11. C
  12. X=0.D0
  13. ALF=0.D0
  14. DO 1 I=1,6
  15. 1 DDF(I)=0.D0
  16. C
  17. IF(XNU.NE.0.5D0.AND.XNU.NE.-1.D0) GO TO 2
  18. WRITE(IOIMP,10) XNU
  19. KERRE=640
  20. RETURN
  21. C
  22. 2 GO TO(100,200,3,400,500),IC
  23. WRITE(IOIMP,11) IC
  24. KERRE=640
  25. RETURN
  26. C
  27. C CRITERE DE LA POROSITE (1)
  28. C
  29. 100 ALF=-0.3333333333333333333333333D0
  30. GO TO 4
  31. C
  32. C CRITERE DE DRUCKER DUCTILE (2)
  33. C
  34. 200 ALF=ALFADV
  35. GO TO 4
  36. C
  37. C CRITERE DE DRUCKER FRAGILE (4)
  38. C
  39. 400 ALF=ALFAD1
  40. GO TO 4
  41. C
  42. C CRITERE DE DRUCKER FRAGILE ECROUI. (5)
  43. C
  44. 500 ALF=ALFAD2
  45. C
  46. 4 X=(ALF*YUNG)/(1.D0-2.D0*XNU)
  47. C
  48. DDF(1)=X
  49. DDF(2)=X
  50. DDF(3)=X
  51. C
  52. IF(IC.EQ.1) RETURN
  53. C
  54. 3 SEQ2=AVM(S1,S1)
  55. SEQ=SQRT(SEQ2)
  56. SMOY=(S1(1)+S1(2)+S1(3))/3.D0
  57. IF(SEQ.GT.0.D0) GO TO 5
  58. SEQ2=AVM(S2,S2)
  59. SEQ=SQRT(SEQ2)
  60. SMOY=(S2(1)+S2(2)+S2(3))/3.D0
  61. IF(SEQ.GT.0.D0) GO TO 8
  62. WW1(1)=S2(1)
  63. WW1(2)=S2(2)
  64. WW1(3)=S2(4)
  65. CALL DIAGOD(WW1)
  66. ANGLE=WW1(3)*0.01745329252D0
  67. CO=COS(ANGLE)
  68. SII=SIN(ANGLE)
  69. CC=CO*CO
  70. SS=SII*SII
  71. CS=CO*SII
  72. UTIL=YUNG*ALF/((1.D0+XNU)*(1.D0-2.D0*XNU))
  73. UTI=1.D0-XNU
  74. WW1(1)=((UTI+2.D0*XNU)*UTIL)
  75. WW1(2)=WW1(1)
  76. WW1(3)=0.D0
  77. CALL RETOUR(WW1,DDF,CC,SS,CS,1)
  78. DDF(3)=((UTI+2.D0*XNU)*UTIL)
  79. DDF(5)=0.D0
  80. DDF(6)=0.D0
  81. RETURN
  82. C
  83. 5 Y=(YUNG*1.5D0)/(SEQ*(1.D0+XNU))
  84. DDF(1)=DDF(1)+Y*(S1(1)-SMOY)
  85. DDF(2)=DDF(2)+Y*(S1(2)-SMOY)
  86. DDF(3)=DDF(3)+Y*(S1(3)-SMOY)
  87. DDF(4)=Y*S1(4)
  88. DDF(5)=Y*S1(5)
  89. DDF(6)=Y*S1(6)
  90. GO TO 99
  91. 8 Y=(YUNG*1.5D0)/(SEQ*(1.D0+XNU))
  92. DDF(1)=DDF(1)+Y*(S2(1)-SMOY)
  93. DDF(2)=DDF(2)+Y*(S2(2)-SMOY)
  94. DDF(3)=DDF(3)+Y*(S2(3)-SMOY)
  95. DDF(4)=Y*S2(4)
  96. DDF(5)=Y*S2(5)
  97. DDF(6)=Y*S2(6)
  98. C
  99. 10 FORMAT(1X,'ERREUR DANS DDFDS XNU =',1PD12.5)
  100. 11 FORMAT(1X,'ERREUR DANS DDFDS DANS LA VALEUR DE IC =',I4)
  101. C
  102. 99 RETURN
  103. END
  104.  
  105.  

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