Download ddfds.eso

Back to the list

   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)
  64 :       CALL DIAGOD(WW1)
  65 :       ANGLE=WW1(3)*0.01745329252D0
  66 :       CO=COS(ANGLE)
  67 :       SII=SIN(ANGLE)
  68 :       CC=CO*CO
  69 :       SS=SII*SII
  70 :       CS=CO*SII
  71 :       UTIL=YUNG*ALF/((1.D0+XNU)*(1.D0-2.D0*XNU))
  72 :       UTI=1.D0-XNU
  73 :       WW1(1)=((UTI+2.D0*XNU)*UTIL)
  74 :       WW1(2)=WW1(1)
  75 :       WW1(3)=0.D0
  75 :       CALL RETOUR(WW1,DDF,CC,SS,CS,1)
  76 :       DDF(3)=((UTI+2.D0*XNU)*UTIL)
  77 :       DDF(5)=0.D0
  78 :       DDF(6)=0.D0
  79 :       RETURN
  80 : C
  81 :     5 Y=(YUNG*1.5D0)/(SEQ*(1.D0+XNU))
  82 :       DDF(1)=DDF(1)+Y*(S1(1)-SMOY)
  83 :       DDF(2)=DDF(2)+Y*(S1(2)-SMOY)
  84 :       DDF(3)=DDF(3)+Y*(S1(3)-SMOY)
  85 :       DDF(4)=Y*S1(4)
  86 :       DDF(5)=Y*S1(5)
  87 :       DDF(6)=Y*S1(6)
  88 :       GO TO 99
  89 :     8 Y=(YUNG*1.5D0)/(SEQ*(1.D0+XNU))
  90 :       DDF(1)=DDF(1)+Y*(S2(1)-SMOY)
  91 :       DDF(2)=DDF(2)+Y*(S2(2)-SMOY)
  92 :       DDF(3)=DDF(3)+Y*(S2(3)-SMOY)
  93 :       DDF(4)=Y*S2(4)
  94 :       DDF(5)=Y*S2(5)
  95 :       DDF(6)=Y*S2(6)
  96 : C
  97 :    10 FORMAT(1X,'ERREUR DANS DDFDS XNU =',1PD12.5)
  98 :    11 FORMAT(1X,'ERREUR DANS DDFDS DANS LA VALEUR DE IC  =',I4)
  99 : C
 100 :    99 RETURN
 101 :       END
 102 :  

© Cast3M 2003 - All rights reserved.
Disclaimer