import numpy as np import matplotlib.pyplot as plt L=2e-2 # plateau de la table de 2 cm d'épaisseur N=100 dx=L/N duree=180 lamb=0.18 # bois conductivité thermique en W/m-1/K D=0.15e-7 # coefficient de diffusivité h=1 # coefficient conducto-convectif bois/air en W/m2/K T1=30 # température imposée face supérieure T0=20 # face inférieure T=np.zeros(N) # tableau stockant le profil de température T2=np.zeros(N) # et sa copie # Profil à t=0 : conditions initiales T[1:N]=T0 T[0]=T1 # convergence de la méthode si D*dt/(dx**2)<0.5 P=int(3*D*duree/dx**2) # on prend du coup un peu plus d'itérations (facteur 3) dt=duree/P # calcul du "pas" de temps print("nombres d'iterations : "+str(P)) # méthode des éléments finis for k in range(P): # tracé x=np.linspace(0,L*1000,N) # on créé x de 0 à L en mm plt.figure(figsize=(10,8)) plt.xlabel("en mm") plt.ylabel("en °C") plt.title("Profil de température à t = "+str(duree)+" s") plt.plot(x,T) plt.show()