Download tansr.eso

Back to the list

   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