Download codenorm.procedur

Back to the list

   1 : * CODENORM  PROCEDUR  AM        02/12/12    21:17:39     4501           
   2 : 'DEBPROC' CODENORM ZTABENT*'TABLE' ;
   3 : 
   4 : *==========================================================*
   5 : *   PROCEDURE D'ANALYSE REGLEMENTAIRE                      *
   6 : *   LES EQUATIONS TRAITEES VISENT LA PREVENTION            *
   7 : *   DE L'INSTABILITE PLASTIQUE, ET SONT ISSUES DES         *
   8 : *   CODES : ASME, RCCM (CLASSE 1&2), RCC-MR (CLASSE 1)     *
   9 : *   ETCM (CLASSE 1), CRITERE 3459 dit EMSI (CLASSE 1).     *
  10 : *   LES COEFFICIENTS B1 et B2 ISSUS DE RCCM CLASSE 1       *
  11 : *   SONT MODIFIABLES PAR L'UTILISATEUR DE LA PROCEDURE.    *
  12 : *   L'ANALYSE PEUT ETRE MISE EN OEUVRE A LA SUITE D'UN     *
  13 : *   CALCUL : STATIQUE, DYNAMIQUE PAR LA METHODE            *
  14 : *   SPECTRALE, DYNAMIQUE PAR LA METHODE TEMPORELLE         *
  15 : *   (POUR UN PAS DE TEMPS DONNE), OU ENCORE MANUELLEMENT   * 
  16 : *   (QUI SIGNIFIT L'UTILISATION PONCTUELLE DES CRITERES    *
  17 : *   AVEC UNE VALEUR DE PRESSION, UNE VALEUR DE MOMENTS,    *
  18 : *   UNE VALEUR DE RAYON EXTERIEUR, D'EPAISSEUR, DE RAYON   *
  19 : *   DE COURBURE POUR LES COUDES).                          *
  20 : *==========================================================*
  21 : *
  22 : *
  23 : * INITIALISATIONS - GENERALITES
  24 : * ###############################
  25 : *
  26 : * FLAGS
  27 : * -----
  28 : IERR1 = 0 ;
  29 : IERR2 = 0 ;
  30 : IERR3 = 0 ;
  31 : IERR4 = 0 ;
  32 : IERR5 = 0 ;
  33 : 
  34 : MAX0     = 0 ;
  35 : MAX      = 0 ;
  36 : NOMSMX0  = 0 ;
  37 : NOMRMX0  = 0 ;
  38 : CPTMX0   = 0 ;
  39 : 
  40 : TESTRCO1 = 0 ;
  41 : TESTEPA1 = 0 ;
  42 : TESTPRE1 = 0 ;
  43 : TESTRAY1 = 0 ;
  44 : 
  45 : rap1 = 0 ;
  46 : LOG1 = 0 ;
  47 : LOG2 = 0 ;
  48 : LOG3 = 0 ;
  49 : LOG4 = 0 ;
  50 : 
  51 : * FLAG POUR L'OPTION ENTREE DES DONNEES MANUELLE 
  52 : * LA RECUPERATION DES DONNEES EST AUTOMATIQUE PAR DEFAUT
  53 : * ------------------------------------------------------
  54 : MAN1 = 0 ;
  55 : 
  56 : * FLAGS POUR LES MOMENTS
  57 : *-----------------------
  58 : TOTAUX1 = 0 ;
  59 : POIDS1  = 0 ;
  60 : PERM1   = 0 ;
  61 : SEISME1 = 0 ;
  62 : 
  63 : * FLAGS POUR LA GEOMETRIE
  64 : * -----------------------
  65 : PARTDTE = 0 ;
  66 : COUDE = 0 ;
  67 : 
  68 : * FLAGS POUR LA NATURE DE L'ACIER
  69 : * -------------------------------
  70 : Fer1 = 0  ;
  71 : Auste1 = 0 ;
  72 : 
  73 : * FLAG POUR LES REGLEMENTS
  74 : * ------------------------
  75 : RCOD1 = 0 ;
  76 : REG2 = 0 ;
  77 : 
  78 : * FLAG POUR LES CLASSES
  79 : * ---------------------
  80 : RCLASSE1 = 0 ;
  81 : 
  82 : * FLAG POUR LES NIVEAUX C & D
  83 : * ----------------------------
  84 : 
  85 : RCRIT1 = 0 ; 
  86 : 
  87 : *************
  88 : * GEOMETRIE *
  89 : *************
  90 : 
  91 : *angle du coude en radian
  92 : anglec1 = PI / 2 ;
  93 : anglec2 = 0 ;
  94 : 
  95 : * DIAMETRE INTERIEUR 
  96 : Dint1 = 0. ;
  97 : * DIAMETRE EXTERIEUR (D)
  98 : Dext1 = 0. ;
  99 : * RAYON INTERIEUR
 100 : Rint1 = 0. ;
 101 : * RAYON EXTERIEUR
 102 : Rext1 = 0. ;
 103 : * RAYON DE COURBURE MOYEN DES COUDES
 104 : Rcmc1 = 0. ;
 105 : * EPAISSEUR DE CALCUL (e)
 106 : e1 = 0. ;
 107 : * MOMENT D'INERTIE (I)
 108 : In1 = 0. ;
 109 : * MODULE D'INERTIE (Z=I/Rext)
 110 : Z1 = 0. ;
 111 : * COEFFICIENT f
 112 : f1 = 0;
 113 : 
 114 : ********************
 115 : * EFFORTS, MOMENTS *
 116 : ********************
 117 : 
 118 : * PRESSION DE CALCUL, VALEUR PAR DEFAUT (P)
 119 : PRES1 = 0. ;
 120 : 
 121 : * MOMENTS
 122 : M1      = 0. ;
 123 : M2      = 0. ;
 124 : MOMA    = 0. ;
 125 : MOMB    = 0. ;
 126 : MX3     = 0. ;
 127 : MY3     = 0. ;
 128 : MZ3     = 0. ;
 129 : MX4     = 0. ;
 130 : MY4     = 0. ;
 131 : MZ4     = 0. ;
 132 : MQUAD1  = 0. ;
 133 : MQUAD2  = 0. ;
 134 : MQUAD3  = 0. ;
 135 : MQUAD4  = 0. ;
 136 : MQUAD51 = 0. ;
 137 : MQUAD52 = 0. ;
 138 : MQUAD6  = 0. ;
 139 : MQUADp1 = 0. ;
 140 : MQUADs1 = 0. ;
 141 : 
 142 : * MOMENTS TOTAUX
 143 : * --------------
 144 : * MOMENTS DE TORSION
 145 : MXt1 = 0. ;
 146 : 
 147 : * MOMENTS DE FLEXION DANS LE PLAN
 148 : MYt1 = 0. ;
 149 : 
 150 : * MOMENTS DE FLEXION HORS PLAN
 151 : MZt1 = 0. ;
 152 : 
 153 : 
 154 : * MOMENTS DUS AU POIDS
 155 : * --------------------
 156 : * MOMENTS DE TORSION
 157 : MXpo1 = 0. ;
 158 : 
 159 : * MOMENTS DE FLEXION DANS LE PLAN
 160 : MYpo1 = 0. ;
 161 : 
 162 : * MOMENTS DE FLEXION HORS PLAN
 163 : MZpo1 = 0. ;
 164 : 
 165 : 
 166 : * MOMENTS DUS AUX EFFORTS PERMANENTS 
 167 : * ----------------------------------
 168 : * MOMENTS DE TORSION
 169 : MXpe1 = 0. ;
 170 : 
 171 : * MOMENTS DE FLEXION DANS LE PLAN
 172 : MYpe1 = 0. ;
 173 : 
 174 : * MOMENTS DE FLEXION HORS PLAN
 175 : MZpe1 = 0. ;
 176 : 
 177 : 
 178 : * MOMENTS DUS AUX EFFORTS SISMIQUES
 179 : * ---------------------------------
 180 : * MOMENTS DE TORSION
 181 : MXs1 = 0. ;
 182 : 
 183 : * MOMENTS DE FLEXION DANS LE PLAN
 184 : MYs1 = 0. ;
 185 : 
 186 : * MOMENTS DE FLEXION HORS PLAN
 187 : MZs1 = 0. ;
 188 : 
 189 : ******************************
 190 : * CARACTERISTIQUES PHYSIQUES *
 191 : ******************************
 192 : 
 193 : * COEFFICIENTS DE CONTRAINTE
 194 : ************************************
 195 : * LES COEFFICIENTS SONT AJUSTABLES *
 196 : * PAR L'UTILISATEUR                *
 197 : ************************************
 198 : D1= 0. ;
 199 : D21 = 0.;
 200 : D22 = 0.;
 201 : 
 202 : B1RCCMd1 = 0.5 ;
 203 : B2RCCMd1 = 1. ;
 204 : B1RCCMc1 = 0.5 ;
 205 : B2RCCMc1 = 0. ;
 206 : COEF1    = 1  ;
 207 : B1RCCMd2 = 0.5 ;
 208 : B2RCCMd2 = 1. ;
 209 : B1RCCMc2 = 0.5 ;
 210 : B2RCCMc2 = 0. ;
 211 : COEF2    = 1  ;
 212 : 
 213 : B1MRd1 =0.5 ;
 214 : B2MRd1= 1. ;
 215 : D1MRd1= 0.4 ;
 216 : D21MRd1  = 1.1 ;
 217 : COEF31   = 1  ;
 218 : D22MRd1  = 0. ;
 219 : B1MRc1= 0. ;
 220 : B2MRc1= 0. ;
 221 : D1MRc1= 0.5 ;
 222 : COEF32   = 1  ;
 223 : D21MRc1  = 1.1 ;
 224 : COEF33   = 1  ;
 225 : D22MRc1  = 0. ;
 226 : COEF34   = 1  ;
 227 : 
 228 : B1ASMEd1 = 0.5 ;
 229 : B2ASMEd1 = 1. ;
 230 : B1ASMEc1 = 0. ;
 231 : COEF41   = 1  ;
 232 : B2ASMEc1 = 0. ;
 233 : COEF42   = 1  ;
 234 : B1ASMEd2 = 0.5 ;
 235 : B2ASMEd2 = 1. ;
 236 : B1ASMEc2 = 0. ;
 237 : COEF51   = 1  ;
 238 : B2ASMEc2 = 0. ;
 239 : COEF52   = 1  ;
 240 : 
 241 : B1ETCMd2 = 0.5 ;
 242 : B2ETCMd2 = 1. ;
 243 : B1ETCMc2 = 0.5 ;
 244 : B2ETCMc2 = 0. ;
 245 : COEF6    = 1  ;
 246 : 
 247 : B1EMSId1 = 0.5 ;
 248 : B2EMSId1 = 1. ;
 249 : B1EMSIc1 = 0.5 ;
 250 : B2EMSIc1 = 0. ;
 251 : COEF7    = 1  ;
 252 : 
 253 : 
 254 : * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy)
 255 : Sy1 = 0. ;
 256 : * LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re)
 257 : * A TEMPERATURE AMBIANTE
 258 : Re1 = 0. ;
 259 : 
 260 : * RESISTANCE A LA RmPTURE (Su)
 261 : Su1 = 0. ;
 262 : * RESISTANCE A LA RmPTURE A TEMPERATURE AMBIANTE (Rm)
 263 : Rm1 = 0. ;
 264 : 
 265 : *COEFFICIENTS DEDIES AU CALCUL DES CONTRAINTES ADMISSIBLES
 266 : am1 = 0. ;
 267 : bu1 = 0. ;
 268 : ce1 = 0. ;
 269 : dy1 = 0. ;
 270 : 
 271 : * CONTRAINTES ADMISSIBLES CLASSE 1(Sm)
 272 : SmRCCM1  = 0. ;
 273 : SmRCCMR1 = 0. ;
 274 : SmASME1  = 0. ;
 275 : SmEMSI1  = 0. ;
 276 : 
 277 : * CONTRAINTES ADMISSIBLES CLASSE 2(Sh)
 278 : ShRCCM2  = 0. ;
 279 : ShRCCMR2 = 0. ;
 280 : ShETCM2  = 0. ;
 281 : SmASME2  = 0. ;
 282 : 
 283 : * INITIALISATIONS - CAS PARTICULIERS
 284 : * ##################################
 285 : 
 286 : * CRITERE 3459 = EMSI, CLASSE 1 & 2
 287 : * ---------------------------------
 288 : * COEFF (s) valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1
 289 : s1 = 3 ;
 290 : D3 = 0 ;
 291 : 
 292 : * ETCM, CLASSE 2
 293 : * --------------
 294 : * COEFF (alpha), VALEUR PAR DEFAUT 1
 295 : *1<=alpha2=(10/D2)**0.5<=2 SI ON CONNAIT L'AMORTISSEMENT D2
 296 : alpha2 = 1 ;
 297 : D2 = 0 ;
 298 : 
 299 : * RCC-MR
 300 : * ------
 301 : 
 302 : * CONTRAINTE EQUIVALENTE DUE A LA PRESSION
 303 : * ET AUX MOMENTS DUS AUX FORCES (Pm+Pb)
 304 : * -------------------------------------
 305 : 
 306 : * EVENTUELLEMENT EFFORT NORMAUX DUES A DES CHARGES IMPOSEES
 307 : * QUAND ILS SONT NOTABLES (N1)
 308 : NORM1 = 0 ;
 309 : N1 = 0. ;
 310 : N1b = 0. ;
 311 : 
 312 : * CONTRAINTE EQUIVALENTE DUE A LA PRESSION
 313 : * ET AUX MOMENTS DUS AUX FORCES ET AUX DEPLACEMENTS (Sigm+Sigb)
 314 : * -------------------------------------------------------------
 315 : 
 316 : * COEFFICIENT D'ABBATEMENT VALEUR FIXEE A 0 PAR DEFAUT (g)
 317 : g1 = 0. ;
 318 : * les moments dus aux deplacements ne sont pas traite ici.
 319 : m13 = 0. ;
 320 : mr3 = 0. ;
 321 : 
 322 : *CONTRAINTE
 323 : Setoile1 = 0. ;
 324 : Setoile2 = 0. ;
 325 : 
 326 : *COEFF (alpha) valeur 1 par defaut, SAUF RAISON VALABLE
 327 : alpha1= 1 ;
 328 :  
 329 : 
 330 : ********************************************************************************
 331 : *//////////////////////////////////////////////////////////////////////////////*
 332 : ********************************************************************************
 333 : *TITRE
 334 : *-----
 335 : 'MESS' ' ' ;
 336 : 'MESS' '***************************************************' ;
 337 : 'MESS' '*                                                 *' ;
 338 : 'MESS' '* #### #### #### #### #### ####  #  # #### ####   *' ;
 339 : 'MESS' '* #  # #  # #  # #    #    #   # #  # #  # #      *' ;
 340 : 'MESS' '* #### ###  #  # #    ###  #   # #  # ###  ###    *' ;
 341 : 'MESS' '* #    # #  #  # #    #    #   # #  # # #  #      *' ;
 342 : 'MESS' '* #    #  # #### #### #### ####  #### #  # ####   *' ;
 343 : 'MESS' '*                                                 *' ;
 344 : 'MESS' '* #### #### ####  #### #   # #### #### #   # #### *' ;
 345 : 'MESS' '* #    #  # #   # #    ##  # #  # #  # ## ## #    *' ;
 346 : 'MESS' '* #    #  # #   # ###  # # # #  # ###  # # # ###  *' ;
 347 : 'MESS' '* #    #  # #   # #    #  ## #  # # #  #   # #    *' ;
 348 : 'MESS' '* #### #### ####  #### #   # #### #  # #   # #### *' ;
 349 : 'MESS' '*                                                 *' ;
 350 : 'MESS' '***************************************************' ;
 351 : 'MESS' ' ' ;
 352 : 
 353 : *--------------------------------------*
 354 : * DEFINITION DE LA TABLE DES RESULTATS *
 355 : *--------------------------------------*
 356 : ZTABENT.'RESULTATS' = TABLE ;
 357 : *
 358 : *-----------------------------------*
 359 : * DEFINITION DE LA TABLE DE CALCUL  *
 360 : *-----------------------------------*
 361 : 
 362 : ZTAB2 = TABLE ;
 363 : ZTAB2.'RCN' = TABLE ;
 364 : ZTAB2.'S' = TABLE ;
 365 : ZTAB2.'MOMENT' = TABLE ;
 366 : ZTAB2.'Sanom' = TABLE ;
 367 : ZTAB2.'SAMAX' = TABLE ;
 368 : ZTAB2.'NUMZMAX' = TABLE ;
 369 : ZTAB2.'NOMRMAX' = TABLE ;
 370 : ZTAB2.'MA' = TABLE ;
 371 : ZTAB2.'MB' = TABLE ;
 372 : 
 373 : ZTAB2.'D1c' = TABLE ;
 374 : ZTAB2.'D21c' = TABLE ;
 375 : ZTAB2.'D22c' = TABLE ;
 376 : ZTAB2.'D1d' = TABLE ;
 377 : ZTAB2.'D21d' = TABLE ;
 378 : ZTAB2.'D22d' = TABLE ;
 379 : 
 380 : *************************
 381 : * TESTS SUR LES ENTREES * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 382 : *************************
 383 : ***********
 384 : * MOMENTS * ON TEST LA NATURE DES MOMENTS FOURNIS * * * * * * * * * * * * * * *
 385 : ***********
 386 : 
 387 : 'SI' ( 'EXISTE' ZTABENT 'MTOTAUX') ;
 388 : TOTAUX1 = 1 ;
 389 : 'FINSI' ;
 390 : 
 391 : 'SI' ( 'EXISTE' ZTABENT 'MPOIDS' ) ;
 392 : POIDS1 = 1 ;
 393 : 'FINSI' ;
 394 : 
 395 : 'SI' ( 'EXISTE' ZTABENT 'MPERMANENT' ) ;
 396 : PERM1 = 1 ;
 397 : 'FINSI' ;
 398 : 
 399 : 'SI' ( 'EXISTE' ZTABENT 'MSEISME'  ) ;
 400 : SEISME1 = 1 ;
 401 : 'FINSI' ;
 402 : 
 403 : LOG1 = 'OU' ( PERM1 'EGA' 1 ) ( POIDS1 'EGA' 1 ) ;
 404 : LOG2 = 'OU' ( LOG1 ) ( SEISME1 'EGA' 1 ) ;
 405 : 
 406 : 
 407 : *ON TEST SI L'UTILISATION DE LA PROCEDURE SERA MANUELLE OU AUTOMATIQUE
 408 : *MANUEL (MAN1 = 1) OU AUTOMATIQUE (MAN1 = 0 PAR DEFAUT)
 409 : *------------------------------------------------------
 410 : 'SI' ( 'EXISTE' ZTABENT 'MAN' ) ;
 411 :   MAN1 = 1 ;
 412 : 
 413 : * SI MODE MANUEL
 414 : * on fixe l'itération de la boucle sur les zones à 1
 415 :   DIMZONE2 = 1 ;
 416 : 
 417 : *VERIFICATION DES ENTREES POUR LE CALCUL MANUEL
 418 : *----------------------------------------------
 419 : **********************
 420 : * NATURE DE LA LIGNE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 421 : **********************
 422 :   'SI' ( 'EXISTE' ZTABENT 'COUDE' ) ;
 423 :   COUDE = 1 ;
 424 : 
 425 : *RAYON DE COURBURE 
 426 : *-----------------
 427 :     'SI' ( 'EXISTE' ZTABENT 'RAYON DE COURBURE' ) ;
 428 :       Rcmc1 = ZTABENT.'RAYON DE COURBURE' ;
 429 :     'SINON' ;
 430 :       'MESS' 'ERREUR CODENORM : IL MANQUE LE RAYON DE COURBURE' ; 
 431 :       'MESS' ' ';
 432 :       IERR1 = 1 ; 
 433 :     'FINSI' ;
 434 :     
 435 :   'FINSI' ; 
 436 : 
 437 :   'SI' ( 'EXISTE' ZTABENT 'DROIT' ) ;
 438 :     PARTDTE = 1 ; 
 439 :   'FINSI' ;
 440 : 
 441 :   LOG3 = COUDE + PARTDTE ;
 442 : 
 443 :   'SI' ( LOG3 'EGA' 0 ) ;
 444 :     'MESS' 'ERREUR CODENORM : CALCUL MANUEL' ;
 445 :     'MESS' 'IL FAUT PRECISER : COUDE OU PARTIE DROITE' ;
 446 :     'MESS' ' ';
 447 :     IERR1 = 1 ; 
 448 :   'FINSI' ;
 449 : 
 450 :   'SI' ( LOG3 'EGA' 2 ) ;
 451 :     'MESS' 'ERREUR CODENORM : CALCUL MANUEL' ;
 452 :     'MESS' 'IL FAUT CHOISIR ENTRE PARTIE DROITE ET COUDE' ;
 453 :     'MESS' ' ';
 454 :     IERR1 = 1 ; 
 455 :   'FINSI' ;
 456 :   
 457 : *************
 458 : * GEOMETRIE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 459 : *************
 460 : 
 461 : *RAYON EXTERIEUR
 462 : *---------------
 463 :   'SI' ( 'EXISTE' ZTABENT 'RAYON_EXTERIEUR' ) ;
 464 :     Rext1 = ZTABENT.'RAYON_EXTERIEUR' ;
 465 :   'SINON' ;
 466 :     'MESS' 'ERREUR CODENORM : IL MANQUE LE RAYON EXTERIEUR' ; 
 467 :     'MESS' ' ';
 468 :     IERR1 = 1 ; 
 469 :   'FINSI' ;
 470 : 
 471 : *EPAISSEUR DE CALCUL (e)
 472 : *-----------------------
 473 :   'SI' ( 'EXISTE' ZTABENT 'EPAISSEUR' ) ;
 474 :     e1 = ZTABENT.'EPAISSEUR' ;
 475 :   'SINON' ;
 476 :     'MESS' 'ERREUR CODENORM : IL MANQUE L EPAISSEUR' ; 
 477 :     'MESS' ' ';
 478 :     IERR1 = 1 ; 
 479 :   'FINSI' ;
 480 : 
 481 : *PRESSION DE CALCUL (P)
 482 : *----------------------
 483 :   'SI' ( 'EXISTE' ZTABENT 'PRESSION' ) ;
 484 :     Pres1 = ZTABENT.'PRESSION' ;
 485 :   'SINON' ;
 486 :     PRES1 = 0 ;
 487 :     'MESS' 'LA PRESSION PAR DEFAUT EST 0' ; 
 488 :     'MESS' ' ';
 489 :   'FINSI' ;
 490 : 
 491 : ***********
 492 : * MOMENTS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 493 : ***********
 494 : * MOMENTS TOTAUX
 495 : * --------------
 496 :   'SI' ( TOTAUX1 'EGA' 1) ;
 497 : *-1-  
 498 :     'SI' ( 'NON' LOG2 ) ;
 499 :     
 500 : *     MOMENTS DE TORSION
 501 : *     ------------------
 502 :       'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'TORSION' ) ;
 503 :          MXt1 = ZTABENT.'MTOTAUX'.'TORSION' ;  
 504 :       'FINSI' ;
 505 : 
 506 : *     MOMENTS DE FLEXION DANS LE PLAN
 507 : *     -------------------------------
 508 :       'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_DANS_PLAN' ) ;
 509 :          MYt1 = ZTABENT.'MTOTAUX'.'FLEXION_DANS_PLAN' ;
 510 :       'FINSI' ;
 511 : 
 512 : *     MOMENTS DE FLEXION HORS PLAN
 513 : *     ----------------------------
 514 :       'SI' ( 'EXISTE' ZTABENT 'MTOTAUX'.'FLEXION_HORS_PLAN') ;
 515 :          MZt1 = ZTABENT.'MTOTAUX'.'FLEXION_HORS_PLAN' ;
 516 :       'FINSI' ;
 517 : 
 518 :     'FINSI' ;
 519 : 
 520 :   'SINON' ;
 521 :      IERR2 = 1 ;
 522 :   'FINSI' ;
 523 : *FIN-1-
 524 : 
 525 : 
 526 : * MOMENTS DUS AUX EFFORTS PERMANENTS
 527 : * ----------------------------------
 528 :   'SI' ( PERM1 'EGA' 1 ) ;
 529 : *-2-
 530 : 
 531 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 532 : 
 533 : *     MOMENTS DE TORSION
 534 : *     ------------------
 535 :       'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'TORSION') ;
 536 :          MXpe1 = ZTABENT.'MPERMANENT'.'TORSION' ;
 537 :       'FINSI' ;
 538 : 
 539 : *     MOMENTS DE FLEXION DANS LE PLAN
 540 : *     -------------------------------
 541 :       'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_DANS_PLAN' ) ;
 542 :          MYpe1 = ZTABENT.'MPERMANENT'.'FLEXION_DANS_PLAN' ;
 543 :       'FINSI' ;
 544 : 
 545 : *     MOMENTS DE FLEXION HORS PLAN
 546 : *     ----------------------------
 547 :       'SI' ( 'EXISTE' ZTABENT 'MPERMANENT'.'FLEXION_HORS_PLAN') ;
 548 :          MZpe1 = ZTABENT.'MPERMANENT'.'FLEXION_HORS_PLAN' ;
 549 :       'FINSI' ;
 550 : 
 551 :     'FINSI' ;
 552 : 
 553 :   'SINON' ;
 554 :       IERR3 = 1 ;
 555 :   'FINSI' ;
 556 : *FIN-2-
 557 : 
 558 : * MOMENTS DUS AUX EFFORTS SISMIQUES 
 559 : * ---------------------------------
 560 :   'SI' ( SEISME1 'EGA' 1  ) ;
 561 : *-3-
 562 : 
 563 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 564 : 
 565 : *     MOMENTS DE TORSION
 566 : *     ------------------
 567 :       'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'TORSION' ) ;
 568 :          MXs1 = ZTABENT.'MSEISME'.'TORSION' ;
 569 :       'FINSI' ;
 570 : 
 571 : *     MOMENTS DE FLEXION DANS LE PLAN
 572 : *     -------------------------------
 573 :       'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_DANS_PLAN' ) ;
 574 :          MYs1 = ZTABENT.'MSEISME'.'FLEXION_DANS_PLAN' ;
 575 :       'FINSI' ;
 576 : 
 577 : *     MOMENTS DE FLEXION HORS PLAN
 578 : *     ----------------------------
 579 :       'SI' ( 'EXISTE' ZTABENT 'MSEISME'.'FLEXION_HORS_PLAN' );
 580 :          MZs1 = ZTABENT.'MSEISME'.'FLEXION_HORS_PLAN' ;
 581 :       'FINSI' ;
 582 :       
 583 :     'FINSI' ;
 584 :    
 585 :   'SINON' ;
 586 :      IERR4 = 1 ;
 587 :   'FINSI' ;
 588 : *FIN-3-
 589 : 
 590 : 
 591 : * MOMENTS DUS AUX POIDS
 592 : * ---------------------
 593 :   'SI' ( POIDS1 'EGA' 1 ) ;
 594 : *-4-
 595 : 
 596 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 597 : 
 598 : *     MOMENTS DE TORSION
 599 : *     ------------------
 600 :       'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'TORSION') ;
 601 :          MXpo1 = ZTABENT.'MPOIDS'.'TORSION' ;
 602 :       'FINSI' ;
 603 : 
 604 : *     MOMENTS DE FLEXION DANS LE PLAN
 605 : *     -------------------------------
 606 :       'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_DANS_PLAN' ) ;
 607 :          MYpo1 = ZTABENT.'MPOIDS'.'FLEXION_DANS_PLAN' ;
 608 :       'FINSI' ;
 609 : 
 610 : *     MOMENTS DE FLEXION HORS PLAN
 611 : *     ----------------------------
 612 :       'SI' ( 'EXISTE' ZTABENT 'MPOIDS'.'FLEXION_HORS_PLAN' ) ;
 613 :          MZpo1 = ZTABENT.'MPOIDS'.'FLEXION_HORS_PLAN' ;
 614 :       'FINSI' ;
 615 :     
 616 :     'FINSI' ;
 617 : 
 618 :   'SINON' ;
 619 :      IERR5 = 1 ;
 620 :   'FINSI' ;
 621 : *FIN-4-
 622 : 
 623 :   'SI' ( IERR2 'EGA' 0 ) ;
 624 : *SI MOMENTS TOTAUX SELECTIONNES
 625 : *-5-
 626 : 
 627 :     'SI' ( IERR3 'EGA' 0 ) ;
 628 : *SI MOMENTS PERMANENTS SELECTIONNES
 629 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
 630 : 'MESS' 'ET LES MOMENTS DUS AUX EFFORTS PERMANENTS EN MEME TEMPS' ;
 631 : 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 632 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 633 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 634 : 'MESS' 'SISMIQUES APPLIQUES A LA LIGNE' ;
 635 : 'MESS' ' ';
 636 :     IERR1 = 1 ;
 637 :     'FINSI' ;
 638 : 
 639 : *SI MOMENTS SISMIQUES SELECTIONNES
 640 :     'SI' ( IERR4 'EGA' 0 ) ;
 641 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
 642 : 'MESS' 'ET LES MOMENTS DUS AUX EFFORTS SISMIQUES' ;
 643 : 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 644 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 645 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 646 : 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
 647 : 'MESS' ' ';
 648 :     IERR1 = 1 ;
 649 :     'FINSI' ;
 650 :     
 651 :     'SI' ( IERR5 'EGA' 0 ) ;
 652 : *SI MOMENTS DUS AU POIDS SELECTIONNES
 653 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES MOMENTS TOTAUX' ;
 654 : 'MESS' 'ET LES MOMENTS DUS AU POIDS EN MEME TEMPS' ;
 655 : 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 656 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 657 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 658 : 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
 659 : 'MESS' ' ';
 660 :     IERR1 = 1 ;
 661 :     'FINSI' ;
 662 : 
 663 :   'FINSI' ;
 664 : *FIN-5-
 665 : 
 666 : *
 667 : 'SINON' ;
 668 : *SI MODE AUTOMATIQUE
 669 : *
 670 : 
 671 : *DECLARATION DES SOUS TABLES DE RESULTATS POUR LE MODE AUTOMATIQUE
 672 : *-----------------------------------------------------------------
 673 : ZTABENT.'RESULTATS'.'MODL' = TABLE ;
 674 : ZTABENT.'RESULTATS'.'MAIL' = TABLE ;
 675 : ZTABENT.'RESULTATS'.'NATURE' = TABLE ;
 676 : ZTABENT.'RESULTATS'.'RAYON' = TABLE ;
 677 : ZTABENT.'RESULTATS'.'RCOURB' = TABLE ;
 678 : ZTABENT.'RESULTATS'.'EPAISSEUR' = TABLE ;
 679 : ZTABENT.'RESULTATS'.'PRESSION' = TABLE ;
 680 : ZTABENT.'RESULTATS'.'I' = TABLE ;
 681 : ZTABENT.'RESULTATS'.'Z' = TABLE ;
 682 : ZTABENT.'RESULTATS'.'COEF_COUDE' = TABLE ;
 683 :   
 684 : *VERIFICATION DES ENTREES POUR LE CALCUL AUTOMATIQUE
 685 : *---------------------------------------------------
 686 : *MODELE
 687 : *------
 688 :   'SI' ( 'EXISTE' ZTABENT 'MODL' ) ;
 689 :      MODL1 = ZTABENT.'MODL' ;  
 690 : 
 691 : *    initialisation
 692 :      MXt1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 693 :      MYt1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 694 :      MZt1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 695 :      MXpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 696 :      MYpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 697 :      MZpo1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 698 :      MXpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 699 :      MYpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 700 :      MZpe1 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 701 :      MXs1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 702 :      MYs1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 703 :      MZs1  = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 704 :      m13   = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 705 :      mr3   = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES' ;
 706 :   'SINON' ;
 707 :      'MESS' 'ERREUR CODENORM : IL MANQUE LE MODELE DE LA LIGNE' ; 
 708 :      'MESS' ' ';
 709 :      IERR1 = 1 ; 
 710 :   'FINSI' ;
 711 : 
 712 : * RECUPERATION DANS LA TABLE D'ENTREE DES MODELES
 713 : * ET DES MAILLAGES DES DIFFERENTS ZONES DE LA LIGNE 
 714 : * -------------------------------------------------
 715 :   ZONMOMA1 = 'EXTR' MODL1 'ZONE' ;
 716 :   DIMZONE1 = 'DIME' ZONMOMA1 ;
 717 : 
 718 : * CALCUL DU NOMBRE DE ZONES
 719 : * -------------------------
 720 :   DIMZONE2 = DIMZONE1 / 2 ;
 721 : 
 722 :   ZTABENT.'RESULTATS'.'NBZONE' = DIMZONE2 ;
 723 :   'MESS' ' ';
 724 :   'MESS' 'LA LIGNE COMPORTE' DIMZONE2 'ZONE(S)';  
 725 : 
 726 : * CARACTERISTIQUES
 727 : * ----------------
 728 :   'SI' ( 'EXISTE' ZTABENT 'CARACTERISTIQUES' ) ;
 729 :      CARACT1 = ZTABENT.'CARACTERISTIQUES' ;
 730 :   'SINON' ;
 731 :      'MESS' 'ERREUR CODENORM :' ;
 732 :      'MESS' 'IL MANQUE LES CARACTERISTIQUES DE LA LIGNE';
 733 :      'MESS' ' '; 
 734 :      IERR1 = 1 ; 
 735 :   'FINSI' ;
 736 : 
 737 : *******************************************
 738 : * CONTRAINTES ISSUES DE L'OPERATEUR SIGMA *
 739 : * ET RECUPERATION DES MOMENTS             * * * * * * * * * * * * * * * * * * * 
 740 : *******************************************
 741 : 
 742 : * MOMENTS TOTAUX
 743 : * --------------
 744 :   'SI' ( TOTAUX1 'EGA' 1) ;
 745 : *-1-
 746 :     'SI' ( 'NON' LOG2 ) ;
 747 : 
 748 :        SIGM1 = ZTABENT.'MTOTAUX' ;
 749 : 
 750 : *      MOMENTS DE TORSION
 751 : *      ------------------
 752 :        MXt1 = 'EXCO' MOMX SIGM1 MOM ;
 753 : 
 754 : *      MOMENTS DE FLEXION DANS LE PLAN
 755 : *      -------------------------------
 756 :        MYt1 = 'EXCO' MOMY SIGM1 MOM ;
 757 : 
 758 : *      MOMENTS DE FLEXION HORS PLAN
 759 : *      ----------------------------
 760 :        MZt1 = 'EXCO' MOMZ SIGM1 MOM ;
 761 : 
 762 :     'FINSI' ;
 763 : 
 764 :   'SINON' ;
 765 :      IERR2 = 1 ;
 766 :   'FINSI' ;
 767 : *FIN-1-
 768 : 
 769 : 
 770 : * MOMENTS DUS AUX EFFORTS PERMANENTS
 771 : * ----------------------------------
 772 :   'SI' ( PERM1 'EGA' 1 ) ;
 773 : *-2-
 774 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 775 : 
 776 :         SIGM1 = ZTABENT.'MPERMANENT' ;  
 777 :       
 778 : *       MOMENTS DE TORSION
 779 : *       ------------------
 780 :         MXpe1 = 'EXCO' MOMX SIGM1 MOM ;
 781 : 
 782 : *       MOMENTS DE FLEXION DANS LE PLAN
 783 : *       -------------------------------
 784 :         MYpe1 = 'EXCO' MOMY SIGM1 MOM ;
 785 : 
 786 : *       MOMENTS DE FLEXION HORS PLAN
 787 : *       ----------------------------
 788 :         MZpe1 = 'EXCO' MOMZ SIGM1 MOM ;
 789 : 
 790 :      'FINSI' ;
 791 : 
 792 :   'SINON' ;
 793 :      IERR3 = 1 ;
 794 :   'FINSI' ;
 795 : *FIN-2-
 796 : 
 797 : * MOMENTS DUS AUX EFFORTS SISMIQUES 
 798 : * ---------------------------------
 799 :   'SI' ( SEISME1 'EGA' 1  ) ;
 800 : *-3-
 801 : 
 802 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 803 :        SIGM1 = ZTABENT.'MSEISME' ;  
 804 :       
 805 : *      MOMENTS DE TORSION
 806 : *      ------------------
 807 :        MXs1 = 'EXCO' MOMX SIGM1 MOM ;
 808 :       
 809 : *      MOMENTS DE FLEXION DANS LE PLAN
 810 : *      -------------------------------
 811 :        MYs1 = 'EXCO' MOMY SIGM1 MOM ;
 812 : 
 813 : *      MOMENTS DE FLEXION HORS PLAN
 814 : *      ----------------------------
 815 :        MZs1 = 'EXCO' MOMZ SIGM1 MOM ;
 816 :       
 817 :     'FINSI' ;
 818 :    
 819 :   'SINON' ;
 820 :      IERR4 = 1 ;
 821 :   'FINSI' ;
 822 : *FIN-3-
 823 : 
 824 : 
 825 : * MOMENTS DUS AUX POIDS
 826 : * ---------------------
 827 :   'SI' ( POIDS1 'EGA' 1 ) ;
 828 : *-4-
 829 : 
 830 :     'SI' ( TOTAUX1 'EGA' 0 ) ;
 831 :        SIGM1 = ZTABENT.'MPOIDS' ;  
 832 :       
 833 : *      MOMENTS DE TORSION
 834 : *      ------------------
 835 :        MXpo1 = 'EXCO' MOMX SIGM1 MOM ;
 836 :       
 837 : *      MOMENTS DE FLEXION DANS LE PLAN
 838 : *      -------------------------------
 839 :        MYpo1 = 'EXCO' MOMY SIGM1 MOM ;
 840 : 
 841 : *      MOMENTS DE FLEXION HORS PLAN
 842 : *      ----------------------------
 843 :        MZpo1 = 'EXCO' MOMZ SIGM1 MOM ;
 844 :     
 845 :     'FINSI' ;
 846 : 
 847 :   'SINON' ;
 848 :      IERR5 = 1 ;
 849 :   'FINSI' ;
 850 : *FIN-4-
 851 : 
 852 :   'SI' ( IERR2 'EGA' 0 ) ;
 853 : *SI MOMENTS TOTAUX SELECTIONNES
 854 : *-5-
 855 : 
 856 :     'SI' ( IERR3 'EGA' 0 ) ;
 857 : *SI MOMENTS PERMANENTS SELECTIONNES
 858 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
 859 : 'MESS' 'TOTALES ET LES MOMENTS DUS AUX EFFORTS PERMANENTS EN MEME' ;
 860 : 'MESS' 'TEMPS. IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 861 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 862 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 863 : 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
 864 : 'MESS' ' ';
 865 :     IERR1 = 1 ;
 866 :     'FINSI' ;
 867 : 
 868 : *SI MOMENTS SISMIQUES SELECTIONNES
 869 :     'SI' ( IERR4 'EGA' 0 ) ;
 870 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
 871 : 'MESS' 'TOTALES ET LES MOMENTS DUS AUX EFFORTS SISMIQUES' ;
 872 : 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 873 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 874 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 875 : 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
 876 : 'MESS' ' ';
 877 :    IERR1 = 1 ;
 878 :   'FINSI' ;
 879 :   
 880 :       'SI' ( IERR5 'EGA' 0 ) ;
 881 : *SI MOMENTS DUS AU POIDS SELECTIONNES
 882 : 'MESS' 'ERREUR CODENORM : ON NE PEUT PAS DONNER LES CONTRAINTES' ;
 883 : 'MESS' 'TOTALES ET LES MOMENTS DUS AU POIDS EN MEME TEMPS' ;
 884 : 'MESS' 'IL FAUT DONNER SOIT LES MOMENTS TOTAUX,' ;
 885 : 'MESS' 'SOIT LES MOMENTS DUS AU POIDS ET/OU LES MOMENTS DUS' ;
 886 : 'MESS' 'AUX EFFORTS PERMANENTS ET/OU LES MOMENTS DUS AUX EFFORTS' ;
 887 : 'MESS' 'SISMIQUES APPLIQUESA LA LIGNE' ;
 888 : 'MESS' ' ';
 889 :     IERR1 = 1 ;
 890 :     'FINSI' ;
 891 :  
 892 :   'FINSI' ;
 893 : *FIN-5-
 894 : 
 895 : 'FINSI' ;
 896 : *FINSI OPTION CALCUL MANUEL ou AUTOMATIQUE
 897 : ********************************************************************************
 898 : 
 899 : 'SI' ( IERR2 'EGA' 1 ) ;
 900 : *SI MOMENTS TOTAUX NON SELECTIONNES
 901 : *-5-
 902 : 
 903 : *SI MOMENTS DUS AU POIDS, PERMANENTS, SISMIQUES NON SELECTIONNES
 904 :  'SI' ( IERR3 'EGA' 1 ) ;
 905 :   'SI' ( IERR4 'EGA' 1 ) ;
 906 :    'SI' ( IERR5 'EGA' 1 ) ;
 907 :       'MESS' 'ERREUR CODENORM :' ; 
 908 :       'MESS' 'AUCUN MOMENT APPLIQUE A LA LIGNE N A ETE DEFINIT' ;
 909 :       'MESS' ' ';
 910 :       IERR1 = 1 ;
 911 :    'FINSI' ;
 912 :   'FINSI' ;
 913 :  'FINSI' ;
 914 : 
 915 : 'FINSI' ;
 916 : *FIN-5-
 917 : 
 918 : *CALCUL DE MOMENTS PRELIMINAIRES 
 919 : 
 920 :    MX3 = MXpo1 + MXpe1 ;
 921 :    MY3 = MYpo1 + MYpe1 ;
 922 :    MZ3 = MZpo1 + MZpe1 ;
 923 : 
 924 : 'SI' ( SEISME1 'EGA' 1 ) ;
 925 :    MX3 = 'ABS' MX3 ;
 926 :    MY3 = 'ABS' MY3 ;
 927 :    MZ3 = 'ABS' MZ3 ;
 928 : 'FINSI' ;
 929 : 
 930 : *-----------------------------------------*
 931 : * ENTREES COMMUNE AUX DEUX MODES DE CALCUL*
 932 : *-----------------------------------------*
 933 : ******************************
 934 : * CARACTERISTIQUES PHYSIQUES * * * * * * * * * * * * * * * * * * * * * * * * * *
 935 : ******************************
 936 : 
 937 : *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Sy)
 938 : *-----------------------------------------------
 939 : 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE' ) ;
 940 :     Sy1 = ZTABENT.'LIMITE_ELASTIQUE' ;
 941 : 'SINON' ;
 942 :     'MESS' 'ERREUR CODENORM : IL MANQUE LA LIMITE ELASTIQUE (Sy)';
 943 :     'MESS' ' '; 
 944 :     IERR1 = 1 ; 
 945 : 'FINSI' ;
 946 : 
 947 : *LIMITE D'ELASTICITE CONVENTIONNELLE A 0.2% (Re)
 948 : *A TEMPERATURE AMBIANTE
 949 : *----------------------
 950 : 'SI' ( 'EXISTE' ZTABENT 'LIMITE_ELASTIQUE_TAMB' ) ;
 951 :     Re1 = ZTABENT.'LIMITE_ELASTIQUE_TAMB' ;
 952 : 'SINON' ;
 953 :     'MESS' 'ERREUR CODENORM : IL MANQUE LA LIMITE ELASTIQUE A' ;
 954 :     'MESS' '                  TEMPERATURE AMBIANTE (Re)' ;
 955 :     'MESS' ' ';
 956 :     IERR1 = 1 ; 
 957 : 'FINSI' ;
 958 : 
 959 : *RESISTANCE A LA RUPTURE (Su)
 960 : *----------------------------
 961 : 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE' ) ;
 962 :     Su1 = ZTABENT.'RESISTANCE_RUPTURE' ;
 963 : 'SINON' ;
 964 :   'MESS' 'ERREUR CODENORM : IL MANQUE LA RESISTANCE A LA RUPTURE (Su)';
 965 :     'MESS' ' ';
 966 :     IERR1 = 1 ; 
 967 : 'FINSI' ;
 968 : 
 969 : *RESISTANCE A LA RUPTURE A TEMPERATURE AMBIANTE (Rm)
 970 : *---------------------------------------------------
 971 : 'SI' ( 'EXISTE' ZTABENT 'RESISTANCE_RUPTURE_TAMB' ) ;
 972 :     Rm1 = ZTABENT.'RESISTANCE_RUPTURE_TAMB' ;
 973 : 'SINON' ;
 974 :     'MESS' 'ERREUR CODENORM : IL MANQUE LA RESISTANCE A LA RUPTURE A' ;
 975 :     'MESS' '                  TEMPERATURE AMBIANTE (Rm)' ; 
 976 :     'MESS' ' ';
 977 :     IERR1 = 1 ; 
 978 : 'FINSI' ;
 979 : 
 980 : *ACIER FERRITIQUE OU AUSTENITIQUE ?
 981 : *--------------------------------
 982 : 'SI' ( 'EXISTE' ZTABENT 'FERRITIQUE' ) ;
 983 :   Fer1 = 1 ;
 984 : 'FINSI' ;
 985 : 
 986 : 'SI' ( 'EXISTE' ZTABENT 'AUSTENITIQUE' ) ;
 987 :   Auste1 = 1 ;
 988 : 'FINSI' ;
 989 : 
 990 : LOG4 = Fer1 + Auste1 ;
 991 : 
 992 : 'SI' ( LOG4 'EGA' 0 ) ;
 993 :  'MESS' 'ERREUR CODENORM :' ;
 994 :  'MESS' 'IL MANQUE LA NATURE DE L ACIER DE LA LIGNE:' ; 
 995 :  'MESS' 'FERRITIQUE OU AUSTENITIQUE' ; 
 996 :  'MESS' ' ';
 997 :  IERR1 = 1 ; 
 998 : 'FINSI' ;
 999 : 
