Download phasage.procedur

Back to the list

   1 : * PHASAGE   PROCEDUR  CHAT      12/08/07    21:15:09     7481           
   2 : ************************************************************************
   3 : * Procedure de calcul du phasage de mise en tension des cables
   4 : ************************************************************************
   5 : DEBPROC PHASAGE TABPHAS                                           ;
   6 : MESS 'ENTREE dans phasage'                                        ;
   7 : *------------------------------------------------------------------
   8 : *
   9 :  LDEPOU=FAUX;
  10 :  'SI' ( 'EXISTE' TABPHAS  'DEPOU')                                ;
  11 :     LDEPOU=TABPHAS . 'DEPOU'                                      ;
  12 :  'FINSI'                                                          ;
  13 :  'SI' LDEPOU;TABPHAS . 'COURBES' = TABLE     ; 'FINSI'            ;
  14 :  LPRECO=VRAI                                                      ;         
  15 :  SI (NON ( EXISTE  TABPHAS 'PRECONTRAINTE'  ))                    ;
  16 :   MESS 'TABLE DES ETAPES DE MISE EN PRECONTRAINTE ABSENTE'        ; 
  17 :   LPRECO=FAUX                                                     ;
  18 :  SINON                                                            ;
  19 :   SI (NEG (TYPE (TABPHAS . 'PRECONTRAINTE')) 'TABLE   ')          ;
  20 :    MESS 'INDICE ETAPE DOIT ETRE UNE TABLE'                        ;
  21 :     QUITTER PHASAGE                                               ;
  22 :   FINSI                                                           ;
  23 :  FINSI                                                            ;
  24 :  SI (NON ( EXISTE  TABPHAS 'LEVEES'   ))                          ;
  25 :   MESS 'TABLE DES LEVEES ABSENTE'                                 ;
  26 :    QUITTER PHASAGE                                                ;
  27 :  FINSI                                                            ;
  28 :  SI (NEG (TYPE (TABPHAS . 'LEVEES')) 'TABLE   ')                  ;
  29 :    MESS 'INDICE LEVEES DOIT ETRE UNE TABLE'                       ;
  30 :    QUITTER PHASAGE                                                ;
  31 :  FINSI                                                            ;
  32 :  SI (NON ( EXISTE  TABPHAS   'BLOCAGES' ) )                       ;
  33 :   MESS 'BLOCAGES MECANIQUES ABSENTS'                              ;
  34 :    QUITTER PHASAGE                                                ;
  35 :  SINON                                                            ;
  36 :    CLTOT=TABPHAS .  'BLOCAGES'                                    ;
  37 :  FINSI                                                            ;
  38 :  NSOUSL=1                                                         ;
  39 :  SI (EXISTE TABPHAS 'SOUS_LEVEES')                                ;
  40 :     NSOUSL= TABPHAS.'SOUS_LEVEES'                                 ;
  41 :  FINSI                                                            ;
  42 :  NSOUSL = MAXI ( LECT 1 NSOUSL)                                   ;             
  43 :  NSOUSP=1                                                         ;
  44 :  SI (EXISTE TABPHAS 'SOUS_PRECONTRAINTES')                        ;
  45 :     NSOUSP= TABPHAS.'SOUS_PRECONTRAINTES'                         ;
  46 :  FINSI                                                            ;
  47 :  NSOUSP = MAXI ( LECT 1 NSOUSP)                                   ;
  48 :  LFLUAGE=FAUX                                                     ;
  49 :  SI ( EXISTE  TABPHAS  'FLUAGE') ;LFLUAGE=VRAI ;    FINSI         ;
  50 :  LRETRAIT=FAUX                                                    ;
  51 :  SI ( EXISTE  TABPHAS 'RETRAIT');  LRETRAIT=VRAI ; FINSI          ;
  52 :  LRESTE=FAUX                                                      ;
  53 :  SI ( EXISTE TABPHAS  'MOD_RESTE'); LRESTE=VRAI                   ;
  54 :      SI (NON ( EXISTE TABPHAS  'MAT_RESTE'  ))                    ;
  55 :         MESS 'MATERIAU DU RESTE NON INDIQUE'                      ;
  56 :        QUITTER PHASAGE                                            ;
  57 :      FINSI                                                        ;
  58 :  FINSI                                                            ;
  59 :  TLEVEE = TABPHAS . 'LEVEES'                                      ;
  60 :  NPRECO=0                                                         ;
  61 :  SI LPRECO;TETAP=TABPHAS.'PRECONTRAINTE';NPRECO=DIME TETAP;FINSI  ;
  62 :  NBLEVE= DIME TLEVEE                                              ;
  63 :  'SI'('EXIS' TABPHAS 'TEMPS_FINAL')                               ;
  64 :       TEMPSFI = TABPHAS.'TEMPS_FINAL'                             ;
  65 :       TEMPSGRA= TEMPSFI*100.                                      ;
  66 :  'SINON'                                                          ;
  67 :       'MESS' 'IL MANQUE LE TEMPS FINAL'; QUITTER PHASAGE          ;
  68 :  'FINSI'                                                          ;
  69 :  'SI'('EXIS' TABPHAS 'TEMPS_MAX');TEMPSGRA=TABPHAS.'TEMPS_MAX'    ;
  70 :  'FINSI'                                                          ;
  71 : * preparation du stockage de résultats de fluage et retrait
  72 :  SI LFLUAGE                                                       ;
  73 :     EPFLUAGE=TABLE                                                ;
  74 :     TABPHAS . 'DFLUAGE' =  EPFLUAGE                               ;
  75 :     NOMREGF= TABPHAS .  'FLUAGE'                                  ;
  76 :     TFLUTE=TABLE; TFLUEP=TABLE  ; COMTFLU=0                       ;
  77 :     TABPHAS . 'TFLUTE' = TFLUTE;
  78 :     TABPHAS . 'TFLUEP' = TFLUEP;
  79 :  FINSI                                                            ;
  80 :  SI LRETRAIT                                                      ;
  81 :     EPRETRAI=TABLE                                                ;
  82 :     TABPHAS . 'DRETRAIT' = EPRETRAI                               ;
  83 :     NOMREGR = TABPHAS . 'RETRAIT'                                 ;
  84 :     TRETTE=TABLE; TRETEP=TABLE                                    ;
  85 :     TABPHAS . 'TRETTE' = TRETTE;
  86 :     TABPHAS . 'TRETEP' = TRETEP;
  87 :  FINSI                                                            ; 
  88 : *
  89 : * calcul des differents chargement correspondant à chacune
  90 : * des levées. on les stocke dans la table poilevee
  91 : * MOTOUT sera le modele total sans les cables id MATOUT
  92 : * GEOBET sera le maillage du beton
  93 :  POILEVEE=TABLE                                                   ;
  94 :  'REPETER' FOR NBLEVE                                             ;
  95 :     MO= TLEVEE . &FOR .  'MODELE'                                 ;
  96 :     MA= TLEVEE . &FOR . 'MATERIAU'                                ;
  97 :     GEO= 'EXTR' MO 'MAILLAGE'                                     ;
  98 :     'SI' (( 'EGA' &FOR NBLEVE) 'ET' LRESTE)                       ;
  99 :       MO = MO 'ET' TABPHAS. 'MOD_RESTE'                           ;
 100 :       MA = MA 'ET' TABPHAS. 'MAT_RESTE'                           ;
 101 :     'FINSI'                                                       ;  
 102 :     MAS= 'MASSE' MO MA                                            ;  
 103 :     'SI' ('EGA' &FOR 1)                                           ;
 104 :        GEOBET=GEO                                                 ;
 105 :        MOTOUT = MO                                                ;
 106 :        MATOUT = MA                                                ;
 107 :     'SINON'                                                       ;
 108 :        GEOBET = GEOBET 'ET' GEO                                   ;
 109 :        MOTOUT =  MOTOUT  'ET' MO                                  ;
 110 :        MATOUT = MATOUT 'ET' MA                                    ; 
 111 :     'FINSI'                                                       ;
 112 :     GG = 'MANU' 'CHPO' GEO 1 'UZ' -9.81                           ;
 113 :     FPO= MAS * GG                                                 ;
 114 :     POILEVEE . &FOR = FPO                                         ;
 115 :  FIN FOR                                                          ;
 116 : *
 117 : * calcul de la premiere levée
 118 : * On introduit le poids propre de la levee 1 et c'est tout.
 119 : * seule la premiere levée a une resistance, les autres sont divisées
 120 : * par 1000                                              
 121 : * pendant les levees on ne prend pas en compte le poids du reste
 122 :  MATCAL= TLEVEE . 1 .  'MATERIAU'                                 ;
 123 :  CLCAL = CLTOT                                                    ;
 124 :  'SI' ( NBLEVE > 1)                                               ;
 125 : * on fabrique un materiau bidon
 126 :     'REPETER' ADDIMO ( NBLEVE - 1 )                               ;
 127 :        MA = TLEVEE . ( &ADDIMO + 1 ) . 'MATERIAU'                 ;
 128 :        YOU = (EXCO MA 'YOUNG') * -0.9999                          ;
 129 :        MOMA= MA + YOU                                             ;
 130 :        MATCAL= MATCAL et MOMA                                     ;
 131 :     'FIN' ADDIMO                                                  ;
 132 :  'FINSI'                                                          ;
 133 :  'SI' LRESTE;MATCAL= MATCAL 'ET' TABPHAS . 'MAT_RESTE'; 'FINSI'   ; 
 134 : * on accroche aussi les cables en leur donnant un module  nul 
 135 :  SI ( NPRECO > 0) ;IDETAP=0                                       ;
 136 :    REPETER BOETAP NPRECO                                          ;
 137 :      IDETAP = IDETAP + 1                                          ;
 138 :      NDZONE = (DIME (TETAP . IDETAP) - 1)                         ;
 139 :      IDZON  = 0                                                   ;
 140 :      REPETER BOZONE NDZONE                                        ;
 141 :         IDZON = IDZON + 1                                         ;
 142 :         MOBID  = TETAP . IDETAP . IDZON . 'MODELE'                ;
 143 :         mabid =  TETAP . IDETAP . IDZON . 'MATERIAU'              ;
 144 :         listcomp= 'EXTR' mabid 'COMP'                             ;
 145 :         COEFBID = 1.e-3                                           ;
 146 :         sectbid='EXCO' 'SECT' TETAP . IDETAP . IDZON . 'MATERIAU' ;
 147 :         sectbid= sectbid*COEFBID                                  ;
 148 :         YOUNBID='EXCO' 'YOUN' TETAP . IDETAP . IDZON . 'MATERIAU' ;
 149 :         YOUNBID = COEFBID * YOUNBID                               ;
 150 :         'SI' ( 'EXIS' listcomp 'TRACTION ')                       ;
 151 :               TRACBIO = COEFBID * 
 152 :              (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ORDO')  ;
 153 :              TRACBID = EVOL MANU 'EPS' 
 154 :              (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ABSC')    
 155 :                          'SIG (PA)' TRACBIO                       ;
 156 :              MATBID = MATE MOBID  'YOUN' YOUNBID  'NU' 0.3 
 157 :                'SECT' sectbid RHO 0.0000001        'TRAC' TRACBID ;
 158 :         'SINON'                                                   ;
 159 :            MATBID = MATE MOBID  'YOUN' YOUNBID  'NU' 0.3 
 160 :                  'SECT' sectbid  RHO    0.0000001                 ;
 161 :         'FINSI'                                                   ;
 162 :         'SI' (( IDZON + IDETAP) EGA 2)                            ;
 163 :           MODCABL=MOBID                                           ;
 164 :           MATCABL=MATBID                                          ;
 165 :           CLCABL= RELA 'ACCRO' (EXTR MOBID  'MAILLAGE') GEOBET    ;
 166 :         'SINON'                                                   ;
 167 :            MODCABL = MODCABL ET MOBID                             ;
 168 :            MATCABL = MATCABL ET MATBID                            ;
 169 :            CLTOT1  = RELA 'ACCRO' (EXTR MOBID  'MAILLAGE') GEOBET ;         
 170 :            CLCABL  = CLCABL ET CLTOT1                             ;
 171 :         'FINSI'                                                   ;   
 172 :      FIN BOZONE                                                   ;
 173 :    FIN BOETAP                                                     ;
 174 :    MODCAL = MOTOUT ET MODCABL                                     ;
 175 :    MATCAL = MATCAL ET MATCABL                                     ;
 176 :    CLCAL= CLCABL ET CLTOT                                         ;
 177 :  SINON                                                            ;
 178 :    MODCAL= MOTOUT                                                 ;
 179 :    CLCAL=CLTOT                                                    ;
 180 :  FINSI                                                            ;   
 181 : * determination d'un temps de calcul
 182 :  DTEMPS=0.                                                        ; 
 183 :  SI ( nbleve > 1) ; dtemps = tlevee . 2 . 'INSTANT'  * 0.001      ;
 184 :  SINON; SI (NPRECO > 0);DTEMPS= (TETAP . 1 . 'TPS') * 0.001; FINSI;  
 185 :  FINSI                                                            ;
 186 :  'SI' ('EGA' DTEMPS 0.) ; 'MESS' ' PROBLEME DE PAS DE TEMPS'      ;
 187 :     'QUITTER' PHASAGE                                             ;
 188 :  'FINSI'                                                          ;
 189 :  LTE = prog 0. DTEMPS  TEMPSGRA                                   ;
 190 :  LCOE= PROG 0. 1. 1.                                              ;
 191 :  EVCH= EVOL MANU 'TEMPS' LTE 'COEF' LCOE                          ;
 192 :  FPO= poilevee.1                                                  ;
 193 :  CHAPOI =  CHARGE 'MECA' FPO   EVCH                               ;
 194 : 
 195 : * appel a pasapas pour calculer la premiere levee                 ;
 196 : 
 197 :  TABRES= TABLE                                                    ;
 198 :  TABPHAS.'TABRES' = TABRES                                        ;
 199 :  TABRES . 'MODELE' = MODCAL                                       ;
 200 :  TABRES . 'CARACTERISTIQUES' = MATCAL                             ;
 201 :  LISTTEMP   = prog 0. dtemps                                      ;
 202 :  TABRES . 'TEMPS_CALCULES'=LISTTEMP                               ;
 203 :  TABRES . 'BLOCAGES_MECANIQUES' = CLCAL                           ;
 204 :  TABRES . 'CHARGEMENT' = CHAPOI                                   ;
 205 :  'SI' ('EXIS' TABPHAS   'RIGIDITE_ADDITIONELLE'     )             ;
 206 :    'MESS' 'PRISE EN COMPTE DE RIGIDITE_ADDITIONELLE'              ;
 207 :    TABRES . 'RIGIDITE_CONSTANTE' = 
 208 :              TABPHAS .  'RIGIDITE_ADDITIONELLE'                   ;
 209 :  'FINSI'                                                          ;
 210 :  PASAPAS TABRES                                                   ;
 211 :  TDER= DTEMPS                                                     ;
 212 : 
 213 :  NUMLEV = 1                                                       ;
 214 : *messs ' fin premier appel a pasaspas';
 215 : *
 216 : * calcul du retrait pour tous les temps des levees 
 217 : *
 218 :  'SI' LRETRAIT                                                    ;
 219 :    DEFONUL= 'ZERO' MODCAL 'DEFORMAT'                              ;
 220 :    TRETTE . 0 = 0.; TRETEP . 0 = DEFONUL  ; COMRETR=0             ;
 221 :    'SI' (NBLEVE > 1)                                              ;
 222 :       REPETER BOURET ( NBLEVE - 1)                                ;
 223 :         NUMLEV=&BOURET + 1                                        ;       
 224 :         TEMPCOUR= TLEVEE . NUMLEV . 'INSTANT'                     ;
 225 :         REPETER SOUSLEV ( NUMLEV - 1)                             ;
 226 :           MODBET=TLEVEE . &SOUSLEV . 'MODELE'                     ;
 227 :           RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE'                   ;
 228 :           TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT'                   ;
 229 :           COEF1 = TLEVEE . &SOUSLEV . 'COEF1'                     ;
 230 :           COEF2 = TLEVEE . &SOUSLEV . 'COEF2'                     ; 
 231 :           RET=RETRAIT NOMREGR  MODBET RAYSECH
 232 :                 TCOFFR TEMPCOUR COEF1  COEF2                      ;
 233 :           'SI' ( 'EGA' 1  &SOUSLEV)                               ;         
 234 :              EPRETRAI. (&BOURET + 1)=  RET +DEFONUL               ; 
 235 :           'SINON'                                                 ;
 236 :              EPRETRAI. (&BOURET + 1)= EPRETRAI. (&BOURET + 1)+RET ;  
 237 :           'FINSI'                                                 ;      
 238 :         'FIN'  SOUSLEV                                            ;
 239 :      'FIN'  BOURET                                                ;
 240 :    'FINSI'                                                        ;
 241 :  'FINSI'                                                          ;  
 242 : *messs ' fin travail sur le retrait '       ;   
 243 : *
 244 : * calcul mecanique  des autres levees
 245 : * on calcule le temps précedent la levée à dtemps prés puis le 
 246 : * temps de la levée  
 247 : * Pour le premier des deux temps seul le fluage retrait est à 
 248 : * introduire si besoin est . Le materiau de la levee est remis
 249 : * normalement  pour le second temps et il faut aussi ajouter le poids
 250 : * de la levée.
 251 :  TCONT= TABRES. 'CONTRAINTES'                                     ;
 252 :  TTEMP= TABRES . 'TEMPS'                                          ; 
 253 :        
 254 :  FLUAG1=ZERO MODCAL  'DEFORMAT'                                   ;
 255 : 'SI' LFLUAGE;
 256 :  TFLUTE . 0 =   0.                                                ;
 257 :  TFLUEP . 0 = FLUAG1                                              ;
 258 :  COMTFLU = 0                                                      ;
 259 : 'FINSI';
 260 :  
 261 :  'SI' ( NBLEVE > 1) ;
 262 :    'REPETER' COULEE ( NBLEVE - 1)                                 ;
 263 :   
 264 :       NUMLEV=&COULEE + 1                                          ;
 265 :     
 266 : * temps des  calcul 
 267 :       TCAL= TLEVEE . NUMLEV . 'INSTANT' - dtemps                  ; 
 268 : *   mess ' travail sur la coulée numero ' numlev 'tcal ' tcal;      
 269 :       CHACAL= CHAPOI                                              ; 
 270 : * definition du chargement 
 271 : * recuperation du retrait
 272 :      'SI' LRETRAIT                                                ;
 273 :         COMRETR=COMRETR + 1                                       ; 
 274 :         TRETTE . COMRETR = TCAL  * 1.                             ;
 275 :         TRETEP . COMRETR = EPRETRAI . NUMLEV                      ;
 276 :         COMRETR=COMRETR + 1                                       ; 
 277 :         TRETTE . COMRETR = TLEVEE . NUMLEV . 'INSTANT' * 1.       ;       
 278 :         TRETEP . COMRETR = EPRETRAI . NUMLEV                      ;
 279 :         CHARRET = CHAR 'DEFI' TRETTE TRETEP                       ;
 280 :         CHACAL = CHACAL ET CHARRET                                ;
 281 :      'FINSI'                                                      ;
 282 : * calcul du fluage 
 283 :      'SI' LFLUAGE                                                 ;
 284 : 
 285 :         FLUAG1=ZERO MODCAL  'DEFORMAT'                            ;
 286 :         COMTFLU = COMTFLU + 1                                     ;
 287 :         TFLUTE . COMTFLU = TCAL * 1.                              ;
 288 :         'REPETER' BOUFLU  (NUMLEV  - 1)                           ;
 289 :         
 290 :           MOLE= TLEVEE . &BOUFLU . 'MODELE'                       ;
 291 :           TCOUL=TLEVEE . &BOUFLU . 'INSTANT'                      ; 
 292 :           MALE= TLEVEE . &BOUFLU . 'MATERIAU'                     ;
 293 :           RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE'                   ;
 294 :           COEF1 = TLEVEE . &BOUFLU . 'COEF1'                      ;
 295 :           COEF2 = TLEVEE . &BOUFLU . 'COEF2'                      ;
 296 :           NF= NUMLEV - &BOUFLU; NDE=(&BOUFLU - 1)*(1+NSOUSL) + 1  ; 
 297 : *   mess ' on travaille sur levee ' &BOUFLU ' nf ' nf ' nde ' nde;  
 298 :           'REPETER'  BOPAS   NF                                   ;
 299 :              NSI = ( &BOPAS - 1 ) * (1+NSOUSL)   + NDE            ;
 300 :              SIG1 =TCONT . NSI                                    ;
 301 :              SIG0 =TCONT . (NSI - 1)                              ;
 302 :              DSIG= REDU ( SIG1 - SIG0) MOLE                       ;
 303 :              TCOUR = TTEMP . NSI                                  ;
 304 : *aa=maxi (abs dsig); mess ' maxi des cont ' aa  ' nsi ' nsi ;
 305 :              FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
 306 :                      RAYSECH  TCOUR TCAL COEF2 TCOUL COEF1 )      ;
 307 :           'FIN' BOPAS                                             ;
 308 :         'FIN' BOUFLU                                              ;
 309 :         TFLUEP . COMTFLU  = FLUAG1                                ;
 310 :         COMTFLU = COMTFLU + 1                                     ;
 311 :         TFLUTE . COMTFLU = TLEVEE . NUMLEV . 'INSTANT' * 1.0      ;
 312 :         TFLUEP . COMTFLU  = FLUAG1                                ;
 313 :         CHARFLU = CHAR 'DEFINI'  TFLUTE TFLUEP                    ;
 314 :         EPFLUAGE.NUMLEV=FLUAG1                                    ;
 315 :         CHACAL = CHACAL ET CHARFLU                                ;
 316 :      'FINSI'                                                      ;
 317 :      'SI' ( 'EGA' NSOUSL  1)                                      ;
 318 :         LC= 'PROG' TCAL                                           ;
 319 :      'SINON'                                                      ;
 320 :         TPAS= (TCAL - TDER) / NSOUSL                              ;
 321 :         'SI' ( 'EGA' NSOUSL 2)                                    ;
 322 :             LC= 'PROG' (TDER+TPAS)  TCAL                          ;
 323 :         'SINON'                                                   ;
 324 :             LC= 'PROG' (TDER+TPAS)  'PAS' TPAS  TCAL              ;
 325 :         'FINSI'                                                   ;
 326 :      'FINSI'                                                      ;             
 327 :      LISTTEMP=LISTTEMP 'ET'   LC                                  ;
 328 :      TABRES.'TEMPS_CALCULES'=    LC                               ;
 329 :      TABRES.'CHARGEMENT' = CHACAL                                 ;
 330 :      PASAPAS TABRES                                               ;
 331 : * redefinition des materiaux et du poids pour le temps exact 
 332 : * correspondant à la levée 
 333 :      'REPETER' ADDIMO  NBLEVE                                     ;
 334 :        MA = TLEVEE .  &ADDIMO  . 'MATERIAU'                       ;
 335 :        'SI' ( &ADDIMO <EG NUMLEV )                                ; 
 336 :          'SI' ( 'EGA' 1 &ADDIMO) ; MATCAL=MA; 'SINON'             ;
 337 :             MATCAL=MATCAL ET MA                                   ;
 338 :          'FINSI'                                                  ;
 339 :        'SINON'                                                    ;
 340 :          YOU = (EXCO MA 'YOUNG') * -0.99999                       ;
 341 :          MOMA= MA  + YOU                                          ;
 342 :          MATCAL= MATCAL ET MOMA                                   ;
 343 :        'FINSI'                                                    ;
 344 :      'FIN' ADDIMO                                                 ;
 345 :      'SI' LRESTE ; MATCAL=MATCAL 'ET' TABPHAS.'MAT_RESTE'; 'FINSI';
 346 :       'SI' LPRECO; MATCAL=MATCAL 'ET' MATCABL  ;'FINSI'           ;
 347 : * calcul du poids
 348 :      FPO = FPO + POILEVEE.NUMLEV                                  ;
 349 : * determination d'un temps de calcul
 350 :      TNOUCAL = TLEVEE . NUMLEV . 'INSTANT'                        ;
 351 :      LTE = prog 0. TCAL TNOUCAL   TEMPSGRA                        ;
 352 :      LCOE= PROG 0. 0.    1.       1.                              ;
 353 :      EVCH= EVOL MANU 'TEMPS' LTE 'COEF' LCOE                      ;
 354 :      CHAPOI =  CHARGE 'MECA' FPO  EVCH                            ;
 355 :      CHACAL = CHAPOI                                              ;
 356 :      'SI' LRETRAIT ; CHACAL= CHACAL ET CHARRET; 'FINSI'           ;
 357 :      'SI' LFLUAGE  ; CHACAL= CHACAL ET CHARFLU; 'FINSI'           ;
 358 : * mise a jour de la table 
 359 :      tabres .'CARACTERISTIQUES' = MATCAL                          ;
 360 :      LISTTEMP=LISTTEMP 'ET' ( 'PROG' TNOUCAL)                     ;
 361 :      tabres.'TEMPS_CALCULES' =  'PROG' TNOUCAL                    ; 
 362 :      tabres.'CHARGEMENT' = CHACAL                                 ;
 363 :      pasapas tabres                                               ;
 364 :      TDER = TNOUCAL                                               ;
 365 :    'FIN' COULEE                                                   ;
 366 :  'FINSI'                                                          ;
 367 : *
 368 : * fin du traitement des coulées on passe à la précontrainte
 369 : * On calcule le temps juste avant la mise en précontrainte 
 370 : * puis la mise en précontrainte. Pour la i eme precontrainte
 371 : * on prend en compte la raideur des (i-1) premiers groupes de
 372 : * cables
 373 :  'SI' LPRECO;
 374 : * on calcule d'abord le retrait pour tous les temps de
 375 : * precontraintes
 376 : *mess ' debut des precontraintes  traitement du retrait';
 377 :    'SI' LRETRAIT; NRET = EPRETRAI 'DIME'                          ;
 378 :       'REPETER' BOURET NPRECO                                     ;      
 379 :          TEMPCOUR= TETAP . &BOURET  . 'TPS'                       ;
 380 :          'REPETER' SOUSLEV  NUMLEV                                ;
 381 :            MODBET=TLEVEE . &SOUSLEV . 'MODELE'                    ;
 382 :            RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE'                  ;
 383 :            TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT'                  ;
 384 :            COEF1 = TLEVEE . &SOUSLEV . 'COEF1'                    ;
 385 :            COEF2 = TLEVEE . &SOUSLEV . 'COEF2'                    ;
 386 :            RET = RETRAIT NOMREGR  MODBET RAYSECH TCOFFR TEMPCOUR 
 387 :                  COEF1  COEF2                                     ;
 388 :            'SI' ( 'EGA' 1 &SOUSLEV)                               ;
 389 :               EPRETRAI. (&BOURET + NRET)=RET + DEFONUL            ;
 390 :            'SINON'                                                ;
 391 :               EPRETRAI.(&BOURET+NRET)=EPRETRAI.(&BOURET+NRET)+RET ; 
 392 :            'FINSI'                                                ;
 393 :          'FIN'  SOUSLEV                                           ;
 394 :       'FIN'  BOURET                                               ;
 395 :    'FINSI'                                                        ;
 396 : * on calcule maintenant les chargements dues à la precontrainte,
 397 : * on les mets dans les tables chpreco et sipreco
 398 :    CHPRECO=TABLE  ;SIPRECO=TABLE                                  ;
 399 :    'REPETER' CAFO NPRECO                                          ;
 400 :      NDZONE = ('DIME' TETAP . &CAFO ) - 1                         ;
 401 :      IDZON  = 0                                                   ;
 402 :      'REPETER' BOZONE NDZONE                                      ;
 403 :        IDZON = IDZON + 1                                          ;
 404 :        'SI' (EGA IDZON 1)                                         ;
 405 :           FOPREC = (-1.) * ('BSIG'
 406 :                       TETAP . &CAFO . IDZON . 'PREC'
 407 :                       TETAP . &CAFO . IDZON . 'MODELE'
 408 :                       TETAP . &CAFO . IDZON . 'MATERIAU')         ;
 409 :           SIPREC =  TETAP . &CAFO . IDZON .  PREC                 ;
 410 :        'SINON'                                                    ;
 411 :           FOPREC = FOPREC ET ((-1.) * (BSIG
 412 :                       TETAP . &CAFO  . IDZON . 'PREC'
 413 :                       TETAP . &CAFO  . IDZON . 'MODELE'
 414 :                       TETAP . &CAFO  . IDZON . 'MATERIAU'))       ;
 415 :           SIPREC = SIPREC ET (TETAP .&CAFO. IDZON .  PREC)        ;
 416 :        'FINSI'                                                    ;
 417 :      'FIN' BOZONE                                                 ;
 418 :      EVPTOT = EVOL 'MANU' 'TPS' (PROG 0 TETAP.&CAFO.'TPS' TEMPSGRA)  
 419 :                         'COEF' (PROG 0 1 1)                       ;
 420 :      CHPRECO . &CAFO =   CHARG 'MECA' FOPREC EVPTOT               ;
 421 :      SIPRECO . &CAFO= SIPREC                                      ;
 422 :    'FIN' CAFO                                                     ;       
 423 : * boucle sur la mise en precontrainte
 424 : *mess ' debut de boucle sur precontrainte '  npreco;
 425 :     nfinlev= numlev * 2 + 1                                       ;
 426 :    'REPETER' BOUPREC NPRECO                                       ;
 427 : *mess ' traitement de la precontrainte ' &bouprec;
 428 :       TCAL= TETAP . &BOUPREC  . 'TPS'   *   1.                    ;
 429 : * calcul du chargement
 430 :       CHCAL=  CHAPOI                                              ;
 431 : * on commence par le fluage jusqu'a (temps -dtemps)
 432 :       'SI' LFLUAGE                                                ;
 433 :         COMTFLU = COMTFLU + 1                                     ;
 434 :         FLUAG1=ZERO MODCAL  'DEFORMAT'                            ;
 435 :         TFLUTE . COMTFLU = TCAL  - DTEMPS   * 1.                  ;
 436 :         REPETER BOUFLU  NUMLEV                                    ;
 437 :           MOLE= TLEVEE . &BOUFLU . 'MODELE'                       ;
 438 :           MALE= TLEVEE . &BOUFLU . 'MATERIAU'                     ;
 439 :           TCOUL=TLEVEE . &BOUFLU . 'INSTANT'                      ;
 440 :           RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE'                   ;
 441 :           COEF1 = TLEVEE . &BOUFLU . 'COEF1'                      ;
 442 :           COEF2 = TLEVEE . &BOUFLU . 'COEF2'                      ;     
 443 :           NF= NUMLEV - &BOUFLU + &BOUPREC                         ;
 444 :           NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1                      ;
 445 :           NSI=NDE   -  (1+NSOUSL)                                 ; 
 446 :           NTES=NUMLEV - &BOUFLU + 2                               ;
 447 : *mess ' numero de levées ' &bouflu ' nf ' nf ' nde ' nde ' nsi ' nsi;
 448 :           REPETER  BOPAS   NF                                     ;
 449 :             'SI' ( < &BOPAS  nfinlev  )                           ;
 450 :                  NSI = NSI + 1 + NSOUSL                           ;
 451 :             'SINON'                                               ;
 452 :                  NSI = NSI + 1 + NSOUSP                           ;
 453 :             'FINSI'                                               ;
 454 :             SIG1 =TCONT . NSI                                     ;
 455 :             SIG0= TCONT . (NSI - 1)                               ; 
 456 :             DSIG= REDU ( SIG1 - SIG0) MOLE                        ;
 457 :             TCOUR = TTEMP . NSI                                   ; 
 458 : *aa= maxi ( abs dsig); mess 'maxi des cont ' aa ' nsi '  nsi;    
 459 :             FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
 460 :                     RAYSECH   TCOUR TCAL COEF2 TCOUL COEF1 )      ;
 461 :           FIN BOPAS                                               ;
 462 :         FIN BOUFLU                                                ;
 463 :         TFLUEP . COMTFLU = FLUAG1                                 ;
 464 :         COMTFLU = COMTFLU + 1                                     ;         
 465 :         TFLUTE . COMTFLU = TCAL                                   ;
 466 :         TFLUEP . COMTFLU = FLUAG1                                 ;
 467 :         CHARFLU = CHAR 'DEFINI'  TFLUTE TFLUEP                    ;
 468 :         CHCAL=CHCAL 'ET' CHARFLU                                  ;
 469 :       'FINSI'                                                     ;
 470 : *mess ' fin calcul fluage prise en compte du retrait sans calcul' ;
 471 :       'SI' LRETRAIT                                               ;
 472 :           COMRETR = COMRETR + 1                                   ;
 473 :           TRETTE . COMRETR =  TCAL - DTEMPS * 1.                  ;
 474 :           TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC)          ;
 475 :           COMRETR = COMRETR + 1                                   ;
 476 :           TRETTE . COMRETR =  TCAL  * 1.                          ;
 477 :           TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC)          ;
 478 :           CHRE= 'CHAR' 'DEFI' TRETTE TRETEP                       ;
 479 :           CHCAL = CHCAL 'ET' CHRE                                 ;
 480 :       'FINSI'                                                     ;
 481 :       MATCAL=MATOUT                                               ;
 482 :       IDETAP=0                                                    ;
 483 :       idecab=0;
 484 : * on tue les groupes de cable non deja tendus 
 485 : *mess ' precontrainte du gropue &bouprec' &bouprec;
 486 :       'REPETER' BOETAP NPRECO                                     ;
 487 :         IDETAP = IDETAP + 1                                       ;
 488 :         NDZONE = (DIME TETAP . IDETAP) - 1                        ;
 489 :         IDZON  = 0                                                ;
 490 :         'REPETER' BOZONE NDZONE                                   ;
 491 :            IDZON = IDZON + 1                                      ;
 492 :            MOBID  = (TETAP . IDETAP . IDZON . 'MODELE')           ;
 493 :            'SI' (< IDETAP (&BOUPREC - 0.01) )                     ; 
 494 :                MATBID = TETAP . IDETAP . IDZON . 'MATERIAU'       ;
 495 :            'SINON '                                               ;
 496 :              COEFBID = 1E-3                                       ;
 497 :              sectbid= EXCO 'SECT' TETAP.IDETAP.IDZON . 'MATERIAU' ;
 498 :              sectbid=sectbid * coefbid                            ;     
 499 :              mabid= TETAP . IDETAP . IDZON . 'MATERIAU'           ;
 500 :              LISTCOMP= 'EXTR' MABID 'COMP'                        ;
 501 :             
 502 :              YOUNBID = EXCO 'YOUN' 
 503 :                              (TETAP . IDETAP . IDZON . 'MATERIAU');
 504 :              YOUNBID = COEFBID * YOUNBID                          ;
 505 :              'SI' ('EXIS' LISTCOMP  'TRACTION' )                  ;
 506 :                 TRACBIO = COEFBID * 
 507 :               (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ORDO') ;
 508 :                 TRACBID = EVOL MANU 'EPS' 
 509 :                (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ABSC')    
 510 :                          'SIG (PA)' TRACBIO                       ;
 511 :                 MATBID = MATE MOBID  'YOUN' YOUNBID  'NU' 0.3
 512 :                        'SECT' sectbid 'TRAC' TRACBID   RHO 1.     ;
 513 :              'SINON'                                              ;
 514 :                 MATBID = MATE MOBID  'YOUN' YOUNBID  'NU' 0.3
 515 :                          'SECT' sectbid RHO 1.                    ;
 516 :              'FINSI'                                              ;
 517 :            'FINSI'                                                ;
 518 : si (idecab  ega 0); mmcabl=matbid;mmocab= mobid;idecab=1;sinon;
 519 : mmcabl=mmcabl et matbid ;mmocab=mmocab et mobid;finsi;
 520 :            MATCAL = MATCAL ET MATBID                              ;
 521 :          'FIN' BOZONE                                             ;
 522 :       'FIN' BOETAP                                                ;
 523 : * on ajoute la contrainte du dernier groupe tendu
 524 :       'SI' ( 'NEG' &BOUPREC 1)                                    ;
 525 :         NA = ('DIME' TCONT  ) - 1                                 ; 
 526 :         TCONT.NA= TCONT . NA + SIPRECO.(&BOUPREC - 1)             ; 
 527 :         TABRES.'CONTINUATION'.'CONTRAINTES'= 
 528 :         TABRES.'CONTINUATION'.'CONTRAINTES' + SIPRECO.(&BOUPREC - 1);           
 529 :       'FINSI'                                                     ;
 530 : * appel a Pasapas pour le temps (tcal - dtemps)
 531 :       TCALA=TCAL - DTEMPS                                         ;
 532 :       'SI' ( 'EGA' NSOUSP 1)                                      ;
 533 :          LC= 'PROG' TCALA                                         ;
 534 :       'SINON'                                                     ;
 535 :          TPAS = (TCALA - TDER ) / NSOUSP                          ;
 536 :          'SI' ( 'EGA' NSOUSP 2)                                   ;
 537 :              LC = 'PROG'  (TDER + TPAS)  TCALA                    ;
 538 :          'SINON'                                                  ;
 539 :              LC = 'PROG'  (TDER + TPAS) 'PAS'  TPAS TCALA         ;
 540 :          'FINSI'                                                  ;
 541 :       'FINSI'                                                     ; 
 542 :       tabres.'macable'=mmcabl; tabres.'mmocable'=mmocab;   
 543 :       LISTTEMP=LISTTEMP 'ET' LC                                   ;
 544 :       TABRES.'TEMPS_CALCULES' = LC                                ;      
 545 :       TABRES.'CARACTERISTIQUES' = MATCAL                          ;
 546 :       TABRES.'CHARGEMENT' =  CHCAL                                ;
 547 :       PASAPAS TABRES                                              ;
 548 : * on va calculer le temps TCAL 
 549 : *  on ajoute le chargement du a la precontrainte
 550 :       CHCAL = CHCAL 'ET' CHPRECO.&BOUPREC                         ;
 551 :       
 552 :       LISTTEMP = LISTTEMP 'ET' ( 'PROG' TCAL)                     ;
 553 :       TABRES.'TEMPS_CALCULES' = 'PROG'    TCAL                    ; 
 554 :       TABRES.'CHARGEMENT' = CHCAL                                 ;
 555 :       PASAPAS TABRES                                              ;
 556 :       TDER=TCAL                                                   ;
 557 :    'FIN' BOUPREC                                                  ;
 558 : * Il ne rest plus qu'a ajouter la raideur du dernier groupe 
 559 : * et la contrainte
 560 :    MATCAL=MATOUT                                                  ;
 561 :    IDETAP = 0                                                     ;
 562 :    'REPETER' BOETAP NPRECO                                        ;
 563 :       IDETAP = IDETAP + 1                                         ;
 564 :       NDZONE = DIME TETAP . IDETAP - 1                            ;
 565 :       IDZON  = 0                                                  ;
 566 :       'REPETER' BOZONE NDZONE                                     ;
 567 :          IDZON = IDZON + 1                                        ;          
 568 :          MATCAL = MATCAL 'ET' TETAP . IDETAP . IDZON . 'MATERIAU' ;
 569 :       'FIN' BOZONE                                                ;
 570 :    'FIN' BOETAP                                                   ;
 571 :    NA = ('DIME' TCONT ) - 1                                       ; 
 572 :    TCONT.NA=TCONT . NA + SIPRECO. NPRECO                          ;
 573 :    TABRES.'CONTINUATION'.'CONTRAINTES'= 
 574 :    TABRES.'CONTINUATION'.'CONTRAINTES' +  SIPRECO. NPRECO  ;                    
 575 : * le finsi suivant est celui correspondant a 'SI' LPRECO  
 576 :  'FINSI'                                                          ;
 577 : *
 578 : * calcul du dernier temps tempsfi
 579 : * chargement 
 580 :  CHCAL=CHAPOI                                                     ;
 581 :  'SI' LRETRAIT;NRET = (EPRETRAI 'DIME'   ) + 1                    ;    
 582 :     TEMPCOUR= TEMPSFI                                             ;
 583 :     'REPETER' SOUSLEV  NBLEVE                                     ;
 584 :        MODBET=TLEVEE . &SOUSLEV . 'MODELE'                        ;
 585 :        RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE'                      ;
 586 :        TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT'                      ;
 587 :        COEF1 = TLEVEE . &SOUSLEV . 'COEF1'                        ;
 588 :        COEF2 = TLEVEE . &SOUSLEV . 'COEF2'                        ;
 589 :        RET=RETRAIT NOMREGR  MODBET RAYSECH
 590 :                             TCOFFR TEMPCOUR COEF1  COEF2          ;
 591 :      'SI' ('EGA' 1 &SOUSLEV)                                      ;            
 592 :         EPRETRAI.  NRET=   RET  + DEFONUL                         ;
 593 :      'SINON'                                                      ;
 594 :         EPRETRAI.  NRET = EPRETRAI. NRET +  RET                   ;
 595 :      'FINSI'                                                      ;
 596 :     'FIN'  SOUSLEV                                                ;
 597 :      COMRETR = COMRETR + 1                                        ;
 598 :      TRETTE . COMRETR = TEMPSFI    * 1.                           ;
 599 :      TRETEP . COMRETR = EPRETRAI .  NRET                          ;
 600 :      COMRETR = COMRETR + 1                                        ;
 601 :      TRETTE . COMRETR = TEMPSGRA  * 1.                            ;
 602 :      TRETEP . COMRETR = EPRETRAI .  NRET                          ;      
 603 :      CHRE= 'CHAR' 'DEFINI' TRETTE TRETEP                          ;
 604 :      CHCAL = CHCAL 'ET' CHRE                                      ;
 605 :  'FINSI'                                                          ;
 606 :  'SI' LFLUAGE                                                     ;  
 607 :      COMTFLU = COMTFLU + 1                                        ;
 608 :      FLUAG1=ZERO MODCAL 'DEFORMAT'                                ;
 609 :      TFLUTE . COMTFLU = TEMPSFI  * 1.                             ;   
 610 :      'REPETER' BOUFLU  NBLEVE                                     ;
 611 :          MOLE= TLEVEE . &BOUFLU . 'MODELE'                        ;
 612 :          MALE= TLEVEE . &BOUFLU . 'MATERIAU'                      ;
 613 :          TCOUL=TLEVEE . &BOUFLU . 'INSTANT'                       ;
 614 :          RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE'                    ;
 615 :          COEF1 = TLEVEE . &BOUFLU . 'COEF1'                       ;
 616 :          COEF2 = TLEVEE . &BOUFLU . 'COEF2'                       ;     
 617 :          NF= NUMLEV - &BOUFLU + NPRECO + 1                        ;
 618 :          NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1                       ;
 619 :          NSI=NDE   -  (1+NSOUSL)                                  ; 
 620 :          NTES=NUMLEV - &BOUFLU + 2                                ;
 621 :          REPETER  BOPAS   NF                                      ;
 622 :             'SI' ( < &BOPAS    NTES  )                            ;
 623 :                  NSI = NSI + 1 + NSOUSL                           ;
 624 :             'SINON'                                               ;
 625 :                  NSI = NSI + 1 + NSOUSP                           ;
 626 :             'FINSI'                                               ;
 627 :             SIG1 =TCONT . NSI                                     ; 
 628 :             SIG0 =TCONT . (NSI - 1)                               ; 
 629 :             DSIG= REDU ( SIG1 - SIG0) MOLE                        ;
 630 :             TCOUR = TTEMP . NSI                                   ;
 631 : *aa = maxi ( abs dsig) ;mess ' maxi cont ' aa  ' nsi ' nsi;       
 632 :             FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
 633 :                      RAYSECH  TCOUR TEMPSFI COEF2 TCOUL COEF1 )   ;
 634 :          'FIN' BOPAS                                              ;
 635 :      'FIN' BOUFLU                                                 ;
 636 :      TFLUEP . COMTFLU = FLUAG1                                    ;
 637 :      COMTFLU = COMTFLU + 1                                        ; 
 638 :      TFLUTE . COMTFLU = TEMPSGRA * 1.                             ;
 639 :      TFLUEP . COMTFLU = FLUAG1                                    ;
 640 :      CHARFLU = 'CHAR' 'DEFI'  TFLUTE TFLUEP                       ;
 641 :      CHCAL=CHCAL 'ET' CHARFLU                                     ;
 642 :  'FINSI'                                                          ;
 643 :  'SI' ( 'EGA' NSOUSP  1)                                          ;
 644 :     LC= 'PROG' TEMPSFI                                            ;
 645 :  'SINON'                                                          ;
 646 :     TPAS= (TEMPSFI - TDER) / NSOUSP                               ;
 647 :     'SI' ( 'EGA' NSOUSP 2)                                        ;
 648 :         LC= 'PROG' (TDER+TPAS)  TEMPSFI                           ;
 649 :     'SINON'                                                       ;
 650 :         LC= 'PROG' (TDER+TPAS)  'PAS' TPAS  TEMPSFI               ;
 651 :     'FINSI'                                                       ;
 652 :  'FINSI'                                                          ;    
 653 :  LISTTEMP=LISTTEMP 'ET' LC                                        ;
 654 :  TABRES.'TEMPS_CALCULES' =   LC                                   ;             
 655 :  TABRES.'CARACTERISTIQUES' = MATCAL                               ;
 656 :  TABRES.'CHARGEMENT' = CHCAL                                      ;
 657 :  PASAPAS TABRES                                                   ;
 658 : 
 659 :  TABPHAS.'TABLE_SUITE' = TABRES                                   ;
 660 : 
 661 : FINPROC TABPHAS                                                   ;
 662 : 
 663 :  
 664 :  
 665 :  
 666 :  
 667 :  
 668 :  
 669 :  

© Cast3M 2003 - All rights reserved.
Disclaimer