Download paranc.eso

Back to the list

   1 : C PARANC    SOURCE    CHAT      12/04/06    21:15:23     7348           
   2 : C          
   3 :       SUBROUTINE PARANC(XMAT,XSECT,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
   4 :       IMPLICIT INTEGER(I-N)
   5 :       IMPLICIT REAL*8(A-H,O-Z)
   6 : -INC CCREEL
   7 :       DIMENSION XMAT(15),VAR0(8),VARF(8)
   8 : C----------------------------------------------------------------------
   9 : C
  10 : C     MODELE D'ANCRAGE POUR DES ELEMENTS DE BARRE ET  
  11 : C     LE MODELE ACIER PLASTIQUE DU BAEL
  12 : C     LOI D'ADHERENCE ACIER-BETON D'ELIGEHAUSEN
  13 : C     D'APRES BARPAR et ELIGEH
  14 : C----------------------------------------------------------------------
  15 : C     Didier COMBESCURE - EMSI - MAI 2000 
  16 : C----------------------------------------------------------------------
  17 : C
  18 : C      XMAT( 1) YOUNG
  19 : C      XMAT( 2) NU
  20 : C      XMAT( 3) RHO
  21 : C      XMAT( 4) ALPHA
  22 : C      XMAT( 5) FY
  23 : C      XMAT( 6) HH
  24 : C   
  25 : C      XMAT( 7) KS
  26 : C      XMAT( 8) S1T
  27 : C      XMAT( 9) S2T 
  28 : C      XMAT(10) S3T
  29 : C      XMAT(11) T1T 
  30 : C      XMAT(12) T3T
  31 : C      XMAT(13) ALFA 
  32 : C      XMAT(14) LANC
  33 : C  
  34 : C
  35 : C      SIGF STRESS
  36 : C      DEPST,DEFP
  37 : C                    
  38 : C      VAR0( 1) VARF( 1) EPSE DEFORMATION PLASTIQUE
  39 : C      VAR0( 3) VARF( 3) EPPP
  40 : C      VAR0( 4) VARF( 4) EPPM
  41 : C      VAR0( 5) VARF( 5) EPSOA
  42 : C      VAR0( 6) VARF( 6) KSTAN
  43 : C      VAR0( 7) VARF( 7) NITER
  44 : C      VAR0( 8) VARF( 8) XLAMBDA
  45 : C
  46 : C----------------------------------------------------------------------
  47 : C DONNEES GEOMETRIQUES DES ANCRAGES
  48 : C
  49 : C
  50 :        XDIAM = 2.D0*((XSECT/xpi)**0.5D0)
  51 :        XLANC = XMAT(14) 
  52 :        XPERI = xpi*XDIAM
  53 : C
  54 : C
  55 :        IF (XLANC.LE.0.D0) THEN
  56 :          WRITE (*,*) 'Longueur d ancrage nulle ou négative'
  57 :          XLANC = 1.D-8
  58 :        ENDIF 
  59 : C
  60 : C
  61 : C Joint
  62 : C
  63 :        G12 = XMAT(7)
  64 :        S1T = XMAT(8)
  65 :        S2T = XMAT(9)
  66 :        S3T = XMAT(10)
  67 :        T1T = XMAT(11)
  68 :        T3T = XMAT(12)
  69 :        ALFA = XMAT(13)
  70 : C
  71 :        G12S = 0.10D0*T1T/S1T
  72 : C
  73 :       XJACJOSE =   XPERI * (T1T/S1T) * XLANC 
  74 :       XJACJOEL =   XPERI * G12 * XLANC 
  75 : C
  76 : C Acier
  77 : C
  78 :        GAMMA=XMAT(1)/2.D0/(XMAT(2)+1.D0)
  79 :        EYOUN = XMAT( 1)
  80 :        FYP = XMAT(5)
  81 :        FYN = (-1.D0)*XMAT(5)
  82 :        HHH = XMAT(6)
  83 : C
  84 : C Increment de deformation totale
  85 : C
  86 :        DEPS = DEPST
  87 : C
  88 : C
  89 : C Contrainte initiale dans l'acier
  90 : C
  91 :        XSIG0 = SIG0
  92 : C
  93 : C  Deformation plastique de l'acier 
  94 : C
  95 :        XEPSE =  VAR0(1)
  96 :        EPSOACI0 = XEPSE + (XSIG0/EYOUN) 
  97 : C
  98 :        FYPE = FYP + ( HHH * XEPSE)
  99 :        FYNE = FYN + ( HHH * XEPSE)
 100 : C
 101 :       TANGE0 = VAR0(2)
 102 : C
 103 : C Glissements plastiques du joint
 104 : C
 105 :        EPPP   = VAR0(3)
 106 :        EPPM   = VAR0(4)
 107 : C
 108 : C Glissement total initial 
 109 : C
 110 :        GLISJOI0 = VAR0(5)       
 111 : C
 112 : C Déformation axiale correspondante
 113 : C
 114 :        EPSOJOI0 = GLISJOI0/XLANC          
 115 : C
 116 : C
 117 : C Participation Glissement/déformation acier
 118 : C
 119 : C On estime la partition glissement/déformation initiale à partir
 120 : C des rigidités tangentes ou du lambda précédent
 121 : C 
 122 : C
 122 :        CALL ELIGEH(GLISJOI0,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
 123 :      .            EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
 124 : C
 125 :         XDENLAM = (XLANC*XKTANJ) + (0.25D0*XDIAM*TANGE0)
 126 :         IF (ABS(XDENLAM).GT.((1.D-6)*G12*XLANC)) THEN
 127 :            XLAMBDA = (XLANC*XKTANJ)/XDENLAM
 128 :         ELSE
 129 :            XLAMBDA = VAR0(8)
 130 :         ENDIF
 131 : C 
 132 : C
 133 :        NITER = 0
 134 : C
 135 : C ON ITERE
 136 : C
 137 :  100   CONTINUE
 138 : C        WRITE(*,*) NITER
 139 : C_________________________________________________________________________
 140 : C
 141 : C     CALCUL DES CONTRAINTES ET DES DEFORMATIONS PLASTIQUES DANS L'ACIER
 142 : C_________________________________________________________________________
 143 : C
 144 : C
 145 :        DEPSTA =  XLAMBDA*DEPS
 146 : C
 147 :        XSIGT = XSIG0 + (EYOUN * DEPSTA)
 148 : C 
 149 :        IF (XSIGT . GT . FYPE) THEN
 150 : C
 151 :          XDEP = ((EYOUN/(EYOUN+HHH))*DEPSTA) 
 152 :      &         + ((XSIG0 - FYPE)/(EYOUN+HHH))
 153 :          XSIGF =  XSIG0 + (EYOUN*(DEPSTA - XDEP))
 154 :          XTAN = (EYOUN*HHH)/(EYOUN+HHH)
 155 : C
 156 :        ELSEIF (XSIGT . LT . FYNE) THEN
 157 : C
 158 :          XDEP = ((EYOUN/(EYOUN+HHH))*DEPSTA) 
 159 :      &         + ((XSIG0 - FYNE)/(EYOUN+HHH))
 160 :          XSIGF =  XSIG0 + (EYOUN*(DEPSTA - XDEP))
 161 :          XTAN = (EYOUN*HHH)/(EYOUN+HHH)
 162 : C
 163 :        ELSE
 164 : C
 165 :          XSIGF = XSIGT
 166 :          XDEP = 0.D0        
 167 :          XTAN = EYOUN
 168 : C
 169 :        ENDIF
 170 : C
 171 : C  DEFORMATION PLASTIQUE ACIER
 172 : C
 173 :        XEPSET = XEPSE +XDEP
 174 : C
 175 : C
 176 : C  XSIGF: CONTRAINTE ACIER
 177 : C  XFORACIE : Force correspondante 
 178 : C
 179 :        XFORACIE = XSECT*XSIGF
 180 :        XJACACIE = XSECT*XTAN
 181 :        XJACACEL = XSECT*EYOUN
 182 : C
 183 : C_________________________________________         
 184 : C
 185 : C FIN CALCUL CONTRAINTES DANS L'ACIER
 186 : C_________________________________________
 187 : C
 188 : C__________________________________________
 189 : C
 190 : C CALCUL CONTRAINTES DANS L'ANCRAGE
 191 : C__________________________________________
 192 : C
 193 :        GLISJOIN = GLISJOI0 + ((1.D0 - XLAMBDA)*DEPS*XLANC)
 194 : C
 194 :        CALL ELIGEH(GLISJOIN,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
 195 :      .            EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
 196 : C
 197 : C
 198 :        XFORJOIN = XPERI * TAUF * XLANC
 199 : C
 200 :        XJACJOIN = XPERI * XKTANJ * XLANC 
 201 : C
 202 :        XJACJOEL =   XPERI * G12 * XLANC 
 203 : C____________________________________________
 204 : C
 205 : C FIN CALCUL CONTRAINTE DANS L'ANCRAGE
 206 : C____________________________________________
 207 : C
 208 : C
 209 : C CALCUL DU RESIDU
 210 : C
 211 :        XRESIDU = XFORACIE - XFORJOIN
 212 : C
 213 : C TEST DE SORTIE
 214 : C
 215 :        IF (ABS(XRESIDU/(XSECT*FYP)).LE.1.D-6) GOTO 1000
 216 : C  
 217 : C
 218 :         NITER = NITER + 1
 219 : C           
 220 :       IF (NITER.GT.1000) THEN
 221 :           WRITE (*,*) 'Non convergence dans les itérations '
 222 :           WRITE (*,*) 'internes de PARFAIT_ANCRAGE'
 223 :          GOTO 1000
 224 :       ENDIF 
 225 : C
 226 : C CALCUL DU JACOBIEN
 227 : C
 228 : C
 229 :        XJACTAN = (XJACACIE + (XLANC*XJACJOIN))
 230 :        IF (ABS(XJACTAN).LT. ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)) THEN
 231 :            XJACTAN = ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)
 232 :        ENDIF
 233 : C
 234 :        IF (NITER.EQ.1) THEN
 235 :          XJAC = XJACTAN*DEPS
 236 :        ELSEIF ((NITER.EQ.5)) THEN
 237 :          XJAC = XJACTAN*DEPS
 238 :        ELSEIF ((NITER.EQ.10)) THEN
 239 :          XJAC = XJACTAN*DEPS
 240 :        ELSEIF ((NITER.EQ.15)) THEN
 241 :          XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
 242 :          XLAMBDA = VAR0(8)
 243 :          GOTO 100
 244 :        ELSEIF ((NITER.EQ.50)) THEN
 245 :          XJAC = XJACTAN*DEPS
 246 :        ELSEIF (NITER.EQ.100) THEN
 247 :          XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
 248 :          XLAMBDA = 0.D0
 249 :          GOTO 100
 250 :        ELSEIF ((NITER.EQ.150)) THEN
 251 :          XJAC = XJACTAN*DEPS
 252 :        ENDIF 
 253 : C        
 254 :        IF (ABS(DEPS).LT.1.D-5) GOTO 1000
 255 : C  
 256 :              XH0 = 1.0D0 / XJAC
 257 :              XLAMBDA = XLAMBDA - (XH0*XRESIDU)
 258 : C
 259 :           IF (ABS(XLAMBDA).GT.50D0) THEN
 260 :             XLAMBDA = 0.D0
 261 :             XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
 262 :             GOTO 100
 263 :           ENDIF 
 264 : C
 265 :        GOTO 100                        
 266 : C
 267 : C
 268 :  1000  CONTINUE
 269 : C
 270 : C     ON SORT
 271 : C
 272 : C
 273 :        SIGF = XFORACIE/XSECT
 274 : C
 275 :        VARF(1) = XEPSET
 276 : C
 277 :        VARF(2) = XJACACIE/XSECT 
 278 : C
 279 :        VARF(3) = EPPPF
 280 :        VARF(4) = EPPMF
 281 :        VARF(5) = GLISJOIN
 282 :        XKTADEN = (XJACJOIN*XLANC) + XJACACIE
 283 :        IF ((ABS(XKTADEN)).GE.1.D-10) THEN
 284 :          VARF(6) = XJACJOIN*XLANC*XJACACIE/(XKTADEN*XSECT)
 285 :        ELSE 
 286 :          VARF(6) = 0.D0
 287 :        ENDIF
 288 :        VARF(7) = NITER    
 289 :        VARF(8) = XLAMBDA 
 290 : C
 291 :        DEFP = XEPSET
 292 : C
 293 :        RETURN
 294 :        END
 295 :  
 296 :  
 297 :  
 298 :  
 299 :  
 300 :  

© Cast3M 2003 - All rights reserved.
Disclaimer