1 : C TANSR SOURCE CHAT 05/01/13 03:32:01 5004 2 : C SOURCE BERTHOLLET 3 : SUBROUTINE TANSR(RELAX,TZO,DUR,FIFLU,TRO,BETJEF,BETFLU) 4 : C 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8(A-H,O-Z) 7 : C 8 : DIMENSION RELAX(200,200),DELTRAX(200,200),TZO(200),DUR(200), 9 : & ELAS(200),TINTER(200,200,200),TZSUP(200,200),TZU(200), 10 : & FIFLU(200,200),DURE(200),TRO(200) 11 : C 12 : C******************************************************************* 13 : C 14 : C ELAS(J) = MODULE D ELASTICITE POUR CHAQUE t0 EN MPA. 15 : C TZU(J) = VALEURS DES t0 = DATE D'APPLICATION DE LA CHARGE EN JOURS. 16 : C DURE(I) = VALEURS DES DUREES t-t0 D APPLICATION VARIABLES 17 : C DE LA CHARGE EN JOURS. 18 : C TZSUP(I,J) = ADDITION DE L AGE D APPLICATION t0 DE LA CHARGE 19 : C AVEC LES DUREES D APPLICATION DUR(I) EN JOURS. 20 : C TINTER(DURE(I),(DURE(I)+t0)) = TABLEAU DES VALEURS DE LA FONCTION DE 21 : C FLUAGE POUR CHAQUE DUREE D APPLICATION 22 : C ET CHAQUE PSEUDO-DATES D APPLICATION. 23 : C (TABLEAU POUR LA METHODE DE CALCUL PAR APPROXIMATION NUMERIQUE) 24 : C 25 : C RELAX(I,J) = TABLEAU DES FONCTIONS DE RELAXATION POUR J=t0 26 : C ET DUR(I) EN MPA. 27 : C 28 : C ITYPE = CODE D ACCES AU CHOIX DU MODELE DE FLUAGE 29 : C ITYPE = 1 : MODELE ACI209 30 : C ITYPE = 2 : MODELE ESPION ET HALLEUX 31 : C ITYPE = 3 : MODELE B3 32 : C ITYPE = 4 : MODELE CEBFIP 33 : C ITYPE = 5 : MODELE EUROCODE2 34 : C ITYPE = 6 : MODELE BPEL91 35 : C ITYPE = 7 : MODELE AFREM 36 : C ITYPE = 8 : MODELE BP-KX 37 : C 38 : C PGTZO = COEFFICIENT DE PROGRESSION DES DATES D APPLICATION t0 39 : C PGDUR = COEFFICIENT DE PROGRESSION DES DUREES D APPLICATION t-t0 40 : C TZER = PREMIERE DATE D APPLICATION EN JOURS DE LA CHARGE 41 : C A PARTIR DE LA DATE 0 JOUR DU COULAGE 42 : C 43 : C******************************************************************* 44 : C 45 : SEGMENT BETJEF 46 : REAL*8 AA,BETA,FC,ALPHA,EX,XNU,GFC,GFT,CAR,ETA,TDEF, 47 : & TCON,DPSTF1,DPSTF2,TETA,PDT,TP00 48 : INTEGER ICT,ICC,IMOD,IVIS,ITER, 49 : & ISIM,IBB,IGAU,IZON 50 : ENDSEGMENT 51 : SEGMENT BETFLU 52 : REAL*8 DATCOU,DATCUR,DATSEC,E28,PGTZO,PGDUR,TAU1,TAU2, 53 : & TP0,TZER 54 : INTEGER ITYPE,IMD,NBRC,NCOE,NTZERO,NTPS,IFOR 55 : ENDSEGMENT 56 : C 57 : C******************************************************************* 58 : C 59 : C 1 : DOMAINE D APPLICATION DES FONCTIONS DE FLUAGE 60 : C 2 : PAS DE DISCRETISATION CHOISIS 61 : C 3 : TYPE DE MODELE DE FLUAGE UTILISE 62 : C----------------------------------------------------- 63 : C 64 : C 1 : PREMIERE DATE D APPLICATION D UNE CHARGE : TZER 65 : C-------------------------------- 66 : IF (DATCUR.GT.TZER) THEN 67 : TZER = DATCUR 68 : ENDIF 69 : C-------------------------------- 70 : C 71 : C 1 : PREMIERE DUREE D APPLICATION D UNE CHARGE = DER (en jours) 72 : C----------------- 73 : DER = 1.D0 74 : C----------------- 75 : C 76 : C 1 : NOMBRE DE VALEURS D AGE D APPLICATION DE LA CHARGE = NTZERO1 77 : C 1 : NOMBRE DE VALEURS DE DUREE D APPLICATION DE LA CHARGE = NTPS1 78 : C 2 : PAS DE PROGRESSION POUR LES INTERVALLES ENTRE DATES D APPLICATION = PGTZ0 79 : C 2 : PAS DE PROGRESSION POUR LES INTERVALLES ENTRE DUREES DAPPLICATION = PGDUR 80 : C 3 : MODELE DE FLUAGE = ITYPE 81 : C 82 : C******************************************************************* 83 : C 84 : NTZERO1 = NTZERO+1 85 : NTPS1 = NTPS+1 86 : C 87 : C******************************************************************* 88 : C DEFINITION DES TABLEAUX TZO, DUR, TZSUP 89 : C******************************************************************* 90 : C 91 : DO 10 J=1,NTZERO1 92 : C 93 : IF (J.EQ.1) THEN 94 : C 95 : TZU(J) = 0.D0 96 : TZO(J) = 0.D0 97 : TZU(J) = TZER 98 : TZO(J) = TZU(J) 99 : C 100 : ELSE IF (J.EQ.2) THEN 101 : C 102 : TZU(J) = 0.D0 103 : TZO(J) = 0.D0 104 : TZU(J) = TZU(1)*PGTZO + TZU(1) 105 : TZO(J) = TZU(J) 106 : C 107 : ELSE 108 : C 109 : TZU(J) = 0.D0 110 : TZO(J) = 0.D0 111 : TZU(J) = (TZU(J-1) - TZU(J-2)) * PGTZO + TZU(J-1) 112 : TZO(J) = TZU(J) 113 : C 114 : ENDIF 115 : C 116 : C------------------------------------------------------------------ 117 : C 118 : DO 20 I=1,NTPS1 119 : C 120 : IF (I.EQ.1) THEN 121 : C 122 : DURE(I) = 0.D0 123 : DUR(I) = 0.D0 124 : DURE(I) = 0.01 125 : DUR(I) = DURE(I) 126 : C 127 : ELSE IF (I.EQ.2) THEN 128 : C 129 : DURE(I) = 0.D0 130 : DUR(I) = 0.D0 131 : DURE(I) = DER 132 : DUR(I) = DURE(I) 133 : C 134 : ELSE IF (I.EQ.3) THEN 135 : C 136 : DURE(I) = 0.D0 137 : DUR(I) = 0.D0 138 : DURE(I) = DURE(2)*PGDUR + DURE(2) 139 : DUR(I) = DURE(I) 140 : C 141 : ELSE 142 : C 143 : DURE(I) = 0.D0 144 : DUR(I) = 0.D0 145 : DURE(I) = (DURE(I-1) - DURE(I-2)) * PGDUR + DURE(I-1) 146 : DUR(I) = DURE(I) 147 : C 148 : ENDIF 149 : C 150 : TZSUP(I,J) = 0.D0 151 : TZSUP(I,J) = TZU(J) + DURE(I) 152 : C 153 : 20 CONTINUE 154 : C 155 : 10 CONTINUE 156 : C 157 : C******************************************************************* 158 : C CALCUL DES TABLEAUX DE FLUAGE POUR CHAQUE t0 : TINTER 159 : C******************************************************************* 160 : C 161 : DO 40 JTZO = 1,NTZERO1 162 : DO 50 J = 1,NTZERO1 163 : DO 60 I = 1,NTPS1 164 : C 165 : IF (J.EQ.1) THEN 166 : TFLU = TZU(JTZO) 167 : ELSE 168 : TFLU = TZSUP(J-1,JTZO) 169 : ENDIF 170 : C 171 : TDURE = DURE(I)+TZU(JTZO)-TFLU 172 : C 172 : CALL FONCRE(FLU,FI,TFLU,TDURE,ELAS0,BETJEF,BETFLU) 173 : C 174 : IF (J.EQ.1) THEN 175 : FIFLU(I,JTZO) = 0.D0 176 : ELAS(JTZO)= 0.D0 177 : FIFLU(I,JTZO) = FI 178 : ELAS(JTZO) = ELAS0 179 : ENDIF 180 : C 181 : TINTER(I,J,JTZO) = 0.D0 182 : TINTER(I,J,JTZO) = FLU 183 : C 184 : FLU = 0.D0 185 : TFLU = 0.D0 186 : TDURE = 0.D0 187 : C 188 : 60 CONTINUE 189 : C 190 : 50 CONTINUE 191 : C 192 : 40 CONTINUE 193 : C 194 : C******************************************************************* 195 : C CALCUL DES COURBES DE RELAXATION POUR CHAQUE t0 : RELAX 196 : C******************************************************************* 197 : C 198 : DO 70 JTZO = 1,NTZERO1 199 : DO 80 I = 1,NTPS1 200 : C 201 : C INITIALISATION 202 : C----------------------------- 203 : RELAX(I,JTZO) = 0.D0 204 : DELTRAX(I,JTZO) = 0.D0 205 : C----------------------------- 206 : C 207 : IF (I.EQ.1) THEN 208 : C 209 : DELTRAX(I,JTZO) = ELAS(JTZO) 210 : RELAX(I,JTZO) = DELTRAX(I,JTZO) 211 : C 212 : ELSE IF (I.GT.1) THEN 213 : C 214 : NAT = I-1 215 : C 216 : SOM = 0.D0 217 : SOMI = 0.D0 218 : C 219 : JACK = 0 220 : C 221 : DO 90 K = 1,NAT 222 : C 223 : JACK = K+1 224 : C 225 : SOMI = (TINTER(I,K,JTZO)+TINTER(I,JACK,JTZO) 226 : *-TINTER(I-1,K,JTZO)-TINTER(I-1,JACK,JTZO)) 227 : **DELTRAX(K,JTZO) 228 : C 229 : SOM = SOM + SOMI 230 : C 231 : 90 CONTINUE 232 : C 233 : C 234 : RELAX(I,JTZO) = -SOM/(TINTER(I,I,JTZO) 235 : *+TINTER(I,I+1,JTZO))+RELAX(I-1,JTZO) 236 : C 237 : DELTRAX(I,JTZO)= RELAX(I,JTZO)-RELAX(I-1,JTZO) 238 : C 239 : ENDIF 240 : C 241 : 80 CONTINUE 242 : C 243 : TRO(JTZO) = ((RELAX(1,JTZO)+RELAX(2,JTZO))/2 244 : *-RELAX(NTPS1,JTZO))/((RELAX(1,JTZO) 245 : *-RELAX(2,JTZO))/DUR(1)) 246 : C 247 : 70 CONTINUE 248 : C 249 : C******************************************************************* 250 : C CONDITION THERMODYNAMIQUE 251 : C******************************************************************* 252 : C 253 : C DO 910 I=1,NTPS1 254 : C DO 920 J=1,NTZERO1 255 : C 256 : C IF (RELAX(I,J).LT.0.D0) THEN 257 : C RELAX(I,J)=0.D0 258 : C ENDIF 259 : C 260 : C 92 CONTINUE 261 : C 91 CONTINUE 262 : C 263 : C******************************************************************* 264 : C 265 : RETURN 266 : END 267 : 268 :
© Cast3M 2003 - All rights reserved.
Disclaimer