1 : C BA1D SOURCE BR232186 13/12/09 21:15:01 7841 2 : SUBROUTINE BA1D(SIG0,NSTRS,DEPST,VAR0,XMAT,NCOMAT,XCAR,TRAC, 3 : & NCOURB,SIGF,VARF,DEFP,KERRE) 4 : C 5 : C====&===1=========2=========3=========4=========5=========6=========7== 6 : C Commentaires : Subroutine permettant de mettre en oeuvre le 7 : C modele BA1D (CEA/ENS Cachan) pour representer 8 : C le comportement cyclique du beton sous 9 : C sollicitations sismiques 10 : C 11 : C Traits : - 12 : C - 13 : C - 14 : C - 15 : C - 16 : C 17 : C Auteur : L. Moutoussamy - CEA, DEN, DANS, DM2S, SEMT, EMSI 18 : C B. Richard - CEA, DEN, DANS, DM2S, SEMT, EMSI 19 : C====&===1=========2=========3=========4=========5=========6=========7== 20 : C 21 : C----DECLARATION GENERALES---------------------------------------------- 22 : C 23 : IMPLICIT REAL*8(A-H,O-Z) 24 : 25 : DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),XCAR(*),TRAC(*), 26 : & SIGF(*),VARF(*) ,DEFP(*) 27 : C 28 : C----CARACTERISTIQUES MATERIAUX----------------------------------------- 29 : C 30 : XYOUN = XMAT(1) 31 : XNU = XMAT(2) 32 : 33 : XUEAL = XMAT(5) 34 : XFPLA = XMAT(6) 35 : XPFIS = XMAT(7) 36 : XHCIN = XMAT(8) 37 : XQFRA = XMAT(9) 38 : 39 : XAPIH = XMAT(10) 40 : XBPIH = XMAT(11) 41 : 42 : C 43 : C----VARIABLES INTERNES------------------------------------------------- 44 : C 45 : XDP0 = VAR0(1) 46 : XZP0 = VAR0(2) 47 : XDM0 = VAR0(3) 48 : XZM0 = VAR0(4) 49 : XXPP = VAR0(5) 50 : XUPP = VAR0(6) 51 : XALP = VAR0(7) 52 : XXPM = VAR0(8) 53 : XUPM = VAR0(9) 54 : XALM = VAR0(10) 55 : XXPI = VAR0(11) 56 : XUPI = VAR0(12) 57 : XALI = VAR0(13) 58 : XU1 = VAR0(14) 59 : XU2 = VAR0(15) 60 : XU3 = VAR0(16) 61 : C 62 : C----AVANCE EN DEPLACEMENT---------------------------------------------- 63 : C 64 : XU1 = XU1 + DEPST(1) 65 : XU2 = XU2 + DEPST(2) 66 : XU3 = XU3 + DEPST(3) 67 : C 68 : C----CALCUL ENERGIE----------------------------------------------------- 69 : C 70 : XRAI = XMAT(1)*XCAR(2) 71 : XY0 = 0.5D0*XRAI*(XUEAL)**2.0D0 72 : XUPL = ((XFPLA - (XRAI*XUEAL))/(XPFIS*XRAI)) + XUEAL 73 : XDY = 1.0D0 - ((XUEAL + (XPFIS*(XUPL - XUEAL)))/XUPL) 74 : XGAM = (2.0D0/XAPIH) 75 : 76 : XENE = 0.5D0*XRAI*(XU3)**2.0D0 77 : 78 : C print*,'xene',xene 79 : C print*,'XY0',XY0 80 : 81 : C 82 : C----ENDOMMAGEMENT------------------------------------------------------ 83 : C 84 : IF (XU3.GE.0.0D0) THEN 85 : 86 : XTEST = XENE - (XY0 + XZP0) 87 : 88 : IF (XTEST.GE.0.0D0) THEN 89 : 90 : XDP0 = (1.0D0 - XPFIS) * (1.0D0 - (XY0/XENE)**XQFRA) 91 : XZP0 = XZP0 + 0.5D0 * XRAI * 92 : & DEPST(3) * (2.0D0 * XU3 - DEPST(3)) 93 : 94 : ENDIF 95 : 96 : XD0 = MIN(XDP0,XDY) 97 : 98 : ELSE 99 : 100 : XTEST = XENE - (XY0 + XZM0) 101 : 102 : IF (XTEST.GE.0.0D0) THEN 103 : 104 : XDM0 = (1.0D0 - XPFIS) * (1.0D0 - (XY0/XENE)**XQFRA) 105 : XZM0 = XZM0 + 0.5D0 * XRAI * 106 : & DEPST(3) * (2.0D0 * XU3 - DEPST(3)) 107 : 108 : ENDIF 109 : 110 : XD0 = MIN(XDM0,XDY) 111 : 112 : ENDIF 113 : 114 : IF (XU3.GE.0.0D0) THEN 115 : XD0 = MIN(XDP0,XDY) 116 : ELSE 117 : XD0 = MIN(XDM0,XDY) 118 : ENDIF 119 : 120 : C print*,'XD0',XD0 121 : 122 : XDH = MIN(MAX(XDM0,XDP0),XDY) 123 : XRAID = (1.0D0 - XD0) * XRAI 124 : 125 : GOTO 999 126 : 127 : C 128 : C----GLISSEMENT--------------------------------------------------------- 129 : C 130 : XFPTRI = XDH * XRAI * (XU3 - XUPI) 131 : XGPTRI = XFPTRI - XXPI 132 : XFPTRI0= DABS(XGPTRI) 133 : 134 : IF (XFPTRI0.GT.0.0D0) THEN 135 : 136 : IF (XGPTRI.GT.0.0D0) THEN 137 : XSIG = 1.0D0 138 : ELSE 139 : XSIG = -1.0D0 140 : ENDIF 141 : 142 : XFFPTRI = DABS(XGPTRI) 143 : XS1 = -1.0D0 * XSIG 144 : XS2 = (XGAM/2.0D0) * XXPI 145 : DLAMPI = XFFPTRI/(XDH * XRAI + XBPIH * (XS1 * (XS1 + XS2))) 146 : XUPI = XUPI + DLAMPI * XS1 147 : XXPI = XXPI - DLAMPI * XBPIH * (XS1 + XXPI * (XGAM/2.0D0)) 148 : XFPTRI = XFPTRI + (XRAI * XDH * DLAMPI * XS1) 149 : XALI = XALI + DLAMPI 150 : XGPTRI = XFPTRI - XXPI 151 : 152 : ENDIF 153 : 154 : XFPI = XDH*XRAI*(XU3-XUPI) 155 : 156 : 999 CONTINUE 157 : 158 : C 159 : C----PLASTICITE--------------------------------------------------------- 160 : C 161 : IF (XU3.GE.0.0D0) THEN 162 : 163 : FPTRIP = XRAID * (XU3 - XUPP) 164 : GPTRIP = FPTRIP - XXPP - (XFPLA/2.0D0) 165 : FFPTRIP= DABS(GPTRIP) - (XFPLA/2.0D0) 166 : 167 : IF (FFPTRIP.GT.0.0D0) THEN 168 : 169 : IF (GPTRIP.GT.0.0D0) THEN 170 : XSIG = 1.0D0 171 : ELSE 172 : XSIG = -1.0D0 173 : ENDIF 174 : 175 : DLAMPP = XSIG * XRAID * 176 : & DEPST(3)/(XRAID + XHCIN) 177 : 178 : XDUPP = DLAMPP * XSIG 179 : XUPP = XUPP + XDUPP 180 : XXPP = XXPP + (XHCIN * XDUPP) 181 : XALP = XALP + DLAMPP 182 : 183 : ENDIF 184 : 185 : XUP = XUPP 186 : XUPM= 0.0D0 187 : 188 : ELSE 189 : 190 : FPTRIM = XRAID * (XU3 - XUPM) 191 : GPTRIM = FPTRIM - XXPM + (XFPLA/2.0D0) 192 : FFPTRIM= DABS(GPTRIM) - (XFPLA/2.0D0) 193 : 194 : IF (FFPTRIM.GT.0.0D0) THEN 195 : 196 : IF (GPTRIM.GT.0.0D0) THEN 197 : XSIG = 1.0D0 198 : ELSE 199 : XSIG = -1.0D0 200 : ENDIF 201 : 202 : DLAMPM = XSIG * XRAID * 203 : & DEPST(3)/(XRAID + XHCIN) 204 : 205 : XDUPM = DLAMPM * XSIG 206 : XUPM = XUPM + XDUPM 207 : XXPM = XXPM + (XHCIN * XDUPM) 208 : XALM = XALM + DLAMPM 209 : 210 : ENDIF 211 : 212 : XUP = XUPM 213 : XUPP= 0.0D0 214 : 215 : ENDIF 216 : C print*,'xfpi=',xfpi 217 : XF = XRAID*(XU3 - XUP) 218 : C XF = XRAID*(XU3 - XUP) + XFPI 219 : C XF = XRAID*XU3 220 : C 221 : C----VARIABLES INTERNES------------------------------------------------- 222 : C 223 : VARF(1) = XDP0 224 : VARF(2) = XZP0 225 : VARF(3) = XDM0 226 : VARF(4) = XZM0 227 : VARF(5) = XXPP 228 : VARF(6) = XUPP 229 : VARF(7) = XALP 230 : VARF(8) = XXPM 231 : VARF(9) = XUPM 232 : VARF(10)= XALM 233 : VARF(11)= XXPI 234 : VARF(12)= XUPI 235 : VARF(13)= XALI 236 : VARF(14)= XU1 237 : VARF(15)= XU2 238 : VARF(16)= XU3 239 : C 240 : C----CONTRAINTES-------------------------------------------------------- 241 : C 242 : CISA=0.5D0*XMAT(1)/(1.D0+XMAT(2)) 243 : SIGF(1)=SIG0(1) + XMAT(1)*XCAR(4)*DEPST(1) 244 : SIGF(2)=SIG0(2) + CISA*(5.0D0/6.0D0)*XCAR(4)*DEPST(2) 245 : C SIGF(3)=SIG0(3) + XMAT(1)*XCAR(2)*DEPST(3) 246 : SIGF(3)=XF 247 : 248 : RETURN 249 : END 250 : 251 : 252 : 253 : 254 : 255 : 256 : 257 : 258 : 259 : 260 : 261 : 262 : 263 : 264 : 265 : 266 : 267 : 268 : 269 : 270 :
© Cast3M 2003 - All rights reserved.
Disclaimer