Upload New File

parent 2cf2ee95
# -*- 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment