1 : * BALOURD PROCEDUR DC 04/07/09 21:15:09 4841 2 : ************************************************************************* 3 : * 4 : * 5 : * Procédure BALOURD 6 : * 7 : * Calcule la réponse à un balourd 8 : * 9 : * 10 : ************************************************************************* 11 : * 12 : * INPUT 13 : * 14 : * 15 : * PRFREQ: LISTREEL contenant les fréquences de rotation pour lesquelles 16 : * on calcule la réponse au balourd 17 : * 18 : * TAB1 Table contenant: 19 : * 20 : * TAB1.'BASE_MODALE': Table contenant la base de modes réels utilisées 21 : * (table générée par VIBR avec l'option TBAS) 22 : * 23 : * Les matrices de masse, de raideur,d'amortissement et de couplage gyroscopiqu 24 : * peuvent être données déjà projetées sur la base de modes réels ou non: 25 : * 26 : * TAB1.'MASS_PROJ': Matrice de masse projetée sur les modes réels utilisés 27 : * TAB1.'MASSE': Matrice de masse 28 : * 29 : * TAB1.'RIGI_PROJ': Matrice de rigidité projetée sur les modes réels utilisés 30 : * TAB1.'RIGIDITE': Matrice de rigidité 31 : * 32 : * TAB1.'BLOC_PROJ': Conditions aux limites projetée sur les modes réels utilis 33 : * TAB1.'BLOCAGE': Conditions aux limites 34 : * 35 : * 36 : * TAB1.'AMOR_PROJ': Matrice d'amortissement projetée sur les modes réels utili 37 : * TAB1.'AMORTISSEMENT': Matrice d'amortissement 38 : * 39 : * TAB1.'KROT_PROJ': Matrice de raideur antisymétrique due à l'amortissement co 40 : * projetée sur les modes réels utilisés 41 : * TAB1.'KROTATIF': Matrice de raideur antisymétrique due à l'amortissement cor 42 : * 43 : * TAB1.'GYRO_PROJ': Matrice de couplage gyrsocopique projetée sur les modes ré 44 : * TAB1.'GYROSCOPIQUE': Matrice de couplage gyrsocopique pour une vitesse de ro 45 : * La matrice de couplage gyroscopique doit être donnée 46 : * pour une vitesse de rotation de 1 rad/s 47 : * 48 : * La force de balourd peut être définie de plusieurs façon 49 : * 50 : * 1- La force de balourd réelle est donnée 51 : * et la procédure calcule automatiquement la partie imaginaire nécessaire au 52 : * en supposant l'axe de l'arbre tournant orienté suivant l'axe Ox et tournan 53 : * une vitesse positive 54 : * 55 : * TAB1.'FBALOURD': Force de balourd pour une vitesse de rotation unité 56 : * La force de balourd doit être donnée pour une vitesse de rotation de 1 rad 57 : * 58 : * TAB1.'VROTATION': CHPO défini sur les mêmes points que la force de balourd 59 : * et donnant la direction du vecteur rotation (composante du CHPO: RX RY RZ) 60 : * Par défaut, vecteur Ox. Ce vecteur permet de calculer la partie imaginaire 61 : * du vecteur force de balourd. 62 : * 63 : * 2- L'utilisateur donne directement la partie réelle et la partie imaginaire 64 : * utilisés pour la calcul (projetée ou non sur la base modale utilisée) 65 : * 66 : * TAB1.'FBAR_PROJ': Force de balourd réelle projetée sur les modes réels utili 67 : * TAB1.'FBAI_PROJ': Force de balourd imaginaire projetée sur les modes réels u 68 : * 69 : * TAB1.'FBALREEL': Force de balourd réelle pour une vitesse de rotation unité 70 : * La force de balourd doit être donnée pour une vitesse de rotation de 1 rad 71 : * TAB1.'FBALIMAG': Force de balourd imaginaire pour une vitesse de rotation un 72 : * La force de balourd doit être donnée pour une vitesse de rotation de 1 rad 73 : * 74 : * TAB1.'REPONSE' : Table contenant les i points où sont calculés les réponses 75 : * (TAB1.'REPONSE').i.'POINT': 76 : * 77 : * TAB1.'SAUVDEFO': Vrai si on veut sauver les déformées pour chaque réponse i 78 : * 79 : * 80 : * TAB1.'AFFICHAGE': VRAI si on veut afficher les fréquences de rotation au cou 81 : * 82 : * 83 : * OUTPUT 84 : * 85 : * 86 : * TAB1.'REPONSE' : Table contenant i indices 87 : * (TAB1.'REPONSE'). i . 'POINT': Points où sont calculés les réponses 88 : * Grandeurs données directement par l'inversion du système (pas de sens physi 89 : * (TAB1.'REPONSE'). i . 'UXREEL': Déplacement UX réel 90 : * (TAB1.'REPONSE'). i . 'UYREEL': Déplacement UY réel 91 : * (TAB1.'REPONSE'). i . 'UZREEL': Déplacement UZ réel 92 : * (TAB1.'REPONSE'). i . 'RXREEL': Rotation RX réel 93 : * (TAB1.'REPONSE'). i . 'RYREEL': Rotation RY réel 94 : * (TAB1.'REPONSE'). i . 'RZREEL': Rotation RZ réel 95 : * (TAB1.'REPONSE'). i . 'UXIMAG': Déplacement UX imaginaire 96 : * (TAB1.'REPONSE'). i . 'UYIMAG': Déplacement UY imaginaire 97 : * (TAB1.'REPONSE'). i . 'UZIMAG': Déplacement UZ imaginaire 98 : * (TAB1.'REPONSE'). i . 'RXIMAG': Rotation RX imaginaire 99 : * (TAB1.'REPONSE'). i . 'RYIMAG': Rotation RY imaginaire 100 : * (TAB1.'REPONSE'). i . 'RZIMAG': Rotation RZ imaginaire 101 : * 102 : * 103 : * 104 : * Grandeurs dans le repère de calcul 105 : * (TAB1.'REPONSE'). i . 'UX': Déplacement UX 106 : * (TAB1.'REPONSE'). i . 'UY': Déplacement UY 107 : * (TAB1.'REPONSE'). i . 'UZ': Déplacement UZ 108 : * (TAB1.'REPONSE'). i . 'RX': Rotation RX 109 : * (TAB1.'REPONSE'). i . 'RY': Rotation RY 110 : * (TAB1.'REPONSE'). i . 'RZ': Rotation RZ 111 : * (TAB1.'REPONSE'). i . 'GAXE': Déplacement maximum correspondant au gran 112 : * l'ellipse (trajectoire décrite) 113 : * (TAB1.'REPONSE'). i . 'PAXE': Déplacement maximum correspondant au pet 114 : * l'ellipse (trajectoire décrite) 115 : * 116 : * Déformées rélles et imaginaires pour chacune des fréquences 117 : * TAB1.'SAUVDEFO': Table qui contiendra les déformées pour chaque réponse i 118 : * (TAB1.'SAUVDEFO'). i.'FREQROTA' : Fréquence de rotation 119 : * (TAB1.'SAUVDEFO'). i. 'DEFORMEE_REELLE' : Déformée réelle 120 : * (TAB1.'SAUVDEFO'). i. 'DEFORMEE_IMAGINAIRE' : Déformée imaginaire 121 : * 122 : ************************************************************************ 123 : * 124 : DEBPROC BALOURD TAB1*TABLE PRFREQ*LISTREEL; 125 : * 126 : * 127 : ERR = VRAI; 128 : * 129 : Nfreq = dime PRFREQ; 130 : * 131 : 'SI' (EXISTE TAB1 'AFFICHAGE'); 132 : SI ((TAB1.'AFFICHAGE') EGA VRAI); 133 : TESTAF = TAB1.'AFFICHAGE'; 134 : SINON; 135 : TESTAF = FAUX; 136 : FINSI; 137 : 'SINON'; 138 : TESTAF = FAUX; 139 : 'FINSI'; 140 : * 141 : 'SI' (EXISTE TAB1 'PLAN_ELLIPSE'); 142 : 'SI' (EGA (TAB1.'PLAN_ELLIPSE') 'OXY'); 143 : PLANELLI = 'OXY'; 144 : 'SINON'; 145 : 'SI' (EGA (TAB1.'PLAN_ELLIPSE') 'OYZ'); 146 : PLANELLI = 'OYZ'; 147 : 'SINON'; 148 : 'SI' (EGA (TAB1.'PLAN_ELLIPSE') 'OXZ'); 149 : PLANELLI = 'OXZ'; 150 : 'SINON'; 151 : PLANELLI = 'OYZ'; 152 : 'FINSI'; 153 : 'FINSI'; 154 : 'FINSI'; 155 : 'SINON'; 156 : PLANELLI = 'OYZ'; 157 : 'FINSI'; 158 : * 159 : 'SI' (EXISTE TAB1 'SAUVDEFO'); 160 : SI ((TAB1.'SAUVDEFO') EGA VRAI); 161 : TESTDEFO = VRAI; 162 : TAB1.'SAUVDEFO' = TABLE; 163 : SINON; 164 : TESTDEFO = FAUX; 165 : FINSI; 166 : SINON; 167 : TESTDEFO = FAUX; 168 : FINSI; 169 : * 170 : 'SI' (EXISTE TAB1 'BASE_MODALE'); 171 : TESTMODE = VRAI; 172 : TBasR = TAB1.'BASE_MODALE'; 173 : 'SINON'; 174 : TESTMODE = FAUX; 175 : MESS 'Les calculs sont effectués sans projeter sur la base modale'; 176 : * MESS 'Il manque la base de modes réels dans TAB1'; 177 : * ERR = FAUX; 178 : 'FINSI'; 179 : * 180 : 'SI' (EXISTE TAB1 'REPONSE'); 181 : TabRep = TAB1.'REPONSE'; 182 : NPoiRep = DIME TabRep; 183 : 'SINON'; 184 : MESS 'Il manque la table TAB1.REPONSE'; 185 : ERR = FAUX; 186 : 'FINSI'; 187 : * 188 : 'SI' (EXISTE TAB1 'MASSE'); 189 : Mmas = TAB1.'MASSE'; 190 : SI TESTMODE; 191 : MMasP = PJBA TBasR MMas ; 192 : SINON; 193 : MMasP = MMas ; 194 : FINSI; 195 : 'SINON'; 196 : 'SI' (EXISTE TAB1 'MASS_PROJ'); 197 : MMasP = TAB1.'MASS_PROJ'; 198 : SI (NON TESTMODE); 199 : MESS 'Attention vous ne travaillez pas sur base modale'; 200 : ERR = FAUX; 201 : 'FINSI'; 202 : 'SINON'; 203 : MESS 'Il manque la matrice de masse dans TAB1'; 204 : ERR = FAUX; 205 : 'FINSI'; 206 : 'FINSI'; 207 : * 208 : 'SI' (EXISTE TAB1 'RIGIDITE'); 209 : MRig = TAB1.'RIGIDITE'; 210 : SI TESTMODE; 211 : MRigP = PJBA TBasR MRig ; 212 : SINON; 213 : MRigP = MRig ; 214 : FINSI; 215 : 'SINON'; 216 : 'SI' ((EXISTE TAB1 'RIGI_PROJ')); 217 : MRigP = TAB1.'RIGI_PROJ'; 218 : MRig = MRigP ; 219 : SI (NON TESTMODE); 220 : MESS 'Attention vous ne travaillez pas sur base modale'; 221 : ERR = FAUX; 222 : 'FINSI'; 223 : 'SINON'; 224 : MESS 'Il manque la matrice de rigidité dans TAB1'; 225 : ERR = FAUX; 226 : 'FINSI'; 227 : 'FINSI'; 228 : * 229 : 'SI' (EXISTE TAB1 'BLOCAGE'); 230 : BL0 = TAB1.'BLOCAGE'; 231 : SI TESTMODE; 232 : BL0P = PJBA TBasR BL0 ; 233 : SINON; 234 : BL0P = BL0 ; 235 : FINSI; 236 : 'SINON'; 237 : 'SI' ((EXISTE TAB1 'BLOC_PROJ')); 238 : BL0P = TAB1.'BLO_PROJ'; 239 : BL0 = BL0P ; 240 : SI (NON TESTMODE); 241 : MESS 'Attention vous ne travaillez pas sur base modale'; 242 : ERR = FAUX; 243 : 'FINSI'; 244 : 'SINON'; 245 : MESS 'Les blocages sont inclus dans la matrice de rigidite'; 246 : BL0P = 0.*MRigP; 247 : BL0 = 0.*MRig; 248 : 'FINSI'; 249 : 'FINSI'; 250 : * 251 : 'SI' (EXISTE TAB1 'AMORTISSEMENT'); 252 : MCam = TAB1.'AMORTISSEMENT'; 253 : SI TESTMODE; 254 : MCamP = PJBA TBasR MCam ; 255 : SINON; 256 : MCamP = MCam ; 257 : FINSI; 258 : 'SINON'; 259 : 'SI' ((EXISTE TAB1 'AMOR_PROJ')); 260 : MCamP = TAB1.'AMOR_PROJ'; 261 : SI (NON TESTMODE); 262 : MESS 'Attention vous ne travaillez pas sur base modale'; 263 : ERR = FAUX; 264 : 'FINSI'; 265 : 'SINON'; 266 : MESS 'La matrice d amortissement est prise nulle'; 267 : MCamP = 0.*MRigP; 268 : MCam = 0.*MRig; 269 : 'FINSI'; 270 : 'FINSI'; 271 : * 272 : 'SI' (EXISTE TAB1 'KROTATIF'); 273 : MCah = TAB1.'KROTATIF'; 274 : SI TESTMODE; 275 : MCahP = PJBA TBasR MCah ; 276 : SINON; 277 : MCahP = MCah ; 278 : FINSI; 279 : 'SINON'; 280 : 'SI' (EXISTE TAB1 'KROT_PROJ'); 281 : MCahP = TAB1.'KROT_PROJ'; 282 : 'SINON'; 283 : MESS 'Absence d amortissement corotatif'; 284 : MCahP = 0.* MRigP ; 285 : MCah = 0.* MRig ; 286 : 'FINSI'; 287 : 'FINSI'; 288 : * 289 : * 290 : 'SI' (EXISTE TAB1 'GYROSCOPIQUE'); 291 : MCG = TAB1.'GYROSCOPIQUE'; 292 : SI TESTMODE; 293 : MCGP = PJBA TBasR MCG ; 294 : SINON; 295 : MCGP = MCG ; 296 : FINSI; 297 : 'SINON'; 298 : 'SI' (EXISTE TAB1 'GYRO_PROJ'); 299 : MCGP = TAB1.'GYRO_PROJ'; 300 : SI (NON TESTMODE); 301 : MESS 'Attention vous ne travaillez pas sur base modale'; 302 : ERR = FAUX; 303 : 'FINSI'; 304 : 'SINON'; 305 : MESS 'La matrice de couplage gyroscopique est prise nulle'; 306 : MCGP = 0.*MRigP; 307 : MCG = 0.*MRig; 308 : 'FINSI'; 309 : 'FINSI'; 310 : * 311 : 'SI' (EXISTE TAB1 'FBALOURD'); 312 : FbalR = TAB1.'FBALOURD'; 313 : 'SI' (EXISTE TAB1 'VROTATION'); 314 : VecRotb = (TAB1.'VROTATION'); 315 : NVecrb = (((EXCO VecRotb RX SCAL)**2) 316 : + ((EXCO VecRotb RY SCAL)**2) 317 : + ((EXCO VecRotb RZ SCAL)**2))**0.5; 318 : VecRot = (1./NVecrb)*VecRotb; 319 : 'SINON'; 320 : Vecrot = MANU CHPO (extr FbalR mail) 3 321 : RX 1. RY 0. RZ 0.; 322 : 'FINSI'; 323 : FbalI = (FbalR '*'VecRot ('MOTS' FY FZ FX) 324 : ('MOTS' RZ RX RY) ('MOTS' FX FY FZ)) 325 : - (FbalR '*'VecRot ('MOTS' FZ FX FY) 326 : ('MOTS' RY RZ RX) ('MOTS' FX FY FZ)); 327 : FbalI = CHAN ATTRIBUT FbalI NATURE DISCRET; 328 : SI TESTMODE; 329 : FbalRP = PJBA TBasR FbalR ; 330 : FbalIP = PJBA TBasR FbalI ; 331 : SINON; 332 : FbalRP = FbalR ; 333 : FbalIP = FbalI ; 334 : FINSI; 335 : 'SINON'; 336 : 'SI' ((EXISTE TAB1 'FBALREEL') ET (EXISTE TAB1 'FBALIMAG')); 337 : mess 'On donne les forces de balourd réelles et imaginaires'; 338 : FbalR = TAB1.'FBALREEL'; 339 : FbalI = TAB1.'FBALIMAG'; 340 : SI TESTMODE; 341 : FbalRP = PJBA TBasR FbalR ; 342 : FbalIP = PJBA TBasR FbalI ; 343 : SINON; 344 : FbalRP = FbalR ; 345 : FbalIP = FbalI ; 346 : FINSI; 347 : 'SINON'; 348 : 'SI' ((EXISTE TAB1 'FBAR_PROJ') ET (EXISTE TAB1 'FBAI_PROJ')) ; 349 : FbalRP = TAB1.'FBAR_PROJ'; 350 : FbalIP = TAB1.'FBAI_PROJ'; 351 : SI (NON TESTMODE); 352 : MESS 'Attention vous ne travaillez pas sur base modale'; 353 : ERR = FAUX; 354 : 'FINSI'; 355 : 'SINON'; 356 : MESS 'Aucun chargement balourd n est pris en compte'; 357 : 'FINSI'; 358 : 'FINSI'; 359 : 'FINSI'; 360 : * 361 : * Dernier test avant la boucle finale ... 362 : * 363 : 'SI' ERR; 364 : * 365 : * Préparation du second membre de l'équation 366 : * 367 : GEOx1 = EXTR FbalRP 'MAIL' ; 368 : GEOx2 = GEOx1 ; 369 : * 370 : XVal1 = PROG ; 371 : XVal2 = PROG ; 372 : REPE bbb2 (NBEL GEOx1) ; 373 : i2 = &bbb2 ; 374 : XP1 = 0. 0. 0. ; 375 : GEOx2 = GEOx2 ET XP1 ; 376 : Px1 = POIN GEOx1 i2 ; 377 : XVal1 = XVal1 ET (PROG (EXTR FbalRP 'FALF' Px1)) ; 378 : XVal2 = XVal2 ET (PROG (EXTR FbalIP 'FALF' Px1)) ; 379 : FIN bbb2 ; 380 : XVal2 = XVal1 ET XVal2 ; 381 : PjFBalo = MANU CHPO GEOx2 1 'FALF' XVal2 ; 382 : * 383 : * 384 : REPETER LAB1 NFREQ; 385 : i1 = &lab1; 386 : VALFREQ = EXTR PRFREQ i1; 387 : SI TESTAF; 388 : MESS 'Frequence N° ' i1; 389 : FINSI; 390 : SI TESTMODE; 391 : * 392 : * On résout sur une base de modes propres 393 : * 394 : Depreel DepImag = VIBC MMasP 'BALOURD' 395 : (MRigP et BL0P et (VALFREQ*MCahP)) 396 : ((VALFREQ*MCGP) et MCamp) TBasR 397 : ((VALFREQ**2)*PjFBalo) VALFREQ; 398 : SINON; 399 : * 400 : * On résout directement dans le domaine fréquentiel 401 : * 402 : MMasI = CHAN INCO COMPLEXE MMas; 403 : MRigI = CHAN INCO COMPLEXE MRig; 404 : MCahI = CHAN INCO COMPLEXE MCah; 405 : MCGI = ((-1.)* (CHAN INCO MCG 406 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 407 : ('MOTS' 'IUX ' 'IUY ' 'IUZ ' 'IRX ' 'IRY ' 'IRZ ') 408 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 409 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 410 : QUEL )); 411 : MCGI = MCGI et 412 : ((1.)*(CHAN INCO MCG 413 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 414 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 415 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 416 : ('MOTS' 'IFX ' 'IFY ' 'IFZ ' 'IMX ' 'IMY ' 'IMZ ') 417 : QUEL )); 418 : MCamI = ((-1.)* (CHAN INCO MCam 419 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 420 : ('MOTS' 'IUX ' 'IUY ' 'IUZ ' 'IRX ' 'IRY ' 'IRZ ') 421 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 422 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 423 : QUEL )); 424 : MCamI = MCamI et 425 : ((1.)*(CHAN INCO MCam 426 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 427 : ('MOTS' 'UX ' 'UY ' 'UZ ' 'RX ' 'RY ' 'RZ ') 428 : ('MOTS' 'FX ' 'FY ' 'FZ ' 'MX ' 'MY ' 'MZ ') 429 : ('MOTS' 'IFX ' 'IFY ' 'IFZ ' 'IMX ' 'IMY ' 'IMZ ') 430 : QUEL )); 431 : * 432 : Kdyn = ((-1.)*(VALFREQ**2)*(MMas et MMasI)) et 433 : MRig et MRigI et BL0 et (VALFREQ*MCamI) et 434 : (VALFREQ*(MCahI et MCah)) 435 : et ((VALFREQ**2)*MCGI); 436 : FbalI = FbalI et (manu chpo (extr FbalI mail) 6 437 : FX 0. FY 0. FZ 0. MX 0. MY 0. MZ 0. NATURE DISCRET); 438 : fbaldyn=(VALFREQ**2)*(FbalR et 439 : (exco FbalI (mots FX FY FZ MX MY MZ) 440 : (mots IFX IFY IFZ IMX IMY IMZ))); 441 : Depdyn = reso Kdyn fbaldyn; 442 : Depreel = exco Depdyn (mots UX UY UZ RX RY RZ) 443 : (mots UX UY UZ RX RY RZ); 444 : Depimag = exco Depdyn (mots IUX IUY IUZ IRX IRY IRZ) 445 : (mots UX UY UZ IRX IRY IRZ); 446 : * 447 : FINSI; 448 : REPETER LAB2 NPoiRep; 449 : i2 = &lab2; 450 : POIREP = (TabRep. i2).'POINT'; 451 : * 452 : UXPbalR = EXTR Depreel POIREP UX; 453 : UYPbalR = EXTR Depreel POIREP UY; 454 : UZPbalR = EXTR Depreel POIREP UZ; 455 : UXPbalI = EXTR Depimag POIREP UX; 456 : UYPbalI = EXTR Depimag POIREP UY; 457 : UZPbalI = EXTR Depimag POIREP UZ; 458 : * 459 : SI (EGA PLANELLI 'OXY'); 460 : U1PbalR = UXPbalR; 461 : U1PbalI = UXPbalI; 462 : U2PbalR = UYPbalR; 463 : U2PbalI = UYPbalI; 464 : SINON; 465 : SI (EGA PLANELLI 'OXZ'); 466 : U1PbalR = UXPbalR; 467 : U1PbalI = UXPbalI; 468 : U2PbalR = UZPbalR; 469 : U2PbalI = UZPbalI; 470 : SINON; 471 : U1PbalR = UYPbalR; 472 : U1PbalI = UYPbalI; 473 : U2PbalR = UZPbalR; 474 : U2PbalI = UZPbalI; 475 : FINSI; 476 : FINSI; 477 : * 478 : U2max = (U1PbalR*U1PbalR)+(U1PbalI*U1PbalI)+ 479 : (U2PbalR*U2PbalR)+(U2PbalI*U2PbalI); 480 : CritU2 = U2max*1.D-10; 481 : CritU = (U2max**0.5)*1.D-5; 482 : * 483 : EE = 2.*((U1PbalR*U1PbalI)+(U2PbalR*U2PbalI)); 484 : FF = (U1PbalI*U1PbalI)+(U2PbalI*U2PbalI) - 485 : (U1PbalR*U1PbalR)-(U2PbalR*U2PbalR); 486 : * 487 : SI ((ABS(EE) < CritU2 ) ET (ABS(FF) < CritU2 )); 488 : th = 0.; 489 : SINON; 490 : th = 0.5*(atg EE FF); 491 : FINSI; 492 : Yy = (U1PbalR*(cos th)) - (U1PbalI*(sin th)); 493 : Zz = (U2PbalR*(cos th)) - (U2PbalI*(sin th)); 494 : SI ((ABS(Zz) < CritU) ET (ABS(Yy) < CritU)); 495 : phip = 0.; 496 : SINON; 497 : phip = (atg Zz Yy); 498 : FINSI; 499 : paxe = ((Yy**2)+(Zz**2))**0.5; 500 : th = th + 90.; 501 : Yy = (U1PbalR*(cos th)) - (U1PbalI*(sin th)); 502 : Zz = (U2PbalR*(cos th)) - (U2PbalI*(sin th)); 503 : SI ((ABS(Zz) < CritU ) ET (ABS(Yy) < CritU )); 504 : phig = 0.; 505 : SINON; 506 : phig = (atg Zz Yy); 507 : FINSI; 508 : gaxe = ((Yy**2)+(Zz**2))**0.5; 509 : * 510 : SI (i1 EGA 1) ; 511 : (TabRep. i2). 'UXREEL' = PROG (EXTR Depreel POIREP UX); 512 : (TabRep. i2). 'UYREEL' = PROG (EXTR Depreel POIREP UY); 513 : (TabRep. i2). 'UZREEL' = PROG (EXTR Depreel POIREP UZ); 514 : (TabRep. i2). 'RXREEL' = PROG (EXTR Depreel POIREP RX); 515 : (TabRep. i2). 'RYREEL' = PROG (EXTR Depreel POIREP RY); 516 : (TabRep. i2). 'RZREEL' = PROG (EXTR Depreel POIREP RZ); 517 : (TabRep. i2). 'UXIMAG' = PROG (EXTR Depimag POIREP UX); 518 : (TabRep. i2). 'UYIMAG' = PROG (EXTR Depimag POIREP UY); 519 : (TabRep. i2). 'UZIMAG' = PROG (EXTR Depimag POIREP UZ); 520 : (TabRep. i2). 'RXIMAG' = PROG (EXTR Depimag POIREP RX); 521 : (TabRep. i2). 'RYIMAG' = PROG (EXTR Depimag POIREP RY); 522 : (TabRep. i2). 'RZIMAG' = PROG (EXTR Depimag POIREP RZ); 523 : (TabRep. i2). 'GAXE' = PROG gaxe; 524 : (TabRep. i2). 'PAXE' = PROG paxe; 525 : (TabRep. i2). 'ANGLEGAXE' = PROG phiG; 526 : * 527 : SI TESTDEFO; 528 : (TAB1.'SAUVDEFO'). i1 = TABLE; 529 : ((TAB1.'SAUVDEFO'). i1).'FREQROTA'=VALFREQ; 530 : ((TAB1.'SAUVDEFO'). i1).'DEFORMEE_REELLE'= Depreel; 531 : ((TAB1.'SAUVDEFO'). i1).'DEFORMEE_IMAGINAIRE' = Depimag; 532 : FINSI; 533 : SINON; 534 : (TabRep. i2). 'UXREEL' = ((TabRep. i2). 'UXREEL' ) ET 535 : (PROG (EXTR Depreel POIREP UX)); 536 : (TabRep. i2). 'UYREEL' = ((TabRep. i2). 'UYREEL') ET 537 : (PROG (EXTR Depreel POIREP UY)); 538 : (TabRep. i2). 'UZREEL' = ((TabRep. i2). 'UZREEL') et 539 : (PROG (EXTR Depreel POIREP UZ)); 540 : (TabRep. i2). 'RXREEL' = ((TabRep. i2). 'RXREEL') ET 541 : (PROG (EXTR Depreel POIREP RX)); 542 : (TabRep. i2). 'RYREEL' = ( (TabRep. i2). 'RYREEL' ) ET 543 : (PROG (EXTR Depreel POIREP RY)); 544 : (TabRep. i2). 'RZREEL' = ((TabRep. i2). 'RZREEL') ET 545 : (PROG (EXTR Depreel POIREP RZ)); 546 : (TabRep. i2). 'UXIMAG' = ((TabRep. i2). 'UXIMAG') ET 547 : (PROG (EXTR Depimag POIREP UX)); 548 : (TabRep. i2). 'UYIMAG' = ((TabRep. i2). 'UYIMAG') ET 549 : (PROG (EXTR Depimag POIREP UY)); 550 : (TabRep. i2). 'UZIMAG' =((TabRep. i2). 'UZIMAG') ET 551 : (PROG (EXTR Depimag POIREP UZ)); 552 : (TabRep. i2). 'RXIMAG' = ((TabRep. i2). 'RXIMAG') ET 553 : (PROG (EXTR Depimag POIREP RX)); 554 : (TabRep. i2). 'RYIMAG' = ( (TabRep. i2). 'RYIMAG') ET 555 : (PROG (EXTR Depimag POIREP RY)); 556 : (TabRep. i2). 'RZIMAG' = ((TabRep. i2). 'RZIMAG') ET 557 : (PROG (EXTR Depimag POIREP RZ)); 558 : * 559 : * 560 : (TabRep. i2). 'GAXE' = ( (TabRep. i2). 'GAXE') 561 : et (PROG gaxe); 562 : (TabRep. i2). 'PAXE' = ( (TabRep. i2). 'PAXE') et 563 : (PROG paxe); 564 : (TabRep. i2). 'ANGLEGAXE' = ( (TabRep. i2). 'ANGLEGAXE') 565 : et (PROG phiG); 566 : * 567 : * 568 : SI TESTDEFO; 569 : (TAB1.'SAUVDEFO'). i1 = TABLE; 570 : ((TAB1.'SAUVDEFO'). i1). 'FREQROTA' 571 : = VALFREQ; 572 : ((TAB1.'SAUVDEFO'). i1). 'DEFORMEE_REELLE' 573 : = Depreel; 574 : ((TAB1.'SAUVDEFO'). i1). 'DEFORMEE_IMAGINAIRE' 575 : = Depimag; 576 : FINSI; 577 : * 578 : FINSI; 579 : * 580 : (TabRep. i2). 'UX' = ( (((TabRep. i2). 'UXREEL' )**2) 581 : + (((TabRep. i2). 'UXIMAG' )**2))**0.5; 582 : (TabRep. i2). 'UY' = ( (((TabRep. i2). 'UYREEL' )**2) 583 : + (((TabRep. i2). 'UYIMAG' )**2))**0.5; 584 : (TabRep. i2). 'UZ' = ( (((TabRep. i2). 'UZREEL' )**2) 585 : + (((TabRep. i2). 'UZIMAG' )**2))**0.5; 586 : (TabRep. i2). 'RX' = ( (((TabRep. i2). 'RXREEL' )**2) 587 : + (((TabRep. i2). 'RXIMAG' )**2))**0.5; 588 : (TabRep. i2). 'RY' = ( (((TabRep. i2). 'RYREEL' )**2) 589 : + (((TabRep. i2). 'RYIMAG' )**2))**0.5; 590 : (TabRep. i2). 'RZ' = ( (((TabRep. i2). 'RZREEL' )**2) 591 : + (((TabRep. i2). 'RZIMAG' )**2))**0.5; 592 : * 593 : FIN LAB2; 594 : FIN lab1; 595 : * 596 : REPETER LAB3 NPoiRep; 597 : i2 =&lab3; 598 : (TabRep. i2). 'UXREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'UXREEL' ); 599 : (TabRep. i2). 'UYREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'UYREEL' ); 600 : (TabRep. i2). 'UZREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'UZREEL' ); 601 : (TabRep. i2). 'UXIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'UXIMAG' ); 602 : (TabRep. i2). 'UYIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'UYIMAG' ); 603 : (TabRep. i2). 'UZIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'UZIMAG' ); 604 : (TabRep. i2). 'UX' = EVOL MANU PRFREQ ((TabRep. i2). 'UX' ); 605 : (TabRep. i2). 'UY' = EVOL MANU PRFREQ ((TabRep. i2). 'UY' ); 606 : (TabRep. i2). 'UZ' = EVOL MANU PRFREQ ((TabRep. i2). 'UZ' ); 607 : (TabRep. i2). 'RXREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'RXREEL' ); 608 : (TabRep. i2). 'RYREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'RYREEL' ); 609 : (TabRep. i2). 'RZREEL' = EVOL MANU PRFREQ ((TabRep. i2). 'RZREEL' ); 610 : (TabRep. i2). 'RXIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'RXIMAG' ); 611 : (TabRep. i2). 'RYIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'RYIMAG' ); 612 : (TabRep. i2). 'RZIMAG' = EVOL MANU PRFREQ ((TabRep. i2). 'RZIMAG' ); 613 : (TabRep. i2). 'RX' = EVOL MANU PRFREQ ((TabRep. i2). 'RX' ); 614 : (TabRep. i2). 'RY' = EVOL MANU PRFREQ ((TabRep. i2). 'RY' ); 615 : (TabRep. i2). 'RZ' = EVOL MANU PRFREQ ((TabRep. i2). 'RZ' ); 616 : (TabRep. i2). 'GAXE' = EVOL MANU PRFREQ ((TabRep. i2). 'GAXE' ); 617 : (TabRep. i2). 'PAXE' = EVOL MANU PRFREQ ((TabRep. i2). 'PAXE' ); 618 : (TabRep. i2). 'ANGLEGAXE' = EVOL MANU PRFREQ 619 : ((TabRep. i2). 'ANGLEGAXE'); 620 : FIN lab3; 621 : * 622 : * 623 : FINSI; 624 : * 625 : 'FINPROC'; 626 : * 627 : 628 : 629 : 630 :
© Cast3M 2003 - All rights reserved.
Disclaimer