Introductie¶
In het boek wordt in hoofdstuk 2 geschreven over warmtetransport. Dat kan op drie manieren plaatsvinden. Het is niet eenvoudig om deze drie verschillende vormen uit elkaar te houden. In het vak ‘Fysische Transportverschijnselen’, dat in het tweede jaar wordt gegeven, zal je zien dat de natuurkunde achter deze verschillende vormen van warmtetransport ook best ingewikkeld is.
In deze proef proberen we een inschatting te maken van de ordegrootte van de verschillende vormen van warmtetransport bij de koeling van een metalen buis aan lucht.
Theorie¶
Volgens Newton’s wet van afkoeling is de snelheid waarmee een voorwerp afkoelt evenredig met het verschil in de temperatuur van het voorwerp () en de omgeving (). We kunnen dit schrijven als:
waarin
de warmtestroom in ,
het oppervlak waardoor koeling optreedt in ,
de warmteoverdrachtscoëfficiënt in .
Dit levert de differentiaalvergelijking
met de warmtecapaciteit in . Herschrijven met levert:
met als oplossing:
We kunnen hieruit dus concluderen dat de karakteristieke tijdsduur is waarin de temperatuur van de buis een factor verlaagd ten opzichte van de omgevingstemperatuur.
We zijn hier voor het gemak uitgegaan van een die onafhankelijk is van de temperatuur. We weten echter dat warmtetransport door straling niet lineair gaat, maar als
Voor kleine temperatuurverschillen () is dit te vereenvoudigen tot
Zolang dus relatief klein is ten opzichte van , kunnen we dus inderdaad als een constante beschouwen.
Methode en materialen¶
Ontwerp¶
Materialen¶
standaard met twee thermisch geïsoleerde grijparmen
metalen buis met bijpassende dop
thermometer (infrarood of thermokoppel)
knijper voor bevestigen thermokoppel op buis
warm water tussen 60 en 80 graden Celsius
(evt) schuifmaat voor bepalen dimensies buis
Procedure¶
Stop de buis in warm water en laat deze gedurende een paar minuten zitten om thermisch evenwicht te bereiken. Beantwoord ondertussen de volgende vragen met behulp van de tabel:
| Materiaal | in | in |
|---|---|---|
| messing | 8,73E3 | 3,8E2 |
| aluminium | 2,7E3 | 8,8E2 |
| staal | 7,9E3 | 4,7E2 |
Pak de buis op met thermisch isolerende handschoenen (of direct met de geïsoleerde grijparm) en plaats deze in de grijparm met isolatieschoentjes. Positioneer de thermometer voor optimale temperatuurlezing. Meet als functie van tijd hoe lichaam koelt. Wacht voldoende lang zodat je de karakteristieke tijd voor de afkoeling kan bepalen.
Doe dit voor twee of drie configuraties:
De buis met de as in verticale richting en afgesloten met dop.
De buis met de as in verticale richting zonder dop.
(alleen bij voldoende tijd) De buis met de as in horizontale richting en afgesloten met dop.
Data analyse¶
Bepaal de karakteristieke tijd waarin de temperatuur van buis afneemt. Deze kan verschillend zijn voor de drie bovenstaande configuraties.
Bereken hieruit de warmteoverdrachtscoëfficiënt.
Vergelijk je resultaten met je groepsgenoten die een vergelijkbare buis hebben gemeten (dit kan klassikaal).
Welk deel van de warmteoverdrachtscoëfficiënt verwacht je dat gegeven is door de geleiding, straling en convectie? Onderbouw je redenering.
Resultaten¶
#import necessary libraries
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit# Parameters bepalen van aliminium buis
u_s = 0.00005 # Onzekerheid van de schuifmaat (m)
u_w = 0.1 # Onzekerheid van de weegschaal (g)
d = 0.00135 # Dikte (m)
l = 0.102 # Lengte (m)
di = 0.0494 # Diameter (m)
r = di / 2 # Straal (m)
m = 0.06 # Massa (kg)
# Ex 5
Buiten_opp = 2 * np.pi * r * l
print("Het buitenoppervlak van de aliminium buis is gelijk aan %.3f m^2." %(Buiten_opp))
Vol = Buiten_opp * d
rho = 2.7e3 # Dichtheid aluminium (kg/m^3)
massa = rho * Vol
print("Het volume is gelijk aan %.3f m^3." %(Vol))
print("De massa is gelijk aan %.2f kg." %(massa))
C = 8.8e2 # Specifieke soortelijke warmte aluminium (J/ (Kkg))
c_a = C * massa # Sootelijke warmte van de aluminium buis (J/K)
print("De soortelijke warmte is gelijk aan %.1f J/K." %(c_a))
T_om = 21.2 # Temperatuur van de omgeving (graden Celcius)
print("De omgevingstemperatuur is gelijk aan %.1f graden Celcius." %(T_om))# Hier de data en de analyse
# Configuratie 1 (De buis met de as in verticale richting zonder dop)
def exp_func(t, A, tau, T_omg):
# A is verschiltemperatuur met omgeving aan start
# tau is de karakteristieke tijd voor de koeling
# T_omg is de omgevingstemperatuur
return (A * np.exp(-t/tau) + T_omg)
buitenoppervlak = Buiten_opp # bepaal zelf in m^2
warmtecapaciteit = c_a # bepaal de warmtecapaciteit in J/K
#Per graad omlaag wordt de tijd genoteerd
times = np.array([0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330])
temps = np.array([43.0, 39.9, 37.1, 35.4, 33.9, 32.6, 31.8, 30.9, 29.8, 29.4, 28.7, 28.2])
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt, pocv = curve_fit(exp_func, times, temps, p0=[12.8, 1000, 21.2], maxfev=5000)
A_exp, tau_exp, T_omg_exp = popt
y_fit = exp_func(times, *popt)
plt.figure()
plt.xlabel('$t$ (s)')
plt.ylabel('$T$ (K)')
plt.plot(times, temps, 'bo', label='measurement')
plt.plot(times, y_fit, 'r-',
label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp, tau_exp, T_omg_exp))
plt.legend()
plt.savefig("figures/Koelbuis_C1.png", dpi=450)
plt.show()
h_exp = (warmtecapaciteit) / (tau_exp * buitenoppervlak)
# Warmteoverdrachtscoëfficiënt in W/m^2 K
print("De Warmteoverdrachtscoefficient is gelijk aan %.1f W/(m^2 K)." %(h_exp))
# configuratie 2 (Buis in met de as in verticale richting met dop)
def exp_func(t, A, tau, T_omg):
# A is verschiltemperatuur met omgeving aan start
# tau is de karakteristieke tijd voor de koeling
# T_omg is de omgevingstemperatuur
return (A * np.exp(-t/tau) + T_omg)
buitenoppervlak = Buiten_opp # m^2
warmtecapaciteit = c_a # J/K
times2 = np.linspace(0, 360, 37)
temps2 = np.array([45.6,44.9 ,41.4 ,39.3 ,38.6 , 25.3, 38.1, 37.6, 37.1, 36.7, 36.1, 35.6, 35.2, 35.0, 34.5, 34.0, 33.7, 35.1, 35.1, 34.0, 33.5, 33.1, 32.8, 32.4, 32.5, 32.4, 31.9, 31.4, 31.2, 31.0, 31.0, 30.7, 30.5, 30.2, 30.0, 29.9, 29.8])
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt, pocv = curve_fit(exp_func, times2, temps2, p0=[23.8, 100, 21.2], maxfev=5000)
A_exp, tau_exp, T_omg_exp = popt
y_fit2 = exp_func(times2, *popt)
plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')
plt.plot(times2, temps2, 'bo', label='measurement')
plt.plot(times2, y_fit2, 'r-',
label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp, tau_exp, T_omg_exp))
plt.legend()
plt.savefig("figures/Koelbuis_C2.png", dpi=450)
plt.show()
h_exp2 = (warmtecapaciteit) / (tau_exp * buitenoppervlak)
# Warmteoverdrachtscoëfficiënt in W/m^2 K
print("De Warmteoverdrachtscoefficient is gelijk aan %.1f W/(m^2 K)." %(h_exp2))
# configuratie 2, poging 2
def exp_func(t, A, tau, T_omg):
# A is verschiltemperatuur met omgeving aan start
# tau is de karakteristieke tijd voor de koeling
# T_omg is de omgevingstemperatuur
return (A * np.exp(-t/tau) + T_omg)
buitenoppervlak = Buiten_opp # m^2
warmtecapaciteit = c_a # J/K
begin = np.linspace(0, 50, 11)
einde = np.linspace(60, 570, 52)
print(begin)
times3 = np.cumsum(np.concatenate((np.ones(11)*5, np.ones(52)*10))) - 5
print(times)
#times = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80 ,90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 210, 240, 270, 280, 290, 300, 310, 320, 330])
temps3 = np.array([42.2,41.8 ,41.5 ,41.3 ,41.0 ,40.7 ,40.4 ,40.1 ,39.7 ,39.4 ,39.1 ,38.7 ,38.2 ,37.8 ,37.4, 37.0, 36.5, 36.1, 35.7, 35.4, 35.0, 34.6, 34.3, 34.1, 33.8, 33.6, 33.3, 33.1, 32.8, 32.5, 32.4, 32.1, 31.9, 31.7, 31.3, 31.2, 31.0, 30.8, 30.7, 30.5, 30.4, 30.3, 30.1, 29.9, 29.8, 29.7, 29.6, 29.5, 29.4, 29.3, 29.1, 29.0, 28.9, 28.8, 28.7, 28.6, 28.5, 28.4, 28.3, 28.3, 28.2, 28.0, 28.0])
print(len(temps))
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt, pocv = curve_fit(exp_func, times3, temps3, p0=[23.8, 100, 21.2], maxfev=5000)
A_exp, tau_exp, T_omg_exp = popt
y_fit3 = exp_func(times3, *popt)
plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')
plt.plot(times3, temps3, 'bo', label='measurement')
plt.plot(times3, y_fit3, 'r-',
label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp, tau_exp, T_omg_exp))
plt.legend()
plt.savefig("figures/Koelbuis_C3.png", dpi=450)
plt.show()
h_exp3 = (warmtecapaciteit) / (tau_exp * buitenoppervlak)
# Warmteoverdrachtscoëfficiënt in W/m^2 K
print("De Warmteoverdrachtscoefficient is gelijk aan %.1f W/(m^2 K)." %(h_exp3))
Discussie en conclusie¶
Uit de metingen blijkt dat de warmteoverdracht sterk afhangt van de richting van de buis. Dit wijst erop dat convectie een sterke rol speelt in het warmtetransport.
Warmtetransport door geleiding levert slechts een kleine bijdrage, dit omdat lucht een goede isolator is. Ook straling levert een beperkte bijdrage, voornamelijk omdat de temperatuur van het oppervlak niet extreem hoog is.
Convectie daarentegen is sterk afhankelijk van de richting van de buis en de aanwezigheid van de dop. Wanneer de buis open is kan warme lucht makkelijker ontsnappen, dit versterkt de convectie stromen en leidt tot een grotere warmteoverdracht. Dit verklaart de verschillen in de warmteoverdrachtscoefficient, h, tussen de uitgevoerde proeven.
Op basis hiervan kan worden bepaald dat convectie (stroming) de grootste bijdrage levert aan de totale warmte overdracht, terwijl straling en geleiding slechts een kleine rol spelen.