* fichier : vibr9.dgibi
*
*************************************************
* TEST : VIBR9 *
* *
* Calcul des modes propres complexes d'une *
* structure soumise a une force suiveuse *
* (la structure est composée de deux barres *
* reliees par deux ressorts spiraux) *
*************************************************
*
Opti Echo 0;
Opti dime 2 elem seg2 impi 0;
Graph = 'N';
Affich = VRAI;
*******************************************
* Points reperes *
*******************************************
P1= 0 0;
P2= 1 0;
L1 = D 1 P1 P2;
L2 = D 1 P2 P1;
*
*******************************************
* Description du système *
*******************************************
*
* Demi-longueur d'une barre
a = 1;
* Masse d'une barre
m = 10;
* Raideur des ressorts spiraux
k = 20;
* Variation de la force suiveuse
Fmin = 0.;
Fmax = 100.;
PFs = 1.;
*
lFs= Prog Fmin PAS PFs Fmax;
*
*******************************************
* Frontiere des domaines *
*******************************************
*
Fs1 = 5*k/(4*a);
Fs2 = 13*k/(4*a);
*
Si (Affich);
Mess 'Fs 1 = ' Fs1;
Mess 'Fs 2 = ' Fs2;
Finsi;
*
*******************************************
* Définition des grandeurs physiques *
*******************************************
*
* --- Matrice Masse totale
Mt = m*a*a*(MANU RIGI type MASSE L1 (MOTS ALFA) DUAL (MOTS FALF)
(PROG 5. 1. 1. 1.));
* --- Matrice Raideur
Ks = k*(MANU RIGI type RIGIDITE L1 (MOTS ALFA) DUAL (MOTS FALF)
(PROG 2. -1. -1. 1.));
* --- Matrice Raideur pour force suiveuse unitaire
UK = 2*a*(MANU RIGI type RIGIDITE L1 (MOTS ALFA) DUAL (MOTS FALF)
(PROG -1. 1. 0. 0.));
* /////////////////////////////////////// *
* Initialisation de l'algorithme *
* /////////////////////////////////////// *
*
* Frequences propres
Freqr = Table 'FREQ_REEL';
Freqi = Table 'FREQ_IMAG';
Repeter Freq1 4;
Ifreq = &Freq1;
Freqr.Ifreq = Prog;
Freqi.Ifreq = Prog;
Fin Freq1;
*
dlFs = dime lFs;
*
* /////////////////////////////////////// *
* Itérations sur Fs *
* /////////////////////////////////////// *
*
* --- Reperage de la force critique
FSauv = 'N';
*
Repeter bloc1 dlFs;
*
i=&bloc1;
Fs = extr lFs i;
*
* --- Matrice de Raideur totale
Kt = Ks et (Fs*UK) ;
*
*******************************************
* Résolution *
*******************************************
*
BASC = VIBC Mt Kt ;
*
*******************************************
* Traitement et stockage *
*******************************************
*
*
Si (AFFICH);
Mess 'Iteration' I;
Mess 'Force suiveuse : ' Fs ;
Mess ' ';
Mess '----------------------------------------------------------------
--------------';
Mess ' Mode Frequence Amort. P. Reelle P. Imaginaire
Stabilité ';
Finsi;
*
BMOD = BASC.'MODES';
Repeter Freq2 4;
Ifreq=&Freq2;
MOD = BMOD.Ifreq;
Si (EGA MOD.SOUSTYPE 'MODE_ANNULE');
f1 = 0.;
if1 =1.;
Sinon;
f1 = MOD.'FREQUENCE_REELLE';
if1 =MOD.'FREQUENCE_IMAGINAIRE';
Finsi;
Freqr.Ifreq = Freqr.Ifreq et (Prog f1);
Freqi.Ifreq = Freqi.Ifreq et (Prog if1);
Si (Affich);
Msg = 'STAB.';
Si ((< if1 -1.D-10) et (>EG f1 0.));
Msg = 'INST.';
Si (EGA FSauv 'N');
Fcrit = Fs - (PFs/2.);
FSauv = 'O';
Finsi;
Finsi;
Si (> f1 0.);
* Valeurs propres relatives a lambda = i omega = ix2PIxf
Mess Ifreq f1 (if1/f1) (-2*PI*if1) (2*PI*f1) Msg;
Sinon;
Si (EGA f 0.);
Mess Ifreq f1 ' ----- ' (-2*PI*if1) (2*PI*f1) Msg;
Finsi;
Finsi;
Finsi;
Fin Freq2;
Mess ' ';
Mess ' ';
*
*
* /////////////////////////////////////// *
* Fin du calcul *
* /////////////////////////////////////// *
*
Fin bloc1;
*
Si ( EGA Graph 'O');
*
TabM = Table;
TabM.1 = 'NOLI';
Titr 'Frequence (partie reelle)';
Evol1 = Evol blanc manu lFs (Freqr.1);
Titr 'Frequence (partie imaginaire)';
Evol2 = Evol blanc manu lFs (Freqi.1);
Titr 'Frequence dans le plan complexe';
Evol3 = Evol blanc manu (Freqr.1) (Freqi.1);
Repeter Trac1 3;
i=&Trac1+1;
TabM.i ='NOLI';
Titr 'Frequence (partie reelle)';
Evol1 = Evol1 et (Evol blanc manu lFs (Freqr.i));
Titr 'Frequence (partie imaginaire)';
Evol2 = Evol2 et (Evol blanc manu lFs (Freqi.i));
Titr 'Frequence dans le plan complexe';
Evol3 = Evol3 et (Evol Blanc manu (Freqr.i) (Freqi.i));
Fin Trac1;
Dess Evol1 Titx 'Force (N)'
Tity 'Re(F) (Hz)' TabM;
Dess Evol2 Titx 'Force (N)'
Tity 'Im(F) (Hz)' TabM;
Dess Evol3 Titx 'Re(F) (Hz)'
Tity 'Im(F) (Hz)' TabM;
Finsi;
*
*Mess 'Erreur : ' (Abs(Fcrit-Fs1)/Fs1);
*Opti donn 5;
*
Si ((Abs(Fcrit-Fs1)/Fs1) < 0.05);
Erre 0;
Sinon;
Erre 5;
Finsi;
*
FIN;
© Cast3M 2003 - All rights reserved.
Disclaimer