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