1 : C UNICOU SOURCE CHAT 05/01/13 03:58:33 5004 2 : SUBROUTINE UNICOU(DK,PAEC,IC,SEQ,BETJEF) 3 : C 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8 (A-H,O-Z) 6 : * 7 : SEGMENT BETJEF 8 : REAL*8 AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,HC,ETA,TDEF, 9 : & TCON,DPSTF1,DPSTF2,TETA,PDT,TP0 10 : INTEGER ICC1,ICC2,IMOD,IVIS,ITER, 11 : & ISIM,IBB,IGAU,IZON 12 : ENDSEGMENT 13 : * 14 : * COMMON /DBETJEF/AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,HC,ETA,TDEF, 15 : * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICC1,ICC2,IMOD,IVIS,ITER, 16 : * & ISIM,IBB,IGAU,IZON 17 : C 18 : C ************************************************* 19 : C ** CALCUL DU PARAMETRE D'ECROUISSAGE ** 20 : C ************************************************* 21 : C------------------------------------------------------------------- 22 : C IC=1 : COURBE de TRACTION 23 : C IC=2 : COURBE de COMPRESSION 24 : C 25 : IRET=0 26 : C 27 : C ******************* direction de traction ******************* 28 : C 29 : IF (IC.EQ.1) THEN 30 : Ft=ALPHA*RB 31 : C 32 : C--------------- Courbe bilineaire -------------------------- 33 : C 34 : IF (ICC1.EQ.1) THEN 35 : DKUT=(2.D0*GFT)/(HC*Ft) 36 : DKLIM=Ft/YOUN 37 : IF (DKUT.LT.DKLIM) THEN 38 : IRET=1 39 : GOTO 10 40 : ENDIF 41 : DKUT1=0.95*DKUT 42 : IF (DK.GE.0.D0.AND.DK.LT.DKUT1) THEN 43 : PAEC=-(Ft/DKUT) 44 : ELSE 45 : PAEC=0.D0 46 : ENDIF 47 : C 48 : IF (DK.GE.0.D0.AND.DK.LT.DKUT1) THEN 49 : SEQ=Ft*(1.D0-DK/DKUT) 50 : ELSE 51 : SEQ=0.05*Ft 52 : ENDIF 53 : ENDIF 54 : C 55 : C--------------- Courbe exponentielle ----------------------- 56 : C 57 : IF (ICC1.EQ.2) THEN 58 : DKUT=(3.D0*GFT)/(HC*Ft*(1.D0-EXP(-3.D0))) 59 : DKLIM=3.D0*Ft/YOUN 60 : IF (DKUT.LT.DKLIM) THEN 61 : IRET=1 62 : GOTO 10 63 : ENDIF 64 : PAEC=-3.D0*(Ft/DKUT)*EXP(-3.D0*DK/DKUT) 65 : C 66 : SEQ=Ft*EXP(-3.D0*DK/DKUT) 67 : ENDIF 68 : C 69 : C------------------------------------------------------------ 70 : C 71 : C *************** direction de compression ****************** 72 : C 73 : ELSE 74 : C 75 : Rb=RB 76 : C 77 : C------------------- Courbe Feenstra ----------------------- 78 : C 79 : IF (ICC2.EQ.2) THEN 80 : DKE=(4.D0*Rb)/(3.D0*YOUN) 81 : DKU=1.5*(GFC/(HC*Rb))-(11.D0/48.D0)*DKE 82 : DKLIM=2.5*DKE 83 : IF (DKU.LT.DKLIM) THEN 84 : IRET=1 85 : GOTO 10 86 : ENDIF 87 : IF (DK.LT.DKE) THEN 88 : PAEC=(4.D0/3.D0)*(Rb/DKE)*(1.D0-(DK/DKE)) 89 : ELSE IF (DK.GE.DKE.AND.DK.LT.DKU) THEN 90 : Denom=(DKU-DKE)*(DKU-DKE) 91 : PAEC=(-(2.D0*Rb)/Denom)*(DK-DKE) 92 : ELSE IF (DK.GE.DKU) THEN 93 : PAEC=0.D0 94 : ENDIF 95 : C 96 : IF (DK.LT.DKE) THEN 97 : SEQ=(Rb/3.D0)*(1.D0+4.D0*(DK/DKE)) 98 : SEQ=SEQ-(Rb/3.D0)*(2.D0*(DK*DK)/(DKE*DKE)) 99 : ELSE IF (DK.GE.DKE.AND.DK.LT.DKU) THEN 100 : Dnum=(DK-DKE)*(DK-DKE) 101 : Denom=(DKU-DKE)*(DKU-DKE) 102 : SEQ=Rb*(1.D0-Dnum/Denom) 103 : ELSE IF (DK.GE.DKU) THEN 104 : SEQ=0.D0 105 : ENDIF 106 : ENDIF 107 : C 108 : C--------------- Courbe post pic lineaire ----------------- 109 : C 110 : IF (ICC2.EQ.1) THEN 111 : DKE=(4.D0*Rb)/(3.D0*YOUN) 112 : DKU=((2.D0*GFC)/(HC*Rb))+DKE 113 : DKLIM=1.75*DKE 114 : IF (DKU.LT.DKLIM) THEN 115 : IRET=1 116 : GOTO 10 117 : ENDIF 118 : DKU1=1*DKU 119 : IF (DK.LT.DKE) THEN 120 : PAEC=(4.D0/3.D0)*(Rb/DKE)*(1.D0-(DK/DKE)) 121 : ELSE IF (DK.GE.DKE.AND.DK.LT.DKU1) THEN 122 : PAEC=-Rb/(DKU-DKE) 123 : ELSE IF (DK.GE.DKU1) THEN 124 : PAEC=0.D0 125 : ENDIF 126 : C 127 : IF (DK.LT.DKE) THEN 128 : SEQ=(Rb/3.D0)*(1.D0+4.D0*(DK/DKE)) 129 : SEQ=SEQ-(Rb/3.D0)*(2.D0*(DK*DK)/(DKE*DKE)) 130 : ELSE IF (DK.GE.DKE.AND.DK.LT.DKU1) THEN 131 : Denom=(Rb)/(DKU-DKE) 132 : SEQ=Denom*(DKU-DK) 133 : ELSE IF (DK.GE.DKU1) THEN 134 : SEQ=0.*Rb 135 : ENDIF 136 : ENDIF 137 : C--------------- Courbe bilineaire -------------------------- 138 : C 139 : IF (ICC2.EQ.0) THEN 140 : DKU=(2.D0*GFC)/(HC*Rb) 141 : DKLIM=Rb/YOUN 142 : IF (DKU.LT.DKLIM) THEN 143 : IRET=1 144 : GOTO 10 145 : ENDIF 146 : DKU1=0.8*DKU 147 : IF (DK.GE.0.D0.AND.DK.LT.DKU1) THEN 148 : PAEC=-(Rb/DKU) 149 : ELSE 150 : PAEC=0.D0 151 : ENDIF 152 : C 153 : IF (DK.GE.0.D0.AND.DK.LT.DKU1) THEN 154 : SEQ=Rb*(1.D0-DK/DKU) 155 : ELSE 156 : SEQ=0.2*Rb 157 : ENDIF 158 : ENDIF 159 : C 160 : ENDIF 161 : C 162 : 10 CONTINUE 163 : IF (IRET.EQ.1) THEN 164 : WRITE(*,*)'SNAP BACK, Vous n avez pas introduit une energie 165 : *telle que YOUN < parametre d ecrouissage < 0' 166 : IF(IC.EQ.1) THEN 167 : WRITE(*,*)'Le probleme est en traction dans l element',ibb 168 : WRITE(*,*)'DKUT=',DKUT 169 : WRITE(*,*)'DKLIM=',DKLIM 170 : WRITE(*,*)'HC=',HC 171 : ENDIF 172 : IF(IC.EQ.2) THEN 173 : WRITE(*,*)'Le probleme est en compression dans l element',ibb 174 : WRITE(*,*)'DKU=',DKU 175 : WRITE(*,*)'DKLIM=',DKLIM 176 : WRITE(*,*)'HC=',HC 177 : ENDIF 178 : STOP 179 : ENDIF 180 : RETURN 181 : END 182 : 183 : 184 : 185 :
© Cast3M 2003 - All rights reserved.
Disclaimer