import numpy as np #from scipy.interpolate import * from tkinter import * """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Interpolation des propriétés de l'air """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" def interp_nu(Temperature): liste_T = [300, 350, 400, 450, 500, 550, 600, 650 ] liste_nu = [1.57*10**-5, 2.08*10**-5, 2.59*10**-5, 2.89*10**-5, 3.69*10**-5, 4.43*10**-5, 5.13*10**-5, 5.85*10**-5] nu = np.interp(Temperature, liste_T, liste_nu) return nu def interp_pr(Temperature): liste_T = [300, 350, 400, 450, 500, 550, 600, 650 ] liste_Pr = [0.708, 0.697, 0.689, 0.683, 0.68, 0.68, 0.68, 0.682] Pr = np.interp(Temperature, liste_T, liste_Pr) return Pr """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Calcul du nombre de Rayleigh """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" def Calul_Ra(T_W, T_inf, L) : T_Moyen = 0.5 * (T_W + T_inf) delta_T = T_W - T_inf beta = 1 / T_Moyen nu = interp_nu(T_Moyen) Pr = interp_pr(T_Moyen) Gr = (9.81 * L** 3 * beta * delta_T) / nu ** 2 Ra = Gr * Pr return Ra """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Optimisation d'une épesseur à une température chaude et froide connues """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" def optimisation_L(T_W, T_inf, e): Calul_Ra(T_W, T_inf, e) while Calul_Ra(T_W, T_inf, e) < 1700: e = e + 0.001 return e - 0.001, Calul_Ra(T_W, T_inf, e - 0.001) """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Optimisation d'une maille """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" def optimisation_calo(T_W, a, phi): e = 0.01 b = 1-a la_air = 0.038 la_inox = 15 la_calo = a * la_air + b * la_inox T_inf = T_W - phi * e / la_calo Ra = Calul_Ra(T_W, T_inf, e) while Ra < 1700: e = e + 0.001 T_inf = T_W - phi * e / la_calo Ra = Calul_Ra(T_W, T_inf, e) #print(T_W, T_inf, phi * e / la_calo,e, Ra) e = e - 0.001 T_surface_calo = T_W - phi * e/ la_calo Ra = Calul_Ra(T_W, T_W - phi * e / la_calo, e) print(T_W, T_surface_calo,T_W-T_surface_calo, e, Ra) #return T_W, T_surface_calo, e, Ra #optimisation_calo(515,0.999 , 167) #print(60+273) def opt_calo(T_W, a, phi): e = 0.01 b = 1 - a la_air = 0.038 la_inox = 15 la_calo = a * la_air + b * la_inox optimisation_calo(T_W, a, phi) T_inf = optimisation_calo(T_W, a, phi)[1] print(T_W,T_inf) e = optimisation_calo(T_W, a, phi)[2] i=e while T_inf > 60 + 273: T_W = T_inf T_inf = T_W - phi * e / la_calo i=i+e #print(T_W,T_inf,e) print(optimisation_calo(T_W, a, phi),i) #opt_calo(623,0.999,167) """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" interface """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ''''' #création d'une fenetre canvas = Canvas (window, width = 2080, height = 2080, background = "white") canvas.pack(fill="both", expand = True) window.title("app") # donner un titre à l'application #afficher du texte canvas.create_text(730,25,text = "Dimensionnement d'un calorifuge", font = ("Courrier", 40)) canvas.create_text(200,90,text = "Veuillez renseigner les paramètres suivants : ", font = ("Courrier", 20)) canvas.create_text(200,140,text = "Proportion volumique de l'air ", font = ("Courrier", 20)) ''''' #création d'une fenetre window = Tk() window.geometry("2080x2080") window.config(background = '#6F6867') def epaisseur(): n = e4.get() print(n) if (n == 2): e5 = Entry(window, width=10, bg='#C0B9B8') e5.place(x=450,y=450) #création de texte du texte label1=Label(window, text = "Dimensionnement d'un calorifuge", font = ("Courrier", 40), bg ='#6F6867', fg = 'white') label2=Label(window, text = "Veuillez renseigner les paramètres suivants:", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label3=Label(window, text = "Proportion volumique de l'air", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label4=Label(window, text = "flux surfacique", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label5=Label(window, text = "W/m2", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label6=Label(window, text = "Température de la canalisation", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label7=Label(window, text = "°C", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') label8=Label(window, text = "Nombre de couches ", font = ("Courrier", 20), bg ='#6F6867', fg = 'white') #création des entrées e1=Entry(window,width = 10, bg ='#C0B9B8') e2=Entry(window,width = 10, bg ='#C0B9B8') e3=Entry(window,width = 10, bg ='#C0B9B8') e4=Entry(window,width = 10, bg ='#C0B9B8') #placement des textes label1.place(x=430,y=20) label2.place(x=30,y=100) label3.place(x=50,y=150) label4.place(x=50,y=200) label5.place(x=300,y=200) label6.place(x=50,y=250) label7.place(x=430,y=250) label8.place(x=50,y=300) #placement des entrées e1.place(x=320,y=150) e2.place(x=200,y=200) e3.place(x=330,y=250) e4.place(x=250,y=300) #création du bouton calcul_button = Button(window, command= epaisseur(), text = "Entrer" ,font = ("Courrier", 20), bg ='white', fg = '#6F6867') #placement du bouton calcul_button.place(x=400, y=298) window.mainloop()