* fichier : dyne06.dgibi * ************************************************************************ * * DYNE06 : * * Calcul d'un rotor de type Jeffcott avec contact frottant * * ___ ^ Z * _|_ kc,mu |__ * _______ jeu |_ \_ * | k,c | | | \ \ * |----------| m |----------| +--|--|-----> Y * | |_______| R R+jeu * ___ jeu * _|_ kc,mu * * ^ Z * | * +----> X * * Test de l'option VITESSE_ENTRAINEMENT pour la liaison DYNE * POINT_CERCLE_FROTTEMENT qui ajoute une sur-vitesse tangentielle * * Ref : [Xie et al., MSSP, 2015] * * Auteur : BP, 2020-03-25 * ************************************************************************ ************************************************************************ * OPTIONS et DONNEES ************************************************************************ * options GRAPH = FAUX; COMPLET = FAUX; TITR prefix; * rotor data m = 1. ; k = 100.; c = 5. ; ebal = 0.1; * Fbal = ebal * m * (Omega**2) ; avec Omega = vitesse de rotation en rad/s * contact parameters kchoc= 25. * k; mu_s = 0.2; mu_d = 0.2; si (mu_s < mu_d); erreur 21; finsi; Kt = 10.*kchoc; Ct = 0.5*(m*Kt)**0.5; * deduced parameter w = (k/m)**0.5; wHz = w / (2.*pi); wchoc = (kchoc/m)**0.5; xi = 0.5 * c / ((kchoc*m)**0.5); * critical timestep (Diff Centrees, no damping) wadhe = ((k+Kt)/m)**0.5; dtc = 2. / wadhe; ************************************************************************ * CALCUL ANALYTIQUE LINEAIRE ************************************************************************ * si pas de contact, alors pas de couplage entre y et z * on resout pour y par exemple : * * m y" + c y' + ky = meW^2 cos Wt * * on pose y(t) = A cos Wt + B sin Wt * y' = -Aw sin Wt + Bw cos Wt * y" = -Aw^2 cos Wt - Bw^2 sin Wt * * [ k-W^2m Wc ] (A) = (meW^2) termes en cos * [ -Wc k-W^2m ] (B) = ( 0 ) termes en sin * * 2eme ligne : B = Wc/k-W^2m * A * 1ere ligne : A = meW^2 / [ k-W^2m + W^2c^2/k-W^2m] Wanal = wchoc * Wadim; Wanal2 = Wanal**2; * m=1 -> ca simplifie aux1 = k - Wanal2; aux2 = (c**2) * Wanal2; denom1 = aux1 + (aux2/aux1); A_anal = (ebal * Wanal2) / denom1; B_anal = (c*Wanal) / aux1 * A_anal; * evA = evol VIOL manu Wanal A_anal; * evB = evol ROSE manu Wanal B_anal; * dess (evA et evB); Amp_anal = ( (A_anal**2) + (B_anal**2) )**0.5; * dess (evjeu et evAmp); * en adimensionne * opti donn 5 trac X; ************************************************************************ * BASE MODALE ************************************************************************ * point physique p1 = 0. 0. 0.; * base modale = 2 modes palfa1 = 0. 0. 0.; palfa2 = 0. 0. 0.; TBAS . 'MODES' . 1 . 'POINT_REPERE' = palfa1; TBAS . 'MODES' . 1 . 'FREQUENCE' = wHz; TBAS . 'MODES' . 1 . 'MASSE_GENERALISEE' = m; TBAS . 'MODES' . 1 . 'DEFORMEE_MODALE' = phi1; TBAS . 'MODES' . 2 . 'POINT_REPERE' = palfa2; TBAS . 'MODES' . 2 . 'FREQUENCE' = wHz; TBAS . 'MODES' . 2 . 'MASSE_GENERALISEE' = m; TBAS . 'MODES' . 2 . 'DEFORMEE_MODALE' = phi2; ************************************************************************ * AMORTISSEMENT ************************************************************************ TAMOR . 'AMORTISSEMENT' = Ctot ; ************************************************************************ * LIAISONS ************************************************************************ * contact-frottant point_cercle_frottement TL1 . 'SUPPORT' = p1; TL1 . 'NORMALE' = (1. 0. 0.) ; TL1 . 'EXCENTRATION' = (0. 0. 0.) ; TL1 . 'RAIDEUR' = kchoc; TL1 . 'COEFFICIENT_GLISSEMENT' = mu_d; TL1 . 'COEFFICIENT_ADHERENCE' = mu_s; TL1 . 'RAIDEUR_TANGENTIELLE' = Kt; TL1 . 'AMORTISSEMENT_TANGENTIEL'= Ct; * stockage TLB . 1 = TL1; TLIA . 'LIAISON_B' = TLB; ************************************************************************ * CONDITIONS INITIALES ************************************************************************ * TINIT = TABL 'INITIAL'; * TINIT . 'DEPLACEMENT' * = (MANU 'CHPO' palfa1 1 'ALFA' ... 'NATURE' 'DISCRET') * et (MANU 'CHPO' palfa2 1 'ALFA' ... 'NATURE' 'DISCRET'); * TINIT . 'VITESSE' * = (MANU 'CHPO' palfa1 1 'ALFA' ... 'NATURE' 'DIFFUS') * et (MANU 'CHPO' palfa2 1 'ALFA' ... 'NATURE' 'DIFFUS'); *u=v=0 ici --> inutile ************************************************************************ * SORTIES ************************************************************************ TSORT = TABLE 'SORTIE'; * +on stocke les deplacements modaux TSORV = TABLE 'VARIABLE'; TSORT . 'VARIABLE' = TSORV; * + on stocke les variables du contact TSORLB = TABLE 'LIAISON_B'; TSORLB . TL1 = VRAI; TSORT . 'LIAISON_B' = TSORLB; * pour le DESSin des evolutions ************************************************************************ * PARAMETRES TEMPORELS ************************************************************************ * NOMBRE DE PERIODES SIMULEES, NOMBRE DE PAS PAR PERIODE * NPERIOD = 8; *debug NPERIOD = 14; NPERIOD = 80; NPPP = 2**10; * NOMBRE DE PAS TOTAL, SORTIE TOUS LES NSORT NPAS = NPERIOD*NPPP; NSORT = 8; * NUMERO DES POINTS SORTIS APPARTENANT AUX nlast DERNIERES PERIODES * nlast = 2; nlast = 20; *----------------------------------------------------------------------- *--------------> BOUCLE SUR LA VITESSE DE ROTATION TESTEE *----------------------------------------------------------------------- * vitesse de rotation (prOmega en rad/s) si COMPLET; 0.33 0.4 0.5 1. 1.2 ; 'BOUT' 'OR' 'ORAN' 'ROUG' 'BRUN' ; sino; finsi; prOmega = wchoc * prWadim; * RESULTATS * ymax = prog; * zmax = prog; *debug &BOMEGA=1; *debug &BOMEGA=2; *debug &BOMEGA=4; OMEGHZ = Omega / (2.*PI); TITRE cha1; * ON COMPLETE : *-LIAISON *** TL1 . 'VITESSE_ENTRAINEMENT' = Omega; TL1 . 'VITESSE_ENTRAINEMENT' = -1.*R*Omega; * *-PERIODE, PAS DE TEMPS, TEMPS FINAL TPERIOD = 1. / OMEGHZ; DT = TPERIOD / NPPP; TFINAL = NPAS*DT; finsi; ************************************************************************ * CHARGEMENT ************************************************************************ * nombre de periodes pour la rampe de chargement NPrampe = 10; * evolution temporelle du chargement F_Y = COS (360.*OMEGHZ * t_char); F_Z = SIN (360.*OMEGHZ * t_char); *debug F_Y = 1.; *debug F_Z = 0.; * DESS (evF_Y et evF_Z) TITRE 'Chargement' XBOR 0. TFINAL XGRA TPERIOD; * description "spatiale" du chargement Fbal = ebal*m * (Omega**2); * table pour DYNE TCHARG = TABLE 'CHARGEMENT' ; TCHARG . 'BASE_A' = CHAR_Y et CHAR_Z ; ************************************************************************ * CALCUL DYNE : INTEGRATION TEMPORELLE ************************************************************************ * TDYNE = DYNE 'DE_VOGELAERE' TBAS TAMOR TLIA TSORT TCHARG TDYNE = DYNE 'DIFFERENCES_CENTREES' TBAS TAMOR TLIA TSORT TCHARG NPAS DT NSORT ; ************************************************************************ * POST TRAITEMENT ************************************************************************ * temps t pr_time = TDYNE . 'TEMPS_DE_SORTIE'; * deplacement modaux pr_y = TDYNE . 'DEPLACEMENT' . palfa1; pr_z = TDYNE . 'DEPLACEMENT' . palfa2; * cercle r=R+jeu * deplacement u(t) et r(t) * ev_y = EVOL coco MANU 'LEGE' 'u_{Y}' 't' pr_time 'u' pr_y; * ev_z = EVOL coco MANU 'LEGE' 'u_{Z}' 't' pr_time 'u' pr_z; * DESS (ev_y et ev_z) Tdess1; pr_r = ((pr_y**2)+(pr_z**2))**0.5; * orbite complete * DESS (ev_xy) 'CARR'; * restriction aux nlast dernieres periodes pr_r2 = ((pr_y2**2)+(pr_z2**2))**0.5; * ev_r2 = EVOL coco MANU 'LEGE' 'r' 't' pr_tim2 'r' pr_r2; * DSP * stockage * ymax = ymax et (MAXI 'ABS' pr_y2); * zmax = zmax et (MAXI 'ABS' pr_z2); * vitesse tangentielle pr_vy = TDYNE . 'VITESSE' . palfa1; pr_vz = TDYNE . 'VITESSE' . palfa2; pr_vt = TDYNE . TL1 . 'VITESSE_TANGENTIELLE'; FIN BOMEGA; *----------------------------------------------------------------------- *<-------------- FIN DE BOUCLE SUR LA VITESSE DE ROTATION TESTEE *----------------------------------------------------------------------- * evolution de r avec la vitesse de rotation * DSP si GRAPH; DESS ev_dsp 'LOGY' 'LEGE' TDSP1 'TITX' 'f(Hz)' 'TITY' 'DSP(u_{Y})' 'TITRE' 'DYNE06'; finsi; ************************************************************************ * TEST DE VALIDATION ************************************************************************ * ON VA CHECKER LE REGIME QUASI-PERIODIQUE A W/WC=0.33 * recherche du nombre de pics * recherche des maxi * imax033 = (POSI 1. 'DANS' (MASQ chg033 INFERIEUR 0.) 'TOUS') + 1; * on filtre sur les valeurs > 10E-6 chg033 = masq6 * chg033; list imax033; list w033; * TNR SI (nw033 > 2); sinon; ERREUR 5; finsi; * recherche des bornes du mvt radial mess rmin033 rmax033 ; * valeurs de [Peletan et al., 2014, Nonlinear Dynamics] rminPel = 0.70; rmaxPel = 1.45; errmin = ABS (rmin033 - rminPel); errmax = ABS (rmax033 - rmaxPel); * TNR SI ((errmin < 0.1) et (errmax < 0.1)); sinon; ERREUR 5; finsi; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales