Download @LISPA16.procedur

Back to the list

   1 : * @LISPA16  PROCEDUR  ALANIER   95/06/13    21:33:48     1710           
   2 : 'DEBP' @LISPA16 CHARG*TABLE DON*TABLE ;
   3 : 
   4 : 'MESS' '                                               ' ;
   5 : 'MESS' 'PROCEDURE DE CALCUL EN FATIGUE/FLUAGE SELON A16' ;
   6 : 'MESS' '                                               ' ;
   7 : 
   8 : 'SI' (('EXISTE' DON REPRISE) 'EGA' VRAI) ;
   9 :   TABCON = DON.'EVCON' ;
  10 :   TABCAR = DON.'EVCAR' ;
  11 :   TABNCY = DON.'EVNCY' ;
  12 : 'SINON' ;
  13 :   TABCAR = 'TABLE' ;
  14 :   TABNCY = 'TABLE' ;
  15 :   TABCON = 'TABLE' ;
  16 :   TOTAL    = MOT 'TOTAL' ;
  17 :   FATIGUE  = MOT 'FATIGUE' ;
  18 :   FLUAGE   = MOT 'FLUAGE' ;
  19 :   TABCAR.'TOTAL'   = 'TABLE' ;
  20 :   TABCAR.'FATIGUE' = 'TABLE' ;
  21 :   TABCAR.'FLUAGE'  = 'TABLE' ;
  22 :   DELTSIG  = MOT 'DELTSIG' ;
  23 :   CHSIG_A  = MOT 'CHSIG_A' ;
  24 :   CHSIG_B  = MOT 'CHSIG_B' ;
  25 :   DELTSIG1 = MOT 'DELTSIG1' ;
  26 :   CHSIG_A1 = MOT 'CHSIG_A1' ;
  27 :   CHSIG_B1 = MOT 'CHSIG_B1' ;
  28 :   SDEFRAS  = MOT 'SDEFRAS'  ;
  29 :   SDEFRBS  = MOT 'SDEFRBS'  ;
  30 :   SDEFR    = MOT 'SDEFR' ;
  31 :   VALR     = MOT 'VALR' ;
  32 :   VALQ     = MOT 'VALQ' ;
  33 :   VALPSI   = MOT 'VALPSI' ;
  34 :   VALKDJ   = MOT 'VALKDJ' ;
  35 :   VALDJ    = MOT 'VALDJ' ;
  36 :   VALDKEFF = MOT 'VALDKEFF' ;
  37 :   VALDAFAT = MOT 'VALDAFAT' ;
  38 :   EPSILON  = MOT 'EPSILON' ;
  39 :   TABCON.'DELTSIG'  = 'TABLE' ;
  40 :   TABCON.'CHSIG_A'  = 'TABLE' ;
  41 :   TABCON.'CHSIG_B'  = 'TABLE' ;
  42 :   TABCON.'DELTSIG1' = 'TABLE' ;
  43 :   TABCON.'CHSIG_A1' = 'TABLE' ;
  44 :   TABCON.'CHSIG_B1' = 'TABLE' ;
  45 :   TABCON.'SDEFRAS'  = 'TABLE' ;
  46 :   TABCON.'SDEFRBS'  = 'TABLE' ;
  47 :   TABCON.'SDEFR'    = 'TABLE' ;
  48 :   TABCON.'VALR'     = 'TABLE' ;
  49 :   TABCON.'VALQ'     = 'TABLE' ;
  50 :   TABCON.'VALPSI'   = 'TABLE' ;
  51 :   TABCON.'VALKDJ'   = 'TABLE' ;
  52 :   TABCON.'VALDJ'    = 'TABLE' ;
  53 :   TABCON.'VALDKEFF' = 'TABLE' ;
  54 :   TABCON.'VALDAFAT' = 'TABLE' ;
  55 :   TABCON.'EPSILON'  = 'TABLE' ;
  56 : 'FINSI' ;
  57 : 
  58 : 'SI' (('EXISTE' DON FATUNI) 'EGA' VRAI) ;
  59 :   'SI' ((DON.FATUNI) 'EGA' VRAI)  ;
  60 :     CALFAT = 1 ;
  61 :     'MESS' '(OPTION CALCUL EN FATIGUE UNIQUEMENT)' ;
  62 :   'SINON' ;
  63 :     CALFAT = 0 ;
  64 :   'FINSI' ;
  65 : 'SINON' ;
  66 :   CALFAT = 0 ;
  67 : 'FINSI' ;
  68 : 
  69 : 
  70 : 'SI' (('EXISTE' DON A316) 'EGA' VRAI) ;
  71 :   'SI' ((DON.A316) 'EGA' VRAI)  ;
  72 :     A316 = 1 ;
  73 :   'SINON' ;
  74 :     A316 = 0 ;
  75 :   'FINSI' ;
  76 : 'SINON' ;
  77 :   A316 = 0 ;
  78 : 'FINSI' ;
  79 : 
  80 : 'SI' (('EXISTE' DON RELAX) 'EGA' VRAI) ;
  81 :   'SI' ((DON.RELAX) 'EGA' VRAI ) ;
  82 :     RELAX = 1 ;
  83 :   'SINON' ;
  84 :     RELAX = 0 ;
  85 :   'FINSI' ;
  86 : 'SINON' ;
  87 :   RELAX = 0 ;
  88 : 'FINSI' ;
  89 : 
  90 : 'SI' (('EXISTE' DON NREA) 'EGA' VRAI) ;
  91 :   KREA = DON.'NREA' ;
  92 : 'SINON' ;
  93 :   KREA = 0 ;
  94 : 'FINSI' ;
  95 : 
  96 : REA = DON.'NBREA';
  97 : 'REPETER' BOUREA REA ;
  98 : 
  99 : 
 100 :   'SI' (('EXISTE' DON AMAX) 'EGA' VRAI) ;
 101 :     'SI' ((DON.'AMAX') 'EGA' VRAI) ;
 102 :       'MESS' 'ARRET DU CALCUL' ;
 103 :       'QUIT' BOUREA ;
 104 :     'FINSI' ;
 105 :   'FINSI' ;
 106 : 
 107 :   KREA = KREA + 1 ;
 108 : 
 109 : 
 110 : 
 111 : ****************************************************************        
 112 : *               RESTITUTION DES DONNEES                        *
 113 : ****************************************************************
 114 : 
 115 : ** -- MAILLAGES
 116 : 
 117 :   FISS1   = DON.'MFIS' ;
 118 :   NBFI = 'NBEL' FISS1 ;
 119 :   PREMA = FAUX ;
 120 : 
 121 : ** -- DELTA-CHARGEMENT POUR LA FATIGUE
 122 : 
 123 :   'SI' ('EXISTE' CHARG DP) ;
 124 :           DCHA1 = CHARG.'DP' ;
 125 :   'SINON' ;
 126 :           CHARGI = CHARG.'DC' ;
 127 :           DCHA1 = CHARGI * 1.E-6 ;
 128 :   'FINSI' ;
 129 : 
 130 : 
 131 :   DCHA  = CHARG.'DC' ;
 132 : 
 133 : 
 134 : ****** CHARGEMENT POUR LE FLUAGE
 135 : 
 136 : 
 137 :   CHAA = CHARG.'CA' ;
 138 : 
 139 :   CHAB = CHARG.'CB' ;
 140 : 
 141 :   'SI' ('EXISTE' CHARG PA) ;
 142 :           CHAA1 = CHARG.'PA' ;
 143 :   'SINON' ;
 144 :           CHARGI = CHARG.'CA' ;
 145 :           CHAA1 = CHARGI * 1.E-6 ;
 146 :   'FINSI' ;
 147 : 
 148 :   'SI' ('EXISTE' CHARG PB) ;
 149 :           CHAB1 = CHARG.'PB' ;
 150 :   'SINON' ;
 151 :           CHARGI = CHARG.'CB' ;
 152 :           CHAB1 = CHARGI * 1.E-6 ;
 153 :   'FINSI' ;
 154 : 
 155 : 
 156 : ****** DIMENSIONS DE LA FISSURE
 157 : ** -- MATERIAU
 158 :   OBJF = DON.'OBJ' ;
 159 :   MATF = DON.'MAT' ;
 160 :   CARF = DON.'CAR' ;
 161 :   MATFC = MATF 'ET' CARF ;
 162 :   OBJ = DON.'OBJT' ;
 163 :   MAT = DON.'MATT' ;
 164 :   CAR = DON.'CART' ;
 165 :   MAT = MAT 'ET' CAR ;
 166 : 
 167 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 168 : 
 169 : *************************************************************
 170 : * RE-ECRITURE DES CHAMPS MODELE MATERIAU ET CARACTERISTIQUE *
 171 : *************************************************************
 172 : 'MESS' '                                                       ';
 173 : 'MESS' '--> RE-ECRITURE DES CHAMPS MODELE MATERIAU ET
 174 :  CARACTERISTIQUE';
 175 :     KR = 0 ;KRF = 0. ;
 176 :     'REPETER' BOUCR NBFI ;
 177 :       KR = KR + 1 ;KRF = KRF + 1. ;
 178 :       ELC = FISS1 'ELEM' KR ;
 179 :       MOE = 'REDU' OBJF ELC ;
 180 :       MONE = 'EXTR' MOE 'FORM' MECANIQUE ;
 181 :       CHFIC = 'MANU' 'CHML' MONE 'SCAL' KRF 'TYPE' 'SCALAIRE'
 182 :               'STRESSES' ;
 183 :       MAE = 'REDU' MATF ELC ;
 184 :       EY = 'EXTR' MAE 'YOUN' 1 1 2 ;
 185 :       PO = 'EXTR' MAE 'NU' 1 1 2 ;
 186 :       MANE = 'MATE' MONE 'YOUN' EY 'NU' PO ;
 187 :       CAE = 'REDU' CARF ELC ;
 188 :       XV = 'EXTR' CAE 'VX' 1 1 2 ;
 189 :       YV = 'EXTR' CAE 'VY' 1 1 2 ; 
 190 :       ZV = 'EXTR' CAE 'VZ' 1 1 2 ;
 191 :       EP = 'EXTR' CAE 'EPAI' 1 1 2 ;
 192 :       PROF = 'EXTR' CAE 'FISS' 1 1 2 ;
 193 :       CARNE = 'CARA' MONE 'EPAI' EP 'FISS' PROF 
 194 :              'VX' XV  'VY' YV  'VZ' ZV ;
 195 :       CAR0E = 'CARA' MONE 'EPAI' EP 'FISS' 0. 
 196 :              'VX' XV  'VY' YV  'VZ' ZV ;
 197 :       'SI' (KR 'EGA' 1) ;
 198 :         CAR1 = CARNE ;
 199 :         MOD1 = MONE ;
 200 :         MAT1 = MANE ;
 201 :         CAR0 = CAR0E ;
 202 :         CHFIC1 = CHFIC ;
 203 :       'SINON';
 204 :         CAR1 = CAR1 'ET' CARNE ;
 205 :         MOD1 = MOD1 'ET' MONE ;
 206 :         MAT1 = MAT1 'ET' MANE ;
 207 :         CAR0 = CAR0 'ET' CAR0E ;
 208 :         CHFIC1 = CHFIC1 'ET' CHFIC ;
 209 :       'FINSI';
 210 :     'FIN' BOUCR ;
 211 : 
 212 :     SELEC = 'TABLE' ;
 213 :     KJ = 0 ;KJF = 0. ;
 214 :     'REPETER' BOUCJ NBFI ;
 215 :       KJ = KJ + 1 ;KJF = KJF + 1. ;
 216 :       SELECS = 'MASQ' CHFIC1 'SUPERIEUR' (KJF + 0.1) ;
 217 :       SELECI = 'MASQ' CHFIC1 'INFERIEUR' (KJF - 0.1) ;
 218 :       SELECC = SELECS + SELECI ;
 219 :       SELEC.KJ = 'MASQ' SELECC 'INFERIEUR' 0.5 ;
 220 :     'FIN' BOUCJ ;
 221 : 
 222 :     OBJF = MOD1 ;
 223 :     CARF = CAR1 ;
 224 :     'SI' (CALFAT 'EGA' 0) ;
 225 :       CARF1 = CAR1 ;CARF2 = CAR1 ;
 226 :       TABCAR.'FATIGUE'. 0 = CAR1 ;
 227 :       TABCAR.'FLUAGE'. 0 = CAR1 ;
 228 :     'FINSI' ;
 229 :     TABCAR.'TOTAL'. 0 = CAR1 ;
 230 :     MATF = MAT1 ;
 231 :     MATFC = MATF 'ET' CARF ;
 232 :     MATF0 = MATF 'ET' CAR0 ;
 233 : 
 234 :     DON.'SEL' = SELEC ;
 235 : 
 236 :   'SINON' ;
 237 : 
 238 :     SELEC = DON.'SEL' ;
 239 :     'SI' (CALFAT 'EGA' 0) ;
 240 :       CARF1 = DON.'CAR1' ;CARF2 = DON.'CAR2' ;
 241 :     'FINSI' ;
 242 :   'FINSI' ;
 243 : 
 244 : ****************************************************************
 245 : *                   CREATION DES RIGIDITES                     *
 246 : ****************************************************************
 247 : 
 248 :   BLOCA = DON.'BLO' ;
 249 :   OBJTF = OBJ 'ET' OBJF ;
 250 :   MATTF = MAT 'ET' MATFC ;
 251 :   'SI'  ('NON' ('EXISTE' DON REPRISE)) ;
 252 :     MATT0 = MAT 'ET' MATF0 ;
 253 :     RIGIK0 = 'RIGI' OBJTF MATT0 ;
 254 :     RIGK0 = RIGIK0 'ET' BLOCA ;
 255 :   'FINSI' ;
 256 :   RIGIK = 'RIGI' OBJTF MATTF ;
 257 :   RIGK  = RIGIK 'ET' BLOCA ;
 258 : 
 259 : ****************************************************************
 260 : *                         RESOLUTIONS                          *
 261 : ****************************************************************
 262 : 
 263 :   'SI'  ('NON' ('EXISTE' DON REPRISE)) ;
 264 :   'MESS' '--> RESOLUTIONS DU CHARGEMENT NOMINALE' ;
 265 :   'MESS' '                                      ' ;
 266 :     D_RE0 = 'RESO' RIGK0 DCHA ;
 267 : *    RE_A0 = 'RESO' RIGK0 CHAA ;
 268 :     RE_B0 = 'RESO' RIGK0 CHAB ;
 269 :     'SI' (('MAXI' ('ABS' (DCHA - DCHA1))) < 1.E-10) ;
 270 :       D_RE01 = D_RE0 ;
 271 :     'SINON' ;
 272 :       D_RE01 = 'RESO' RIGK0 DCHA1 ;
 273 :     'FINSI' ;
 274 :     'SI' (('MAXI' ('ABS' (CHAA - CHAA1))) < 1.E-10) ;
 275 : *      RE_A01 = RE_A0 ;
 276 :     'SINON' ;
 277 : *      RE_A01 = 'RESO' RIGK0 CHAA1 ;
 278 :     'FINSI' ;
 279 :     'SI' (('MAXI' ('ABS' (CHAB - CHAB1))) < 1.E-10) ;
 280 :       RE_B01 = RE_B0 ;
 281 :     'SINON' ;
 282 :       RE_B01 = 'RESO' RIGK0 CHAB1 ;
 283 :     'FINSI' ;
 284 :   'FINSI' ;
 285 : 
 286 : *  'MESS' 'RESOLUTIONS DU CHARGEMENT' ;
 287 :   D_RE = 'RESO' RIGK DCHA ;
 288 :   RE_A = 'RESO' RIGK CHAA ;
 289 :   RE_B = 'RESO' RIGK CHAB ;
 290 :   'SI' (('MAXI' ('ABS' (DCHA - DCHA1))) < 1.E-10) ;
 291 :     D_RE1 = D_RE ;
 292 :   'SINON' ;
 293 :     D_RE1 = 'RESO' RIGK DCHA1 ;
 294 :   'FINSI' ;
 295 :   'SI' (('MAXI' ('ABS' (CHAA - CHAA1))) < 1.E-10) ;
 296 :     RE_A1 = RE_A ;
 297 :   'SINON' ;
 298 :     RE_A1 = 'RESO' RIGK CHAA1 ;
 299 :   'FINSI' ;
 300 :   'SI' (('MAXI' ('ABS' (CHAB - CHAB1))) < 1.E-10) ;
 301 :     RE_B1 = RE_B ;
 302 :   'SINON' ;
 303 :     RE_B1 = 'RESO' RIGK CHAB1 ;
 304 :   'FINSI' ;
 305 : 
 306 : 
 307 : 
 308 : ****************************************************************
 309 : *             CALCULS DES CHAMPS DE CONTRAINTES                *
 310 : ****************************************************************
 311 : 
 312 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 313 : 
 314 :     'OUBLIER' RIGIK0 ;
 315 :     'OUBLIER' RIGK0 ;
 316 : 
 317 :     SIGNO   = 'SIGMA' OBJF MATF0 D_RE0 ;
 318 : *    SIGANO  = 'SIGMA' OBJF MATF0 RE_A0 ;
 319 :     SIGBNO  = 'SIGMA' OBJF MATF0 RE_B0 ;
 320 :     SIGNO1  = 'SIGMA' OBJF MATF0 D_RE01 ;
 321 : *    SIGANO1 = 'SIGMA' OBJF MATF0 RE_A01 ;
 322 :     SIGBNO1 = 'SIGMA' OBJF MATF0 RE_B01 ;
 323 : 
 324 :     'OUBLIER' D_RE0 ;
 325 :     'OUBLIER' RE_B0 ;
 326 :     'OUBLIER' D_RE01 ;
 327 :     'OUBLIER' RE_B01 ;
 328 : 
 329 :     DON.'DNOP' = SIGNO1 ;
 330 :     DON.'DNO'  = SIGNO ;
 331 : *    DON.'NO1'  = SIGANO1 ;
 332 : *    DON.'NO'   = SIGANO ;
 333 :     DON.'NOB1' = SIGBNO1 ;
 334 :     DON.'NOB'  = SIGBNO ;
 335 : 
 336 :   'SINON' ;
 337 : 
 338 :     SIGNO1  = DON.'DNOP' ;
 339 :     SIGNO   = DON.'DNO' ;
 340 : *    SIGANO1 = DON.'NO1' ;
 341 : *    SIGANO  = DON.'NO' ;
 342 :     SIGBNO1 = DON.'NOB1' ;
 343 :     SIGBNO  = DON.'NOB' ;
 344 : 
 345 :   'FINSI' ;
 346 : 
 347 : 
 348 :   'OUBLIER' RIGIK ;
 349 :   'OUBLIER' RIGK ;
 350 : 
 351 :   DSIG  = 'SIGMA' OBJF MATFC D_RE ;
 352 :   SIGA  = 'SIGMA' OBJF MATFC RE_A ;
 353 :   SIGB  = 'SIGMA' OBJF MATFC RE_B ;
 354 :   DSIG1 = 'SIGMA' OBJF MATFC D_RE1 ;
 355 :   SIGA1 = 'SIGMA' OBJF MATFC RE_A1 ;
 356 :   SIGB1 = 'SIGMA' OBJF MATFC RE_B1 ;
 357 : 
 358 :   'OUBLIER' D_RE ;
 359 :   'OUBLIER' D_RE1 ;
 360 :   'OUBLIER' RE_A ;
 361 :   'OUBLIER' RE_A1 ;
 362 :   'OUBLIER' RE_B ;
 363 :   'OUBLIER' RE_B1 ;
 364 : 
 365 : ** -- FISSURE
 366 : 
 367 :   A0 = CHAN 'STRESSES' OBJF MATFC ;
 368 :   A = 'EXCO' A0 'FISS' SCAL ;
 369 :   W = 'EXCO' A0 'EPAI' SCAL ;
 370 :   E = 'EXCO' A0 'YOUN' SCAL ; 
 371 :   ESTAR = E ; EY = 'MAXI' E ;
 372 : 
 373 :   'SI' (('EXISTE' DON ALIMIT) 'EGA' VRAI) ;
 374 :     COEFIMP = DON.ALIMIT ;
 375 :   'SINON' ;
 376 :     COEFIMP = 0.7 ;
 377 :   'FINSI' ;
 378 : 
 379 :   'SI' (('EXISTE' DON REACTUA) 'EGA' VRAI) ;
 380 :     COEFREA = 1. + ((DON.REACTUA) / 100.)  ;
 381 :   'SINON' ;
 382 :     COEFREA = 1.1 ;
 383 :   'FINSI' ;
 384 :   
 385 :   'SI' ((COEFIMP > 1.) 'OU' (COEFIMP < 0.)) ;
 386 :     'MESS' 'LE CONTENU DE DON.ALIMIT DOIT ETRE COMPRIS
 387 :  ENTRE 0 ET 1' ;
 388 :   'FINSI' ;
 389 : 
 390 :   'SI' ('EXISTE' DON ATOT) ;
 391 :     ADEB = DON.ATOT ;
 392 :   'SINON' ;
 393 :     ADEB = A ;
 394 :   'FINSI' ;
 395 :   
 396 :   'SI' (CALFAT 'EGA' 0) ;
 397 :     A1 = CHAN 'STRESSES' OBJF CARF1 ;
 398 :     A2 = CHAN 'STRESSES' OBJF CARF2 ;
 399 :     'SI' (('EXISTE' DON ATOT1) 'ET' ('EXISTE' DON ATOT2)) ;
 400 :       ADEB1 = DON.ATOT1 ;ADEB2 = DON.ATOT2 ;
 401 :     'SINON' ;
 402 :       ADEB1 = 'EXCO' A1 'FISS' SCAL ;
 403 :       ADEB2 = 'EXCO' A2 'FISS' SCAL ;
 404 :     'FINSI' ;
 405 :   'FINSI' ;
 406 : 
 407 :   AFIN = ADEB * COEFREA ;
 408 :   WIMP = W * COEFIMP ;
 409 : 
 410 : 
 411 : 
 412 : 
 413 : ****** LOIS DE COMPORTEMENT
 414 : 
 415 : 
 416 : 
 417 : ****** LOIS DE PROPAGATION
 418 : 
 419 :   'SI' (A316 'EGA' 1) ;
 420 : *   LOI DE PROPAGATION EN FATIGUE
 421 :     CFAT = 1.4E-10 ; NFAT = 3. ;
 422 : *   LOI DE PROPAGATION EN FLUAGE
 423 :     CFLU = 2.17E-2 ; NFLU = 0.81 ;
 424 : *   LOI DE COMPORTEMENT 
 425 : *   COURBE DE TRACTION ( A 525 °C ) 
 426 :     PROGTE = 'PROG' 0. 0.00066 0.002 0.01  0.05  0.31 ; 
 427 :     PROGTS = 'PROG' 0. 100.    135.  164.5 283.5 619. ;
 428 : *   COURBE CYCLIQUE 
 429 :     PROGCS = 'PROG' 0. PAS 10. 800. ;
 430 :     PROGCE =  (100. * (PROGCS * ((2. * (1. + 0.3)) / (3. * EY))))
 431 :     + ((PROGCS / 718.) ** (1. / 0.319)) ;
 432 :     PROGCE = PROGCE * (1. / 100.) ;
 433 : *   MODULE D'YOUNG CYCLIQUE
 434 :     ECYCL = (3. * EY) / (2. * ( 1. + 0.3)) ;
 435 : *   LIMITE D'ELASTICITE
 436 :     R002 = 114. ;
 437 : *   COEFFICIENT DE FLUAGE
 438 :     C1 = 1.8803E-12;  C2 = 0.40053 ;  C3 = 6.1073E23 ;
 439 :     N1 = 4.125 ;      N3 = -8.2276 ;
 440 :     KFP = 2.1218E-30 ;  XFP = -1.4967 ;   YFP = 10.2217 ;
 441 :     CFS = 4.1482E-29 ;  NFS = 9.06 ;
 442 :   'SINON' ;
 443 : *   LOI DE PROPAGATION EN FATIGUE
 444 :     CFAT = DON.FAT.'COEFFICIENT' ; NFAT = DON.FAT.'EXPOSANT' ;
 445 : *   COURBE CYCLIQUE
 446 :     PROGCE = DON.CC.'EPS'        ;PROGCS = DON.CC.'SIG' ;
 447 : *   MODULE D'YOUNG CYCLIQUE
 448 :     ECYCL = ('EXTR' PROGCS 1) / ('EXTR' PROGCE 1) ;
 449 : *   COURBE DE TRACTION OU CYCLIQUE REDUITE
 450 :     PROGTE = DON.CT.'EPS'      ; PROGTS = DON.CT.'SIG' ;
 451 : *   LIMITE D'ELASTICITE
 452 :     R002 = DON.'R002' ;
 453 :     'SI' (CALFAT 'EGA' 0) ;
 454 : *     LOI DE PROPAGATION EN FLUAGE
 455 :       CFLU = DON.FLU.'COEFFICIENT' ; NFLU = DON.FLU.'EXPOSANT' ;
 456 :       CEPSS = DON.EPS.'COEFFSEC' ; NEPSS = DON.EPS.'EXPSEC' ;
 457 :     'FINSI' ;
 458 :   'FINSI' ;
 459 : 
 460 : **** COURBES POUR LA LOI DE NEUBER
 461 : 
 462 : * CYCLIQUE
 463 :   PROGNS = PROGCS ;
 464 :   PROGNSE = PROGCS * PROGCE ;
 465 : * TRACTION
 466 :   PROGNST = PROGTS ;
 467 :   PROGNSET = PROGTS * PROGTE ;
 468 : 
 469 : ****** PARAMETRES
 470 : 
 471 :   TM = DON.TPSM ;
 472 :   'SI' ('EXISTE' DON TPSTOT ) ;
 473 :     TTOTAL = DON.TPSTOT ;
 474 :   'SINON' ;
 475 :     TTOTAL = 0. ;
 476 :   'FINSI' ;
 477 : 
 478 :   'SI' ('EXISTE' DON NBCYCLE ) ;
 479 :     NBCYT = DON.NBCYCLE ;
 480 :   'SINON' ;
 481 :     NBCYT = 0 ;
 482 :   'FINSI' ;
 483 : 
 484 :   'SI' (('EXISTE' DON AMAX) 'EGA' VRAI) ;
 485 :     'SI' ((DON.AMAX) 'EGA' VRAI ) ;
 486 :       'MESS' 'LA FISSURE EST TRAVERSANTE' ;
 487 :       'QUIT' BOUREA ;
 488 :     'FINSI' ; 
 489 :   'FINSI' ;
 490 : 
 491 : 
 492 : 
 493 : ****** INITIALISATION DES CHAMPS CONSTANTS
 494 : 
 495 :   CHR02 = 'MANU' 'CHML' OBJF 'SCAL' R002 'TYPE' 'SCALAIRE'
 496 :           'STRESSES' ;
 497 :   CHAM1 = 'MANU' 'CHML' OBJF 'SCAL' 1. 'TYPE' 'SCALAIRE'
 498 :           'STRESSES' ;
 499 :   CHAM0 = 'MANU' 'CHML' OBJF 'SCAL' 0. 'TYPE' 'SCALAIRE'
 500 :           'STRESSES' ;
 501 :   NB_PGAUS = CHAM1 'MASQ' 'SUPERIEUR' 0.5 'SOMME' ;
 502 : 
 503 : 
 504 : ****************************************************************
 505 : *    EXTRACTION DES COMPOSANTES DES CHAMPS                     *
 506 : ****************************************************************
 507 : 
 508 : *** FATIGUE ***
 509 : 
 510 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 511 : 
 512 : *---- DELTA-CHARGEMENT NOMINAL COMPLET
 513 : 
 514 :     DELT_NNO = 'EXCO' SIGNO 'NZZ' 'SCAL' ;
 515 :     DELT_MNO = 'EXCO' SIGNO 'MXX' 'SCAL' ;
 516 : 
 517 :     'OUBLIER' SIGNO ;
 518 :   
 519 : 
 520 : *---- DELTA-CHARGEMENT NOMINAL PRIMAIRE
 521 : 
 522 :     DELT_N1N = 'EXCO' SIGNO1 'NZZ' 'SCAL' ;
 523 :     DELT_M1N = 'EXCO' SIGNO1 'MXX' 'SCAL' ;
 524 : 
 525 :     'OUBLIER' SIGNO1 ;
 526 : 
 527 :   'FINSI' ;
 528 : 
 529 : 
 530 : *---- DELTA-CHARGEMENT PRIMAIRE
 531 : 
 532 :   DELT_N1 = 'EXCO' DSIG1 'NZZ' 'SCAL' ;
 533 :   DELT_M1 = 'EXCO' DSIG1 'MXX' 'SCAL' ;
 534 :   CH_NZZ = 'EXCO' DSIG1 'NZZ' ;CH_MXX = 'EXCO' DSIG1 'MXX' ;
 535 :   CH_KI = 'EXCO' DSIG1 'KI' ;
 536 :   DSIG1FIS = CH_NZZ 'ET' CH_MXX 'ET' CH_KI ;
 537 : 
 538 : *---- DELTA-CHARGEMENT 
 539 : 
 540 :   DELT_N = 'EXCO' DSIG 'NZZ' 'SCAL' ;
 541 :   DELT_M = 'EXCO' DSIG 'MXX' 'SCAL' ;
 542 :   CH_NZZ = 'EXCO' DSIG 'NZZ' ;CH_MXX = 'EXCO' DSIG 'MXX' ;
 543 :   CHKI = 'EXCO' DSIG 'KI' 'SCAL' ;
 544 :   CH_KI = 'EXCO' DSIG 'KI' ;
 545 :   DSIGFIS = CH_NZZ 'ET' CH_MXX 'ET' CH_KI ;
 546 : 
 547 :   'OUBLIER' DSIG ;
 548 : 
 549 : *** FLUAGE ***
 550 : 
 551 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 552 : 
 553 : *---- CHARGEMENT NOMINAL B COMPLET
 554 : 
 555 :     NBNO = 'EXCO' SIGBNO 'NZZ' 'SCAL' ;
 556 :     MBNO = 'EXCO' SIGBNO 'MXX' 'SCAL' ;
 557 : 
 558 :     'OUBLIER' SIGBNO ;
 559 : 
 560 : *---- CHARGEMENT NOMINAL B PRIMAIRE
 561 : 
 562 :     NBNO1 = 'EXCO' SIGBNO1 'NZZ' 'SCAL' ;
 563 :     MBNO1 = 'EXCO' SIGBNO1 'MXX' 'SCAL' ;
 564 : 
 565 :     'OUBLIER' SIGBNO1 ;
 566 : 
 567 :   'FINSI' ;
 568 : 
 569 : 
 570 : *---- CHARGEMENT A COMPLET
 571 : 
 572 :   NA = 'EXCO' SIGA 'NZZ' 'SCAL' ;
 573 :   MA = 'EXCO' SIGA 'MXX' 'SCAL' ;
 574 :   KIA = 'EXCO' SIGA 'KI' 'SCAL' ;
 575 :   CH_NZZ = 'EXCO' SIGA 'NZZ' ;CH_MXX = 'EXCO' SIGA 'MXX' ;
 576 :   CH_KI = 'EXCO' SIGA 'KI' ;
 577 :   SIGAFIS = CH_NZZ 'ET' CH_MXX 'ET' CH_KI  ;
 578 : 
 579 :   'OUBLIER' SIGA ;
 580 : 
 581 : *---- CHARGEMENT B COMPLET
 582 : 
 583 :   NB = 'EXCO' SIGB 'NZZ' 'SCAL' ;
 584 :   MB = 'EXCO' SIGB 'MXX' 'SCAL' ;
 585 :   KIB = 'EXCO' SIGB 'KI' 'SCAL' ;
 586 :   CH_NZZ = 'EXCO' SIGB 'NZZ' ;CH_MXX = 'EXCO' SIGB 'MXX' ;
 587 :   CH_KI = 'EXCO' SIGB 'KI' ;
 588 :   SIGBFIS = CH_NZZ 'ET' CH_MXX 'ET' CH_KI ;
 589 :  
 590 :  'OUBLIER' SIGB ;
 591 : 
 592 : *---- CHARGEMENT A PRIMAIRE
 593 : 
 594 :   NA1 = 'EXCO' SIGA1 'NZZ' 'SCAL' ;
 595 :   MA1 = 'EXCO' SIGA1 'MXX' 'SCAL' ;
 596 :   KIA1 = 'EXCO' SIGA1 'KI' 'SCAL' ;
 597 :   CH_NZZ = 'EXCO' SIGA1 'NZZ' ;CH_MXX = 'EXCO' SIGA1 'MXX' ;
 598 :   CH_KI = 'EXCO' SIGA1 'KI' ;
 599 :   SIGA1FIS = CH_NZZ 'ET' CH_MXX 'ET' CH_KI ;
 600 : 
 601 :   'OUBLIER' SIGA1 ;
 602 : 
 603 : *---- CHARGEMENT B PRIMAIRE
 604 : 
 605 :   NB1 = 'EXCO' SIGB1 'NZZ' 'SCAL' ;
 606 :   MB1 = 'EXCO' SIGB1 'MXX' 'SCAL' ;
 607 :   KIB1 = 'EXCO' SIGB1 'KI' 'SCAL' ;
 608 :   CH_NZZ = 'EXCO' SIGB1 'NZZ' ;CH_MXX = 'EXCO' SIGB1 'MXX' ;
 609 :   CH_KI = 'EXCO' SIGB1 'KI' ;
 610 :   SIGB1FIS = NB1 'ET' MB1 'ET' CH_KI ;
 611 : 
 612 :   'OUBLIER' SIGB1 ;
 613 : 
 614 :   'MENAGE' ;
 615 : 
 616 : ****************************************************************
 617 : *          VALEURS DE FATIGUE (CALCULS PRELIMINAIRES)          *
 618 : ****************************************************************
 619 : 
 620 : **** CALCUL DU SIGMA NOMINAL REEL
 621 : 
 622 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 623 : 
 624 :     DS_NOS = @SIGREF DELT_NNO DELT_MNO W CHAM0 OBJF ;
 625 :     DS_NO  = 'ABS' DS_NOS ;
 626 :  
 627 :     DS_NO1S = @SIGREF DELT_N1N DELT_M1N W CHAM0 OBJF ;
 628 :     DS_NO1  = 'ABS' DS_NO1S ;
 629 : 
 630 :     DE_NO1 = 'IPOL' DS_NO1 PROGCS PROGCE ;
 631 :     DE_NOR = (DS_NO - DS_NO1 + (ECYCL * DE_NO1)) * (ECYCL ** -1);
 632 :     DS_NOR = 'IPOL' DE_NOR PROGCE PROGCS ;
 633 : 
 634 :     DON.'DELSIGNO' = DS_NO ;
 635 :     DON.'DELSIGNOR' = DS_NOR ;
 636 : 
 637 :   'SINON' ;
 638 : 
 639 :      DS_NO  = DON.'DELSIGNO' ;
 640 :      DS_NOR = DON.'DELSIGNOR' ;
 641 : 
 642 :   'FINSI' ;
 643 : 
 644 : ** -- CALCUL DES CONTRAINTES PRIMAIRES PRES DU DEFAUT 
 645 : 
 646 :    DS_DEF1S = @SIGREF DELT_N1 DELT_M1 W A OBJF ;
 647 :    DS_DEF1  = 'ABS' DS_DEF1S ;
 648 : 
 649 :    DE_DEF1 = 'IPOL' DS_DEF1 PROGCS PROGCE ;
 650 : 
 651 : ** -- CALCUL DES CONTRAINTES RELLES PRES DU DEFAUT 
 652 : 
 653 :    DS_DEFS = @SIGREF DELT_N DELT_M W A OBJF;
 654 :    DS_DEF  = 'ABS' DS_DEFS ; 
 655 :    
 656 :    DE_DEFP = (DS_DEF - DS_DEF1 + (ECYCL * DE_DEF1)) * (ECYCL ** -1) ;
 657 :   
 658 :    SE = DS_DEF * DE_DEFP ;
 659 :    DS_DEFR = 'IPOL' SE PROGNSE PROGNS ;
 660 :    DE_DEFR = 'IPOL' DS_DEFR PROGCS PROGCE ;
 661 : 
 662 : 
 663 : ****************************************************************
 664 : *          VALEURS DE FLUAGE (CALCULS PRELIMINAIRES)           *
 665 : **************************************************************** 
 666 : 
 667 :   'SI' ('NON' ('EXISTE' DON REPRISE)) ;
 668 : 
 669 : ** -- CALCUL DE LA CONTRAINTE NOMINALE PRIMAIRE EN B
 670 : 
 671 :     S_NOB1S = @SIGREF NBNO1 MBNO1 W CHAM0 OBJF ;
 672 :     S_NOB1  = 'ABS' S_NOB1S ;
 673 : 
 674 :     E_NOB1 = 'IPOL' S_NOB1 PROGTS PROGTE ;
 675 :  
 676 : ** -- CALCUL DE LA CONTRAINTE NOMINALE REELLE
 677 : 
 678 :     S_NOBS = @SIGREF NBNO MBNO W CHAM0 OBJF ;
 679 :     S_NOB  = 'ABS' S_NOBS ;
 680 : 
 681 :     E_NORB = (S_NOB - S_NOB1 + (E * E_NOB1)) * (E ** -1) ;
 682 :     S_NORB = 'IPOL' E_NORB PROGTE PROGTS ;
 683 : 
 684 :     DON.'SIGNOB' = S_NOB ;
 685 :     DON.'SIGNORB' = S_NORB ;
 686 : 
 687 :   'SINON' ;
 688 : 
 689 :     S_NOB  = DON.'SIGNOB' ;
 690 :     S_NORB = DON.'SIGNORB' ;
 691 : 
 692 :   'FINSI' ;
 693 : 
 694 : ** -- CALCUL DES CONTRAINTES PRIMAIRES EN A
 695 : 
 696 :    SIGA1P = KIA1 'MASQ' 'SUPERIEUR' 0. ;
 697 :    SIGA1N = (KIA1 'MASQ' 'INFERIEUR' 0.) * (-1.) ;
 698 :    SIGA1S = SIGA1P + SIGA1N ;
 699 : 
 700 :    S_DEFA1S = @SIGREF NA1 MA1 W A OBJF;
 701 :    TESTA11 = S_DEFA1S * SIGA1S ;
 702 :    TESTA12 = TESTA11 'MASQ' 'INFERIEUR' 0. 'SOMME' ;
 703 :    'SI' ((TESTA12 / NB_PGAUS) > 0.05) ;
 704 :     'MESS' 'LES SIGNES ISSUS DES S_REFA1 ET DES KA1 NE SONT PAS
 705 :  COHERENTS SUR ' TESTA12 'POINTS DE GAUSS' ;
 706 :    'FINSI' ;
 707 : 
 708 :    S_DEFA1  = 'ABS' S_DEFA1S ;
 709 :    E_DEFA1 = 'IPOL' S_DEFA1 PROGTS PROGTE ;
 710 : 
 711 : ** -- CALCUL DES CONTRAINTES DEFAUT REEL EN A
 712 : 
 713 :    SIGAP = KIA 'MASQ' 'SUPERIEUR' 0. ;
 714 :    SIGAN = (KIA 'MASQ' 'INFERIEUR' 0.) * (-1.) ;
 715 :    SIGAS = SIGAP + SIGAN ;
 716 : 
 717 :    S_DEFAS = @SIGREF NA MA W A OBJF ;
 718 :    TESTA1 = S_DEFAS * SIGAS ;
 719 :    TESTA2 = TESTA1 'MASQ' 'INFERIEUR' 0. 'SOMME' ;
 720 :    'SI' ((TESTA2 / NB_PGAUS) > 0.05) ;
 721 :     'MESS' 'LES SIGNES ISSUS DES S_REFA ET DES KA NE SONT PAS
 722 :  COHERENTS SUR ' TESTA2 'POINTS DE GAUSS' ;
 723 :    'FINSI' ;
 724 : 
 725 :    S_DEFA  = 'ABS' S_DEFAS ;
 726 :    E_DEFA =  (S_DEFA - S_DEFA1 + (E * E_DEFA1)) * (E ** -1) ;
 727 :    SE = S_DEFA * E_DEFA ;
 728 :    S_DEFRA = 'IPOL' SE PROGNSET PROGNST ;
 729 :   
 730 : ** -- CALCUL DES CONTRAINTES PRIMAIRES EN B
 731 : 
 732 :    SIGB1P = KIB1 'MASQ' 'SUPERIEUR' 0. ;
 733 :    SIGB1N = (KIB1 'MASQ' 'INFERIEUR' 0.) * (-1.) ;
 734 :    SIGB1S = SIGB1P + SIGB1N ;
 735 : 
 736 :    S_DEFB1S = @SIGREF NB1 MB1 W A OBJF ;
 737 :    TESTB11 = S_DEFB1S * SIGB1S ;
 738 :    TESTB12 = TESTB11 'MASQ' 'INFERIEUR' 0. 'SOMME' ;
 739 :    'SI' ((TESTB12 / NB_PGAUS) > 0.05) ;
 740 :     'MESS' 'LES SIGNES ISSUS DES S_REFB1 ET DES KB1 NE SONT PAS
 741 :  COHERENTS SUR ' TESTB12 'POINTS DE GAUSS' ;
 742 :    'FINSI' ;
 743 : 
 744 :    S_DEFB1  = 'ABS' S_DEFB1S ;
 745 :    E_DEFB1 = 'IPOL' S_DEFB1 PROGTS PROGTE ;
 746 : 
 747 : ** -- CALCUL DES CONTRAINTES DEFAUT REEL EN B
 748 : 
 749 :    SIGBP = KIB 'MASQ' 'SUPERIEUR' 0. ;
 750 :    SIGBN = (KIB 'MASQ' 'INFERIEUR' 0.) * (-1.) ;
 751 :    SIGBS = SIGBP + SIGBN ;
 752 : 
 753 :    S_DEFBS = @SIGREF NB MB W A OBJF ;
 754 :    TESTB1 = S_DEFBS * SIGBS ;
 755 :    TESTB2 = TESTB1 'MASQ' 'INFERIEUR' 0. 'SOMME' ;
 756 :    'SI' ((TESTB2 / NB_PGAUS) > 0.05) ;
 757 :     'MESS' 'LES SIGNES ISSUS DES S_REFB ET DES KB NE SONT PAS
 758 :  COHERENTS SUR ' TESTB2 'POINTS DE GAUSS' ;
 759 :    'FINSI' ;
 760 : 
 761 :    S_DEFB  = 'ABS' S_DEFBS ;
 762 :    E_DEFB =  (S_DEFB - S_DEFB1 + (E * E_DEFB1)) * (E ** -1) ;
 763 :    SE = S_DEFB * E_DEFB ;
 764 :    S_DEFRB = 'IPOL' SE PROGNSET PROGNST ;
 765 : 
 766 : 
 767 : 
 768 : ****************************************************************
 769 : *         CONTRIBUTION DE LA FATIGUE (SUR 1 CYCLE)             *
 770 : ****************************************************************
 771 :  
 772 : 
 773 : *- CORRECTION DE PLASTICITE :
 774 : 
 775 :   DS2DEFR = DS_DEFR ** 2 ;CHR022 = CHR02 ** 2 ;
 776 :   CHR022 = CHR022 * 4. ;
 777 :   PSI_DNO = (DS2DEFR + CHR022) ;PSI_DNO = PSI_DNO ** -1 ;
 778 :   PSI = 0.5 * DS2DEFR * PSI_DNO ;
 779 : 
 780 : *- METHODE 'JS' :
 781 :   DEDS = DS_DEFR ** -1 ;DEDS = DE_DEFR * DEDS ;
 782 :   DEDSE = ECYCL * DEDS ;PSIDEDS = PSI + DEDSE ;
 783 :   NORNO = DS_NO ** -1 ;NORNO = DS_NOR * NORNO ;
 784 :   NORNO2 = NORNO ** 2 ;
 785 :   K_DJ = PSIDEDS * NORNO2  ;
 786 : 
 787 : *- ON PREND LA VALEUR ABSOLUE DES 'DELTA-FACTEUR D INTENSITE DE CONTRAINTE'
 788 : 
 789 : *  DKI = CHKI 'MASQ' 'SUPERIEUR' 0. ;
 790 : *  DKI = CHKI * DKI ;
 791 :   DKI = 'ABS' CHKI ;
 792 : 
 793 :   DKI2 = DKI ** 2 ;
 794 :   DJ_EL = DKI2 * (ECYCL ** -1);
 795 : 
 796 :   DJ = DJ_EL * K_DJ ;
 797 : 
 798 : **** CALCUL DE R ET CHOIX DE Q
 799 : **** ---- CALCUL DE R
 800 : 
 801 :   S_DEFRAS = S_DEFRA * SIGAS ;S_DEFRBS = S_DEFRB * SIGBS ;
 802 :   DSOMM = S_DEFRAS + S_DEFRBS ;DSOMM = DSOMM / 2. ;
 803 :   DS2DEFR = 0.5 * DS_DEFR ;
 804 :   RESU1 = DSOMM - DS2DEFR ;
 805 :   RESUS1 = RESU1 'MASQ' 'INFERIEUR' 0. ;
 806 :   RESU2 = DSOMM + DS2DEFR ;
 807 :   RESUS2 = RESU2 'MASQ' 'INFERIEUR' 0. ;
 808 : 
 809 : *- LES ALTERNANCES NEGATIF/NEGATIF SONT MISES A ZERO
 810 : 
 811 :   RESU0 = RESUS1 * RESUS2 ;RESUF = RESU0 'MASQ' 'INFERIEUR' 0.99 ;
 812 :  
 813 :   R = RESU1 * (RESU2 ** (-1)) ;
 814 : 
 815 : 
 816 : 
 817 : **** ---- CHOIX DE Q
 818 : 
 819 :   CHRNEG = R 'MASQ' 'INFERIEUR' 0. ;
 820 :   CHRPOS = R 'MASQ' 'SUPERIEUR' 0. ;
 821 :   RS2 = 0.5 * R ;RS2 = CHAM1 - RS2 ;
 822 :   RS1 = CHAM1 - R ;RS1 = RS1 ** -1 ;
 823 :   QPOS = (RS2 ** -1) * CHRPOS ;
 824 :   QNEG = (RS2 * RS1) * CHRNEG ;
 825 : 
 826 :   Q = QPOS + QNEG ;Q = Q * RESUF ;
 827 : 
 828 : **** CALCUL DE DELTA-K EFFICACE  
 829 :   
 830 :   MULTI = 1.E-3 ** 0.5 ;DJCY = ECYCL * DJ ;DJCY = DJCY ** 0.5 ;
 831 :   DK_EFF = Q * DJCY * MULTI ;
 832 : 
 833 : **** CALCUL DE LA PROPAGATION EN FATIGUE PRIMAIRE SUR 1 CYCLE
 834 :   
 835 :   DA_FAT1 = DK_EFF ** NFAT ;
 836 :   DA_FAT = CFAT * DA_FAT1 * 1000. ;
 837 : 
 838 : 
 839 : 
 840 : ****************************************************************
 841 : *              CALCUL DE PROPAGATION SUR N CYCLE               *
 842 : **************************************************************** 
 843 : 
 844 : * INITIALISATION D'ACTUALISATION
 845 : 
 846 :   ATOTAL = ADEB ;
 847 :   ATOTAL1 = ADEB1 ;ATOTAL2 = ADEB2 ; 
 848 :   NBCY = 0. ;
 849 :   EF = CHAM0 ;EFP = CHAM0 ;EFS = CHAM0 ;EF1 = CHAM0 ;
 850 :   KAC = 1 ; ACC = 1. ; KCRIT = 0 ;
 851 : 
 852 :   'SI' ('EXISTE' DON LR_NBCYT) ;
 853 :     L_NBCYT = DON.LR_NBCYT ;
 854 :   'SINON' ;
 855 :     L_NBCYT = 'PROG' ;
 856 :   'FINSI' ;
 857 : 
 858 :   'SI' ('EXISTE' DON LR_DAFAT) ;
 859 :     L_DA_FAT = DON.LR_DAFAT ;
 860 :   'SINON' ;
 861 :     L_DA_FAT = 'PROG' ;
 862 :   'FINSI' ;
 863 : 
 864 :   'SI' ('EXISTE' DON LR_ATOT) ;
 865 :     L_ATOT = DON.LR_ATOT ;
 866 :   'SINON' ;
 867 :     L_ATOT = 'PROG' ;
 868 :   'FINSI' ;
 869 : 
 870 :   'SI' ('EXISTE' DON LR_SEFB) ;
 871 :     L_SEFB = DON.LR_SEFB ;
 872 :   'SINON' ;
 873 :     L_SEFB = 'PROG' ;
 874 :   'FINSI' ;
 875 : 
 876 :   'SI' ('EGA' CALFAT 0) ;
 877 : 
 878 :     'SI' (('EXISTE' DON LR_ATOT1) 'ET' ('EXISTE' DON LR_ATOT2)) ;
 879 :       L_ATOT1 = DON.LR_ATOT1 ;
 880 :       L_ATOT2 = DON.LR_ATOT2 ;
 881 :     'SINON' ;
 882 :       L_ATOT1 = 'PROG' ;
 883 :       L_ATOT2 = 'PROG' ;
 884 :     'FINSI' ;
 885 : 
 886 :     'SI' ('EXISTE' DON LR_DAFLU) ;
 887 :       L_DA_FLU = DON.LR_DAFLU ;
 888 :     'SINON' ;
 889 :       L_DA_FLU = 'PROG' ;
 890 :     'FINSI' ;
 891 : 
 892 :     'SI' ('EXISTE' DON LR_EPFLU) ;
 893 :       L_EP_FLU = DON.LR_EPFLU ;
 894 :     'SINON' ;
 895 :       L_EP_FLU = 'PROG' ;
 896 :     'FINSI' ;
 897 : 
 898 : *--------------------------------------------------------------*
 899 : *                 CALCUL EN FATIGUE/FLUAGE                     *
 900 : *--------------------------------------------------------------*
 901 : 
 902 : *- MISE A ZERO DES FACTEUR D INTENSITE DE CONTRAINTE NULS DU AU CHARGT B
 903 : 
 904 :     RKI = KIB 'MASQ' 'SUPERIEUR' 0. ; 
 905 :     KIB = KIB * RKI ;
 906 : 
 907 :     COEF = (KIB ** 2) * ((S_NORB * (S_NOB ** -1)) ** 2) ;
 908 : 
 909 : *- CALCUL DE SIG-EFFICACE-B ET MISE A 'EPSILON' DES VALEURS NEGATIVES
 910 : 
 911 :     S_EFFBC =  ((S_DEFRAS + S_DEFRBS) / 2.) + (0.5 * DS_DEFR) ;
 912 :     SEFMAX = 'MAXI' S_EFFBC ;SEFLIM = 'ABS' (SEFMAX * 1.E-6) ;
 913 :     CHEFFBP = 'MASQ' S_EFFBC 'SUPERIEUR' SEFLIM ;
 914 :     CHEFFBN = 'MASQ' S_EFFBC 'INFERIEUR' SEFLIM ;
 915 :     S_EFFBCP = S_EFFBC * CHEFFBP ;
 916 :     S_EFFBCN = SEFLIM * CHEFFBN ;
 917 :     S_EFFBC = S_EFFBCP + S_EFFBCN  ;
 918 : 
 919 : 
 920 :     'SI' ('EXISTE' DON PROPA) ;
 921 :       NBFISS = DON.PROPA ;
 922 :     'SINON' ;
 923 :       NBFISS = 500 ;
 924 :     'FINSI' ;
 925 : 
 926 :     'SI' ('EXISTE' DON EPSF1) ;
 927 :       EF1 = DON.EPSF1 ;
 928 :     'SINON' ;
 929 :       EF1 = CHAM0 ;
 930 :     'FINSI' ;
 931 : 
 932 : 
 933 :     WARN = AFIN 'MASQ' 'SUPERIEUR' 'SOMME' WIMP ;
 934 :     'SI' (WARN > 0.5) ;
 935 :       ALIM = WIMP ;TRAV = VRAI ;
 936 :     'SINON' ;
 937 :       ALIM = AFIN ;TRAV = FAUX ;
 938 :     'FINSI' ;
 939 : 
 940 :     S_EFFB = S_EFFBC ; 
 941 :     CPTG = 0 ;
 942 :     'REPETER' CYCLAGE NBFISS ; 
 943 :       CPTG = CPTG + 1 ;KCRIT = KCRIT + 1 ; TMV = ACC * TM ;
 944 : 
 945 :       'MENAGE' ;
 946 : 
 947 : 
 948 : **** CALCUL DE LA PROPAGATION EN FLUAGE
 949 : 
 950 :       'SI' (A316 'EGA' 1) ;
 951 : 
 952 :         NEPSP = YFP ;
 953 :         CEPSS = CFS ;
 954 :         NEPSS = NFS ;
 955 :         TFP = C3 * (S_EFFBC ** N3) ;
 956 :         CHP = TFP 'MASQ' 'SUPERIEUR' TTOTAL ;
 957 :         CHS = TFP 'MASQ' 'INFERIEUR' TTOTAL ;
 958 :         NBP = TFP 'MASQ' 'SUPERIEUR' 'SOMME' TTOTAL ;
 959 :         NBS = TFP 'MASQ' 'INFERIEUR' 'SOMME' TTOTAL ;
 960 : 
 961 : ****** CALCUL AVEC RELAXATION - A316 (FLUAGE PRIMAIRE ET SECONDAIRE)
 962 : 
 963 :         'SI' ('EGA' RELAX 1) ;
 964 :           INDIC = 1 ;
 965 :           NBR = 100 ;SUBD = TMV / NBR ;TIC = NBCY * TM ;
 966 :           'SI' (NBCY < 0.1) ;
 967 :             S_EFFBDP = S_EFFB ;
 968 :             S_EFFBDS = S_EFFB ;
 969 :           'FINSI' ;
 970 :           'SI' (NBP 'NEG' 0) ;
 971 :             CPT = 0 ;AC = 1. ;TC = 0. ;KA = 1 ;STA = 0 ;QT = 0 ;
 972 :             S_EFFBD = S_EFFBDP ;
 973 :             'REPETER' RELAX1 NBR ;
 974 :               'SI' (QT 'EGA' 0) ;
 975 :                 DT = SUBD * AC ;
 976 :               'FINSI' ;
 977 :               CPT = CPT + 1 ;TC = TC + DT ;STA = STA + 1 ;
 978 :               EFEI = S_EFFBD ** N1 ;
 979 :               TTC = TIC + TC ;C2P = C2 - 1. ;EFTT1 = TTC ** C2P ;
 980 :               EFE = C1 * C2 * EFTT1 * EFEI * DT ;
 981 :               EFP = EFP + EFE ;
 982 :               EFPCUM = EFP ;
 983 :               CEPSP1 = EFPCUM ** XFP ;
 984 :               CEPSP = KFP * CEPSP1 * 0.01 ;YFPP = 1. - YFP ;
 985 :               YFPPI = 1. / YFPP ;
 986 :               S_EFFBF1 = S_EFFBD ** YFPP ;
 987 :               S_EFFBF2 = YFPP * EY * CEPSP * DT ;
 988 :               S_EFFBF3 = S_EFFBF1 - S_EFFBF2 ;
 989 :               S_EFFBF = S_EFFBF3 ** YFPPI ;
 990 :               S_EFFBI1 = S_EFFBD + S_EFFBF ;
 991 :               S_EFFBI = S_EFFBI1 / 2. ;S_EFFBI2 = S_EFFBI ** NEPSP ;
 992 :               EPS_PT = CEPSP * S_EFFBI2 ;S_EFFBI1 = S_EFFBI ** -1 ;
 993 :               CSTAR1 = EPS_PT * S_EFFBI1 ;
 994 :               CSTAR = COEF * CSTAR1 * 1.E-3 ;
 995 :               DA_FLUEI = CSTAR ** NFLU ;
 996 :               DA_FLUE = CFLU * DA_FLUEI * DT * 1000. ;
 997 :               'SI' (CPT 'EGA' 1) ;
 998 :                 DA_FLU = DA_FLUE ;
 999 :                 DEFP = EFE ;
