diff --git a/module1/Analyse_alpha_c_vs_h_0.py b/module1/Analyse_alpha_c_vs_h_0.py new file mode 100644 index 0000000000000000000000000000000000000000..c7ca755cbfbd8a091ef6569df0e426bba0cdd93e --- /dev/null +++ b/module1/Analyse_alpha_c_vs_h_0.py @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue May 28 14:13:10 2024 + +@author: M3051168 +""" + +import numpy as np +import matplotlib.pyplot as plt + +from pack_marc.p_fct_etude import * +from pack_marc.p_fourier import * + +cmap=plt.get_cmap('winter',11) +L=400 + +def flutter(h,L=400,n_jet=0): + return np.sqrt(2*n_jet+1)/(2*(np.pi))*np.sqrt(9.81/(0.001*h)) + +def airy(h,L=400,n=0): + """Calcul la fréquence de résonance théorique de la cuve, les données en mm""" + g=9.806 + d_b=22 + return np.sqrt((2*n+1)*g/(4*np.pi*L*0.001)*np.tanh((2*n+1)*np.pi*h/L)) + + +def amortissement_red(h,L_1,n,L_2=100): + nu=1.002*0.000001 #viscosité USI + h=0.001*h + L_1=0.001*L_1 + L_2=0.001*L_2 + omega=airy(h,L_1,n) + tau_l_inv=np.sqrt(nu*omega)*(1/L_1+1/L_2) #1/tau avec tau le taux d'amortissement_red + lambda_s=1/(2*omega*np.sqrt(1+omega**2*1/tau_l_inv**2)) + return lambda_s + +lambda_2=0.1 +liste_a=np.linspace(0.01,5,5000) +liste_h=np.linspace(30,400,100) + + +plt.figure(dpi=500) +## +n_surf=0 +n_jet=0 +i=0 +seuil=[] +omega_im=[] + +liste_omega_1=[airy(liste_h[i],400,n_surf) for i in range(len(liste_h))] +liste_omega_2=[flutter(liste_h[i],400,n_jet) for i in range(len(liste_h))] +liste_lambda_1=[amortissement_red(liste_h[i],400,n_surf) for i in range(len(liste_h))] +ind_a=10 +for i in range(len(liste_omega_1)): + lambda_1=liste_lambda_1[i] + res_1=[] + res_2=[] + for a in liste_a: + mat_4=np.array([[0, 1, 0, 0], + [-liste_omega_1[i]**2, -lambda_1, -a, 0], + [0, 0, 0, 1], + [a, 0, -liste_omega_2[i]**2, -lambda_2]]) + lamb,v=np.linalg.eig(mat_4) + idx = lamb.argsort()[::-1] + lamb = lamb[idx] + res_1.append(np.real(lamb)[0]) + res_2.append(np.imag(lamb)[0]) + seuil.append(liste_a[int(np.argwhere(np.array(res_1)>0.01)[0][0])]) + omega_im.append(res_2[ind_a]) + i=i+1 + +omega_min=liste_omega_1[np.argmin(seuil)] + +plt.plot(liste_h,seuil) +## +n_surf=1 +n_jet=0 +i=0 +seuil=[] +omega_im=[] + +liste_omega_1=[airy(liste_h[i],400,n_surf) for i in range(len(liste_h))] +liste_omega_2=[flutter(liste_h[i],400,n_jet) for i in range(len(liste_h))] +liste_lambda_1=[amortissement_red(liste_h[i],400,n_surf) for i in range(len(liste_h))] +ind_a=10 +for i in range(len(liste_omega_1)): + lambda_1=liste_lambda_1[i] + res_1=[] + res_2=[] + for a in liste_a: + mat_4=np.array([[0, 1, 0, 0], + [-liste_omega_1[i]**2, -lambda_1, -a, 0], + [0, 0, 0, 1], + [a, 0, -liste_omega_2[i]**2, -lambda_2]]) + lamb,v=np.linalg.eig(mat_4) + idx = lamb.argsort()[::-1] + lamb = lamb[idx] + res_1.append(np.real(lamb)[0]) + res_2.append(np.imag(lamb)[0]) + seuil.append(liste_a[int(np.argwhere(np.array(res_1)>0.01)[0][0])]) + omega_im.append(res_2[ind_a]) + i=i+1 + +omega_min=liste_omega_1[np.argmin(seuil)] + +plt.plot(liste_h,seuil) +## +n_surf=0 +n_jet=1 +i=0 +seuil=[] +omega_im=[] +liste_h=np.linspace(100,400,100) + +lambda_2=0.1 + +liste_omega_1=[airy(liste_h[i],400,n_surf) for i in range(len(liste_h))] +liste_omega_2=[flutter(liste_h[i],400,n_jet) for i in range(len(liste_h))] +liste_lambda_1=[amortissement_red(liste_h[i],400,n_surf) for i in range(len(liste_h))] +ind_a=10 +for i in range(len(liste_omega_1)): + res_1=[] + res_2=[] + lambda_1=liste_lambda_1[i] + for a in liste_a: + mat_4=np.array([[0, 1, 0, 0], + [-liste_omega_1[i]**2, -lambda_1, -a, 0], + [0, 0, 0, 1], + [a, 0, -liste_omega_2[i]**2, -lambda_2]]) + lamb,v=np.linalg.eig(mat_4) + idx = lamb.argsort()[::-1] + lamb = lamb[idx] + res_1.append(np.real(lamb)[0]) + res_2.append(np.imag(lamb)[0]) + seuil.append(liste_a[int(np.argwhere(np.array(res_1)>0.01)[0][0])]) + omega_im.append(res_2[ind_a]) + i=i+1 + +omega_min=liste_omega_1[np.argmin(seuil)] + +plt.plot(liste_h,seuil) + + + + +plt.xlabel(r'$h (mm)$') +plt.ylabel(r'$\alpha_c$') +plt.ylim([0,2.5]) +plt.grid() \ No newline at end of file