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