Télécharger ddfds.eso

Retour à la liste

Numérotation des lignes :

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

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