import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.optimize import curve_fit
data = pd.read_csv('Bouteille2.csv',sep=';', header=0)
data.head()
# récupération des noms de colonnes et affectation de chaque colonne à un tableau
entete = list(data.columns)
print(entete)
m1 = data[entete[0]].values*1e-3 # conversion masse en kg
freq = data[entete[1]].values
plt.plot(freq, m1,'o')
plt.show()
m0 = 1530e-3
rho_eau = 1e3
V0 = (m0 - m1)/rho_eau
plt.plot(1/V0, freq**2,'o')
plt.show()
def f_lin(x, a):
return a*x
pop, covop = curve_fit(f_lin, 1/V0, freq**2)
aop = pop
print(pop)
(1/V0).max()
plt.plot(1/V0 , freq**2,'o')
invV0_th = np.linspace(0,(1/V0).max(), 2)
f2_th = f_lin(invV0_th, aop)
plt.plot(invV0_th, f2_th,'-')
plt.show()
m_tot_avec_g = 1555e-3 # masse totale bouteille remplie avec goulot
m_g = (m_tot_avec_g - m0) # masse en eau du goulot
Vg = m_g/rho_eau
print(Vg*1e6)
D = 2.1e-2 # diamètre du goulot
S = np.pi*D**2/4 # surface du goulot
h = Vg/S
print("hauteur goulot = %.3f m" %h)
gam = 1.4
P0 = 1e5
rho_air = 1.225 # masse volumique de l'air
Kth = 1/(4*np.pi**2)*gam*P0*S/(rho_air*h)
print(Kth)