1 : * SISSIB PROCEDUR FANDEUR 12/01/25 21:15:01 7264 2 : 'DEBPROC' SISSIB TAB1*'TABLE' ; 3 : * 4 : ********************************************************************** 5 : * 6 : * PROCEDURE DE CALCUL SISMIQUE 7 : * ---------------------------- 8 : * 9 : * DONNEES : 10 : * -------- 11 : * 12 : * TABRESU = SISSIB TAB1 ; 13 : * 14 : * TAB1 : OBJET DE TYPE TABLE 15 : * 16 : * TAB1.'STRUCTURE' = TABLE BASE MODALE 17 : * TAB1.'AMORTISSEMENT' = LISTREEL 18 : * TAB1.'EXCITATION' = TABLE INDICEE PAR UN ENTIER (<EG 3 ) 19 : * 20 : * TAB1.'EXCITATION'.I.DIRECTION = MOT X Y OU Z 21 : * TAB1.'EXCITATION'.I . 'SPECTRE' = EVOLUTION 22 : * TAB1.'EXCITATION'.I . 'AMORTISSEMENT' = LISTREEL 23 : * TAB1.'EXCITATION'.I . 'ACCELERATION_MAXIMALE' = REEL ACCELERATION 24 : * MAXIMALE DU SEISME 25 : * DANS LA DIRECTION I 26 : * (FACULTATIF) 27 : * 28 : * TAB1.'RECOMBINAISON_MODES' = 'MOT' 'SRSS' OU 'ROSENBLUETH' OU 'CQC' 29 : * OU 'DIX_POUR_CENT' 30 : * TAB1.'DUREE' = REEL (DUREE DE LA PARTIE FORTE DU SIGNAL (FACULTATIF, 31 : * OPTION ROSENBLUETH UNIQUEMENT ) 32 : * 33 : * TAB1.'RECOMBINAISON_DIRECTIONS' = MOT (REGLE DE COMBINAISON DES 34 : * DIRECTIONS : QUADRATIQUE ) 35 : * 36 : * TAB1.'SORTIES' = TABLE 37 : * TAB1.'SORTIES'.'DOMAINE' = MAILLAGE OU MODELE 38 : * TAB1.'SORTIES'.'DEPLACEMENTS' = LOGIQUE ( VRAI OU FAUX ) POUR 39 : * CALCUL DES DEPLACEMENTS 40 : * TAB1.'SORTIES'.'ACCELERATIONS' = LOGIQUE ( VRAI OU FAUX ) POUR 41 : * CALCUL DES ACCELERATIONS 42 : * TAB1.'SORTIES'.'CONTRAINTES' = LOGIQUE ( VRAI OU FAUX ) POUR 43 : * CALCUL DES CONTRAINTES 44 : * TAB1.'SORTIES'.'REACTIONS' = LOGIQUE ( VRAI OU FAUX ) POUR 45 : * CALCUL DES REACTIONS 46 : * 47 : * TAB1.'REPRISE' = TABLE FACULTATIVE DONNANT LES RESULTATS D'UN 48 : * CALCUL PRECEDENT 49 : * TAB1.'REPRISE'.'SPECTRE' = TABLE INDICEE PAR UN MOT X OU Y OU Z 50 : * TAB1.'REPRISE'.'SPECTRE'.'X'.PT1 = S (F1, EPS1) PT1 POINT SOUS 51 : * TENDANT LE MODE, S (F1, EPS1) 52 : * VALEUR DU SPECTRE EN 53 : * PSEUDO - ACCELERATION 54 : * TAB1.'REPRISE'.'COEFF'= TABLE INDICEE PAR ENTIERS DE 1 A NMOD 55 : * TAB1.'REPRISE'.'COEFF'.I = TABLE INDICEE PAR ENTIERS DE I A NMOD 56 : * TAB1.'REPRISE'.'COEFF'.I.J = PIJ REEL COEFFICIENT DE CORELATION 57 : * 58 : * TAB1.'IMPRESSION' = LOGIQUE ( VRAI OU FAUX) IMPRESSION AUTOMATIQUE 59 : * DE LA TABLE DE RESULTATS. FACULTATIF. 60 : * PAR DEFAUT FAUX 61 : * TAB1.'TRONCATURE' = LOGIQUE ( VRAI OU FAUX). FACULTATIF. PAR DEFAUT 62 : * FAUX PRISE EN COMPTE DES PSEUDOMODES QUI 63 : * DOIVENT ETRE INCLUS DANS LA BASE MODALE 64 : * 65 : *********************************************************************** 66 : ZUN1 = 1 ; Z2PI = 2. '*' PI ; 67 : * 68 : * TABLE ZTABSOR POUR GESTION INTERNE DES SORTIES 69 : * PERMET DE GARDER LA PROGRAMMATION INITIALE 70 : * AVANT UNE REFONTE COMPLETE ENVISAGEABLE 71 : * 72 : ZTABSOR = 'TABLE' 'SORTIES' ; 73 : * 74 : * NB DE MODES MAILLAGE ; 75 : * 76 : ZTMOD = 'TABLE' TAB1.'STRUCTURE'.'MODES' ; 77 : ZNMOD = ( 'DIME' ZTMOD ) '-' 2 ; 78 : ZGEO1 = ZTMOD.'MAILLAGE' ; 79 : * 80 : * NB DE DIRECTION DE SEISMES ; 81 : * 82 : ZTAB2 = TAB1.'EXCITATION'; 83 : ZNDIR = ( 'DIME' ZTAB2 ) '-' 1 ; 84 : * 85 : * Y A T IL UNE TABLE DE REPRISE 86 : * 87 : ZIREP = 0 ; 88 : 'SI' ( 'EXISTE' TAB1 'REPRISE' ) ; 89 : ZIREP = 1 ; 90 : 'FINSI' ; 91 : * 92 : * VERIFICATION DU MAILLAGE DE SORTIE 93 : * 94 : 'SI' ( 'EXISTE' ( TAB1.'SORTIES' ) 'DOMAINE' ) ; 95 : ZDOM1 =1 ; 96 : ZOB1 = TAB1.'SORTIES'.'DOMAINE' ; 97 : ZTABSOR . 'DOMAINE' = ZOB1 ; 98 : ZTYP1 = 'TYPE' ZOB1 ; 99 : 'SI' ( 'EGA' ZTYP1 'MMODEL ' ) ; 100 : ZMAI1 = 'EXTRAIRE' ZOB1 'MAIL' ; 101 : 'SINON' ; 102 : 'SI' ( 'EGA' ZTYP1 'MAILLAGE' ) ; 103 : ZMAI1 = ZOB1 ; 104 : 'SINO' ; 105 : 'MESSAGE' 'A L INDICE DOMAINE IL FAUT DONNER ' 106 : 'UN OBJET DE TYPE MAILLAGE OU MODELE' ; 107 : 'ERREUR' 'PROC_SISSI' ; 108 : 'FINSI'; 109 : 'FINSI' ; 110 : 'SINON' ; 111 : ZDOM1 = 0 ; 112 : 'FINSI' ; 113 : * 114 : * PRISE EN COMPTE DES PSEUDOMODES 115 : * 116 : ZPSEU = FAUX ; 117 : 'SI' ( 'EXISTE' TAB1 'TRONCATURE' ) ; 118 : ZPSEU1 = TAB1.'TRONCATURE' ; 119 : ZTYP3 = 'TYPE' ZPSEU1 ; 120 : 'SI' ( 'EGA' ZTYP3 'LOGIQUE ' ) ; 121 : ZPSEU = ZPSEU1 ; 122 : 'SINON' ; 123 : 'MESSAGE' 'A L INDICE TRONCATURE IL FAUT DONNER ' 124 : 'UN OBJET DE TYPE LOGIQUE' ; 125 : 'ERREUR' 'PROC_SISSI' ; 126 : 'FINSI' ; 127 : 'FINSI' ; 128 : * 129 : ZTSOR = TAB1.'SORTIES' ; 130 : ZIDEPL = 0 ; 131 : ZIACCE = 0 ; 132 : ZICONT = 0 ; 133 : ZIREAC = 0 ; 134 : ZISOR = 0 ; 135 : * 136 : * VERIFICATION DE LA COMPATIBILITE DU TYPE DE SORTIES AVEC LES 137 : * DONNEES DE LA BASE MODALE 138 : * 139 : 'SI' ( 'EXISTE' ZTSOR 'DEPLACEMENTS' ) ; 140 : 'SI' ( ZTSOR . 'DEPLACEMENTS' ) ; 141 : ZIDEPL = 1 ; 142 : ZISOR = ZISOR + 1 ; 143 : ZTABSOR . ZISOR = 'MOT' 'DEPLACEMENTS' ; 144 : 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) ); 145 : 'MESSAGE' 'IL MANQUE LES DEFORMEES MODALES DANS LA BASE MODALE' ; 146 : 'ERREUR' 'PROC_SISSI' ; 147 : 'FINSI' ; 148 : 'FINSI' ; 149 : 'FINSI' ; 150 : 'SI' ( 'EXISTE' ZTSOR 'ACCELERATIONS' ) ; 151 : 'SI' ( ZTSOR . 'ACCELERATIONS' ) ; 152 : ZIACCE = 1 ; 153 : ZISOR = ZISOR + 1 ; 154 : ZTABSOR . ZISOR = 'MOT' 'ACCELERATIONS' ; 155 : 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'DEFORMEE_MODALE' ) ); 156 : 'MESSAGE' 'IL MANQUE LES DEFORMEES MODALES DANS LA BASE MODALE' ; 157 : 'ERREUR' 'PROC_SISSI' ; 158 : 'FINSI' ; 159 : 'FINSI' ; 160 : 'FINSI' ; 161 : 'SI' ( 'EXISTE' ZTSOR 'CONTRAINTES' ) ; 162 : 'SI' ( ZTSOR . 'CONTRAINTES' ) ; 163 : ZICONT = 1 ; 164 : ZISOR = ZISOR + 1 ; 165 : ZTABSOR . ZISOR = 'MOT' 'CONTRAINTES' ; 166 : 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'CONTRAINTE_MODALE' ) ); 167 : 'MESSAGE' 'IL MANQUE LES CONTRAINTES MODALES DANS LA BASE MODALE' ; 168 : 'ERREUR' 'PROC_SISSI' ; 169 : 'FINSI' ; 170 : 'FINSI' ; 171 : 'FINSI' ; 172 : 'SI' ( 'EXISTE' ZTSOR 'REACTIONS' ) ; 173 : 'SI' ( ZTSOR . 'REACTIONS' ) ; 174 : ZIREAC = 1 ; 175 : ZISOR = ZISOR + 1 ; 176 : ZTABSOR . ZISOR = 'MOT' 'REACTIONS' ; 177 : 'SI' ( 'NON' ( 'EXISTE' ( ZTMOD.ZUN1 ) 'REACTION_MODALE' ) ); 178 : 'MESSAGE' 'IL MANQUE LES REACTIONS MODALES DANS LA BASE MODALE' ; 179 : 'ERREUR' 'PROC_SISSI' ; 180 : 'FINSI' ; 181 : 'FINSI' ; 182 : 'FINSI' ; 183 : * 184 : ZNSOR = ( 'DIME' ZTABSOR ) '-' 2 ; 185 : 'SI' ( ZDOM1 'EGA' 0 ) ; 186 : ZNSOR = ZNSOR '+' 1 ; 187 : 'FINSI' ; 188 : * 189 : 'SI' ( ZNSOR 'EGA' 0 ) ; 190 : 'MESSAGE' ' ' ; 191 : 'MESSAGE' 'ATTENTION IL FAUT DEFINIR UNE OU DES SORTIES ' 192 : 'DANS TAB4' ; 193 : 'ERREUR' 'PROC_SISSI' ; 194 : 'FINSI' ; 195 : * 196 : * PRETRAITEMENT DES PSEUDOMODES 197 : * 198 : 'SI' ZPSEU ; 199 : ZTPSEU = 'TABLE' 'PSEUDO' ; 200 : ZT2 = TAB1.'STRUCTURE'.'PSEUDO_MODES' ; 201 : ZNPSEU = ( 'DIME' ZT2 ) '-' 1 ; 202 : ZIPS = 0 ; 203 : 'REPETER' ZLOO100 ZNPSEU ; 204 : ZIPS = ZIPS '+' 1 ; 205 : ZPSDIR = ZT2.ZIPS.'DIRECTION' ; 206 : ZTPSEUD = 'TABLE' 'PSEU_DIR' ; 207 : ZTPSEU.ZPSDIR = ZTPSEUD ; 208 : ZTPSEUD.'DEPLACEMENT' = ZT2.ZIPS.'DEPLACEMENT' ; 209 : 'SI' ( ZICONT 'EGA' 1 ) ; 210 : 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'CONTRAINTE' ) ; 211 : ZTPSEUD.'CONTRAINTE' = ZT2.ZIPS.'CONTRAINTE' ; 212 : 'SINON' ; 213 : 'MESSAGE' 'IL FAUT DONNER LES CONTRAINTES POUR LE PSEUDOMODE' ; 214 : 'ERREUR' 'PROC_SISSI' ; 215 : 'FINSI' ; 216 : 'FINSI' ; 217 : 'SI' ( ZIREAC 'EGA' 1 ) ; 218 : 'SI' ( 'EXISTE' ( ZT2.ZIPS ) 'REACTION' ) ; 219 : ZTPSEUD.'REACTION' = ZT2.ZIPS.'REACTION' ; 220 : 'SINON' ; 221 : 'MESSAGE' 'IL FAUT DONNER LES REACTIONS POUR LE PSEUDOMODE' ; 222 : 'ERREUR' 'PROC_SISSI' ; 223 : 'FINSI' ; 224 : 'FINSI' ; 225 : 'FIN' ZLOO100 ; 226 : 'FINSI' ; 227 : * 228 : * VERIFICATION DES DONNEES POUR LA COMBINAISON DES DIRECTIONS 229 : * 230 : 'SI' ( 'EXISTE' TAB1 'RECOMBINAISON_DIRECTIONS' ) ; 231 : ZMO2 = TAB1.'RECOMBINAISON_DIRECTIONS' ; 232 : 'SI' ( 'EGA' ZMO2 'QUADRATIQUE' ); 233 : ZIRDIR = 1 ; 234 : 'SINON' ; 235 : 'MESSAGE' 'ERREUR DE DONNEE POUR LA COMBINAISON DES DIRECTIONS' ; 236 : 'ERREUR' 'PROC_SISSI' ; 237 : 'FINSI' ; 238 : 'SINON'; 239 : 'MESSAGE' 'IL FAUT DONNER UNE REGLE DE COMBINAISON DES DIRECTIONS' ; 240 : 'ERREUR' 'PROC_SISSI' ; 241 : 'FINSI' ; 242 : * 243 : * VERIFICATION DES AMORTISSEMENTS 244 : * 245 : LAM1 = TAB1.'AMORTISSEMENT' ; 246 : ZAMAX1 = 'MAXI' LAM1 ; 247 : ZAMIN1 = 'MINI' LAM1 ; 248 : * 249 : ZI = 0 ; 250 : 'REPETER' ZLOOP3 ZNDIR; 251 : ZI = ZI '+' 1 ; 252 : ZLASP = ZTAB2.ZI.'AMORTISSEMENT' ; 253 : ZAMX1 = 'MAXI' ZLASP ; 254 : ZAMN1 = 'MINI' ZLASP ; 255 : * 256 : 'SI' ( ( ZAMAX1 '>' ZAMX1 ) 'OU' ( ZAMIN1 '<' ZAMN1 ) ) ; 257 : 'MESSAGE' 'AMORTISSEMENT STRUCTURE INCOMPATIBLE AVEC'; 258 : 'MESSAGE' 'AMORTISSEMENT DES SPECTRES DU SEISME' ; 259 : 'ERREUR' 'PROC_SISSI' ; 260 : 'FINSI' ; 261 : * 262 : 'FIN' ZLOOP3 ; 263 : * 264 : * CREATION DES RAPPORTS Q/M ET Q/MW2 265 : * 266 : ZQSM = 'TABLE' 'FACTEUR_DE_PARTICIPATION' ; 267 : ZQSMW2 = 'TABLE' 'QSMW2' ; 268 : ZI = 0 ; 269 : 'REPETER' ZLOOP4 ZNMOD ; 270 : ZI = ZI '+' 1 ; 271 : ZFR = ZTMOD.ZI.'FREQUENCE' ; 272 : ZMG = ZTMOD.ZI.'MASSE_GENERALISEE' ; 273 : ZOMEG = Z2PI '*' ZFR ; 274 : ZOMEG2 = ZOMEG '*' ZOMEG ; 275 : * 276 : ZQSMI = 'TABLE' 'QSM' ; 277 : ZQSMW2I = 'TABLE' 'QSMW2' ; 278 : ZQSM.ZI = ZQSMI ; 279 : ZQSMW2.ZI = ZQSMW2I ; 280 : ZNQ = 3 ; 281 : ZDI = 0 ; 282 : 'REPETER' ZLOOP5 ZNQ ; 283 : ZDI = ZDI '+' 1 ; 284 : ZQ = ZTMOD.ZI.'DEPLACEMENTS_GENERALISES'.ZDI ; 285 : ZQSMI.ZDI = ZQ '/' ZMG ; 286 : ZQSMW2I.ZDI = ZQ '/' ( ZMG '*' ZOMEG2 ) ; 287 : 'FIN' ZLOOP5 ; 288 : 'FIN' ZLOOP4 ; 289 : * 290 : * ACCELERATION MAXIMALE DU SEISME 291 : * 292 : ZTGAM = 'TABLE' 'ACCELERATION_MAXIMALE' ; 293 : ZDIR = 0 ; 294 : 'REPETER' ZLOOP60 ZNDIR ; 295 : ZDIR = ZDIR '+' 1 ; 296 : 'SI' ( 'EXISTE' ( TAB1.'EXCITATION'.ZNDIR ) 297 : 'ACCELERATION_MAXIMALE' ) ; 298 : ZTGAM.ZDIR = TAB1.'EXCITATION'.ZNDIR.'ACCELERATION_MAXIMALE' ; 299 : 'SINON' ; 300 : ZEVSPI = TAB1.'EXCITATION'.ZDIR.'SPECTRE' ; 301 : ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZUN1 ; 302 : ZPTSP = 'DIME' ZLSPI ; 303 : ZTGAM.ZDIR = 'EXTRAIRE' ZLSPI ZPTSP ; 304 : 'FINSI' ; 305 : 'FIN' ZLOOP60 ; 306 : * 307 : * INITIALISATION DE LA TABLE DES RESULTATS 308 : * 309 : TRESU = 'TABLE' 'RESULATS' ; 310 : * 311 : * DETERMINATION DES VALEURS DES SPECTRES POUR CHAQUE MODE 312 : * ET CHAQUE DIRECTION 313 : * 314 : 'SI' ( ZIREP 'EGA' 1 ) ; 315 : ZTSPEC = TAB1.'REPRISE'.'SPECTRE' ; 316 : 'SINON' ; 317 : ZTSPEC = 'TABLE' 'SPECTRE' ; 318 : ZTREP = 'TABLE' 'REPRISE' ; 319 : ZTREP.'SPECTRE' = ZTSPEC ; 320 : TRESU.'REPRISE' = ZTREP ; 321 : * 322 : ZI = 0 ; 323 : 'REPETER' ZLOOP1 ZNMOD ; 324 : ZI = ZI '+' 1 ; 325 : ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; 326 : ZFR = ZTMOD.ZI.'FREQUENCE' ; 327 : ZDI = 0; 328 : ZTSPD = 'TABLE' 'SPEC_D' ; 329 : ZTSPEC.ZI = ZTSPD ; 330 : 'REPETER' ZLOOP10 ZNDIR ; 331 : ZDI = ZDI '+' 1 ; 332 : ZEVSPI = TAB1.'EXCITATION'.ZDI.'SPECTRE' ; 333 : ZLAMSPI = TAB1.'EXCITATION'.ZDI.'AMORTISSEMENT' ; 334 : ZNAM = 'DIME' ZLAMSPI ; 335 : 'SI' ( ZNAM 'EGA' 1 ) ; 336 : ZAMSP = 'EXTRAIRE' ZLAMSPI ZUN1 ; 337 : 'SI' ( ( 'ABS' ( ZXSI '-' ZAMSP) ) '<EG' 1.E-4 ) ; 338 : ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZUN1 ; 339 : ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZUN1 ; 340 : ZTSPD.ZDI = 'EXP' ( 'IPOL' ( 'LOG' ZFR ) 341 : ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) ); 342 : 'SINON' ; 343 : 'MESSAGE' 'ERREUR DANS LES AMORTISSEMENTS' ; 344 : 'ERREUR' 'PROC_SISSI' ; 345 : 'FINSI' ; 346 : 'SINON' ; 347 : ZLSPAM = 'PROG' ZNAM '*' 0.; 348 : ZIAM = 0 ; 349 : 'REPETER' ZLOOP11 ZNAM ; 350 : ZIAM = ZIAM '+' 1 ; 351 : ZLFRI = 'EXTRAIRE' ZEVSPI 'ABSC' ZIAM ; 352 : ZLSPI = 'EXTRAIRE' ZEVSPI 'ORDO' ZIAM ; 353 : 'REMPLACER' ZLSPAM ZIAM ('EXP' ( 'IPOL' ( 'LOG' ZFR ) 354 : ( 'LOG' ZLFRI ) ( 'LOG' ZLSPI ) ) ) ; 355 : 'FIN' ZLOOP11 ; 356 : ZTSPD.ZDI = 'IPOL' ZXSI ZLAMSPI ZLSPAM ; 357 : 'FINSI' ; 358 : 'FIN' ZLOOP10 ; 359 : 'FIN' ZLOOP1 ; 360 : 'FINSI' ; 361 : * 362 : * CALCUL DES COEFFICIENTS DE CORELATION ENTRE MODES 363 : * SELON LES TYPES DE COMBINAISON SOUHAITEES 364 : * 365 : 'SI' ( ZIREP 'EGA' 1 ) ; 366 : ZTPIJ = TAB1.REPRISE.'PIJ' ; 367 : 'SINON'; 368 : ZTPIJ = 'TABLE' 'COEFF' ; 369 : ZTREP.'PIJ' = ZTPIJ ; 370 : ZI = 0 ; 371 : 'REPETER' ZLOOP20 ZNMOD ; 372 : ZI = ZI '+' 1 ; 373 : ZTPI = 'TABLE' 'COEFF_I' ; 374 : ZTPIJ.ZI = ZTPI ; 375 : ZTPI.ZI = 1.0 ; 376 : * 377 : 'SI' ( ZI 'NEG' 1 ) ; 378 : ZNJ = ZI '-' 1 ; 379 : ZJ = 0 ; 380 : 'REPETER' ZLOOP21 ZNJ ; 381 : ZJ = ZJ '+' 1 ; 382 : ZMREC = TAB1.'RECOMBINAISON_MODES'; 383 : ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; 384 : ZFRI = ZTMOD.ZI.'FREQUENCE' ; 385 : ZOMEGI = Z2PI '*' ZFRI ; 386 : ZXSJ = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZJ ; 387 : ZFRJ = ZTMOD.ZJ.'FREQUENCE' ; 388 : ZOMEGJ = Z2PI '*' ZFRJ ; 389 : 'SI' ( 'EGA' ZMREC 'SRSS' ) ; 390 : ZTPI.ZJ = 0. ; 391 : 'SINON'; 392 : 'SI' ( 'EGA' ZMREC 'CQC' ) ; 393 : ZOM2I = ZOMEGI '*' ZOMEGI ; 394 : ZOM2J = ZOMEGJ '*' ZOMEGJ ; 395 : Z1 = 8.0 '*' ( ( ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ ) 396 : '**' 0.5 ) ; 397 : Z2 = ZOMEGI '*' ZOMEGJ ; 398 : Z3 = ( ZOM2I - ZOM2J ) '**' 2 ; 399 : Z4 = 4. '*' ZXSI '*' ZXSJ '*' ZOMEGI '*' ZOMEGJ 400 : '*' ( ZOM2I '+' ZOM2J ) ; 401 : Z5 = 4. '*' ( ( ZXSI '**' 2 ) '+' ( ZXSJ '**' 2 ) ) 402 : '*' ZOM2I '*' ZOM2J ; 403 : Z6 = ( ZXSI '*' ZOMEGI ) '+' ( ZXSJ '*' ZOMEGJ ) ; 404 : ZTPI.ZJ = Z1 '*' Z6 '*' Z2 '/' ( Z3 '+' Z4 '+' Z5 ) ; 405 : 'SINON' ; 406 : 'SI' ( 'EGA' ZMREC 'ROSENBLUETH' ) ; 407 : 'SI' ( 'EXISTE' TAB1 'DUREE' ) ; 408 : ZTDUR = TAB1.'DUREE' ; 409 : ZEPSI = ZXSI '+' ( 2. / ( ZOMEGI '*' ZTDUR ) ) ; 410 : ZEPSJ = ZXSJ '+' ( 2. / ( ZOMEGJ '*' ZTDUR ) ) ; 411 : ZFR1I = ZFRI '*' ( ( 1. '-' 412 : ( ZEPSI '*' ZEPSI ) ) '**' 0.5 ) ; 413 : ZFR1J = ZFRJ '*' ( ( 1. '-' 414 : ( ZEPSJ '*' ZEPSJ ) ) '**' 0.5 ) ; 415 : ZALF = ( ZFR1I '-' ZFR1J ) '/' ( ( ZFRI '*' ZEPSI ) 416 : '+' ( ZFRJ '*' ZEPSJ ) ) ; 417 : ZTPI.ZJ = 1. '/' ( 1. '+' ( ZALF '*' ZALF ) ) ; 418 : 'SINON' ; 419 : 'MESSAGE' 'POUR LA METHODE DE ROSENBLUETH DONNER' ; 420 : 'MESSAGE' 'LA DUREE DU SIGNAL' ; 421 : 'ERREUR' 'PROC_SISSI' ; 422 : 'FINSI' ; 423 : 'SINON' ; 424 : 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ; 425 : ZDELT = 'ABS' ( 2. '*' ( ZFRJ '-' ZFRI ) '/' 426 : ( ZFRJ '+' ZFRI ) ) ; 427 : 'SI' ( ZDELT '<EG' 0.1 ) ; 428 : ZTPI.ZJ = 1. ; 429 : 'SINON'; 430 : ZTPI.ZJ = 0. ; 431 : 'FINSI'; 432 : 'SINON' ; 433 : 'MESSAGE' 'ERREUR DE DONNEES POUR LA REGLE' ; 434 : 'MESSAGE' 'DE COMBINAISON DE MODES' ; 435 : 'ERREUR' 'PROC_SISSI' ; 436 : 'FINSI' ; 437 : 'FINSI' ; 438 : 'FINSI' ; 439 : 'FINSI' ; 440 : 'FIN' ZLOOP21; 441 : 'FINSI' ; 442 : 'FIN' ZLOOP20 ; 443 : 'FINSI'; 444 : * 445 : * 446 : * --------------------------------------------------------------- 447 : * +++++++++++++++ CALCUL DE LA REPONSE +++++++++++++++++ 448 : * --------------------------------------------------------------- 449 : * 450 : * REDUCTION DES DONNEES MODALES SUR LE DOMAINE D'ETUDE 451 : * 452 : ZTDEPL = 'TABLE' 'DEF_MOD' ; 453 : ZTCONT = 'TABLE' 'CONT_MOD' ; 454 : ZI = 0 ; 455 : 'REPETER' ZLOOP30 ZNMOD ; 456 : ZI = ZI '+' 1 ; 457 : ZPHI = ZTMOD.ZI.'DEFORMEE_MODALE' ; 458 : * 459 : * AJOUT DU TEST SUR LA NECESSITE D AVOIR LES CONTRAINTES MODALES 460 : * POUR LE CALCUL DE REPONSE F. PICARD LE 24 MAI 1993 461 : * 462 : 'SI' ( 'EGA' ZDOM1 0 ) ; 463 : 'SI' ( 'EGA' ZI 1 ) ; 464 : ZMAI1 = 'EXTRAIRE' ZPHI 'MAIL' 'NOMU' ; 465 : 'FINSI' ; 466 : 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ; 467 : ZTDEPL.ZI = ZPHI ; 468 : 'FINSI'; 469 : 'SI' ( 'EGA' ZICONT 1 ) ; 470 : ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE'; 471 : ZTCONT.ZI = ZCON ; 472 : 'FINSI' ; 473 : 'SINON' ; 474 : 'SI' ( ( 'EGA' ZIDEPL 1 ) 'OU' ( 'EGA' ZIACCE 1 ) ) ; 475 : ZTDEPL.ZI = 'REDU' ZPHI ZMAI1 ; 476 : 'FINSI'; 477 : 'SI' ( 'EGA' ZICONT 1 ) ; 478 : ZCON= ZTMOD.ZI.'CONTRAINTE_MODALE'; 479 : ZTCONT.ZI = 'REDU' ZCON ZOB1 ; 480 : 'FINSI' ; 481 : 'FINSI' ; 482 : 'FIN' ZLOOP30 ; 483 : * 484 : * REDUCTION DES PSEUDOMODES ET VERIFICATION DES DONNEES 485 : * 486 : 'SI' ZPSEU ; 487 : ZDIR = 0 ; 488 : ZDI0 = 0; 489 : 'REPETER' ZLOO101 ZNDIR ; 490 : ZDIR = ZDIR '+' 1 ; 491 : ZMORES = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 492 : 'SI' ( 'EGA' ZMORES 'X' ) ; 493 : ZDI = 1 ; 494 : MODI = 'MOT' 'UX' ; 495 : 'FINSI' ; 496 : 'SI' ( 'EGA' ZMORES 'Y' ) ; 497 : ZDI = 2 ; 498 : MODI = 'MOT' 'UY' ; 499 : 'FINSI' ; 500 : 'SI' ( 'EGA' ZMORES 'Z' ) ; 501 : ZDI = 3 ; 502 : MODI = 'MOT' 'UZ' ; 503 : 'FINSI' ; 504 : 'SI' ( 'EXISTE' ZTPSEU ZDI ) ; 505 : ZTPSEUD = ZTPSEU.ZDI ; 506 : 'SI' ( 'EGA' ZDOM1 1 ) ; 507 : 'SI' ( 'EGA' ZIDEPL 1 ) ; 508 : ZCH2 = ZTPSEUD.'DEPLACEMENT' ; 509 : ZTPSEUD.'DEPLACEMENT' = 'REDU' ZCH2 ZMAI1 ; 510 : 'FINSI' ; 511 : 'SI' ( 'EGA' ZICONT 1) ; 512 : ZCO2 = ZTPSEUD.'CONTRAINTE' ; 513 : ZTPSEUD.'CONTRAINTE' = 'REDU' ZCO2 ZOB1 ; 514 : 'FINSI' ; 515 : 'FINSI' ; 516 : 'SINON' ; 517 : 'MESS' 'IL MANQUE LE PSEUDOMODE RELATIF A LA DIRECTION : ' ZMORES ; 518 : 'ERREUR' 'PROC_SISSI' ; 519 : 'FINSI' ; 520 : 'FIN' ZLOO101 ; 521 : 'FINSI' ; 522 : * 523 : * REPONSE PAR DIRECTION 524 : * 525 : * AJOUT DE TEST POUR LE CAS D UN SEISME MONODIRECTIONNEL OU BIDIRECTIONNEL 526 : * F. PICARD LE 24 MAI 1993 527 : * 528 : ZDIR = 0 ; 529 : ZDI0 = 0; 530 : 'REPETER' ZLOOP35 ZNDIR ; 531 : ZDIR = ZDIR '+' 1 ; 532 : ZMORES = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 533 : TRESDIR = 'TABLE' 'RESULTATS_DIRECTIONS' ; 534 : TRESU.ZMORES = TRESDIR ; 535 : *------------------------------------------------------------ 536 : * mise a jour pour prise en compte correcte des accelerations 537 : * F PICARD le 15 decembre 1993 538 : *------------------------------------------------------------ 539 : 'SI' ( 'EGA' ZMORES 'X' ) ; 540 : ZDI = 1 ; 541 : MODI = 'MOT' 'UX' ; 542 : 'FINSI' ; 543 : 'SI' ( 'EGA' ZMORES 'Y' ) ; 544 : ZDI = 2 ; 545 : MODI = 'MOT' 'UY' ; 546 : 'FINSI' ; 547 : 'SI' ( 'EGA' ZMORES 'Z' ) ; 548 : ZDI = 3 ; 549 : MODI = 'MOT' 'UZ' ; 550 : 'FINSI' ; 551 : *----- fin mise a jour --------------* 552 : ZSOR = 0 ; 553 : 'REPETER' ZLOOP36 ZNSOR ; 554 : ZSOR = ZSOR '+' 1 ; 555 : ZMOSOR = 'MOT' ZTABSOR . ZSOR ; 556 : 'SI' ( ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) 557 : 'OU' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ) ; 558 : ZREP = ZTDEPL.ZUN1 '*' 0. ; 559 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 560 : ZVMOD = 'VALE' 'MODE' ; 561 : 'SI' ( 'EGA' ZVMOD 'FOUR' ) ; 562 : 'SI' ( 'EGA' MODI 'UX' ); 563 : ZU = 'MANU' 'CHPO' ZMAI1 2 'UR' 1.0 'UT' -1. 564 : 'NATURE' 'DIFFUS' ; 565 : 'FINSI' ; 566 : 'SI' ( 'EGA' MODI 'UY' ); 567 : ZU = 'MANU' 'CHPO' ZMAI1 2 'UR' 1.0 'UT' 1. 568 : 'NATURE' 'DIFFUS' ; 569 : 'FINSI' ; 570 : 'SINON' ; 571 : 'SI' ( ( 'EGA' ZVMOD 'AXIS' ) 'ET' 572 : ( ( 'EGA' MODI 'UX' ) 'OU' ( 'EGA' MODI 'UY' ) ) ); 573 : 'MESS' 'UNE STRUCTURE AXISYMETRIQUE N EST EXCITABLE' 574 : ' QUE PAR UN SEISME VERTICAL' ; 575 : 'ERREUR' 'PROC_SISSI' ; 576 : 'FINSI' ; 577 : ZU = 'MANU' 'CHPO' ZMAI1 1 MODI 1.0 'NATURE' 'DIFFUS' ; 578 : 'FINSI'; 579 : ZTRON = ZU ; 580 : ZK = 0 ; 581 : 'REPETER' ZLOOP38 ZNMOD ; 582 : ZK = ZK '+' 1 ; 583 : ZTRON = ZTRON '-' ( ZQSM.ZK.ZDI '*' ZTDEPL.ZK ) ; 584 : 'FIN' ZLOOP38 ; 585 : 'FINSI' ; 586 : 'FINSI'; 587 : 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; 588 : ZREP = ZTCONT.ZUN1 '*' 0. ; 589 : 'FINSI' ; 590 : 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; 591 : ZREP = ZTMOD.ZUN1.'REACTION_MODALE' '*' 0. ; 592 : 'FINSI' ; 593 : ZI = 0 ; 594 : 'REPETER' ZLOOP37 ZNMOD ; 595 : ZI = ZI '+' 1 ; 596 : * 597 : *ON ASSOCIE LES BONS QN AUX BONNES DIRECTIONS DE SEISME 598 : * 599 : 'SI' ('EGA' ZMORES 'X'); 600 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.1; 601 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 602 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.1 ; 603 : 'FINSI' ; 604 : 'FINSI'; 605 : 'SI' ('EGA' ZMORES 'Y'); 606 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.2; 607 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 608 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.2 ; 609 : 'FINSI' ; 610 : 'FINSI'; 611 : 'SI' ('EGA' ZMORES 'Z'); 612 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSMW2.ZI.3; 613 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 614 : ZCOEFI = ZTSPEC.ZI.ZDIR '*' ZQSM.ZI.3 ; 615 : 'FINSI' ; 616 : 'FINSI'; 617 : ****** PARTIE SRSS ON Y PASSE TOUJOURS ****** 618 : 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; 619 : ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' 620 : ( ZTDEPL.ZI '**' 2 ) ); 621 : 'FINSI' ; 622 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 623 : ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' 624 : ( ZTDEPL.ZI '**' 2 ) ) ; 625 : 'FINSI'; 626 : 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; 627 : ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' 628 : ( ZTCONT.ZI '*' ZTCONT.ZI ) ) ; 629 : 'FINSI' ; 630 : 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; 631 : ZREI = ZTMOD.ZI.'REACTION_MODALE' ; 632 : ZREP = ZREP '+' ( ( ZCOEFI '*' ZCOEFI ) '*' 633 : ( ZREI '**' 2 ) ) ; 634 : 'FINSI' ; 635 : ****** TRAITEMENT DES DIFFERENTES METHODES DE RECOMBINAISON *********** 636 : ZMREC = TAB1.'RECOMBINAISON_MODES'; 637 : 638 : 'SI' ( ( 'NEG' ZMREC 'SRSS' ) 'ET' ( ZI >EG 2 ) ) ; 639 : ZJ = 0 ; 640 : 'REPETER' ZLOOP40 ( ZI '-' 1 ) ; 641 : ZJ = ZJ '+' 1 ; 642 : ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSMW2.ZJ.ZDI ; 643 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 644 : ZCOEFJ = ZTSPEC.ZJ.ZDIR '*' ZQSM.ZJ.ZDI ; 645 : 'FINSI' ; 646 : 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; 647 : ZCH1 = MULC ZTDEPL.ZI ZTDEPL.ZJ ; 648 : ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' 649 : ZCH1 ; 650 : 'FINSI' ; 651 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 652 : ZCH2 = MULC ZTDEPL.ZI ZTDEPL.ZJ ; 653 : ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' 654 : ZCH2 ; 655 : 'FINSI'; 656 : 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; 657 : ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' 658 : ( ZTCONT.ZI '*' ZTCONT.ZJ ) ; 659 : 'FINSI' ; 660 : 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; 661 : ZREI = ZTMOD.ZI.'REACTION_MODALE' ; 662 : ZREJ = ZTMOD.ZJ.'REACTION_MODALE' ; 663 : ZCH3 = MULC ZREI ZREJ ; 664 : ZREPC = 2. '*' ZTPIJ.ZI.ZJ '*' ( ZCOEFI '*' ZCOEFJ ) '*' 665 : ZCH3 ; 666 : 'FINSI' ; 667 : 'SI' ( 'EGA' ZMREC 'DIX_POUR_CENT' ) ; 668 : ZREPC = 'ABS' ZREPC ; 669 : 'FINSI'; 670 : 'SI' ( 'EGA' ZJ 1 ) ; 671 : ZREPCT = ZREPC ; 672 : 'SINON' ; 673 : ZREPCT = ZREPCT '+' ZREPC ; 674 : 'FINSI' ; 675 : 'FIN' ZLOOP40 ; 676 : ZREP = ZREP '+' ZREPCT ; 677 : 'FINSI' ; 678 : 'FIN' ZLOOP37 ; 679 : ****** ACCELERATION TERME COMPLEMENTAIRE ******** 680 : 'SI' ( 'EGA' ZMOSOR 'ACCELERATIONS' ) ; 681 : GAMA0 = ZTGAM.ZDIR ; 682 : ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) 683 : '*' ( ZTRON '**' 2 ) ) ; 684 : 'FINSI' ; 685 : ****** ON RAJOUTE LES PSEUDOMODES ******** 686 : 'SI' ZPSEU ; 687 : GAMA0 = ZTGAM.ZDIR ; 688 : 'SI' ( 'EGA' ZMOSOR 'DEPLACEMENTS' ) ; 689 : ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) 690 : * ( ZTPSEU.ZDI.'DEPLACEMENT' '**' 2 ) ) ; 691 : 'FINSI' ; 692 : 'SI' ( 'EGA' ZMOSOR 'CONTRAINTES' ) ; 693 : ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) 694 : * ( ZTPSEU.ZDI.'CONTRAINTE' '**' 2 ) ) ; 695 : 'FINSI' ; 696 : 'SI' ( 'EGA' ZMOSOR 'REACTIONS' ) ; 697 : ZREP = ZREP '+' ( ( GAMA0 '*' GAMA0 ) 698 : * ( ZTPSEU.ZDI.'REACTION' '**' 2 ) ) ; 699 : 'FINSI' ; 700 : 'FINSI' ; 701 : ****** ECRITURE DNS LA TABLE DE RESULTATS ******* 702 : ZREP = ( 'ABS' ZREP ) '**' 0.5 ; 703 : TRESDIR.ZMOSOR = ZREP ; 704 : 'FIN' ZLOOP36 ; 705 : 'FIN' ZLOOP35 ; 706 : * 707 : * ***** COMBINAISON DES DIRECTIONS ****** 708 : * 709 : TREST = 'TABLE' 'RESULTATS_TOTAUX' ; 710 : TRESU.'REPONSE_TOTALE' = TREST ; 711 : 'SI' ( 'EGA' TAB1.'RECOMBINAISON_DIRECTIONS' 'QUADRATIQUE' ) ; 712 : ZSOR = 0 ; 713 : 'REPETER' ZLOOP50 ZNSOR ; 714 : ZSOR = ZSOR '+' 1 ; 715 : ZMOSOR = 'MOT' ZTABSOR . ZSOR ; 716 : ZDIR = 0 ; 717 : 'REPETER' ZLOOP51 ZNDIR ; 718 : ZDIR = ZDIR '+' 1 ; 719 : ZMORES = TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 720 : 'SI' ( 'EGA' ZDIR 1 ) ; 721 : ZREPT = TRESU.ZMORES.ZMOSOR '**' 2 ; 722 : 'SINON' ; 723 : ZREPT = ZREPT '+' ( TRESU.ZMORES.ZMOSOR '**' 2 ) ; 724 : 'FINSI' ; 725 : 'FIN' ZLOOP51 ; 726 : TREST.ZMOSOR = ZREPT '**' 0.5 ; 727 : 'FIN' ZLOOP50 ; 728 : 'FINSI' ; 729 : * 730 : * 731 : * IMPRESSION DES RESULTATS 732 : * 733 : ZIMPR = FAUX ; 734 : 'SI' ( 'EXISTE' TAB1 'IMPRESSION' ) ; 735 : ZIMPR1 = TAB1.'IMPRESSION' ; 736 : ZTYP2 = 'TYPE' ZIMPR1 ; 737 : 'SI' ( 'EGA' ZTYP2 'LOGIQUE ' ) ; 738 : ZIMPR = ZIMPR1 ; 739 : 'SINON' ; 740 : 'MESSAGE' 'A L INDICE IMPRESSION IL FAUT DONNER ' 741 : 'UN OBJET DE TYPE LOGIQUE' ; 742 : 'ERREUR' 'PROC_SISSI' ; 743 : 'FINSI' ; 744 : * 745 : 'FINSI' ; 746 : 'SI' ZIMPR ; 747 : 'SAUTE' 20 'LIGNE' ; 748 : 'MESS' ' |-------------------------------------------|' ; 749 : 'MESS' ' | RESULTATS DE LA PROCEDURE S I S S I |' ; 750 : 'MESS' ' |___________________________________________|' ; 751 : 'SAUTE' 5 'LIGNE' ; 752 : * 753 : 'MESS' ' VALEUR DU SPECTRE' ; 754 : 'MESS' ' -----------------' ; 755 : 'SAUTE' 2 'LIGNE' ; 756 : ZI = 0 ; 757 : 'REPETER' ZLOOP60 ZNMOD ; 758 : ZI = ZI '+' 1 ; 759 : ZFI = ZTMOD.ZI.'FREQUENCE' ; 760 : ZXSI = 'EXTRAIRE' TAB1.'AMORTISSEMENT' ZI ; 761 : 'MESS' 'MODE NUMERO : ' ZI ' FREQUENCE : ' ZFI 'HZ' 762 : ' AMORTISSEMENT : ' ZXSI ; 763 : ZDIR = 0 ; 764 : 'REPETER' ZLOOP61 ZNDIR ; 765 : ZDIR = ZDIR '+' 1 ; 766 : ZMODIR = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 767 : 'MESS' ' SPECTRE ' ZMODIR ' : ' 768 : TRESU.'REPRISE'.'SPECTRE'.ZI.ZDIR ; 769 : 'FIN' ZLOOP61 ; 770 : 'SAUTE' 2 'LIGNE' ; 771 : 'FIN' ZLOOP60 ; 772 : * 773 : * 774 : 'SAUTE' 5 'LIGNE' ; 775 : 'MESS' ' COEFFICIENTS DE CORRELATION ENTRE MODES' ; 776 : 'MESS' ' ---------------------------------------' ; 777 : 'SAUTE' 2 'LIGNE' ; 778 : ZI = 1 ; 779 : 'REPETER' ZLOOP62 ( ZNMOD '-' 1 ) ; 780 : ZI = ZI '+' 1 ; 781 : ZJ = 0 ; 782 : 'REPETER' ZLOOP63 ( ZI '-' 1 ) ; 783 : ZJ = ZJ '+' 1 ; 784 : 'MESS' ' I' ZI 'J' ZJ 'PIJ' TRESU.'REPRISE'.'PIJ'.ZI.ZJ ; 785 : 'FIN' ZLOOP63 ; 786 : 'SAUT' 4 'LIGNE' ; 787 : 'FIN' ZLOOP62 ; 788 : * 789 : * 790 : ZDIR = 0; 791 : 'REPETER' ZLOOP64 ZNDIR ; 792 : ZDIR = ZDIR '+' 1 ; 793 : ZMODIR = 'MOT' TAB1.'EXCITATION'.ZDIR.'DIRECTION' ; 794 : 'MESS' ' DIRECTION ' ZDIR ' : ' ZMODIR ; 795 : 'MESS' ' -------------------------------' ; 796 : 'SAUTE' 2 'LIGNE' ; 797 : ZSOR = 0 ; 798 : 'REPETER' ZLOOP65 ZNSOR ; 799 : ZSOR = ZSOR '+' 1 ; 800 : ZMOSOR = 'MOT' ZTABSOR . ZSOR ; 801 : 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ; 802 : 'MESS' '++++++++++++++++++++++++++++++++' ; 803 : 'LIST' TRESU.ZMODIR.ZMOSOR ; 804 : 'FIN' ZLOOP65 ; 805 : 'FIN' ZLOOP64 ; 806 : * 807 : * 808 : ZSOR = 0 ; 809 : 'MESS' ' REPONSE COMBINEE TOUTES DIRECTIONS D EXCITATION' ; 810 : 'MESS' ' -----------------------------------------------' ; 811 : 'SAUTE' 2 'LIGNE' ; 812 : 'REPETER' ZLOOP66 ZNSOR ; 813 : ZSOR = ZSOR '+' 1 ; 814 : ZMOSOR = 'MOT' ZTABSOR . ZSOR ; 815 : 'MESS' 'GRANDEUR ' ZSOR ' : ' ZMOSOR ; 816 : 'MESS' '++++++++++++++++++++++++++++++++' ; 817 : 'LIST' TRESU.'REPONSE_TOTALE'.ZMOSOR ; 818 : 'FIN' ZLOOP66 ; 819 : * 820 : 'FINSI' ; 821 : * 822 : 'MENAGE' ; 823 : * 824 : 'FINPROC' TRESU ; 825 : 826 :
© Cast3M 2003 - All rights reserved.
Disclaimer