1000 :               'SINON';
1001 :                 DA_FLU = DA_FLU + DA_FLUE ;
1002 :                 DEFP = DEFP + EFE ;
1003 :               'FINSI';
1004 :               'SI' (QT 'EGA' 1) ;
1005 :                 'QUIT' RELAX1 ;
1006 :               'FINSI' ;
1007 :               RESID = TMV - TC ;
1008 :               'SI' (RESID < DT) ;
1009 :                 DT = RESID ;QT = 1 ;
1010 :               'FINSI' ;
1011 :               'SI' (STA > 1.1) ;
1012 :                 MDA_FLUE = 'MAXI' DA_FLUE ;MDAFLUE2 = 'MAXI' DA_FLUE2;
1013 :                 MDAFLUE2 = MDAFLUE2 ** -1 ;
1014 :                 CONTIMI = MDA_FLUE * MDAFLUE2 ;
1015 :                 M_EFE = 'MAXI' EFE ;M_EFE2 = 'MAXI' EFE2 ;
1016 :                 M_EFE2 = M_EFE2 ** -1 ;
1017 :                 EFETIMI = M_EFE * M_EFE2 ;
1018 :                 MS_EFFBI = 'MAXI' S_EFFBI ;MSEFFBI2 = 'MAXI' S_EFFB2 ;
1019 :                 MSEFFBI2 = MSEFFBI2 ** -1 ;
1020 :                 SIGTIMI = MS_EFFBI * MSEFFBI2 ;
1021 :                 'SI' ((CONTIMI > 0.99) 'ET' (SIGTIMI > 0.99)
1022 :                     'ET' (EFETIMI > 0.99))  ;
1023 :                   KA = KA + 1 ; AC = KA ** 2; STA = 0 ;
1024 :                 'FINSI' ;
1025 :               'FINSI' ;
1026 :               DA_FLUE2 = DA_FLUE ;
1027 :               S_EFFB2 = S_EFFBI ;
1028 :               EFE2 = EFE ;
1029 :               S_EFFBD = S_EFFBF ;
1030 :             'FIN' RELAX1 ;
1031 :             'SI' (CPT 'EGA' NBR) ;
1032 :               MESS 'RELAXATION SEVERE' ;
1033 :             'FINSI' ;
1034 :             S_EFFBDP = S_EFFBF ;
1035 :           'SINON' ;
1036 :             EPS_PT = CHAM1 ;
1037 :             DA_FLU = CHAM1 ;
1038 :             EFP    = CHAM1 ;
1039 :             DEFP   = CHAM1 ;
1040 :             S_EFFBDP = S_EFFB ;
1041 :           'FINSI' ;
1042 : 
1043 :           S_EFBDP = S_EFFBDP * CHP ;
1044 :           EPS_PTP = EPS_PT * CHP ;
1045 :           DA_FLUP = DA_FLU * CHP ;
1046 :           EF_P    = EFP    * CHP ;
1047 :           DEF_P   = DEFP   * CHP ;
1048 :  
1049 :           'SI' (NBS 'NEG' 0) ;  
1050 :             CPT = 0 ;AC = 1. ;TC = 0. ;KA = 1 ;STA = 0 ;QT = 0 ;
1051 :             S_EFFBD = S_EFFB ;NEPSSP = 1. - NEPSS ;
1052 :             NEPSSPP = NEPSSP ** -1 ;
1053 :             'REPETER' RELAX2 NBR ;
1054 :               'SI' (QT 'EGA' 0) ;
1055 :                 DT = SUBD * AC ;
1056 :               'FINSI' ;
1057 :               CPT = CPT + 1 ;TC = TC + DT ;
1058 :               STA = STA + 1 ;VALCH2 = EY * CEPSS * NEPSSP * DT ;
1059 :               CH2 = 'MANU' 'CHML' OBJF 'SCAL' VALCH2
1060 :                   'TYPE' 'SCALAIRE' 'STRESSES' ;
1061 :               EFEI = S_EFFBD ** NEPSS ;
1062 :               EFE = 100. * CEPSS * EFEI * DT ;
1063 :               EFS = EFS + EFE ;S_EFFBF1 = S_EFFBD ** NEPSSP ;
1064 :               S_EFFBF2 = S_EFFBF1 - CH2 ;
1065 :               S_EFFBF =  S_EFFBF2 ** NEPSSPP;
1066 :               S_EFFBI1 = S_EFFBD + S_EFFBF ;
1067 :               S_EFFBI = S_EFFBI1 / 2. ;S_EFFBI2 = S_EFFBI ** NEPSS ;
1068 :               EPS_PT = CEPSS * S_EFFBI2 ;S_EFFBI1 = S_EFFBI ** -1 ;
1069 :               CSTAR1 = EPS_PT * S_EFFBI1 ;
1070 :               CSTAR = COEF * CSTAR1 * 1.E-3 ;DA_FLUEI = CSTAR ** NFLU ;
1071 :               DA_FLUE = CFLU * DA_FLUEI * DT * 1000. ;
1072 :               'SI' (CPT 'EGA' 1) ;
1073 :                 DA_FLU = DA_FLUE ;
1074 :                 DEFS   = EFE ;
1075 :               'SINON';
1076 :                 DA_FLU = DA_FLU + DA_FLUE ;
1077 :                 DEFS   = DEFS + EFE ;
1078 :               'FINSI';
1079 :               'SI' (QT 'EGA' 1) ;
1080 :                 'QUIT' RELAX2 ;
1081 :               'FINSI' ;
1082 :               RESID = TMV - TC ;
1083 :               'SI' (RESID < DT) ;
1084 :                 DT = RESID ;QT = 1 ;
1085 :               'FINSI' ;
1086 :               'SI' (STA > 1.1) ;
1087 :                 MDA_FLUE = 'MAXI' DA_FLUE ;MDAFLUE2 = 'MAXI' DA_FLUE2;
1088 :                 MDAFLUE2 = MDAFLUE2 ** -1 ;
1089 :                 CONTIMI = MDA_FLUE * MDAFLUE2 ;
1090 :                 M_EFE = 'MAXI' EFE ;M_EFE2 = 'MAXI' EFE2 ;
1091 :                 M_EFE2 = M_EFE2 ** -1 ;
1092 :                 EFETIMI = M_EFE * M_EFE2 ;
1093 :                 M_EFFBI = 'MAXI' S_EFFBI ;M_EFFB2 = 'MAXI' S_EFFB2 ;
1094 :                 M_EFFB2 = M_EFFB2 ** -1 ;
1095 :                 SIGTIMI = M_EFFBI * M_EFFB2 ;
1096 :                 'SI' ((CONTIMI > 0.99) 'ET' (SIGTIMI > 0.99)
1097 :                     'ET' (EFETIMI > 0.99))  ;
1098 :                   KA = KA + 1 ; AC = KA ** 2; STA = 0 ;
1099 :                 'FINSI' ;
1100 :               'FINSI' ;
1101 :               DA_FLUE2 = DA_FLUE ;
1102 :               S_EFFB2 = S_EFFBI ;
1103 :               EFE2 = EFE ;
1104 :               S_EFFBD = S_EFFBF ;
1105 :             'FIN' RELAX2 ;
1106 :             'SI' (CPT 'EGA' NBR) ;
1107 :               MESS 'RELAXATION SEVERE' ;
1108 :             'FINSI' ;
1109 :             S_EFFBDS = S_EFFBF ;
1110 :           'SINON' ;
1111 :             EPS_PT = CHAM1 ;
1112 :             DA_FLU = CHAM1 ;
1113 :             EFS    = CHAM1 ;
1114 :             DEFS   = CHAM1 ;
1115 :             S_EFFBDS = S_EFFB ;
1116 :           'FINSI';
1117 : 
1118 :           S_EFBDS = S_EFFBDS * CHS ;
1119 :           EPS_PTS = EPS_PT * CHS ;
1120 :           DA_FLUS = DA_FLU * CHS ;
1121 :           EF_S    = EFS    * CHS ;
1122 :           DEF_S   = DEFS   * CHS ;
1123 :  
1124 :           S_EFFB = S_EFBDP + S_EFBDS ;
1125 :           EPS_PT = EPS_PTP + EPS_PTS ;
1126 :           DA_FLU = DA_FLUP + DA_FLUS ;
1127 :           EF     = EF_P + EF_S ;
1128 :           DEF = DEF_P + DEF_S ;
1129 :   
1130 :           EFS = EF ;
1131 : 
1132 :         'SINON' ;
1133 : 
1134 : ******** CALCUL SANS RELAXATION - FLUAGE PRIMAIRE ET SECONDAIRE - A316
1135 :             
1136 :           INDIC = 2 ;
1137 :           NBR = 100 ;S_EFFBM1 = S_EFFB ** -1 ;
1138 :           'SI' (NBP 'NEG' 0) ;
1139 :             TIC = NBCY * TM ;SUBD = TMV / NBR ;
1140 :             EFT2 = S_EFFB ** N1 ;EPS_PT1 = S_EFFB ** NEPSP ;
1141 :             CPT = 0 ;AC = 1. ;TC = 0. ;KA = 1 ;STA = 0 ;QT = 0 ;
1142 :             'REPETER' FLUA1 NBR ;
1143 :               'SI' (QT 'EGA' 0) ;
1144 :                 DT = SUBD * AC ;
1145 :               'FINSI' ;
1146 :               CPT = CPT + 1 ;STA = STA + 1 ;TC = TC + DT ;
1147 :               TTC = TIC + TC ;EFT1 = TTC ** C2 ;
1148 :               EF = C1 * EFT1 * EFT2 ;EFCUM = EF ;
1149 :               CEPSP1 = EFCUM ** XFP ;
1150 :               CEPSP =  KFP * CEPSP1 * 0.01 ;
1151 :               EPS_PT = CEPSP * EPS_PT1 ;
1152 :               CSTAR = COEF * EPS_PT * S_EFFBM1 * 1.E-3 ;
1153 :               DA_FLUEI = CSTAR ** NFLU ;
1154 :               DA_FLUE = CFLU * DA_FLUEI * DT * 1000. ;
1155 :               'SI' (CPT 'EGA' 1) ;   
1156 :                 DA_FLU = DA_FLUE ;
1157 :               'SINON';
1158 :                 DA_FLU = DA_FLU + DA_FLUE ;
1159 :               'FINSI';
1160 :               'SI' (QT 'EGA' 1) ;
1161 :                 'QUIT' FLUA1 ;
1162 :               'FINSI' ;
1163 :               RESID = TMV - TC ;
1164 :               'SI' (RESID < DT) ;
1165 :                 DT = RESID ;QT = 1 ;
1166 :               'FINSI' ;
1167 :               'SI' (STA > 1.1) ;
1168 :                 DA_FLMA1 = 'MAXI' DA_FLUE ;
1169 :                 DA_FLMA2 = 'MAXI' DA_FLUE2 ;DA_FLMA2 = DA_FLMA2 ** -1 ;
1170 :                 CONTIMI = DA_FLMA1 * DA_FLMA2 ;
1171 :                 'SI' (CONTIMI > 0.99) ;
1172 :                   KA = KA + 1 ; AC = KA ** 2; STA = 0 ;
1173 :                 'FINSI' ;
1174 :               'FINSI' ;
1175 :               DA_FLUE2 = DA_FLUE ;
1176 :             'FIN' FLUA1 ;
1177 :           'SINON';
1178 :             EPS_PT = S_EFFB ;
1179 :             DA_FLU = S_EFFB ;
1180 :             EF     = S_EFFB ;
1181 :           'FINSI';
1182 : 
1183 :           S_EFFBP = S_EFFB * CHP ;
1184 :           EPS_PTP = EPS_PT * CHP ;
1185 :           DA_FLUP = DA_FLU * CHP ;
1186 :           EF_P    = EF     * CHP ;
1187 :  
1188 :           'SI' (NBS 'NEG' 0) ;
1189 :             EPS_PT1 = S_EFFB ** NEPSS ;
1190 :             EPS_PT = CEPSS * EPS_PT1 ;
1191 :             CSTAR = COEF * EPS_PT * S_EFFBM1 * 1.E-3 ;
1192 :             DA_FLUI = CSTAR ** NFLU ;
1193 :             DA_FLU = CFLU * DA_FLUI * TMV * 1000. ;
1194 :             EFT1 = S_EFFB ** NEPSS ;EFT1 = 100. * CEPSS * EFT1 * TMV ;
1195 :             EF = EF1 + EFT1 ;
1196 :           'SINON' ;
1197 :             EPS_PT1 =  S_EFFB ;
1198 :             EPS_PT = S_EFFB ;
1199 :             DA_FLU = S_EFFB ;
1200 :             EF     = S_EFFB ;
1201 :           'FINSI';
1202 : 
1203 :           S_EFFBS = S_EFFB * CHS ;
1204 :           EPS_PTS = EPS_PT * CHS ;
1205 :           DA_FLUS = DA_FLU * CHS ;
1206 :           EF_S    = EF     * CHS ;
1207 :             
1208 : 
1209 :           S_EFFB = S_EFFBP + S_EFFBS ;
1210 :           EPS_PT = EPS_PTP + EPS_PTS ;
1211 :           DA_FLU = DA_FLUP + DA_FLUS ;
1212 :           EF = EF_P + EF_S ;
1213 :  
1214 :           EF1 = EF ;
1215 : 
1216 :         'FINSI' ;
1217 : 
1218 :       'SINON' ;
1219 : 
1220 :         'SI' (RELAX 'EGA' 1) ;
1221 :           INDIC = 3 ;
1222 : ******** CALCUL AVEC RELAXATION - FLUAGE SECONDAIRE 
1223 :             
1224 :           'SI' (NBCY < 0.1) ;
1225 :             S_EFFBD = S_EFFB ;
1226 :           'FINSI' ;
1227 : 
1228 :           NBR = 100 ; 
1229 :           SUBD = TMV / NBR ;NEPSSP = 1. - NEPSS ;
1230 :           NEPSSPP = 1. /NEPSSP ; 
1231 : 
1232 :           CPT = 0 ;AC = 1. ;TC = 0. ;KA = 1 ;STA = 0 ;QT = 0 ;
1233 :           'REPETER' RELAX2 NBR ;
1234 :             'SI' (QT 'EGA' 0) ;
1235 :               DT = SUBD * AC ;
1236 :             'FINSI' ;
1237 :             CPT = CPT + 1 ;TC = TC + DT ;STA = STA + 1 ;
1238 :             VALCH2 = EY * CEPSS * NEPSSP * DT ;
1239 :             CH2 = 'MANU' 'CHML' OBJF 'SCAL' VALCH2
1240 :                 'TYPE' 'SCALAIRE' 'STRESSES' ;
1241 :             EFEI = S_EFFBD ** NEPSS ;
1242 :             EFE = 100. * CEPSS * EFEI * DT ;
1243 :             EF = EF + EFE ;S_EFFBF1 = S_EFFBD ** NEPSSP ;
1244 :             S_EFFBF2 = S_EFFBF1 - CH2 ;
1245 :             S_EFFBF = S_EFFBF2 ** NEPSSPP ;
1246 :             S_EFFBI1 = S_EFFBD + S_EFFBF ;
1247 :             S_EFFB = S_EFFBI1 / 2. ;
1248 :             EPS_PT1 = S_EFFB ** NEPSS ;
1249 :             EPS_PT = CEPSS * EPS_PT1 ;S_EFFB1 = S_EFFB ** -1 ;
1250 :             CSTAR1 = EPS_PT * S_EFFB1 ;
1251 :             CSTAR = COEF * CSTAR1 * 1.E-3 ;
1252 :             DA_FLUE1 = CSTAR ** NFLU ;
1253 :             DA_FLUE = CFLU * DA_FLUE1 * DT * 1000. ;
1254 :             'SI' (CPT 'EGA' 1) ;
1255 :               DA_FLU = DA_FLUE ;
1256 :               DEF = EFE ;
1257 :             'SINON';
1258 :               DA_FLU = DA_FLU + DA_FLUE ;
1259 :               DEF = DEF + EFE ;
1260 :             'FINSI';
1261 :             'SI' (QT 'EGA' 1) ;
1262 :                'QUIT' RELAX2 ;
1263 :             'FINSI' ;
1264 :             RESID = TMV - TC ;
1265 :             'SI' (RESID < DT) ;
1266 :               DT = RESID ;QT = 1 ;
1267 :             'FINSI' ;
1268 :             'SI' (STA > 1.1) ;
1269 :               MDA_FLUE = 'MAXI' DA_FLUE ;MDAFLUE2 = 'MAXI' DA_FLUE2;
1270 :               MDAFLUE2 = MDAFLUE2 ** -1 ;
1271 :               CONTIMI = MDA_FLUE * MDAFLUE2 ;
1272 :               M_EFE = 'MAXI' EFE ;M_EFE2 = 'MAXI' EFE2 ;
1273 :               M_EFE2 = M_EFE2 ** -1 ;
1274 :               EFETIMI = M_EFE * M_EFE2 ;
1275 :               M_EFFB = 'MAXI' S_EFFB ;M_EFFB2 = 'MAXI' S_EFFB2 ;
1276 :               M_EFFB2 = M_EFFB2 ** -1 ;
1277 :               SIGTIMI = M_EFFB * M_EFFB2 ;
1278 :               'SI' ((CONTIMI > 0.99) 'ET' (SIGTIMI > 0.99)
1279 :                   'ET' (EFETIMI > 0.99))  ;
1280 :                 KA = KA + 1 ; AC = KA ** 2; STA = 0 ;
1281 :               'FINSI' ;
1282 :             'FINSI' ;
1283 :             DA_FLUE2 = DA_FLUE ;
1284 :             S_EFFB2 = S_EFFB ;
1285 :             EFE2 = EFE ;
1286 :             S_EFFBD = S_EFFBF ;
1287 :           'FIN' RELAX2 ;
1288 :           S_EFFBD = S_EFFBF ;
1289 : 
1290 :         'SINON' ;
1291 : 
1292 : ******** CALCUL SANS RELAXATION - FLUAGE SECONDAIRE
1293 : 
1294 :           INDIC = 4 ;
1295 :           EPS_PT1 = S_EFFB ** NEPSS ;
1296 :           EPS_PT = CEPSS * EPS_PT1 ;
1297 :           S_EFFB1 = S_EFFB ** -1 ;
1298 :           CSTAR1 = EPS_PT * S_EFFB1 ;
1299 :           CSTAR = COEF * CSTAR1 * 1.E-3 ;
1300 :           DA_FLU1 = CSTAR ** NFLU ;
1301 :           DA_FLU = CFLU * DA_FLU1 * TMV * 1000. ;
1302 :           EFT1 = S_EFFB ** NEPSS ;
1303 :           EFT2 = NBCY + ACC ;EFT2 = EFT2 * TM ;
1304 :           EF = 100. * CEPSS * EFT1 * EFT2 ;
1305 : 
1306 :         'FINSI' ;
1307 :       'FINSI' ;
1308 : 
1309 : *** INCREMENTATION DES VALEURS
1310 :       DA_FATC = ACC * DA_FAT ;
1311 : 
1312 :       ATOTAL = ATOTAL + DA_FATC + DA_FLU ;
1313 : *list-reel de la profondeur courante maxi
1314 :       ATOTALMA = 'MAXI' ATOTAL ;PATOTAL = 'PROG' ATOTALMA ;
1315 :       L_ATOT = L_ATOT 'ET' PATOTAL ;
1316 : 
1317 :       ATOTAL1 = ATOTAL1 + DA_FATC ;
1318 : *list-reel de la profondeur courante maxi
1319 :       ATOT1MA = 'MAXI' ATOTAL1 ;PATOT1 = 'PROG' ATOT1MA ;
1320 :       L_ATOT1 = L_ATOT1 'ET' PATOT1 ;
1321 : 
1322 :       ATOTAL2 = ATOTAL2 + DA_FLU ;
1323 : *list-reel de la profondeur courante maxi
1324 :       ATOT2MA = 'MAXI' ATOTAL2 ;PATOT2 = 'PROG' ATOT2MA ;
1325 :       L_ATOT2 = L_ATOT2 'ET' PATOT2 ;
1326 : 
1327 :       TTOTAL = TTOTAL + TMV ;
1328 :       NBCY = NBCY + ACC ;
1329 :       NBCYT = NBCYT + ACC ;
1330 : *list-reel des numero de cycle
1331 :       PNBCYT = 'PROG' NBCYT ;
1332 :       L_NBCYT = L_NBCYT 'ET' PNBCYT ;
1333 : 
1334 :       'SI' (KCRIT > 1.1) ;
1335 :         'SI' (A316 'EGA' 1) ;
1336 :            DA_FLUPM = 'MAXI' DA_FLUP ;
1337 :            DA_FLUOP = DA_FLUO * CHP ;DA_FLUOM = 'MAXI' DA_FLUOP ;
1338 :            CRIT = DA_FLUPM / DA_FLUOM ;
1339 :         'SINON' ;
1340 :           DA_FLUPM = 'MAXI' DA_FLU ;DA_FLUOM = 'MAXI' DA_FLUO ;
1341 :           CRIT = DA_FLUPM / DA_FLUOM ;
1342 :         'FINSI' ;
1343 :       'SINON';
1344 :         CRIT = 0 ;
1345 :       'FINSI';
1346 :       S_EFFBM = 'MAXI' S_EFFB ;
1347 : *list-reel des CONTRAINTES EFFICACES maxi
1348 :       PS_EFFBM = 'PROG' S_EFFBM ;
1349 :       L_SEFB = L_SEFB 'ET' PS_EFFBM ;
1350 :       DA_FATM = 'MAXI' DA_FATC ;
1351 : *list-reel des DA_FATIGUE maxi
1352 :       DA_FATMA = 'MAXI' DA_FAT ;PDA_FAT = 'PROG' DA_FATMA ;
1353 :       L_DA_FAT = L_DA_FAT 'ET' PDA_FAT ;
1354 : 
1355 : *list-reel des DA_FLUAGE maxi
1356 :       DA_FLUO = DA_FLU ;
1357 :       DA_FLUM = 'MAXI' DA_FLU ;DA_FLUMC = DA_FLUM / ACC ;
1358 :       PDA_FLU = 'PROG' DA_FLUMC ;
1359 :       L_DA_FLU = L_DA_FLU 'ET' PDA_FLU ;
1360 : 
1361 : *list-reel des EPSILON-FLUAGE maxi
1362 :       EFCML = EF ;
1363 :       EFCMLM = 'MAXI' EFCML ;PEFCMLM = 'PROG' EFCMLM ;
1364 :       L_EP_FLU = L_EP_FLU 'ET' PEFCMLM ;
1365 : 
1366 :       ATOTAM  = 'MAXI' ATOTAL ;
1367 :       'SI' (NBCY < 1.1) ;
1368 :         'MESS' '                                                ' ;
1369 :         'SI' (INDIC 'EGA' 1) ;
1370 :           'MESS' 'A316    -  RELAXATION (PRIMAIRE ET SECONDAIRE)' ;
1371 :           NBFI3 = NBFI * 3. ;RAT3 = NBP / NBFI3 ;RAT300 = RAT3 * 100. ;
1372 :           NBP% = ENTI RAT300 ;
1373 :           'MESS' 'POURCENTAGE DE POINTS DE GAUSS EN FLUAGE PRIMAIRE :'
1374 :  NBP% '%' ;
1375 :         'FINSI';
1376 :         'SI' (INDIC 'EGA' 2) ;
1377 :           'MESS' 'A316  -  PAS DE RELAXATION' ;
1378 :           NBFI3 = NBFI * 3. ;RAT3 = NBP / NBFI3 ;RAT300 = RAT3 * 100. ;
1379 :           NBP% = ENTI RAT300 ;
1380 :           'MESS' 'POURCENTAGE DE POINTS DE GAUSS EN FLUAGE PRIMAIRE :'
1381 :  NBP% '%' ;
1382 :         'FINSI';
1383 :         'SI' (INDIC 'EGA' 3) ;
1384 :           'MESS' 'MATERIAU QUELCONQUE  -  RELAXATION (SECONDAIRE)' ;
1385 :         'FINSI';
1386 :         'SI' (INDIC 'EGA' 4) ;
1387 :           'MESS' 'MATERIAU QUELCONQUE  -  PAS DE RELAXATION' ;
1388 :         'FINSI';
1389 :         'MESS' '                                              ' ;
1390 :         'MESS' 'VALEUR MAXIMUM DE D_A DONNEE POUR' ACC 'CYCLES' ;
1391 :         'MESS' '                                              ' ;
1392 :      'MESS' '   CYCLE   SS-CYCLE  SM-EFFB      DA_FAT       DA_FLU 
1393 :       ATOTAL' ;
1394 :         'MESS' '                                                ' ;
1395 :       'SINON' ;
1396 :         'SI' (KCRIT 'EGA' 1) ;
1397 :           'MESS' '                                                ' ;
1398 :      'MESS' '   CYCLE   SS-CYCLE  SM-EFFB      DA_FAT       DA_FLU 
1399 :       ATOTAL' ;
1400 :           'MESS' '                                                ' ;
1401 :         'FINSI' ;
1402 :         'SI' ((INDIC 'EGA' 1) 'OU' (INDIC 'EGA' 2)) ;
1403 :           'SI' (NBP 'NEG' NBPP) ;
1404 :             NBFI3 = NBFI * 3. ;RAT3 = NBP / NBFI3 ;RAT300 = RAT3 * 100.;
1405 :             NBP% = ENTI RAT300 ;
1406 :             'MESS' 'POURCENTAGE DE POINTS DE GAUSS EN FLUAGE PRIMAIRE :'
1407 :  NBP% '%' ;
1408 :             'MESS' '                                                ' ;
1409 :      'MESS' '   CYCLE   SS-CYCLE  SM-EFFB      DA_FAT       DA_FLU 
1410 :       ATOTAL' ;
1411 :             'MESS' '                                                ' ;
1412 :           'FINSI' ;
1413 :         'FINSI' ;
1414 :       'FINSI' ;
1415 :       NBPP = NBP ;
1416 :       ENBCYT = 'ENTI' NBCYT ;ENBCY = 'ENTI' NBCY ;
1417 :       BB = CHAIN ENBCYT*7 ENBCY*17 S_EFFBM*30
1418 :  DA_FATM*43 DA_FLUM*56 ATOTAM*69 ;
1419 :       'MESS' BB ;
1420 :       'MESS' '                                                     ' ;
1421 : 
1422 : *- TEST DE REACTUALISATION OU DE PERCEMENT
1423 : 
1424 : 
1425 :       RA = ATOTAL 'MASQ' 'SUPERIEUR' 'SOMME' ALIM ;
1426 :       'SI' (RA > 0.5) ;
1427 :         A_DEPAS = ATOTAL - ALIM ;A_DEPASM = 'MAXI' A_DEPAS ;
1428 :         DA_TOT = DA_FATC + DA_FLU ;DA_TOTM = 'MAXI' DA_TOT ;
1429 :         DA_TOTM1 = DA_TOTM ** -1 ;
1430 :         NBCYF = NBCY ;NBCYFT = NBCYT ;
1431 :         NBCYS = ACC * A_DEPASM * DA_TOTM1 ;
1432 :         NBCY = NBCY - NBCYS ;NBCYT = NBCYT - NBCYS ;
1433 :         DIMC = DIME L_NBCYT ;
1434 :         D_NBCYT = 'ENLE' L_NBCYT DIMC ;
1435 :         P_NBCYT = 'PROG' NBCYT ;
1436 :         L_NBCYT = D_NBCYT 'ET' P_NBCYT ;
1437 :         TTROP = NBCYS * TM ;
1438 :         TTOTAL = TTOTAL - TTROP ;
1439 :         DA_FATRO = NBCYS * DA_FAT ;NBAC = NBCYS / ACC ;
1440 :         DA_FLURO = NBAC * DA_FLU ;DA_TROP = DA_FATRO + DA_FLURO ;
1441 :         ATOTAL = ATOTAL - DA_TROP ;
1442 :         D_ATOT = 'ENLE' L_ATOT DIMC ;M_ATOT = 'MAXI' ATOTAL ;
1443 :         P_ATOT = 'PROG' M_ATOT ;
1444 :         L_ATOT = D_ATOT 'ET' P_ATOT ;
1445 :         ATOTAL1 = ATOTAL1 - DA_FATRO ;
1446 :         D_ATOT1 = 'ENLE' L_ATOT1 DIMC ;M_ATOT1 = 'MAXI' ATOTAL1 ;
1447 :         P_ATOT1 = 'PROG' M_ATOT1 ;
1448 :         L_ATOT1 = D_ATOT1 'ET' P_ATOT1 ;
1449 :         ATOTAL2 = ATOTAL2 - DA_FLURO ;
1450 :         D_ATOT2 = 'ENLE' L_ATOT2 DIMC ;M_ATOT2 = 'MAXI' ATOTAL2 ;
1451 :         P_ATOT2 = 'PROG' M_ATOT2 ;
1452 :         L_ATOT2 = D_ATOT2 'ET' P_ATOT2 ;
1453 :         ATOTAM = 'MAXI' ATOTAL ;
1454 :         'SI' (INDIC 'EGA' 1) ;
1455 :           'SI' (NBCY > 1.1) ;
1456 :             D_EFFBP = S_EFFBP0 - S_EFFBDP ;C_EFFBP = D_EFFBP * NBAC ;
1457 :             D_EFFBS = S_EFFBS0 - S_EFFBDS ;C_EFFBS = D_EFFBS * NBAC ;
1458 :             S_EFFBDP = S_EFFBDP + C_EFFBP ;
1459 :             S_EFFBDS = S_EFFBDS + C_EFFBS ;
1460 :           'FINSI' ;
1461 :           TTROP1 = NBCYF * TM ;TTROP2 = NBCY * TM ;
1462 :           TTROC1 = TTROP1 ** C2 ;TTROC2 = TTROP2 ** C2 ;
1463 :           DTROC = TTROC1 - TTROC2 ;S_EFBDP1 = S_EFFBDP ** N1 ;
1464 :           CORECP = C1 * DTROC * S_EFBDP1 ;CORECP = CORECP * CHP ;
1465 :           CORECS = DEFS * NBAC ;CORECS = CORECS * CHS ;
1466 :           COREC = CORECP + CORECS ;
1467 :           EF = EF - COREC ;
1468 :           S_EFFBDP = S_EFFBDP * CHP ;S_EFFBDS = S_EFFBDS * CHS ; 
1469 :           S_EFFB = S_EFFBDP + S_EFFBDS ;
1470 :         'FINSI' ;
1471 :         'SI' (INDIC 'EGA' 2) ;
1472 :           TMF = NBCYF * TM ;TMN = NBCY * TM ;
1473 :           TMF1 = TMF ** C2 ;TMN1 = TMN ** C2 ;D_TM = TMF1 - TMN1 ;
1474 :           D_NBCY = NBCYFT - NBCYT ;T_NBCY = D_NBCY * TM ;
1475 :           EFT2 = S_EFFB ** N1 ;EPS_PT1 = S_EFFB ** NEPSS ;
1476 :           CORECP = C1 * D_TM * EFT2 ;CORECP = CORECP * CHP ;
1477 :           CORECS = 100. * CEPSS * EPS_PT1 * T_NBCY ;
1478 :           CORECS = CORECS * CHS ;
1479 :           COREC = CORECP + CORECS ;
1480 :           EF = EF - COREC ;
1481 :         'FINSI' ;
1482 :         'SI' (INDIC 'EGA' 3) ;
1483 :           D_EFFBD = S_EFFB0 - S_EFFBD ;D_EFFBD = D_EFFBD * NBAC ;
1484 :           S_EFFB =  S_EFFBD + D_EFFBD ;
1485 :           COREC = DEF * NBAC ;
1486 :           EF = EF - COREC ;
1487 :         'FINSI' ;
1488 :         'SI' (INDIC 'EGA' 4) ;
1489 :           S_EFFB1 = S_EFFB ** NEPSS ;N_TROP = NBCYF - NBCY ;
1490 :           TTROP = N_TROP * TM
1491 :           COREC = 100. * CEPSS * S_EFFB1 * TTROP ;
1492 :           EF = EF - COREC ;
1493 :         'FINSI' ;
1494 :         D_EP_FLU = 'ENLE' L_EP_FLU DIMC ;
1495 :         EFTN = EF ;EFTNM = 'MAXI' EFTN ;P_EFTNM = 'PROG' EFTNM ;
1496 :         L_EP_FLU = D_EP_FLU 'ET' P_EFTNM ;
1497 :         D_L_SEFB = 'ENLE' L_SEFB DIMC ;M_S_EFFB = 'MAXI' S_EFFB ;
1498 :         P_S_EFFB = 'PROG' M_S_EFFB ;
1499 :         L_SEFB = D_L_SEFB 'ET' P_S_EFFB ;
1500 :         'QUIT' CYCLAGE ;
1501 :       'FINSI' ;
1502 : 
1503 :       'SI' (INDIC 'EGA' 1) ;
1504 :         S_EFFBP0 = S_EFFBDP ;S_EFFBS0 = S_EFFBDS ;
1505 :       'FINSI' ;
1506 :       'SI' (INDIC 'EGA' 3) ;
1507 :         S_EFFB0 = S_EFFBD ;
1508 :       'FINSI' ;
1509 : 
1510 : 
1511 : *- TEST POUR ACCELERATION DU CALCUL PAR ACCROISSEMENT DES ITERATIONS
1512 : 
1513 :       'SI' (CRIT > 0.99) ;
1514 :         KAC = KAC + 1 ;
1515 :         ACC = KAC ** 2 ;
1516 :         'MESS' '                                              ' ;
1517 :         'MESS' 'VALEUR MAXIMUM DE D_A DONNEE POUR' ACC 'CYCLES' ;
1518 :         'MESS' '                                              ' ;
1519 :         KCRIT = 0 ;
1520 :       'FINSI' ;
1521 : 
1522 :     'FIN' CYCLAGE ;
1523 : 
1524 : 
1525 :     DON.'EPSF1' = EF ;
1526 : 
1527 :     TABCON.'EPSILON' .  (KREA)     = DON.'EPSF1' ;
1528 : 
1529 :     DON.LR_ATOT1 = L_ATOT1 ;
1530 :     DON.LR_ATOT2 = L_ATOT2 ;
1531 :     DON.LR_DAFLU = L_DA_FLU ;
1532 :     DON.LR_EPFLU = L_EP_FLU ;
1533 :     DON.LR_SEFB  = L_SEFB ;
1534 : 
1535 :     DON.ATOT1 = ATOTAL1 ;
1536 :     DON.ATOT2 = ATOTAL2 ;
1537 : 
1538 :     'SI' (NBFISS 'EGA' CPTG) ;
1539 :      'MESS' '***************************************************';
1540 :      'MESS' 'LE NOMBRE D ITERATIONS DOIT ETRE AUGMENTE EN FLUAGE';
1541 :      'MESS' '> AUGMENTER LA VALEUR CONTENU SOUS l INDICE "PROPA"';
1542 :      'MESS' '***************************************************';
1543 :       'QUIT' BOUREA ;
1544 :       DON.'AMAX' = VRAI ;
1545 :     'FINSI';
1546 : 
1547 :     EPSM = 'MAXI' EF ;
1548 :     'SI' ('EGA' TRAV VRAI) ;
1549 :       'MESS'     '  CYCLE    SS-CYCLE    ATOTAL     EPSILON FLUAGE %';
1550 :       'MESS'     '  -----    --------    ------     --------------  ';
1551 :        BB = CHAIN ('ENTI' NBCYT)*7 ('ENTI' NBCY)*17 ATOTAM*31 EPSM*47 ;
1552 :       'MESS' '                                                     ';
1553 :       'MESS' BB ;
1554 :       'MESS' '                                          ' ;
1555 :       'MESS' '                                          ' ;
1556 :       'MESS' '                                          ' ;
1557 :       'MESS' '                                          ' ;
1558 :       'MESS' '**************************************' ;
1559 :       'MESS' COEFIMP '* EPAISSEUR ATTEINT'            ;
1560 :       'MESS' '**************************************' ;
1561 :       'MESS' '                          ' ;
1562 :       DON.'AMAX' = VRAI ;
1563 :     'SINON';
1564 :       'MESS' '  CYCLE    SS-CYCLE    ATOTAL     EPSILON FLUAGE %';
1565 :       'MESS' '  -----    --------    ------     --------------  ';
1566 :        BB = CHAIN ('ENTI' NBCYT)*7 ('ENTI' NBCY)*17 ATOTAM*31 EPSM*47 ;
1567 :       'MESS' '                                                     ';
1568 :       'MESS' BB ;
1569 :       'MESS' '                                          ' ;
1570 :       'MESS' '                                          ' ;
1571 :       'MESS' '                                          ' ;
1572 :       'MESS' '                                          ' ;
1573 :       'MESS' '                                          ' ;
1574 :       'MESS' '                                          ' ;
1575 :       'MESS' '                                          ' ;
1576 :       'MESS' '************************************************' ;
1577 :       'MESS' KREA 'EME ACTUALISATION DE FISSURE EFFECTIVE'   ;
1578 :       'MESS' '************************************************' ;
1579 :       'MESS' '                                             ' ;
1580 :       DON.'AMAX' = FAUX ;
1581 :     'FINSI';
1582 : 
1583 :     'SI' (('MAXI' EF) > 1.) ;
1584 :       'MESS' 'ATTENTION : LE EPSILON FLUAGE A DEPASSE 1%' ;
1585 :     'FINSI' ;
1586 : 
1587 :   'SINON';
1588 : 
1589 : *--------------------------------------------------------------*
1590 : *          CALCUL EN FATIGUE (EN L'ABSENCE DE FLUAGE)          *
1591 : *--------------------------------------------------------------*
1592 : 
1593 :     DA_STABL = DA_FAT ;
1594 :     DA_STAF = DA_STABL 'MASQ' 'INFERIEUR' 1.E-20 ;
1595 :     DA_STABL = ((CHAM1 * 1.E-20) * DA_STAF) + DA_STABL ;
1596 :     WARN = AFIN 'MASQ' 'SUPERIEUR' 'SOMME' WIMP ;
1597 :     'SI' (WARN > 0) ;
1598 :       ALIM = WIMP ;
1599 :       TRAV = VRAI ;
1600 :     'SINON';
1601 :       ALIM = AFIN ;
1602 :       TRAV = FAUX ;
1603 :     'FINSI';
1604 :     NBCYR = ('MINI' ((ALIM - ATOTAL) * (DA_STABL ** -1))) ;
1605 :     'SI' (('ENTI' NBCYR) 'EGA' 0) ;
1606 :       'MESS' 'PROPAGATION TRES IMPORTANTE' ;
1607 :       'MESS' 'IL CONVIENDRAIT D AUGMENTER LE COEFFICIENT DE 
1608 :  REACTUALISATION' ;
1609 :     'FINSI' ;
1610 :     ATOTAL = ATOTAL + (DA_STABL * NBCYR) ;
1611 : *list-reel des profondeurs maxi
1612 :     L_ATOT = L_ATOT 'ET' ('PROG' ('MAXI' ATOTAL)) ;
1613 :     NBCY = NBCYR ;
1614 :     NBCYT = NBCYT + NBCYR ;
1615 : *list-reel des numero de cycle
1616 :     L_NBCYT = L_NBCYT 'ET' ('PROG' NBCYT) ;
1617 : *list-reel des DA_FATIGUE
1618 :     L_DA_FAT = L_DA_FAT 'ET' ('PROG' ('MAXI' DA_FAT)) ;
1619 :     TTOTAL = TTOTAL + (NBCYR * TM) ;
1620 :     DA_STABM = 'MAXI' DA_STABL ;
1621 :     ATOTAM = 'MAXI' ATOTAL ;
1622 :     'SI' TRAV ;
1623 :       'MESS' '                          ' ;
1624 :       'MESS' '  CYCLE  SS-CYCLE     DA_FATIGUE     ATOTAL ' ;
1625 :       BB = CHAIN ('ENTI' NBCYT)*7 ('ENTI' NBCY)*17 DA_STABM*32
1626 :          ATOTAM*45 ;
1627 :       'MESS' BB ;
1628 :       'MESS' '                                      ' ;
1629 :       'MESS' '**************************************' ;
1630 :       'MESS' COEFIMP '* EPAISSEUR ATTEINT' ;
1631 :       'MESS' '**************************************' ;
1632 :       DON.'AMAX' = VRAI ;
1633 :     'SINON';
1634 :       'MESS' '                                             ' ;
1635 :      'MESS' '  CYCLE  SS-CYCLE     DA_FATIGUE     ATOTAL ' ;
1636 :       BB = CHAIN ('ENTI' NBCYT)*7 ('ENTI' NBCY)*17 DA_STABM*32
1637 :          ATOTAM*45 ;
1638 :       'MESS' BB ;
1639 :       'MESS' '                                           ' ;
1640 :       'MESS' '                                           ' ;
1641 :       'MESS' '                                           ' ;
1642 :       'MESS' '                                           ' ;
1643 :       'MESS' '                                           ' ;
1644 :       'MESS' '                                           ' ;
1645 :       'MESS' '************************************************' ;
1646 :       'MESS' KREA 'EME ACTUALISATION DE FISSURE EFFECTIVE'      ;
1647 :       'MESS' '************************************************' ;
1648 :       DON.'AMAX' = FAUX ;
1649 :     'FINSI';
1650 :   'FINSI';
1651 : 
1652 :   DON.LR_NBCYT = L_NBCYT ;
1653 :   DON.LR_DAFAT = L_DA_FAT ;
1654 :   DON.LR_ATOT  = L_ATOT ;
1655 : 
1656 :   DON.ATOT  = ATOTAL ;
1657 : 
1658 : *** --- NOUVEL OBJET CARACTERISTIQUE
1659 : 
1660 :   'MESS' '                                              ' ;
1661 :   'MESS' 'CONSTRUCTION D UN NOUVEL OBJET CARACTERISTIQUE' ;
1662 :   'MESS' '                                              ' ;
1663 :   DON.'NREA' = KREA ;
1664 :   KF = 0 ;ATOTALE = CHAM0 ;ATOTALE1 = CHAM0 ;ATOTALE2 = CHAM0 ;
1665 :   'REPETER' BOUCF NBFI ;
1666 :     KF = KF + 1 ;
1667 :     ELC = FISS1 'ELEM' KF ;
1668 :     CARFE = 'REDU' CARF ELC ;
1669 :     EP = 'EXTR' CARFE 'EPAI' 1 1 2 ;
1670 :     ATOTR = 'REDU' ATOTAL ELC ;
1671 :     PROF1 = 'EXTR' ATOTR 'SCAL' 1 1 1 ;
1672 :     PROF2 = 'EXTR' ATOTR 'SCAL' 1 1 2 ;
1673 :     PROF3 = 'EXTR' ATOTR 'SCAL' 1 1 3 ;
1674 :     PROFM = (PROF1 + PROF2 + PROF3) / 3. ;
1675 :     'SI' (PROFM > EP) ;
1676 :       PROFM = EP - 1.E-8 ;
1677 :     'FINSI';
1678 :     'SI' (CALFAT  'EGA' 0) ;
1679 :       ATOTR1 = 'REDU' ATOTAL1 ELC ;
1680 :       PROF11 = 'EXTR' ATOTR1 'SCAL' 1 1 1 ;
1681 :       PROF12 = 'EXTR' ATOTR1 'SCAL' 1 1 2 ;
1682 :       PROF13 = 'EXTR' ATOTR1 'SCAL' 1 1 3 ;
1683 :       PROFM1 = (PROF11 + PROF12 + PROF13) / 3. ;
1684 :       ATOTE1 = SELEC.KF * PROFM1 ;
1685 :       ATOTALE1 = ATOTALE1 + ATOTE1 ;
1686 :       ATOTR2 = 'REDU' ATOTAL2 ELC ;
1687 :       PROF21 = 'EXTR' ATOTR2 'SCAL' 1 1 1 ;
1688 :       PROF22 = 'EXTR' ATOTR2 'SCAL' 1 1 2 ;
1689 :       PROF23 = 'EXTR' ATOTR2 'SCAL' 1 1 3 ;
1690 :       PROFM2 = (PROF21 + PROF22 + PROF23) / 3. ;
1691 :       ATOTE2 = SELEC.KF * PROFM2 ;
1692 :       ATOTALE2 = ATOTALE2 + ATOTE2 ;
1693 :     'FINSI' ;
1694 :     ATOTE = SELEC.KF * PROFM ;
1695 :     ATOTALE = ATOTALE + ATOTE ;
1696 :   'FIN' BOUCF ;
1697 :   CHFIS0 = CARF - ('EXCO' CARF 'FISS') ;
1698 :   'SI' (CALFAT  'EGA' 0) ;
1699 :     CHFISS1 = 'MANU' 'CHML' OBJF 'FISS' ATOTALE1 'TYPE'
1700 :              'CARACTERISTIQUES' 'RIGIDITE' ;
1701 :     CAR11 = CHFIS0 + CHFISS1 ;
1702 :     DON.'CAR1' = CAR11 ;
1703 :     TABCAR.'FATIGUE'. KREA = CAR11 ;
1704 :     CHFISS2 = 'MANU' 'CHML' OBJF 'FISS' ATOTALE2 'TYPE'
1705 :              'CARACTERISTIQUES' 'RIGIDITE' ;
1706 :     CAR12 = CHFIS0 + CHFISS2 ;
1707 :     DON.'CAR2' = CAR12 ;
1708 :     TABCAR.'FLUAGE'. KREA = CAR12 ;
1709 :   'FINSI' ;
1710 :   CHFISS = 'MANU' 'CHML' OBJF 'FISS' ATOTALE 'TYPE'
1711 :            'CARACTERISTIQUES' 'RIGIDITE' ;
1712 :   CAR1 = CHFIS0 + CHFISS ;
1713 :   DON.'TPSTOT' = TTOTAL ;
1714 :   DON.'NBCYCLE' = NBCYT ;
1715 :   DON.'CAR' = CAR1 ; 
1716 :   DON.'MAT' = MATF ;
1717 :   DON.'OBJ' = OBJF ;
1718 :   DON.'REPRISE' = VRAI ;
1719 :   
1720 :   TABCAR.'TOTAL'. KREA = CAR1 ;
1721 :   TABNCY.KREA = NBCY ;
1722 : 
1723 :   TABCON.'DELTSIG'.   (KREA - 1) = DSIGFIS ;
1724 :   TABCON.'CHSIG_A'.   (KREA - 1) = SIGAFIS ;
1725 :   TABCON.'CHSIG_B'.   (KREA - 1) = SIGBFIS ;
1726 :   TABCON.'DELTSIG1'.  (KREA - 1) = DSIG1FIS ;
1727 :   TABCON.'CHSIG_A1'.  (KREA - 1) = SIGA1FIS ;
1728 :   TABCON.'CHSIG_B1'.  (KREA - 1) = SIGB1FIS ;
1729 :   TABCON.'SDEFRAS'.   (KREA - 1) = S_DEFRAS ;
1730 :   TABCON.'SDEFRBS'.   (KREA - 1) = S_DEFRBS ;
1731 :   TABCON.'SDEFR'.     (KREA - 1) = DS_DEFR ;
1732 :   TABCON.'VALR' .     (KREA - 1) = R ;
1733 :   TABCON.'VALQ' .     (KREA - 1) = Q ;
1734 :   TABCON.'VALPSI' .   (KREA - 1) = PSI ;
1735 :   TABCON.'VALKDJ' .   (KREA - 1) = K_DJ ;
1736 :   TABCON.'VALDJ' .    (KREA - 1) = DJ ;
1737 :   TABCON.'VALDKEFF' . (KREA - 1) = DK_EFF ;
1738 :   TABCON.'VALDAFAT' . (KREA - 1) = DA_FAT ;
1739 : 
1740 :   DON.'EVNCY' = TABNCY ;
1741 :   DON.'EVCAR' = TABCAR ;
1742 :   DON.'EVCON' = TABCON ;
1743 : 
1744 : 
1745 : 
1746 : 'FIN' BOUREA ;
1747 : *
1748 : *
1749 : *--------------------------------------------------------------*
1750 : *                           TRACES                             *
1751 : *--------------------------------------------------------------*
1752 : *
1753 : *--- Maxi des champs CHSIG-B
1754 : *
1755 :   nn = don.lr_nbcyt ;
1756 :   ff = done.lr_sefb ; 
1757 :   titr 'EVOLUTION DE LA CONTRAINTE EFFICACE (B)' ;
1758 :   EVCHSIGB = EVOL MANU 'CYCLES' nn 'SigB (MPa)' ff ;
1759 :   DESS EVCHSIGB ;
1760 : *
1761 : *--- da maxi de fluage
1762 : *
1763 :   fu = don.lr_daflu ;
1764 :   titr 'EVOLUTION DU DA_FLUAGE MAXI' ; 
1765 :   EVDAFLU = EVOL MANU 'CYCLES' nn 'dAflu (mm/cy)' fu ;
1766 :   DESS EVDAFLU ;
1767 : *
1768 : *--- profondeur maxi
1769 : *
1770 :   tatot = don.lr_atot ;
1771 :   titr 'EVOLUTION DE LA PROFONDEUR SOUS CONTRIBUTION FATIGUE/FLUAGE' ;  
1772 :   EVDAATOT = EVOL MANU 'CYCLES' nn 'dAmax (mm/cy)' tatot ;
1773 :   DESS EVDAATOT ;
1774 : 
1775 : *--- epsfluage cumulé maxi
1776 : *
1777 :   eps = don.lr_epflu ;
1778 :   titr 'EVOLUTION DU EPSILON FLUAGE MAXI' ;
1779 :   EVEPFLU = EVOL MANU 'CYCLES' nn 'EPSflu %' eps ;
1780 :   DESS EVEPFLU ;
1781 : 
1782 : *  MENAGE ;
1783 : 
1784 : 'FINP' DON ; 

© Cast3M 2003 - All rights reserved.
Disclaimer