1000 : 'SI' ( LOG4 'EGA' 2 ) ;
1001 :  'MESS' 'ERREUR CODENORM : LA NATURE DE L ACIER DE LA LIGNE' ; 
1002 :  'MESS' 'EST DOUBLE :FERRITIQUE OU AUSTENITIQUE' ; 
1003 :  'MESS' 'CHOISIR L UNE OU L AUTRE' ;
1004 :  'MESS' ' ';
1005 :  IERR1 = 1 ; 
1006 : 'FINSI' ;
1007 : 
1008 : **********************************************
1009 : * REGLEMENTS:RCC-M, RCC-MR, ASME, ETCM, EMSI ***********************************
1010 : **********************************************
1011 : *****************************************
1012 : * LES COEFFICIENTS B1,B2, D1, D21 & D22 *
1013 : * SONT AJUSTABLES PAR L'UTILISATEUR     *              
1014 : *****************************************
1015 : *-----*
1016 : *RCC-M*
1017 : *-----*
1018 : 'SI' ( 'EXISTE' ZTABENT 'RCCM' ) ;
1019 : *-SI-RCCM-
1020 :   RCOD1= 1 ;
1021 :   ZTABENT.'RESULTATS'.'RCCM' = table;
1022 : * CLASSES 1 ET/OU 2 
1023 : * -----------------
1024 :   'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1' ) ;
1025 : *-*-
1026 :     RCLASSE1 = 1 ;
1027 : *   LES COEFFICIENTS DE CONTRAINTE
1028 : *   ------------------------------
1029 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1d' ) ;
1030 :        B1RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B1d' ;
1031 :     'FINSI' ;
1032 : 
1033 :     'SI' ( 'EXISTE' ZTABENT  'RCCM'.'CLASSE1'.'B2d' ) ;
1034 :        B2RCCMd1 = ZTABENT.'RCCM'.'CLASSE1'.'B2d' ;
1035 :     'FINSI' ;
1036 :   
1037 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'B1c' ) ;
1038 :        B1RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B1c' ;
1039 :     'FINSI' ;
1040 : 
1041 :     'SI' ( 'EXISTE' ZTABENT  'RCCM'.'CLASSE1'.'B2c' ) ;
1042 :        B2RCCMc1 = ZTABENT.'RCCM'.'CLASSE1'.'B2c' ;
1043 :        COEF1 = 0 ;
1044 :     'FINSI' ;
1045 :     
1046 : *  ON DETERMINE Sm
1047 : *  ---------------
1048 :     'SI' ( Fer1 'EGA' 1 ) ;
1049 :        am1 = 1. / 3. ;
1050 :        bu1 = 1. / 3. ;
1051 :        ce1 = 2. / 3. ;
1052 :        dy1 = 2. / 3. ;
1053 :     'FINSI' ;
1054 : 
1055 :     'SI' ( Auste1 'EGA' 1 ) ;
1056 :       am1 = 1. / 3. ;
1057 :       bu1 = 1. / 3. ;
1058 :       ce1 = 2. / 3. ;
1059 :       dy1 = 0.9 ;
1060 :     'FINSI' ;
1061 : 
1062 :     LISTSM1 = PROG ;
1063 :     LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
1064 :     LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1)); 
1065 :     SmRCCM1 = 'MINI' LISTSM1;
1066 :     ZTABENT.'RESULTATS'.'RCCM'.'Sm' = SmRCCM1;
1067 : 
1068 : *   CALCUL DES MOMENTS
1069 : *   ------------------
1070 :     'SI' ( TOTAUX1 'EGA' 1 ) ;
1071 :        MQUAD1= ((MXt1)**2) + ((MYt1)**2) + ((MZt1)**2) ;
1072 :     'SINON' ;
1073 :        MX4 = MX3 + ( 'ABS' MXs1 ) ;
1074 :        MY4 = MY3 + ( 'ABS' MYs1 ) ;
1075 :        MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
1076 :        MQUAD1 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
1077 :     'FINSI' ;  
1078 :      MQUAD1 = (MQUAD1)**(0.5) ;
1079 : 
1080 : *   NIVEAUX C ET/OU D 
1081 : *   ------------------
1082 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'C' ) ;
1083 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1084 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C' = TABLE ;
1085 :     
1086 :        RCRIT1 = 1;
1087 :        REG2 = REG2 + 1 ;
1088 :        ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_C' ;
1089 :        ZTAB2.'S'.REG2 = 1.9 * SmRCCM1 ;
1090 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1091 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1092 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1093 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_C' ;
1094 :        
1095 :        ZTAB2.'D1d'.REG2  = B1RCCMd1 ;
1096 :        ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
1097 :        ZTAB2.'D22d'.REG2 = 0. ;
1098 :        ZTAB2.'D1c'.REG2  = B1RCCMc1 ;
1099 :        ZTAB2.'D21c'.REG2 = B2RCCMc1 ;
1100 :        ZTAB2.'D22c'.REG2 = 0. ;
1101 :        
1102 :        ZTAB2.MA.REG2 = MQUAD1 ;       
1103 :        'SI' ( MAN1 'EGA' 0 ) ;
1104 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1105 : *       DECLARATION D'UNE SOUS TABLE DE RESULTATS
1106 :         ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_C'.'Sa' = TABLE ;
1107 :        'SINON' ;
1108 :          ZTAB2.MB.REG2 = 0 ;
1109 :        'FINSI' ;
1110 :        
1111 :     'FINSI' ;
1112 : 
1113 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE1'.'D' ) ;
1114 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1115 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D' = TABLE ;    
1116 :        RCRIT1 = 1;
1117 :        
1118 : *      EQUATION POUR LES PARTIES DROITES ET LES COUDES       
1119 :        REG2 = REG2 + 1 ;
1120 :        ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ;
1121 :        ZTAB2.'S'.REG2 = 3 * SmRCCM1 ;
1122 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1123 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1124 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1125 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ;   
1126 :        ZTAB2.'D1d'.REG2  = B1RCCMd1 ;
1127 :        ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
1128 :        ZTAB2.'D22d'.REG2 = 0. ;
1129 :        ZTAB2.'D1c'.REG2  = B1RCCMc1 ;
1130 :        ZTAB2.'D21c'.REG2 = B2RCCMc1 ;
1131 :        ZTAB2.'D22c'.REG2 = 0. ;
1132 :              
1133 :        ZTAB2.MA.REG2 = MQUAD1 ;
1134 :        'SI' ( MAN1 'EGA' 0 ) ;
1135 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1136 : *       DECLARATION D'UNE SOUS TABLE DE RESULTATS
1137 :         ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sa' = TABLE ;       
1138 :        'SINON' ;
1139 :          ZTAB2.MB.REG2 = 0 ;
1140 :        'FINSI' ;
1141 :        
1142 : *      EQUATION POUR LES PARTIES DROITES SEULEMENT      
1143 :        REG2 = REG2 + 1 ;
1144 :        ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_1_D' ;
1145 :        ZTAB2.'S'.REG2 = 2.5 * SmRCCM1 ;
1146 :        ZTAB2.'Sanom'.REG2 = 'Sapdroite' ;
1147 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1148 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1149 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_1_D' ;   
1150 :        ZTAB2.'D1d'.REG2  = 0. ;
1151 :        ZTAB2.'D21d'.REG2 = B2RCCMd1 ;
1152 :        ZTAB2.'D22d'.REG2 = 0. ;
1153 :        ZTAB2.'D1c'.REG2  = 0. ;
1154 :        ZTAB2.'D21c'.REG2 = 0. ;
1155 :        ZTAB2.'D22c'.REG2 = 0. ;
1156 :              
1157 :        ZTAB2.MA.REG2 = MQUAD1 ;
1158 :        'SI' ( MAN1 'EGA' 0 ) ;
1159 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1160 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1161 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_1_D'.'Sapdroite' = TABLE ;       
1162 :        'SINON' ;
1163 :          ZTAB2.MB.REG2 = 0 ;
1164 :        'FINSI' ; 
1165 :              
1166 :     'FINSI' ;
1167 : 
1168 :     'SI' ( RCRIT1 'EGA' 0 ) ;
1169 :       'MESS' 'ERREUR CODENORM : RCC-M CLASSE 1' ;
1170 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
1171 :       'MESS' ' ';
1172 :       IERR1 = 1 ;
1173 :     'FINSI' ;
1174 :   
1175 :   'FINSI' ;
1176 : *-fin classe 1
1177 : 
1178 :   RCRIT1 = 0 ; 
1179 : 
1180 :   'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2' ) ;
1181 :     RCLASSE1 = 1 ;
1182 : 
1183 : *   LES COEFFICIENTS DE CONTRAINTE
1184 : *   ------------------------------
1185 : *   B2RCCMd2 & B2RCCMc2  représentent ici le coefficient 0.75i 
1186 : 
1187 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2d' ) ;
1188 :        B2RCCMd2 = ZTABENT.'RCCM'.'CLASSE2'.'B2d' ;
1189 :     'FINSI' ;   
1190 :     
1191 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'B2c' ) ;
1192 :        B2RCCMc2 = ZTABENT.'RCCM'.'CLASSE2'.'B2c' ;
1193 :        COEF2 = 0 ;
1194 :     'FINSI' ;   
1195 : 
1196 :     'SI' ( TOTAUX1 'EGA' 1) ;
1197 :       'MESS' 'ERREUR CODENORM : LES OPTIONS: MOMENT TOTAUX ET' ;
1198 :       'MESS' 'ETUDE REGLEMENTAIRE RCC-M CLASSE 2 SONT INCOMPATIBLES' ;
1199 :       'MESS' ' ';
1200 :       IERR1 = 1 ;
1201 :     'FINSI' ;
1202 : 
1203 : *   ON DETERMINE Sh
1204 : *   ---------------
1205 :     'SI' ( Fer1 'EGA' 1 ) ;
1206 :        am1 = 1. / 4. ;
1207 :        bu1 = 1. / 4. ;
1208 :        ce1 = 2. / 3. ;
1209 :        dy1 = 2. / 3. ;
1210 :     'FINSI' ;
1211 : 
1212 :     'SI' ( Auste1 'EGA' 1 ) ;
1213 :        am1 = 1. / 4. ;
1214 :        bu1 = 1. / 4. ;
1215 :        ce1 = 2. / 3. ;
1216 :        dy1 = 0.9 ;
1217 :     'FINSI' ;
1218 : 
1219 :     LISTSH2 = PROG ;
1220 :     LISTSH2 = LISTSH2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
1221 :     LISTSH2 = LISTSH2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1)); 
1222 :     ShRCCM2 = 'MINI' LISTSH2;
1223 :     ZTABENT.'RESULTATS'.'RCCM'.'Sh' = ShRCCM2;
1224 : 
1225 : 
1226 : *   CALCUL DES MOMENTS
1227 : *   ------------------
1228 :        MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
1229 :        MQUADp1 = (MQUADp1)**(0.5) ;
1230 :        MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
1231 :        MQUADs1 = (MQUADs1)**(0.5) ;
1232 :        MQUAD2 = MQUADp1 + MQUADs1 ;
1233 : 
1234 : *   NIVEAUX C ET/OU D 
1235 : *   ------------------
1236 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'C' ) ;
1237 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1238 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C' = TABLE ;
1239 :        
1240 :        RCRIT1 = 1;
1241 :        REG2 = REG2 + 1 ;   
1242 :        ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_C' ;
1243 :        ZTAB2.'S'.REG2 = 1.8 * ShRCCM2 ;
1244 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1245 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1246 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1247 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ;
1248 :        ZTAB2.'D1d'.REG2  = B1RCCMd2 ;
1249 :        ZTAB2.'D21d'.REG2 = B2RCCMd2 ;
1250 :        ZTAB2.'D22d'.REG2 = 0. ;
1251 :        ZTAB2.'D1c'.REG2  = B1RCCMc2 ;
1252 :        ZTAB2.'D21c'.REG2 = B2RCCMc2 ;       
1253 :        ZTAB2.'D22c'.REG2 = 0. ;
1254 :        
1255 :        ZTAB2.MA.REG2 = MQUAD2 ;
1256 :        'SI' ( MAN1 'EGA' 0 ) ;
1257 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1258 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1259 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_C'.'Sa' = TABLE ;
1260 :        'SINON' ;
1261 :          ZTAB2.MB.REG2 = 0 ;
1262 :        'FINSI' ;           
1263 :     'FINSI' ;
1264 : 
1265 :     'SI' ( 'EXISTE' ZTABENT 'RCCM'.'CLASSE2'.'D' ) ;
1266 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1267 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D' = TABLE ;
1268 :        
1269 :        RCRIT1 = 1;
1270 :        REG2 = REG2 + 1 ;
1271 :        ZTAB2.'RCN'.REG2 = 'RCCM_CLASSE_2_D' ;
1272 :        ZTAB2.'S'.REG2 = 2.4 * ShRCCM2 ;
1273 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1274 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1275 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1276 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCM_CLASSE_2' ;
1277 :        ZTAB2.'D1d'.REG2  = B1RCCMd2 ;
1278 :        ZTAB2.'D21d'.REG2 = B2RCCMd2 ;
1279 :        ZTAB2.'D22d'.REG2 = 0. ;
1280 :        ZTAB2.'D1c'.REG2  = B1RCCMc2 ;
1281 :        ZTAB2.'D21c'.REG2 = B2RCCMc2 ;       
1282 :        ZTAB2.'D22c'.REG2 = 0. ;
1283 :        
1284 :        ZTAB2.MA.REG2 = MQUAD2 ; 
1285 :        'SI' ( MAN1 'EGA' 0 ) ;
1286 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1287 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1288 :        ZTABENT.'RESULTATS'.'RCCM_CLASSE_2_D'.'Sa' = TABLE ;
1289 :        'SINON' ;
1290 :          ZTAB2.MB.REG2 = 0 ;
1291 :        'FINSI' ;     
1292 :     'FINSI' ;
1293 : 
1294 :     'SI' ( RCRIT1 'EGA' 0 ) ;
1295 :       'MESS' 'ERREUR CODENORM : RCC-M CLASSE 2' ;
1296 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
1297 :       'MESS' ' ';
1298 :       IERR1 = 1 ;
1299 :     'FINSI' ;
1300 : 
1301 :   'FINSI' ;
1302 : *-fin classe 2
1303 : 
1304 :   'SI' ( RCLASSE1 'EGA' 0 ) ;
1305 :      'MESS' 'ERREUR CODENORM : RCC-M' ;
1306 :      'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ; 
1307 :      'MESS' ' ' ;
1308 :      IERR1 = 1 ;
1309 :   'FINSI' ;
1310 : 
1311 : 'FINSI' ;
1312 : *-FIN-REGLEMENT-RCC-M
1313 : 
1314 : RCLASSE1 = 0 ;
1315 : RCRIT1   = 0 ; 
1316 : 
1317 : *RCC-MR
1318 : *------
1319 : 'SI' ( 'EXISTE' ZTABENT 'RCCMR' ) ;
1320 : *-SI-RCCM-R
1321 :   RCOD1= 1;
1322 :   ZTABENT.'RESULTATS'.'RCCMR' = table;
1323 :   
1324 : * Pour une future utilisation: si g pris non nul
1325 : * et si on considere les moments dus aux déplacements
1326 : * g est un scalaire, m1 et mr sont des scalaires en mode
1327 : * manuel et des MCHAML en mode automatique.
1328 : * ------------------------------------------------------
1329 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'g' ) ;
1330 :      g1= ZTABENT.'RCCMR'.'g' ;
1331 :   'FINSI' ;
1332 :   
1333 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'m1' ) ;
1334 :      m13= ZTABENT.'RCCMR'.'m1' ;
1335 :   'FINSI' ;
1336 :   
1337 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'mr' ) ;
1338 :      mr3= ZTABENT.'RCCMR'.'mr' ;
1339 :   'FINSI' ;
1340 : 
1341 : * SI LES EFFORTS NORMAUX SONT NOTABLES
1342 : * ------------------------------------
1343 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'N1' ) ;
1344 :      NORM1= 1;
1345 :      N1= ZTABENT.'RCCMR'.'N1' ;
1346 :   'FINSI' ;
1347 : 
1348 : *  ANGLE DES COUDES  
1349 : *  VALEUR PAR DEFAUT = PI/2. ATTENTION CET ANGLE DONNE EN DEGRES PAR 
1350 : *  L'UTILISATEUR DE LA PROCEDURE S'EXPRIME EN RADIAN DANS LES CALCULS
1351 : *  IL EST MODIFIABLE EN MANUEL POUR UN CALCUL PONCTUEL, OU EN AUTOMATIQUE
1352 : *  SUR UNE SEULE ZONE QUI EST UN COUDE, OU ENCORE SUR UNE LIGNE
1353 : *  OU TOUS LES COUDES SONT DE MEME ANGLE.
1354 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ANGLE' ) ;
1355 :      anglec2 = ZTABENT.'RCCMR'.'ANGLE' ;
1356 :      anglec1 = (PI / 180.) * anglec2 ;
1357 :   'FINSI' ;
1358 : 
1359 :   'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'ALPHA' ) ;
1360 : *    VALEUR PAR DEFAUT : 1, POUR LE CALCUL DE S*
1361 :      alpha1 = ZTABENT.'RCCMR'.'ALPHA' ;
1362 :   'FINSI' ;
1363 : 
1364 : *   LES COEFFICIENTS DE CONTRAINTE
1365 : *   ------------------------------
1366 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1d' ) ;
1367 :        B1MRd1 = ZTABENT.'RCCMR'.'B1d' ;
1368 :     'FINSI' ;
1369 : 
1370 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2d' ) ;
1371 :        B2MRd1 = ZTABENT.'RCCMR'.'B2d' ;
1372 :     'FINSI' ;
1373 : 
1374 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1d' ) ;
1375 :        D1MRd1 = ZTABENT.'RCCMR'.'D1d' ;
1376 :     'FINSI' ;
1377 : 
1378 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21d' ) ;
1379 :        D21MRd1 = ZTABENT.'RCCMR'.'D21d' ;
1380 :         COEF31 = 0 ;      
1381 :     'FINSI' ;
1382 :     
1383 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22d' ) ;
1384 :        D22MRd1 = ZTABENT.'RCCMR'.'D22d' ;
1385 :     'FINSI' ;
1386 :     
1387 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B1c' ) ;
1388 :        B1MRc1 = ZTABENT.'RCCMR'.'B1c' ;
1389 :         COEF32 = 0 ;        
1390 :     'FINSI' ;
1391 : 
1392 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'B2c' ) ;
1393 :        B2MRc1 = ZTABENT.'RCCMR'.'B2c' ;
1394 :         COEF33 = 0 ;           
1395 :     'FINSI' ;
1396 : 
1397 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D1c' ) ;
1398 :        D1MRc1 = ZTABENT.'RCCMR'.'D1c' ;
1399 :     'FINSI' ;
1400 : 
1401 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D21c' ) ;
1402 :        D21MRc1 = ZTABENT.'RCCMR'.'D21c' ;
1403 :         COEF34 = 0 ;       
1404 :     'FINSI' ;
1405 :     
1406 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D22c' ) ;
1407 :        D22MRc1 = ZTABENT.'RCCMR'.'D22c' ;
1408 :     'FINSI' ;
1409 :     
1410 : *   ON DETERMINE Sm
1411 : *   ---------------
1412 :     'SI' ( Fer1 'EGA' 1 ) ;
1413 :        am1 = 1. / 3. ;
1414 :        bu1 = 1. / 3. ;
1415 :        ce1 = 2. / 3. ;
1416 :        dy1 = 2. / 3. ;
1417 :     'FINSI' ;
1418 : 
1419 :     'SI' ( Auste1 'EGA' 1 ) ;
1420 :        am1 = 1. / 3. ;
1421 :        bu1 = 1. / 2.7 ;
1422 :        ce1 = 2. / 3. ;
1423 :        dy1 = 0.9 ;
1424 :     'FINSI' ;
1425 : 
1426 :     LISTSM1 = PROG ;
1427 :     LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
1428 :     LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
1429 :     SmRCCMR1 = 'MINI' LISTSM1;
1430 :     ZTABENT.'RESULTATS'.'RCCMR'.'Sm' = SmRCCMR1;
1431 :     
1432 :     
1433 : *   CALCUL DE S*=min(0.8Sy, 0.4Rm)
1434 : *   ------------------------------
1435 :     TEST1 = PROG ;
1436 :     TEST1 = TEST1 'ET' ( PROG (0.8 * Sy1) ) ;
1437 :     TEST1 = TEST1 'ET' ( PROG (0.4 * Rm1) ) ;
1438 :     Setoile1 = 'MINI' TEST1 ;
1439 :     Setoile1 = alpha1 * Setoile1 ;
1440 : 
1441 : *   CALCUL DE min(3Sm, 0.9Rm)
1442 : *   ------------------------- 
1443 :     TEST2 = PROG ;
1444 :     TEST2 = TEST2 'ET' ( PROG (3. * SmRCCMR1) ) ;
1445 :     TEST2 = TEST2 'ET' ( PROG (0.9 * Rm1) ) ;
1446 :     Setoile2 = 'MINI' TEST2 ;
1447 : 
1448 : *   CALCUL DES MOMENTS
1449 : *   ------------------
1450 : 
1451 :     'SI' ( TOTAUX1 'EGA' 1 ) ;
1452 :         M1 = MXt1;
1453 :         M2 = ( MYt1**2 ) + ( MZt1**2 );
1454 :         M2 = M2**(0.5) ;
1455 :     'SINON' ;
1456 :         M1 = MX3 + ('ABS' MXs1 ) ;
1457 :         M2 = ( ( MY3 + ('ABS' MYs1 ) )**2 ) ;
1458 :         M2 = M2 + ( ( MZ3 + ('ABS' MZs1 ) )**2 );
1459 :         M2 = M2**(0.5) ;
1460 :     'FINSI' ;
1461 : 
1462 :        M1 = M1 + ( m13 * g1 ) ;
1463 :        M2 = M2 + ( mr3 * g1 ) ;
1464 : 
1465 : *   NIVEAUX C ET/OU D 
1466 : *   ------------------
1467 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'C' ) ;
1468 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1469 :        ZTABENT.'RESULTATS'.'RCCMR_C' = TABLE ;
1470 :        'SI' ( MAN1 'EGA' 0 ) ;   
1471 :          ZTABENT.'RESULTATS'.'RCCMR_C'.'PmPb' = TABLE ;
1472 :          ZTABENT.'RESULTATS'.'RCCMR_C'.'SigmSigb' = TABLE ;
1473 :        'FINSI' ;
1474 :            
1475 :        RCRIT1 = 1;
1476 : *      Pour l'équation de Pm+Pb
1477 :        REG2 = REG2 + 1 ;
1478 :        ZTAB2.'RCN'.REG2 = 'RCCMR_C' ;
1479 :        ZTAB2.'S'.REG2 = 1.9 * SmRCCMR1 ;
1480 :        ZTAB2.'Sanom'.REG2 = 'PmPb' ;
1481 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1482 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1483 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;    
1484 :        ZTAB2.'D1d'.REG2  = B1MRd1 ;
1485 :        ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 )  ;
1486 :        ZTAB2.'D22d'.REG2 = B2MRd1 ;
1487 :        ZTAB2.'D1c'.REG2  = B1MRc1 ;
1488 :        ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 )  ;       
1489 :        ZTAB2.'D22c'.REG2 = B2MRc1 ;
1490 :                     
1491 :        ZTAB2.MA.REG2 = M1 ;
1492 :        ZTAB2.MB.REG2 = M2 ;
1493 :        
1494 : *      Pour l'équation de Sigm+Sigb
1495 :        REG2 = REG2 + 1 ;
1496 :        ZTAB2.'RCN'.REG2 = 'RCCMR_C' ;
1497 :        ZTAB2.'S'.REG2 = 1.25 * Setoile1 ;
1498 :        ZTAB2.'Sanom'.REG2 = 'SigmSigb' ;
1499 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1500 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1501 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;
1502 :        ZTAB2.'D1d'.REG2  = D1MRd1 ;
1503 :        ZTAB2.'D21d'.REG2  = D21MRd1 ;       
1504 :        ZTAB2.'D22d'.REG2 = D22MRd1 ;
1505 :        ZTAB2.'D1c'.REG2  = D1MRc1 ;
1506 :        ZTAB2.'D21c'.REG2  = D21MRc1 ;       
1507 :        ZTAB2.'D22c'.REG2 = D22MRc1 ;
1508 :                      
1509 :        ZTAB2.MA.REG2 = M1 ;
1510 :        ZTAB2.MB.REG2 = M2 ;
1511 :        
1512 :     'FINSI' ;
1513 : 
1514 :     'SI' ( 'EXISTE' ZTABENT 'RCCMR'.'D' ) ;
1515 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1516 :        ZTABENT.'RESULTATS'.'RCCMR_D' = TABLE ;
1517 :        'SI' ( MAN1 'EGA' 0 ) ;   
1518 :          ZTABENT.'RESULTATS'.'RCCMR_D'.'PmPb' = TABLE ;
1519 :          ZTABENT.'RESULTATS'.'RCCMR_D'.'SigmSigb' = TABLE ;
1520 :       'FINSI' ; 
1521 : 
1522 :        RCRIT1 = 1;
1523 : *      Pour l'équation de Pm+Pb
1524 :        REG2 = REG2 + 1 ;
1525 :        ZTAB2.'RCN'.REG2 = 'RCCMR_D' ;
1526 :        ZTAB2.'S'.REG2 = Setoile2 ;
1527 :        ZTAB2.'Sanom'.REG2 = 'PmPb' ;
1528 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1529 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1530 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ;    
1531 :        ZTAB2.'D1d'.REG2  = B1MRd1 ;
1532 :        ZTAB2.'D21d'.REG2 = ( (1.21)**0.5 )  ;
1533 :        ZTAB2.'D22d'.REG2 = B2MRd1 ;
1534 :        ZTAB2.'D1c'.REG2  = B1MRc1 ;
1535 :        ZTAB2.'D21c'.REG2 = ( (1.21)**0.5 )  ;       
1536 :        ZTAB2.'D22c'.REG2 = B2MRc1 ;
1537 :                     
1538 :        ZTAB2.MA.REG2 = M1 ;
1539 :        ZTAB2.MB.REG2 = M2 ;
1540 :        
1541 : *      Pour l'équation de Sigm+Sigb
1542 :        REG2 = REG2 + 1 ;
1543 :        ZTAB2.'RCN'.REG2 = 'RCCMR_D' ;
1544 :        ZTAB2.'S'.REG2 = 1.9 * Setoile1 ;
1545 :        ZTAB2.'Sanom'.REG2 = 'SigmSigb' ;
1546 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1547 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1548 :        ZTAB2.'NOMRMAX'.REG2 = 'RCCMR' ; 
1549 :        ZTAB2.'D1d'.REG2  = D1MRd1 ;
1550 :        ZTAB2.'D21d'.REG2  = D21MRd1 ;       
1551 :        ZTAB2.'D22d'.REG2 = D22MRd1 ;
1552 :        ZTAB2.'D1c'.REG2  = D1MRc1 ;
1553 :        ZTAB2.'D21c'.REG2  = D21MRc1 ;       
1554 :        ZTAB2.'D22c'.REG2 = D22MRc1 ;
1555 :                      
1556 :        ZTAB2.MA.REG2 = M1 ;
1557 :        ZTAB2.MB.REG2 = M2 ;       
1558 :     'FINSI' ;
1559 : 
1560 :     'SI' ( RCRIT1 'EGA' 0 ) ;
1561 :       'MESS' 'ERREUR CODENORM : RCC-MR' ;
1562 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
1563 :       'MESS' ' ';
1564 :       IERR1 = 1 ;
1565 :     'FINSI' ;
1566 : 
1567 : 'FINSI' ;
1568 : *-FIN-REGLEMENT-RCC-MR
1569 : 
1570 : RCLASSE1 = 0 ;
1571 : RCRIT1   = 0 ; 
1572 : 
1573 : *ASME
1574 : *-----
1575 : 'SI' ( 'EXISTE' ZTABENT 'ASME' ) ;
1576 : *-SI-ASME-
1577 :  RCOD1= 1 ;
1578 :  ZTABENT.'RESULTATS'.'ASME' = table;
1579 :  
1580 :  'SI' ( TOTAUX1 'EGA' 1) ;
1581 :     'MESS' 'ERREUR CODENORM :' ; 
1582 :     'MESS' 'LES OPTIONS: MOMENT TOTAUX ET' ;
1583 :     'MESS' 'ETUDE REGLEMENTAIRE ASME SONT INCOMPATIBLES' ;
1584 :     'MESS' ' ';
1585 :     IERR1 = 1 ;
1586 :  'FINSI' ;
1587 : 
1588 : *CLASSE 1 ET/OU 2 
1589 : *-----------------
1590 :   'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1' ) ;
1591 :     RCLASSE1 = 1 ;
1592 : 
1593 : *   LES COEFFICIENTS DE CONTRAINTE
1594 : *   ------------------------------    
1595 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1d' ) ;
1596 :        B1ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B1d' ;
1597 :     'FINSI' ;
1598 : 
1599 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2d' ) ;
1600 :        B2ASMEd1 = ZTABENT.'ASME'.'CLASSE1'.'B2d' ;
1601 :     'FINSI' ;
1602 : 
1603 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B1c' ) ;
1604 :        B1ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B1c' ;
1605 :        COEF41 = 0 ;
1606 :     'FINSI' ;
1607 : 
1608 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'B2c' ) ;
1609 :        B2ASMEc1 = ZTABENT.'ASME'.'CLASSE1'.'B2c' ;
1610 :        COEF42 = 0 ;
1611 :     'FINSI' ;
1612 :     
1613 : *  ON DETERMINE Sm
1614 : *  ---------------
1615 :     'SI' ( Fer1 'EGA' 1 ) ;
1616 :        am1 = 1. / 3. ;
1617 :        bu1 = 1. / 3. ;
1618 :        ce1 = 2. / 3. ;
1619 :        dy1 = 2. / 3. ;
1620 :     'FINSI' ;
1621 : 
1622 :     'SI' ( Auste1 'EGA' 1 ) ;
1623 :        am1 = 1. / 3. ;
1624 :        bu1 = 1. / 3. ;
1625 :        ce1 = 2. / 3. ;
1626 :        dy1 = 0.9 ;
1627 :     'FINSI' ;
1628 : 
1629 :     LISTSM1 = PROG ;
1630 :     LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
1631 :     LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
1632 :     SmASME1 = 'MINI' LISTSM1;
1633 :     ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME1;
1634 : 
1635 : *   CALCUL DES MOMENTS
1636 : *   ------------------
1637 :     MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ;
1638 :     MQUAD3 = (MQUAD3)**(0.5) ;
1639 : 
1640 :     MX4 = MX3 + ( 'ABS' MXs1 ) ;
1641 :     MY4 = MY3 + ( 'ABS' MYs1 ) ;
1642 :     MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
1643 :     MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
1644 :     MQUAD4 = (MQUAD4)**(0.5) ;
1645 : 
1646 : *   NIVEAUX C ET/OU D 
1647 : *   ------------------
1648 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'C' ) ;
1649 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1650 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C' = TABLE ;
1651 : 
1652 :        RCRIT1 = 1;
1653 : *      équation sur les moments dus au poids
1654 :        REG2 = REG2 + 1 ;       
1655 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ;
1656 :        ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME1 ;
1657 :        ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
1658 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1659 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1660 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
1661 :        ZTAB2.'D1d'.REG2  = 0. ;
1662 :        ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
1663 :        ZTAB2.'D22d'.REG2 = 0. ;
1664 :        ZTAB2.'D1c'.REG2  = 0. ;
1665 :        ZTAB2.'D21c'.REG2 = B2ASMEc1 ;       
1666 :        ZTAB2.'D22c'.REG2 = 0. ;    
1667 :           
1668 :        ZTAB2.MA.REG2 = MQUAD3 ;
1669 :        'SI' ( MAN1 'EGA' 0 ) ;
1670 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1671 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1672 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sapoids' = TABLE ;
1673 :        'SINON' ;
1674 :          ZTAB2.MB.REG2 = 0 ;
1675 :        'FINSI' ;
1676 : 
1677 : *      équation sur les tous les moments
1678 :        REG2 = REG2 + 1 ;       
1679 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_C' ;       
1680 :        ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME1 ;
1681 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1682 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1683 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1684 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
1685 :        ZTAB2.'D1d'.REG2  = B1ASMEd1 ;
1686 :        ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
1687 :        ZTAB2.'D22d'.REG2 = 0. ;
1688 :        ZTAB2.'D1c'.REG2  = B1ASMEc1 ;
1689 :        ZTAB2.'D21c'.REG2 = B2ASMEc1 ;       
1690 :        ZTAB2.'D22c'.REG2 = 0. ;  
1691 :             
1692 :        ZTAB2.MA.REG2 = MQUAD4 ;
1693 :        'SI' ( MAN1 'EGA' 0 ) ;
1694 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1695 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS       
1696 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_C'.'Sa' = TABLE ;       
1697 :        'SINON' ;
1698 :          ZTAB2.MB.REG2 = 0 ;
1699 :        'FINSI' ;   
1700 :            
1701 :     'FINSI' ;
1702 : 
1703 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE1'.'D' ) ;
1704 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1705 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D' = TABLE ;
1706 : 
1707 :        RCRIT1 = 1;
1708 : *      équation sur les moments dus au poids
1709 :        REG2 = REG2 + 1 ;
1710 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ;
1711 :        ZTAB2.'S'.REG2 = 0.5 * SmASME1 ;
1712 :        ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
1713 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1714 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1715 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
1716 :        ZTAB2.'D1d'.REG2  = 0. ;
1717 :        ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
1718 :        ZTAB2.'D22d'.REG2 = 0. ;
1719 :        ZTAB2.'D1c'.REG2  = 0. ;
1720 :        ZTAB2.'D21c'.REG2 = B2ASMEc1 ;       
1721 :        ZTAB2.'D22c'.REG2 = 0. ;    
1722 :           
1723 :        ZTAB2.MA.REG2 = MQUAD3 ;
1724 :        'SI' ( MAN1 'EGA' 0 ) ;
1725 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1726 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1727 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sapoids' = TABLE ;       
1728 :        'SINON' ;
1729 :          ZTAB2.MB.REG2 = 0 ;
1730 :        'FINSI' ;
1731 : 
1732 : *      équation sur les tous les moments
1733 :        REG2 = REG2 + 1 ;       
1734 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_1_D' ;       
1735 :        ZTAB2.'S'.REG2 = 4.5 * SmASME1 ;
1736 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1737 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1738 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1739 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_1' ;
1740 :        ZTAB2.'D1d'.REG2  = B1ASMEd1 ;
1741 :        ZTAB2.'D21d'.REG2 = B2ASMEd1 ;
1742 :        ZTAB2.'D22d'.REG2 = 0. ;
1743 :        ZTAB2.'D1c'.REG2  = B1ASMEc1 ;
1744 :        ZTAB2.'D21c'.REG2 = B2ASMEc1 ;       
1745 :        ZTAB2.'D22c'.REG2 = 0. ;  
1746 :             
1747 :        ZTAB2.MA.REG2 = MQUAD4 ;
1748 :        'SI' ( MAN1 'EGA' 0 ) ;
1749 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1750 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS       
1751 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_1_D'.'Sa' = TABLE ;    
1752 :        'SINON' ;
1753 :          ZTAB2.MB.REG2 = 0 ;
1754 :        'FINSI' ;
1755 :        
1756 :     'FINSI' ;
1757 : 
1758 :     'SI' ( RCRIT1 'EGA' 0 ) ;
1759 :       'MESS' 'ERREUR CODENORM : ASME CLASSE 1' ;
1760 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
1761 :       'MESS' ' ';
1762 :       IERR1 = 1 ;
1763 :     'FINSI' ;
1764 : 
1765 :   'FINSI' ;
1766 : *-fin classe 1
1767 : 
1768 :  RCRIT1  = 0 ; 
1769 : 
1770 :    'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2' ) ;
1771 :     RCLASSE1 = 1 ;
1772 :     
1773 : *   LES COEFFICIENTS DE CONTRAINTE
1774 : *   ------------------------------    
1775 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1d' ) ;
1776 :        B1ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B1d' ;
1777 :     'FINSI' ;
1778 : 
1779 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2d' ) ;
1780 :        B2ASMEd2 = ZTABENT.'ASME'.'CLASSE2'.'B2d' ;
1781 :     'FINSI' ;
1782 : 
1783 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B1c' ) ;
1784 :        B1ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B1c' ;
1785 :        COEF51 = 0 ;
1786 :     'FINSI' ;
1787 : 
1788 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'B2c' ) ;
1789 :        B2ASMEc2 = ZTABENT.'ASME'.'CLASSE2'.'B2c' ;
1790 :        COEF52 = 0 ;
1791 :     'FINSI' ;
1792 :     
1793 : *  ON DETERMINE Sm
1794 : *  ---------------
1795 :     'SI' ( Fer1 'EGA' 1 ) ;
1796 :        am1 = 1. / 3. ;
1797 :        bu1 = 1. / 3. ;
1798 :        ce1 = 2. / 3. ;
1799 :        dy1 = 2. / 3. ;
1800 :     'FINSI' ;
1801 : 
1802 :     'SI' ( Auste1 'EGA' 1 ) ;
1803 :        am1 = 1. / 3. ;
1804 :        bu1 = 1. / 3. ;
1805 :        ce1 = 2. / 3. ;
1806 :        dy1 = 0.9 ;
1807 :     'FINSI' ;
1808 : 
1809 :     LISTSM2 = PROG ;
1810 :     LISTSM2 = LISTSM2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
1811 :     LISTSM2 = LISTSM2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
1812 :     SmASME2 = 'MINI' LISTSM2;
1813 :     ZTABENT.'RESULTATS'.'ASME'.'Sm' = SmASME2;
1814 : 
1815 : *   CALCUL DES MOMENTS
1816 : *   ------------------
1817 :     MQUAD3 = ((MXpo1)**2) + ((MYpo1)**2) + ((MZpo1)**2) ;
1818 :     MQUAD3 = (MQUAD3)**(0.5) ;
1819 : 
1820 :     MX4 = MX3 + ( 'ABS' MXs1 ) ;
1821 :     MY4 = MY3 + ( 'ABS' MYs1 ) ;
1822 :     MZ4 = MZ3 + ( 'ABS' MZs1 ) ;
1823 :     MQUAD4 = ((MX4)**2) + ((MY4)**2) + ((MZ4)**2) ;
1824 :     MQUAD4 = (MQUAD4)**(0.5) ;
1825 : 
1826 : *   NIVEAUX C ET/OU D 
1827 : *   ------------------
1828 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'C' ) ;
1829 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1830 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C' = TABLE ;
1831 : 
1832 :        RCRIT1 = 1;
1833 : *      équation sur les moments dus au poids
1834 :        REG2 = REG2 + 1 ;       
1835 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ;
1836 :        ZTAB2.'S'.REG2 = 0.7 * 0.5 * SmASME2 ;
1837 :        ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
1838 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1839 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1840 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
1841 :        ZTAB2.'D1d'.REG2  = 0. ;
1842 :        ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
1843 :        ZTAB2.'D22d'.REG2 = 0. ;
1844 :        ZTAB2.'D1c'.REG2  = 0. ;
1845 :        ZTAB2.'D21c'.REG2 = B2ASMEc2 ;
1846 :        ZTAB2.'D22c'.REG2 = 0. ;    
1847 :           
1848 :        ZTAB2.MA.REG2 = MQUAD3 ;
1849 :        'SI' ( MAN1 'EGA' 0 ) ;
1850 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1851 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1852 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sapoids' = TABLE ;
1853 :        'SINON' ;
1854 :          ZTAB2.MB.REG2 = 0 ;
1855 :        'FINSI' ;
1856 : 
1857 : *      équation sur les tous les moments
1858 :        REG2 = REG2 + 1 ;       
1859 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_C' ;       
1860 :        ZTAB2.'S'.REG2 = 0.7 * 4.5 * SmASME2 ;
1861 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1862 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1863 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1864 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
1865 :        ZTAB2.'D1d'.REG2  = B1ASMEd2 ;
1866 :        ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
1867 :        ZTAB2.'D22d'.REG2 = 0. ;
1868 :        ZTAB2.'D1c'.REG2  = B1ASMEc2 ;
1869 :        ZTAB2.'D21c'.REG2 = B2ASMEc2 ;       
1870 :        ZTAB2.'D22c'.REG2 = 0. ;
1871 :        
1872 :        ZTAB2.MA.REG2 = MQUAD4 ;
1873 :        'SI' ( MAN1 'EGA' 0 ) ;
1874 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1875 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS       
1876 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_C'.'Sa' = TABLE ;     
1877 :        'SINON' ;
1878 :          ZTAB2.MB.REG2 = 0 ;
1879 :        'FINSI' ;   
1880 :            
1881 :     'FINSI' ;
1882 : 
1883 :     'SI' ( 'EXISTE' ZTABENT 'ASME'.'CLASSE2'.'D' ) ;
1884 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1885 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D' = TABLE ;
1886 : 
1887 :        RCRIT1 = 1;
1888 : *      équation sur les moments dus au poids
1889 :        REG2 = REG2 + 1 ;       
1890 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ;
1891 :        ZTAB2.'S'.REG2 = 0.5 * SmASME2 ;
1892 :        ZTAB2.'Sanom'.REG2 = 'Sapoids' ;
1893 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1894 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1895 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;       
1896 :        ZTAB2.'D1d'.REG2  = 0. ;
1897 :        ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
1898 :        ZTAB2.'D22d'.REG2 = 0. ;
1899 :        ZTAB2.'D1c'.REG2  = 0. ;
1900 :        ZTAB2.'D21c'.REG2 = B2ASMEc2 ;       
1901 :        ZTAB2.'D22c'.REG2 = 0. ;    
1902 :       
1903 :        ZTAB2.MA.REG2 = MQUAD3 ;
1904 :        'SI' ( MAN1 'EGA' 0 ) ;
1905 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1906 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
1907 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sapoids' = TABLE ;
1908 :        'SINON' ;
1909 :          ZTAB2.MB.REG2 = 0 ;
1910 :        'FINSI' ;
1911 : 
1912 : *      équation sur les tous les moments
1913 :        REG2 = REG2 + 1 ;       
1914 :        ZTAB2.'RCN'.REG2 = 'ASME_CLASSE_2_D' ;       
1915 :        ZTAB2.'S'.REG2 = 4.5 * SmASME2 ;
1916 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
1917 :        ZTAB2.'SAMAX'.REG2 = 0 ;
1918 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
1919 :        ZTAB2.'NOMRMAX'.REG2 = 'ASME_CLASSE_2' ;
1920 :        ZTAB2.'D1d'.REG2  = B1ASMEd2 ;
1921 :        ZTAB2.'D21d'.REG2 = B2ASMEd2 ;
1922 :        ZTAB2.'D22d'.REG2 = 0. ;
1923 :        ZTAB2.'D1c'.REG2  = B1ASMEc2 ;
1924 :        ZTAB2.'D21c'.REG2 = B2ASMEc2 ;       
1925 :        ZTAB2.'D22c'.REG2 = 0. ;       
1926 :        ZTAB2.MA.REG2 = MQUAD4 ;
1927 :        
1928 :        'SI' ( MAN1 'EGA' 0 ) ;
1929 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
1930 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS       
1931 :        ZTABENT.'RESULTATS'.'ASME_CLASSE_2_D'.'Sa' = TABLE ; 
1932 :        'SINON' ;
1933 :          ZTAB2.MB.REG2 = 0 ;
1934 :        'FINSI' ;
1935 :        
1936 :     'FINSI' ;
1937 : 
1938 :     'SI' ( RCRIT1 'EGA' 0 ) ;
1939 :       'MESS' 'ERREUR CODENORM : ASME CLASSE 2' ;
1940 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE' ; 
1941 :       'MESS' ' ';
1942 :       IERR1 = 1 ;
1943 :     'FINSI' ;
1944 : 
1945 :   'FINSI' ;
1946 : *-fin classe 2
1947 : 
1948 :    'SI' ( RCLASSE1 'EGA' 0 ) ;
1949 :     'MESS' 'ERREUR CODENORM : ASME' ;
1950 :     'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ; 
1951 :     'MESS' ' ' ;
1952 :     IERR1 = 1 ;
1953 :    'FINSI' ;
1954 : 
1955 : 'FINSI' ;
1956 : *-FINSI-REGLEMENT-ASME-
1957 : 
1958 : RCLASSE1  = 0 ;
1959 : RCRIT1  = 0 ; 
1960 : LOG1 = 0;
1961 : LOG2 = 0;
1962 : 
1963 : *----*
1964 : *ETCM*
1965 : *----*
1966 : 'SI' ( 'EXISTE' ZTABENT 'ETCM' ) ;
1967 : *-SI-ETCM-
1968 :   RCOD1 = 1 ;
1969 :   ZTABENT.'RESULTATS'.'ETCM' = table ;
1970 :   
1971 :   'SI' ( TOTAUX1 'EGA' 1) ;
1972 :      'MESS' 'ERREUR CODENORM :' ; 
1973 :      'MESS' 'LES OPTIONS: MOMENT TOTAUX ET' ;
1974 :      'MESS' 'ETUDE REGLEMENTAIRE ETCM SONT INCOMPATIBLES' ;
1975 :      'MESS' ' ';
1976 :      IERR1 = 1 ;
1977 :   'FINSI' ;
1978 : 
1979 :   'SI' ( 'EXISTE' ZTABENT 'ETCM'.'ALPHA' ) ;
1980 : *    VALEUR PAR DEFAUT = 1 
1981 :      alpha2 = ZTABENT.'ETCM'.'ALPHA' ;
1982 :      LOG1 = 1;
1983 :   'FINSI' ;
1984 : 
1985 :   'SI' ( 'EXISTE' ZTABENT 'ETCM'.'AMORTIS' ) ;
1986 :      D2 = ZTABENT.'ETCM'.'AMORTIS' ;
1987 :      LOG2 = 1;
1988 :      alpha2=( 10 / D2 )**0.5 ;
1989 : 
1990 :      'SI'(alpha2 '<' 1 ) ;
1991 :         alpha2 = 1 ;
1992 :      'FINSI' ;
1993 : 
1994 :      'SI'(alpha2 '>' 2 ) ;
1995 :         alpha2 = 2 ;
1996 :      'FINSI' ;
1997 :     ZTABENT.'RESULTATS'.'ETCM'.'ALPHA' = alpha2 ;
1998 :   'FINSI' ;
1999 : 
2000 :   LOG3 = LOG1 + LOG2 ;
2001 :   'SI' (LOG3 'EGA' 2 ) ;
2002 :      'MESS' 'ERREUR CODENORM : ETCM' ;
2003 :      'MESS' 'ON NE PEUT PAS FOURNIR L AMORTISSEMENT ET' ;
2004 :      'MESS' 'LE COEFFICIENT DE REDUCTION alpha EM MEME TEMPS' ;
2005 :      'MESS' ' ';
2006 :      IERR1 = 1 ;
2007 :   'FINSI' ;
2008 : 
2009 : *CLASSE 2 
2010 : *--------
2011 :  'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2' ) ;
2012 :      RCLASSE1 = 1;
2013 : 
2014 : *    LES COEFFICIENTS DE CONTRAINTE
2015 : *   ------------------------------
2016 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1d' ) ;
2017 :        B1ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B1d' ;
2018 :     'FINSI' ;
2019 : 
2020 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2d' ) ;
2021 :        B2ETCMd2 = ZTABENT.'ETCM'.'CLASSE2'.'B2d' ;
2022 :     'FINSI' ;
2023 :     
2024 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B1c' ) ;
2025 :        B1ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B1c' ;
2026 :     'FINSI' ;
2027 : 
2028 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'B2c' ) ;
2029 :        B2ETCMc2 = ZTABENT.'ETCM'.'CLASSE2'.'B2c' ;
2030 :        COEF6 = 0 ;
2031 :     'FINSI' ;  
2032 :          
2033 : *   ON DETERMINE Sh
2034 : *   ---------------
2035 :     'SI' ( Fer1 'EGA' 1 ) ;
2036 :        am1 = 1. / 4. ;
2037 :        bu1 = 1. / 4. ;
2038 :        ce1 = 2. / 3. ;
2039 :        dy1 = 2. / 3. ;
2040 :     'FINSI' ;
2041 : 
2042 :     'SI' ( Auste1 'EGA' 1 ) ;
2043 :        am1 = 1. / 4. ;
2044 :        bu1 = 1. / 4. ;
2045 :        ce1 = 2. / 3. ;
2046 :        dy1 = 0.9 ;
2047 :     'FINSI' ;
2048 : 
2049 :     LISTSH2 = PROG ;
2050 :     LISTSH2 = LISTSH2 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
2051 :     LISTSH2 = LISTSH2 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1)); 
2052 :     ShETCM2 = 'MINI' LISTSH2;
2053 :     ZTABENT.'RESULTATS'.'ETCM'.'Sh' = ShETCM2;
2054 : 
2055 : *   CALCUL DES MOMENTS
2056 : *   ------------------
2057 :     MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
2058 :     MQUADp1 = (MQUADp1)**(0.5) ;
2059 :     MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
2060 :     MQUADs1 = (MQUADs1)**(0.5) ;
2061 :     MQUAD51 = MQUADp1 + MQUADs1 ;
2062 :     MQUAD52 = MQUADp1 + ( MQUADs1 / alpha2 ) ;
2063 : 
2064 : *   CALCUL DES CONTRAINTES LIMITES DU REGLEMENT ETCM
2065 :     LOG1 = PROG ;
2066 :     LOG1 = LOG1 'ET' ( PROG ( 2.25 * ShETCM2 ) ) ;
2067 :     LOG1 = LOG1 'ET' ( PROG ( 1.8 * Sy1 ) ) ;
2068 :     LOG2 = 'MINI' LOG1 ;
2069 : 
2070 :     LOG3 = PROG ;
2071 :     LOG3 = LOG3 'ET' ( PROG ( 3. * ShETCM2 ) ) ;
2072 :     LOG3 = LOG3 'ET' ( PROG ( 2. * Sy1 ) ) ;
2073 :     LOG4 = 'MINI' LOG3 ;
2074 : 
2075 : *   NIVEAUX C ET/OU D 
2076 : *   ------------------
2077 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'C' ) ;
2078 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2079 :        ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C' = TABLE ;
2080 : 
2081 :        RCRIT1 = 1;
2082 :        REG2 = REG2 + 1 ;       
2083 :        ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_C' ;
2084 :        ZTAB2.'S'.REG2 = LOG2 ;
2085 :        ZTAB2.'Sanom'.REG2 = 'Sac' ;
2086 :        ZTAB2.'SAMAX'.REG2 = 0 ;
2087 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
2088 :        ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_C' ;
2089 :        ZTAB2.'D1d'.REG2  = B1ETCMd2 ;
2090 :        ZTAB2.'D21d'.REG2 = B2ETCMd2 ;
2091 :        ZTAB2.'D22d'.REG2 = 0. ;
2092 :        ZTAB2.'D1c'.REG2  = B1ETCMc2 ;
2093 :        ZTAB2.'D21c'.REG2 = B2ETCMc2 ;       
2094 :        ZTAB2.'D22c'.REG2 = 0. ;
2095 :        
2096 :        ZTAB2.MA.REG2 = MQUAD51 ;       
2097 :        'SI' ( MAN1 'EGA' 0 ) ;
2098 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
2099 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2100 :        ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_C'.'Sac' = TABLE ;
2101 :        'SINON' ;
2102 :          ZTAB2.MB.REG2 = 0 ;
2103 :        'FINSI' ;
2104 :        
2105 :     'FINSI' ;
2106 : 
2107 :     'SI' ( 'EXISTE' ZTABENT 'ETCM'.'CLASSE2'.'D' ) ;
2108 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2109 :        ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D' = TABLE ;
2110 : 
2111 :        RCRIT1 = 1;
2112 :        REG2 = REG2 + 1 ;       
2113 :        ZTAB2.'RCN'.REG2 = 'ETCM_CLASSE_2_D' ;
2114 :        ZTAB2.'S'.REG2 = LOG4 ;
2115 :        ZTAB2.'Sanom'.REG2 = 'Sad' ;
2116 :        ZTAB2.'SAMAX'.REG2 = 0 ;
2117 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
2118 :        ZTAB2.'NOMRMAX'.REG2 = 'ETCM_CLASSE_2_D' ;       
2119 :        ZTAB2.'D1d'.REG2  = B1ETCMd2 ;
2120 :        ZTAB2.'D21d'.REG2 = B2ETCMd2 ;
2121 :        ZTAB2.'D22d'.REG2 = 0. ;
2122 :        ZTAB2.'D1c'.REG2  = B1ETCMc2 ;
2123 :        ZTAB2.'D21c'.REG2 = B2ETCMc2 ;       
2124 :        ZTAB2.'D22c'.REG2 = 0. ;
2125 : 
2126 :        ZTAB2.MA.REG2 = MQUAD52 ;
2127 :        'SI' ( MAN1 'EGA' 0 ) ;
2128 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
2129 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2130 :        ZTABENT.'RESULTATS'.'ETCM_CLASSE_2_D'.'Sad' = TABLE ;
2131 :        'SINON' ;
2132 :          ZTAB2.MB.REG2 = 0 ;
2133 :        'FINSI' ;
2134 :        
2135 :     'FINSI' ;
2136 : 
2137 :     'SI' ( RCRIT1 'EGA' 0 ) ;
2138 :       'MESS' 'ERREUR CODENORM : ETCM CLASSE 2' ;
2139 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
2140 :       'MESS' ' ';
2141 :       IERR1 = 1 ;
2142 :     'FINSI' ;
2143 :   
2144 :   'FINSI' ;
2145 : *-fin classe 2
2146 : 
2147 :   'SI' ( RCLASSE1 'EGA' 0 ) ;
2148 :      'MESS' 'ERREUR CODENORM : ETCM' ;
2149 :      'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ; 
2150 :      'MESS' ' ' ;
2151 :      IERR1 = 1 ;
2152 :   'FINSI' ;
2153 : 
2154 : 'FINSI' ;
2155 : *-FINSI-REGLEMENT-ETCM-
2156 : 
2157 : RCLASSE1  = 0 ;
2158 : RCRIT1  = 0 ; 
2159 : 
2160 : LOG1 = 0;
2161 : LOG2 = 0;
2162 : 
2163 : *EMSI
2164 : *-----
2165 : 'SI' ( 'EXISTE' ZTABENT 'EMSI' ) ;
2166 : *-SI EMSI-
2167 :   RCOD1 = 1;
2168 :   ZTABENT.'RESULTATS'.'EMSI' = table;
2169 :   
2170 :   'SI' ( TOTAUX1 'EGA' 1) ;
2171 :      'MESS' 'ERREUR CODENORM : LES OPTIONS: MOMENT TOTAUX ET' ;
2172 :      'MESS' 'ETUDE REGLEMENTAIRE EMSI SONT INCOMPATIBLES' ;
2173 :      'MESS' ' ';
2174 :      IERR1 = 1 ;
2175 :   'FINSI' ;
2176 :  
2177 :   'SI' ( 'EXISTE' ZTABENT 'EMSI'.'s' ) ;
2178 : *  valeur par defaut 3 si l'amortissement D<=2%, si D>2% s=1
2179 :      s1 = ZTABENT.'EMSI'.'s' ;
2180 :      LOG1 = 1;
2181 :   'FINSI' ;
2182 : 
2183 :   'SI' ( 'EXISTE' ZTABENT 'EMSI'.'AMORTIS' ) ;
2184 :      D3 = ZTABENT.'EMSI'.'AMORTIS' ;
2185 :      LOG2 = 1;
2186 :      'SI'(D3 '>' 2 ) ;
2187 :        s1 = 1 ;
2188 :      'FINSI' ;
2189 :      ZTABENT.'RESULTATS'.'EMSI'.'s' = s1 ;
2190 :   'FINSI' ;
2191 : 
2192 :   LOG3 = LOG1 + LOG2 ;
2193 :   'SI' (LOG3 'EGA' 2 ) ;
2194 :      'MESS' 'ERREUR CODENORM : EMSI' ;
2195 :      'MESS' 'ON NE PEUT PAS FOURNIR L AMORTISSEMENT ET' ;
2196 :      'MESS' 'LE COEFFICIENT DE REDUCTION s EM MEME TEMPS' ;
2197 :      'MESS' ' ';
2198 :      IERR1 = 1 ;
2199 :   'FINSI' ;
2200 : 
2201 : *CLASSE 1
2202 : *-------- 
2203 :  'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1' ) ;
2204 :    RCLASSE1 = 1;
2205 : 
2206 : *   LES COEFFICIENTS DE CONTRAINTE
2207 : *   ------------------------------
2208 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1d' ) ;
2209 :       B1EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B1d' ;
2210 :     'FINSI' ;
2211 : 
2212 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2d' ) ;
2213 :       B2EMSId1 = ZTABENT.'EMSI'.'CLASSE1'.'B2d' ;
2214 :     'FINSI' ;
2215 : 
2216 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B1c' ) ;
2217 :       B1EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B1c' ;
2218 :     'FINSI' ;
2219 : 
2220 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'B2c' ) ;
2221 :       B2EMSIc1 = ZTABENT.'EMSI'.'CLASSE1'.'B2c' ;
2222 :       COEF7 = 0 ;
2223 :     'FINSI' ;
2224 :         
2225 : *ON DETERMINE Sm
2226 : *---------------    
2227 :     'SI' ( Fer1 'EGA' 1 ) ;
2228 :        am1 = 1. / 3. ;
2229 :        bu1 = 1. / 3. ;
2230 :        ce1 = 2. / 3. ;
2231 :        dy1 = 2. / 3. ;
2232 :     'FINSI' ;
2233 : 
2234 :     'SI' ( Auste1 'EGA' 1 ) ;
2235 :        am1 = 1. / 3. ;
2236 :        bu1 = 1. / 3. ;
2237 :        ce1 = 2. / 3. ;
2238 :        dy1 = 0.9 ;
2239 :     'FINSI' ;
2240 : 
2241 :     LISTSM1 = PROG ;
2242 :     LISTSM1 = LISTSM1 ET (PROG (am1 * Rm1)) ET (PROG (bu1 * Su1));
2243 :     LISTSM1 = LISTSM1 ET (PROG (ce1 * Re1)) ET (PROG (dy1 * Sy1));
2244 :     SmEMSI1 = 'MINI' LISTSM1;
2245 :     ZTABENT.'RESULTATS'.'EMSI'.'Sm' = SmEMSI1;
2246 : 
2247 : *   CALCUL DES MOMENTS
2248 : *   ------------------
2249 :     MQUADp1= ((MX3)**2) + ((MY3)**2) + ((MZ3)**2) ;
2250 :     MQUADp1 = (MQUADp1)**(0.5) ;
2251 :     MQUADs1= ((MXs1)**2) + ((MYs1)**2) + ((MZs1)**2) ;
2252 :     MQUADs1 = (MQUADs1)**(0.5) ;
2253 :     MQUAD6 = MQUADp1 + ( MQUADs1 / s1 ) ;
2254 : 
2255 : *   NIVEAUX C ET/OU D 
2256 : *   ------------------
2257 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'C' ) ;
2258 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2259 :        ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C' = TABLE ;
2260 : 
2261 :        RCRIT1 = 1;
2262 :        REG2 = REG2 + 1 ;          
2263 :        ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_C' ;
2264 :        ZTAB2.'S'.REG2 = 1.9 * SmEMSI1 ;
2265 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
2266 :        ZTAB2.'SAMAX'.REG2 = 0 ;
2267 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
2268 :        ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_C' ;
2269 :        ZTAB2.'D1d'.REG2  = B1EMSId1 ;
2270 :        ZTAB2.'D21d'.REG2 = B2EMSId1 ;
2271 :        ZTAB2.'D22d'.REG2 = 0. ;
2272 :        ZTAB2.'D1c'.REG2  = B1EMSIc1 ;
2273 :        ZTAB2.'D21c'.REG2 = B2EMSIc1 ;       
2274 :        ZTAB2.'D22c'.REG2 = 0. ;
2275 :        
2276 :        ZTAB2.MA.REG2 = MQUAD6 ;
2277 :        'SI' ( MAN1 'EGA' 0 ) ;
2278 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
2279 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2280 :        ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_C'.'Sa' = TABLE ;
2281 :        'SINON' ;
2282 :          ZTAB2.MB.REG2 = 0 ;
2283 :        'FINSI' ;           
2284 :     'FINSI' ;
2285 : 
2286 :     'SI' ( 'EXISTE' ZTABENT 'EMSI'.'CLASSE1'.'D' ) ;
2287 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2288 :        ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D' = TABLE ;
2289 :        RCRIT1 = 1;
2290 :        
2291 : *      EQUATION POUR LES PARTIES DROITES ET LES COUDES            
2292 :        REG2 = REG2 + 1 ;       
2293 :        ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ;
2294 :        ZTAB2.'S'.REG2 = 3. * SmEMSI1 ;
2295 :        ZTAB2.'Sanom'.REG2 = 'Sa' ;
2296 :        ZTAB2.'SAMAX'.REG2 = 0 ;
2297 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
2298 :        ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ;
2299 :        ZTAB2.'D1d'.REG2  = B1EMSId1 ;
2300 :        ZTAB2.'D21d'.REG2 = B2EMSId1 ;
2301 :        ZTAB2.'D22d'.REG2 = 0. ;
2302 :        ZTAB2.'D1c'.REG2  = B1EMSIc1 ;
2303 :        ZTAB2.'D21c'.REG2 = B2EMSIc1 ;       
2304 :        ZTAB2.'D22c'.REG2 = 0. ;
2305 :        
2306 :        ZTAB2.MA.REG2 = MQUAD6 ; 
2307 :        'SI' ( MAN1 'EGA' 0 ) ;
2308 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
2309 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2310 :        ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sa' = TABLE ;
2311 :        'SINON' ;
2312 :          ZTAB2.MB.REG2 = 0 ;
2313 :        'FINSI' ; 
2314 :        
2315 : *      EQUATION POUR LES PARTIES DROITES SEULEMENT     
2316 :        REG2 = REG2 + 1 ;       
2317 :        ZTAB2.'RCN'.REG2 = 'EMSI_CLASSE_1_D' ;
2318 :        ZTAB2.'S'.REG2 = 2.5 * SmEMSI1 ;
2319 :        ZTAB2.'Sanom'.REG2 = 'Sapdroite' ;
2320 :        ZTAB2.'SAMAX'.REG2 = 0 ;
2321 :        ZTAB2.'NUMZMAX'.REG2 = 0 ;
2322 :        ZTAB2.'NOMRMAX'.REG2 = 'EMSI_CLASSE_1_D' ;
2323 :        ZTAB2.'D1d'.REG2  = 0. ;
2324 :        ZTAB2.'D21d'.REG2 = B2EMSId1 ;
2325 :        ZTAB2.'D22d'.REG2 = 0. ;
2326 :        ZTAB2.'D1c'.REG2  = 0. ;
2327 :        ZTAB2.'D21c'.REG2  = 0. ;
2328 :        ZTAB2.'D22c'.REG2 = 0. ;
2329 :        
2330 :        ZTAB2.MA.REG2 = MQUAD6 ; 
2331 :        'SI' ( MAN1 'EGA' 0 ) ;
2332 : ZTAB2.MB.REG2 = manu 'CHML' MODL1 'MOM' 0. 'TYPE' SCALAIRE 'STRESSES';
2333 : *      DECLARATION D'UNE SOUS TABLE DE RESULTATS
2334 :        ZTABENT.'RESULTATS'.'EMSI_CLASSE_1_D'.'Sapdroite' = TABLE ;
2335 :        'SINON' ;
2336 :          ZTAB2.MB.REG2 = 0 ;
2337 :        'FINSI' ;            
2338 :     'FINSI' ;
2339 : 
2340 :     'SI' ( RCRIT1 'EGA' 0 ) ;
2341 :       'MESS' 'ERREUR CODENORM : EMSI CLASSE 1' ;
2342 :       'MESS' 'AUCUN NIVEAU N A ETE DEFINI DANS LA TABLE D ENTREE ' ; 
2343 :       'MESS' ' ';
2344 :       IERR1 = 1 ;
2345 :     'FINSI' ;
2346 : 
2347 :   'FINSI' ;
2348 : *-fin classe 1
2349 :  
2350 :  'SI' ( RCLASSE1 'EGA' 0 ) ;
2351 :      'MESS' 'ERREUR CODENORM : EMSI' ;
2352 :      'MESS' 'AUCUNE CLASSE N A ETE DEFINIE DANS LA TABLE D ENTREE' ; 
2353 :      'MESS' ' ' ;
2354 :      IERR1 = 1 ;
2355 :  'FINSI' ;
2356 : 
2357 : 'FINSI' ;
2358 : *-FINSI-EMSI-REGLEMENT
2359 : 
2360 : *REGLEMENTS
2361 : *----------
2362 : 
2363 : 'SI' ( RCOD1 'EGA' 0 ) ;
2364 :   'MESS' 'ERREUR CODENORM : AUCUN REGLEMENT N A ETE DEFINIE DANS LA' ;
2365 :   'MESS' 'TABLE D ENTREE POUR REALISER L ANALYSE REGLEMENTAIRE' ; 
2366 :   'MESS' ' ';
2367 :   IERR1 = 1 ;
2368 : 'FINSI' ;
2369 : 
2370 : 
2371 : ************************************************
2372 : * GESTION DES ERREURS SUR LES DONNEES D'ENTREE * 
2373 : ************************************************
2374 : 'SI' ( IERR1 'EGA' 1 ) ;
2375 :   'MESS' ' ';
2376 :   'MESS' '***************************************' ;
2377 :   'MESS' '* ARRET DE LA PROCEDURE CODENORM      *' ; 
2378 :   'MESS' '* UNE OU PLUSIEURS ERREURS ONT ETE    *' ;
2379 :   'MESS' '* DETECTEES DANS LES DONNEES D ENTREE *' ;
2380 :   'MESS' '***************************************' ;
2381 :   'FIN' ; 
2382 : 'FINSI' ;
2383 : 
2384 : *******************************************************************************
2385 : *\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*
2386 : *******************************************************************************
2387 : 
2388 : *COMPTEURS DE BOUCLE
2389 : izone1 = 0 ;
2390 : ireg1 = 0 ;
2391 : 
2392 : *COMPTEURS
2393 : imodel2 = 0 ;
2394 : imail3 = 0 ;
2395 : 
2396 : *       *********************************************************
2397 : *       * BOUCLE GENERALE SUR LES DIFFERENTES ZONES DE LA LIGNE *
2398 : *       *********************************************************
2399 : ***************************
2400 : 'REPETER' BOUCLE1 DIMZONE2;
2401 : ***************************
2402 : imodel2 = 2 * izone1 + 1 ;
2403 : izone1 = izone1 + 1 ;
2404 : imail3 = imodel2 + 1 ;
2405 : 
2406 : *SI CALCUL AUTOMATIQUE
2407 : 'SI' ( MAN1 'EGA' 0 ) ;
2408 : 
2409 :   PARTDTE = 0;
2410 :   COUDE = 0;
2411 : 
2412 : 'MESS' ' ' ;
2413 : 'MESS' '               ***************************************' ;
2414 : 'MESS' '               * ETUDE DE LA ZONE' izone1 'DE LA LIGNE *' ;
2415 : 'MESS' '               ***************************************' ;
2416 : 'MESS' ' ' ;
2417 : 
2418 : * SOUS-MODELE DE LA ZONE TRAITEE
2419 : * ------------------------------
2420 :   'MESS' 'DE MODELE:' ;
2421 :   ZMOD1 = ZONMOMA1.imodel2 ;
2422 :   ZTABENT.'RESULTATS'.'MODL'.izone1 = ZMOD1 ;
2423 :   LIST ZMOD1 ;
2424 : 
2425 : * SOUS-MAILLAGE DE LA ZONE TRAITEE
2426 : * --------------------------------
2427 :   'MESS' 'DE MAILLAGE:' ;
2428 :   ZMAIL1 = ZONMOMA1.imail3 ;
2429 :   ZTABENT.'RESULTATS'.'MAIL'.izone1 = ZMAIL1 ;
2430 :   LIST ZMAIL1 ;
2431 : 
2432 :   'MESS' ' ' ;
2433 : 
2434 : * ON REDUIT LES CARACTERISTIQUES A LA ZONE ETUDIEE
2435 : * ------------------------------------------------
2436 :   redcar1 = 'REDU' CARACT1 ZMOD1 ;
2437 : 
2438 : * TEST SUR LA NATURE DE LA ZONE : PARTIE DROITE, COUDE
2439 : * ----------------------------------------------------
2440 :   TESTRCO1 = 'EXIST' redcar1 'RACO' ;
2441 :   'SI' ( TESTRCO1 ) ;
2442 :     COUDE = 1 ;
2443 :     ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'COUDE' ;
2444 :     'MESS' 'CETTE ZONE EST UN COUDE' ;
2445 :   'SINON' ;
2446 :     PARTDTE = 1;
2447 :     ZTABENT.'RESULTATS'.'NATURE'.izone1 = 'ZONE DROITE' ;
2448 :     'MESS' 'CETTE ZONE EST UNE PARTIE DROITE' ;
2449 :   'FINSI' ;
2450 : 
2451 : * TEST LA PRESENCE DE LA PRESSION, DU RAYON EXTERIEUR,
2452 : * DE L'EPAISSEUR DANS LES CARACTERISTIQUES DE LA ZONE
2453 : * ----------------------------------------------------
2454 :   TESTRAY1 = 'EXIST' redcar1 'RAYO' ;
2455 :   'SI' ( 'NON' TESTRAY1 ) ;
2456 :     'MESS' 'ERREUR CODENORM :' ;
2457 :     'MESS' 'DANS LA RECHERCHE AUTOMATIQUE, ON NE TROUVE PAS' ;
2458 :     'MESS' 'LE RAYON EXTERIEUR DANS LES CARACTERISTIQUES' ;
2459 :     'MESS' ' ';
2460 :     'FIN';
2461 :   'FINSI' ;
2462 : 
2463 :   TESTEPA1 = 'EXIST' redcar1 'EPAI' ;
2464 :   'SI' ( 'NON' TESTEPA1 ) ;
2465 :     'MESS' 'ERREUR CODENORM :' ;
2466 :     'MESS' 'DANS LA RECHERCHE AUTOMATIQUE, ON NE TROUVE PAS' ;
2467 :     'MESS' 'L EPAISSEUR DANS LES CARACTERISTIQUES' ;
2468 :     'MESS' ' ';
2469 :     'FIN';
2470 :   'FINSI' ;
2471 :   
2472 :   TESTPRE1 = 'EXIST' redcar1 'PRES' ;
2473 : 
2474 : * MODE AUTOMATIQUE, RECUPERATION DE DONNEES
2475 : * -----------------------------------------
2476 : 
2477 : *RECUPERATION DU RAYON EXTERIEUR 
2478 :   Rext1 = 'EXCO' RAYO redcar1 ;
2479 :   Rext1 = 'EXTR' Rext1 RAYO 1 1 1 ; 
2480 :   ZTABENT.'RESULTATS'.'RAYON'.izone1 = Rext1 ;
2481 : 
2482 : *RECUPERATION DU RAYON DE COURBURE 
2483 :   'SI' ( COUDE 'EGA' 1 ) ;
2484 :     Rcmc1 = 'EXCO' RACO redcar1 ;
2485 :     Rcmc1 = 'EXTR' Rcmc1 RACO 1 1 1 ;
2486 :     ZTABENT.'RESULTATS'.'RCOURB'.izone1 = Rcmc1 ;
2487 :   'FINSI' ;
2488 : 
2489 : *RECUPERATION DE L'EPAISSEUR
2490 :   e1 = 'EXCO' EPAI redcar1 ;
2491 :   e1 = 'EXTR' e1 EPAI 1 1 1 ;
2492 :   ZTABENT.'RESULTATS'.'EPAISSEUR'.izone1 = e1 ;
2493 : 
2494 : *RECUPERATION DE LA PRESSION
2495 :   'SI' ( TESTPRE1 ) ;
2496 :     Pres1 = 'EXCO' PRES redcar1 ;
2497 :     Pres1 = 'EXTR' Pres1 PRES 1 1 1 ;
2498 :     ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ;
2499 :   'SINON' ;
2500 :     'MESS' 'VALEUR PAR DEFAUT DE LA PRESSION = 0' ;
2501 :     Pres1 = 0 ;
2502 :     ZTABENT.'RESULTATS'.'PRESSION'.izone1 = Pres1 ;
2503 :   'FINSI' ;
2504 : 
2505 : 'FINSI' ;
2506 : *FINSI AUTOMATIQUE
2507 : 
2508 : *******************************************
2509 : * CALCUL DE (De) (I) (Z) (f) POUR LA ZONE *
2510 : *******************************************
2511 : 
2512 : ********************************
2513 : * CALCUL DU DIAMETRE EXTERIEUR * 
2514 : ********************************
2515 : Dext1 = 2 * Rext1 ;
2516 : 
2517 : *************************
2518 : * CALCUL DU RAYON MOYEN * 
2519 : *************************
2520 : Rmoy1= ( Dext1  - e1 ) / 2. ;
2521 : 
2522 : ********************************************
2523 : * CALCUL DU RAYON ET DU DIAMETRE INTERIEUR * 
2524 : ********************************************
2525 : Rint1 = Rext1  - e1 ;
2526 : Dint1 = 2 * Rint1 ;
2527 : tpo = ( PI / 64. ) ;
2528 : 
2529 : *********************************
2530 : * CALCUL DU MOMENT D'INETIE (I) *
2531 : *********************************
2532 : In1 = tpo * ( ( (Dext1)**4 ) - ( (Dint1)**4 ) ) ;
2533 : 
2534 : **********************************
2535 : * CALCUL DU  MODULE D'INETIE (Z) *
2536 : **********************************
2537 : Z1 =  ( 2. * In1 ) / Dext1 ;
2538 : 
2539 : *SI CALCUL AUTOMATIQUE
2540 : 'SI' ( MAN1 'EGA' 0 ) ;
2541 :   ZTABENT.'RESULTATS'.'I'.izone1 = In1 ;
2542 :   ZTABENT.'RESULTATS'.'Z'.izone1 = Z1 ;
2543 : 'FINSI' ;
2544 : *FINSI AUTOMATIQUE
2545 : 
2546 : *SI CALCUL MANUEL
2547 : 'SI' ( MAN1 'EGA' 1 ) ;
2548 :   ZTABENT.'RESULTATS'.'I' = In1 ;
2549 :   ZTABENT.'RESULTATS'.'Z' = Z1 ;
2550 : 'FINSI' ;
2551 : *FINSI MANUEL
2552 : 
2553 : ***************************
2554 : * CALCUL DU COEFFICIENT f *
2555 : ***************************
2556 : 
2557 : f1 = ( e1 * Rcmc1 ) / ( Rmoy1**2 ) ;
2558 : 
2559 : *SI CALCUL AUTOMATIQUE
2560 : 'SI' ( MAN1 'EGA' 0 ) ;
2561 :   ZTABENT.'RESULTATS'.'COEF_COUDE'.izone1 = f1 ;
2562 : 'FINSI' ;
2563 : *FINSI AUTOMATIQUE
2564 : 
2565 : *SI CALCUL MANUEL
2566 : 'SI' ( MAN1 'EGA' 1 ) ;
2567 :   ZTABENT.'RESULTATS'.'COEF_COUDE' = f1 ;
2568 : 'FINSI' ;
2569 : *FINSI MANUEL
2570 : 
2571 : **********
2572 : * CALCUL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2573 : **********
2574 : 
2575 : *       ***************************************************
2576 : *       * BOUCLE GENERALE SUR LES DIFFERENTES REGLEMENTS  *
2577 : *       ***************************************************
2578 : 
2579 : ireg1 = 0 ;
2580 : ***************************
2581 : 'REPETER' BOUCLE2 REG2;
2582 : ***************************
2583 : ireg1 = ireg1 + 1 ;
2584 : 
2585 : NOM1 = ZTAB2.'NOMRMAX'.ireg1 ;
2586 : NOM2 = ZTAB2.'Sanom'.ireg1 ;
2587 : 
2588 : *COEFFICIENTS DE CONTRAINTES DEPENDANT
2589 : *DE LA GEOMETRIE DE LA ZONE
2590 : 
2591 : 'SI' ( PARTDTE 'EGA' 1 ) ;
2592 : **********
2593 : * RCC-MR *
2594 : **********
2595 : *Pour le calcul de Sigm+Sigb
2596 :   'SI' ( 'EGA' NOM1 'RCCMR' ) ;
2597 :     'SI' ( 'EGA' NOM2 'SigmSigb' ) ;
2598 :       'SI' ( COEF31 'EGA' 1 ) ;
2599 :         deno1 = ( Dext1 / e1 ) ;
2600 :         ZTAB2.'D22d'.ireg1 = 0.35 * ( deno1**( 1. / 3. ) )  ;
2601 :       'FINSI' ;
2602 :     'FINSI' ; 
2603 :   'FINSI' ;
2604 :   
2605 :   D1 = ZTAB2.'D1d'.ireg1 ;
2606 :   D21 = ZTAB2.'D21d'.ireg1 ;
2607 :   D22 = ZTAB2.'D22d'.ireg1 ;
2608 : 'FINSI' ;
2609 : 
2610 :   LOG4 = 0 ;
2611 : 'SI' ( COUDE 'EGA' 1 ) ;
2612 : 
2613 :   'SI' ( 'EGA' NOM2 'Sapdroite' ) ;
2614 :     LOG4 = 1 ;
2615 :   'FINSI' ;
2616 : 
2617 : *****************
2618 : * RCCM CLASSE 1 *
2619 : *****************
2620 : 
2621 :   LOG1 = ( 'EGA' NOM1 'RCCM_CLASSE_1_C' ) ;
2622 :   LOG2 = ( 'EGA' NOM1 'RCCM_CLASSE_1_D' ) ;
2623 :   LOG3 = 'OU' LOG1 LOG2 ;
2624 : 
2625 :   'SI' ( LOG3 ) ;
2626 :     'SI' ( COEF1 'EGA' 1 ) ;
2627 :       ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 
2628 :     'FINSI' ;
2629 :   'FINSI' ;
2630 :   
2631 : *****************
2632 : * RCCM CLASSE 2 *
2633 : *****************
2634 :   'SI' ( 'EGA' NOM1 'RCCM_CLASSE_2' ) ;
2635 :     'SI' ( COEF2 'EGA' 1 ) ;
2636 :       ZTAB2.'D21c'.ireg1 = 0.675 * ( f1**( -2. / 3. ) );
2637 :     'FINSI' ; 
2638 :   'FINSI' ;
2639 :   
2640 : **********
2641 : * RCC-MR *
2642 : **********
2643 : *Pour le calcul de Pm+Pb
2644 :   'SI' ( 'EGA' NOM1 'RCCMR' ) ;
2645 :   
2646 :     'SI' ( 'EGA' NOM2 'PmPb' ) ;
2647 :       'SI' ( COEF32 'EGA' 1 ) ;
2648 :          ZTAB2.'D1c'.ireg1 =  ( 0.4 * f1 ) - 0.1 ;
2649 :          ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
2650 :          ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;
2651 :       'FINSI' ;
2652 : 
2653 :       'SI' ( COEF33 'EGA' 1 ) ;
2654 :          ZTAB2.'D22c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
2655 :       'FINSI' ;
2656 :     'FINSI' ;
2657 :     
2658 : *Pour le calcul de Sigm+Sigb
2659 : 
2660 :     'SI' ( 'EGA' NOM2 'SigmSigb' ) ;
2661 :        'SI' ( COEF34 'EGA' 1 ) ;
2662 :           gpa1 = ( Pi / anglec1 )**(-0.4) ;
2663 :           deno2 = 2. * e1 * f1 *Sy1 ;
2664 :           gpa1 = gpa1 / ( 1. + ( 0.7 * Pres1 * ( Dext1 / deno2 ) ) ) ;
2665 :           ZTAB2.'D22c'.ireg1 = 1.6 * ( gpa1 * ( f1**( -2. / 3. ) ) ) ;
2666 :        'FINSI' ;
2667 :     'FINSI' ;
2668 :     
2669 :   'FINSI' ;
2670 :   
2671 : ******************
2672 : * ASME  CLASSE 1 *
2673 : ******************
2674 : 
2675 :   'SI' ( 'EGA' NOM1 'ASME_CLASSE_1' ) ;
2676 :   
2677 :     'SI' ( 'EGA' NOM2 'Sa' ) ;
2678 :       'SI' ( COEF41 'EGA' 1 ) ;
2679 :         ZTAB2.'D1c'.ireg1 =  0.4 * f1 - 0.1 ;    
2680 :         ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
2681 :         ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;    
2682 :       'FINSI' ;
2683 :     'FINSI' ;
2684 :           
2685 :     'SI' ( COEF42 'EGA' 1 ) ;
2686 :       ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
2687 :     'FINSI' ;          
2688 :       
2689 :   'FINSI' ;
2690 : 
2691 : ******************
2692 : * ASME  CLASSE 2 *
2693 : ******************
2694 : 
2695 :   'SI' ( 'EGA' NOM1 'ASME_CLASSE_2' ) ;
2696 :   
2697 :     'SI' ( 'EGA' NOM2 'Sa' ) ;
2698 :       'SI' ( COEF51 'EGA' 1 ) ;
2699 :         ZTAB2.'D1c'.ireg1 =  0.4 * f1 - 0.1 ;    
2700 :         ZTAB2.'D1c'.ireg1 = 'MAXI' ( prog 0. ZTAB2.'D1c'.ireg1 ) ;
2701 :         ZTAB2.'D1c'.ireg1 = 'MINI' ( prog 0.5 ZTAB2.'D1c'.ireg1 ) ;    
2702 :       'FINSI' ;
2703 :     'FINSI' ;
2704 :           
2705 :     'SI' ( COEF52 'EGA' 1 ) ;
2706 :       ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3. ) ) ;
2707 :     'FINSI' ;          
2708 :       
2709 :   'FINSI' ;
2710 : 
2711 : *********
2712 : * ETCM  *
2713 : *********
2714 :   LOG1 = ( 'EGA' NOM1 'ETCM_CLASSE_2_C' ) ;
2715 :   LOG2 = ( 'EGA' NOM1 'ETCM_CLASSE_2_D' ) ;
2716 :   LOG3 = 'OU' LOG1 LOG2 ;
2717 : 
2718 :   'SI' ( LOG3 ) ;
2719 :     'SI' ( COEF6 'EGA' 1 ) ;  
2720 :       ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 
2721 :     'FINSI' ;
2722 :   'FINSI' ;
2723 :   
2724 : *********
2725 : * EMSI  *
2726 : *********
2727 :   LOG1 = ( 'EGA' NOM1 'EMSI_CLASSE_1_C' ) ;
2728 :   LOG2 = ( 'EGA' NOM1 'EMSI_CLASSE_1_D' ) ;
2729 :   LOG3 = 'OU' LOG1 LOG2 ;
2730 : 
2731 :   'SI' ( LOG3 ) ;
2732 :     'SI' ( COEF7 'EGA' 1 ) ;  
2733 :       ZTAB2.'D21c'.ireg1 = 1.3 * ( f1**( -2. / 3.) ) ; 
2734 :     'FINSI' ;
2735 :   'FINSI' ;
2736 : 
2737 : *
2738 : * 
2739 :   'SI' ( ZTAB2.'D21c'.ireg1 '<' 1. ) ;
2740 :     ZTAB2.'D21c'.ireg1 = 1. ;
2741 :   'FINSI' ;
2742 :   
2743 :   D1 = ZTAB2.'D1c'.ireg1 ;
2744 :   D21 = ZTAB2.'D21c'.ireg1 ;
2745 :   D22 = ZTAB2.'D22c'.ireg1 ;
2746 : 'FINSI' ;
2747 : 
2748 : *******************************
2749 : *RCCM CLASSE 1 ET EMSI CLASSE 1
2750 : *L'EQUATION POUR LES PARTIES DROITES SEULES DANS
2751 : *LE CAS D'UN COUDE N'EST PAS TRAITE ==> LOG3=1
2752 : 
2753 : 'SI' ( LOG4 'EGA' 0 ) ;
2754 : 
2755 : *CALCUL DE SA
2756 : *------------
2757 :   SA1 = 0 ;
2758 :   SA2 = 0 ;
2759 :   SA3 = 0 ;
2760 :   SA4 = 0 ;
2761 : 
2762 :   RCN = ZTAB2.'RCN'.ireg1 ;
2763 :   Sanom = ZTAB2.'Sanom'.ireg1 ;
2764 :   S = ZTAB2.'S'.ireg1 ;
2765 : 
2766 : 
2767 : * INTITULE DU REGLEMENT TRAITE
2768 : 'MESS' ' ' ;
2769 : 'MESS' ' *******************' ;
2770 : 'MESS' ' * ' RCN ' *' ;
2771 : 'MESS' ' *******************' ;
2772 : 'MESS' ' ' ;
2773 : 
2774 : *SI CALCUL AUTOMATIQUE
2775 :   'SI' ( MAN1 'EGA' 0 ) ;
2776 : 
2777 : *   ON REDUIT LE CHAMP DES MOMENTS AU MAILLAGE ZMAIL1
2778 : *   -------------------------------------------------
2779 :     MOMA = 'REDU' ZTAB2.MA.ireg1 ZMAIL1 ; 
2780 :     MOMB = 'REDU' ZTAB2.MB.ireg1 ZMAIL1 ; 
2781 : 
2782 : *   CALCUL DE SA
2783 : *   ------------
2784 :     SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ;
2785 :     SA1 = manu 'CHML' ZMOD1 'MOM' SA1 'TYPE' SCALAIRE 'STRESSES' ;    
2786 :     SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ;
2787 :     SA2 = SA2 / Z1 ;
2788 :     
2789 : *
2790 :     SA3 = SA1 + SA2 ;
2791 : 
2792 : **********
2793 : * RCC-MR *
2794 : **********
2795 : *   SI LES EFFORTS NORMAUX SONT NOTABLES
2796 : *   UNIQUEMENT POUR LE REGLEMENT RCC-MR
2797 : *   POUR LE CALCUL DE Pm+Pb
2798 : *   ------------------------------------
2799 :   'SI' ( 'EGA' NOM1 'RCCMR' ) ;
2800 :     'SI' ( 'EGA' NOM2 'PmPb' ) ;
2801 :       'SI' ( NORM1 'EGA' 1 ) ;    
2802 : *       ON REDUIT LE CHAMP DES EFFORTS NORMAUX AU MAILLAGE ZMAIL1
2803 : *       ---------------------------------------------------------
2804 :         N1b = 'REDU' N1 ZMAIL1 ; 
2805 :         SA3 = SA3 + ( N1b / ( 2. * PI * Rmoy1 * e1 ) )  ;
2806 :       'FINSI' ;
2807 :     'FINSI' ;
2808 :   'FINSI' ;
2809 :   
2810 : *   ON TEST LE REGLEMENT SUR LA VALEUR MAXIMUM
2811 : *   DU CHAMP DE CONTRAINTES DE LA ZONE CONSIDEREE
2812 : *   ---------------------------------------------
2813 :     SA4 = 'MAXI' SA3 ;
2814 : 
2815 : *   stockage MAXIMUM + numero zone
2816 :     MAX = ZTAB2.'SAMAX'.ireg1 ;
2817 : 
2818 :     'SI' ( SA4 '>EG' MAX ) ;
2819 :       ZTAB2.'SAMAX'.ireg1 = SA4 ;
2820 :       ZTAB2.'NUMZMAX'.ireg1 = izone1 ;
2821 :     'FINSI' ;
2822 : 
2823 : *Stockage de Sa
2824 :     ZTABENT.'RESULTATS'.RCN.Sanom.izone1 = SA4;
2825 : 
2826 :     rap1 = SA4 / S ;
2827 :     'MESS' 'CONTRAINTE DU CRITERE S = ' S ;
2828 :     'MESS' 'CONTRAINTE MAX SUR CETTE ZONE ' sanom 'MAX =' SA4 ;
2829 :     'MESS' '( ' sanom 'MAX/S ) =' rap1 ;
2830 : 
2831 :   'SINON' ;
2832 : 
2833 : * MOMENTS 
2834 : * -------
2835 :     MOMA = ZTAB2.MA.ireg1 ;
2836 :     MOMB = ZTAB2.MB.ireg1 ;
2837 : 
2838 : *   CALCUL DE SA
2839 : *   ------------
2840 :     SA1 = ( D1 * Pres1 * Dext1 ) / ( 2. * e1 ) ;
2841 :     SA2 = ( ( ( D21 * MOMA )**2 ) + ( ( D22 * MOMB )**2 ) )**0.5 ;
2842 :     SA2 = SA2 / Z1 ;
2843 :     SA3 = SA1 + SA2 ;
2844 : 
2845 : ***********************************
2846 : * RCC-MR  Pour le calcul de Pm+Pb *
2847 : ***********************************
2848 : *   SI LES EFFORTS NORMAUX SONT NOTABLES
2849 : *   UNIQUEMENT POUR LE REGLEMENT RCC-MR
2850 : *   POUR LE CALCUL DE Pm+Pb
2851 : *   ------------------------------------
2852 :   'SI' ( 'EGA' NOM1 'RCCMR' ) ;
2853 :     'SI' ( 'EGA' NOM2 'PmPb' ) ;
2854 :       'SI' ( NORM1 'EGA' 1 ) ;    
2855 :         SA3 = SA3 + ( N1 / ( 2. * PI * Rmoy1 * e1 ) )  ;
2856 :       'FINSI' ;
2857 :     'FINSI' ;
2858 :   'FINSI' ;
2859 : 
2860 :     SA4 = SA3 ;
2861 :     ZTABENT.'RESULTATS'.RCN.Sanom = SA4;
2862 :     ZTAB2.'SAMAX'.ireg1 = SA4 ;
2863 : 
2864 :     rap1 = SA4 / S ;
2865 :     'MESS' 'CONTRAINTE DU CRITERE S =' S ;
2866 :     'MESS' 'CONTRAINTE CALCULEE ' sanom '=' SA4 ;
2867 :     'MESS' '( ' sanom '/S ) =' rap1 ;
2868 :   'FINSI' ;
2869 : 
2870 :   rap2 = rap1 - 1.;
2871 :   'SI' (rap2 '<' 10e-5 ) ;
2872 :     rap1 = 1;
2873 :   'FINSI' ;
2874 : 
2875 :   'SI' (rap1 '<EG' 1. ) ;
2876 :     'MESS' 'LE CRITERE EST SATISFAIT' ;
2877 :   'SINON' ;
2878 :     'MESS' 'LE CRITERE N EST PAS SATISFAIT' ;
2879 :   'FINSI';
2880 : 
2881 : 'FINSI' ;
2882 : 
2883 : ***************
2884 : 'FIN' BOUCLE2 ;
2885 : ***************
2886 : 'MESS' ' ' ;
2887 : 
2888 : ***************
2889 : 'FIN' BOUCLE1 ;
2890 : ***************
2891 : 'MESS' ' ' ;
2892 : 
2893 : *POST TRAITEMENTS
2894 : *----------------
2895 : ireg1 = 0 ;
2896 : 
2897 : ************************
2898 : 'REPETER' BOUCLE3 REG2 ;
2899 : ************************
2900 :  ireg1 = ireg1 + 1 ;
2901 :  RCN = ZTAB2.'RCN'.ireg1 ;
2902 :  Sanom = ZTAB2.'Sanom'.ireg1 ;
2903 :  SAMAX = ZTAB2.'SAMAX'.ireg1 ;
2904 :  NUMZMAX = ZTAB2.'NUMZMAX'.ireg1 ;
2905 :  NOMRMAX = ZTAB2.'NOMRMAX'.ireg1 ;
2906 :   
2907 : *SI CALCUL AUTOMATIQUE
2908 :  'SI' ( MAN1 'EGA' 0 ) ;
2909 :    'MESS' '****************************************************' ;
2910 :    'MESS' 'REGLEMENT:' RCN ;
2911 :    'MESS' 'LE MAXIMUM DE LA CONTRAINTE ' Sanom ;
2912 :    'MESS' 'SUR TOUTE LA LIGNE EST ' SAMAX ;
2913 :    'MESS' 'IL SE SITUE SUR LA ZONE' NUMZMAX ;
2914 :    'MESS' '****************************************************' ;
2915 :    'MESS' ' ' ;
2916 : 
2917 :    ZTABENT.'RESULTATS'.RCN.Sanom.'MAX' = SAMAX ;
2918 :    imodel2 = ( 2 * ( NUMZMAX - 1 ) ) + 1 ;
2919 :    imail3 = imodel2 + 1 ;
2920 :    ZTABENT.'RESULTATS'.RCN.'MODELMAX' = ZONMOMA1.imodel2 ;
2921 :    ZTABENT.'RESULTATS'.RCN.'MAILMAX' = ZONMOMA1.imail3 ;
2922 :  'FINSI' ;
2923 : *FINSI AUTOMATIQUE  
2924 : 
2925 : *SI PLUS D'UN REGLEMENT
2926 :  'SI' ( REG2 '>' 1 ) ;
2927 :    'SI' ( SAMAX '>EG' MAX0 ) ;
2928 :      MAX0 = SAMAX ;
2929 :      CPTMX0  = NUMZMAX ;
2930 :      NOMSMX0 = Sanom ;
2931 :      NOMRMX0 = NOMRMAX ;
2932 :    'FINSI' ;
2933 :  'FINSI' ;
2934 : 
2935 : ***************
2936 : 'FIN' BOUCLE3 ;
2937 : ***************
2938 : 
2939 : 'SI' ( REG2 '>' 1 ) ;
2940 : ZTABENT.'RESULTATS'.'SAMAX' = MAX0 ;
2941 : 
2942 : * SI CALCUL AUTOMATIQUE
2943 :   'SI' ( MAN1 'EGA' 0 ) ;
2944 :     'MESS' '****************************************************' ;
2945 :     'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ;
2946 :     'MESS' 'EST ' NOMSMX0 ' =' MAX0 ;
2947 :     'MESS' 'DU REGLEMENT ' NOMRMX0 ;
2948 :     'MESS' 'SITUE EN ZONE ' CPTMX0 ;
2949 :     'MESS' '****************************************************' ;
2950 :     'MESS' ' ' ;
2951 : 
2952 :     imodel2 = ( 2 * CPTMX0 ) + 1 ;
2953 :     imail3 = imodel2 + 1 ;
2954 :     ZTABENT.'RESULTATS'.'MODELMAX' = ZONMOMA1.imodel2 ;
2955 :     ZTABENT.'RESULTATS'.'MAILMAX' = ZONMOMA1.imail3 ;
2956 :   'FINSI' ;
2957 : * FINSI AUTOMATIQUE
2958 : 
2959 : 
2960 : * SI CALCUL MANUEL
2961 :   'SI' ( MAN1 'EGA' 1 ) ;
2962 :     'MESS' '****************************************************' ;
2963 :     'MESS' 'LA CONTRAINTE MAX SUR TOUS LES REGLEMENTS' ;
2964 :     'MESS' 'EST ' NOMSMX0 ' =' MAX0 ;
2965 :     'MESS' 'DU REGLEMENT ' NOMRMX0 ;
2966 :     'MESS' '****************************************************' ;
2967 :     'MESS' ' ' ;
2968 :   'FINSI' ;
2969 : * FINSI MANUEL
2970 :  
2971 : 'FINSI' ;
2972 : 
2973 : ***********************
2974 : * FIN DE LA PROCEDURE *
2975 : ***********************
2976 : 'FINPROC' CODENORM ;
2977 :  

© Cast3M 2003 - All rights reserved.
Disclaimer