Download ba1d.eso

Back to the list

   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