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.
Vormen van warmtetransport:
Conectie (Stroming)
Straling
Geleiding
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 me 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.
Zorg ervoor dat je de buis niet aanraakt terwijl deze warm is. De metalen buis geleidt warmte. Zelfs een temperatuur van 60 graden celsius is daarom al onaangenaam hoog. Hou de pan met het warme water ook op een veilige plek zodat deze niet kan omkiepen en het warme water over de grond opspat.
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¶
Meetgegevens van de meting zonder dop:¶
Berekenen van het buitenoppervlak en de totale warmtecapaciteit van de holle buis:¶
import numpy as np
# BEREKENING VAN DE TOTALE WARMTECAPACITEIT
rho = 8.73e3 # dichtheid van messing (kg/m^3)
R = 0.048/2 # buitenste straal (m)
r = (0.048-(2*0.001))/2 # binnenste straal (m)
L = 0.052 # lengte (m)
V = np.pi * L * (R**2 - r**2) # V_buiten - V_binnen = volume (m^3)
m = V * rho
print(f'De massa van de holle buis is {m:.1e} kg.')
C_messing = 3.8e2 # soortelijke warmte van messing (J/kgK)
warmtecapaciteit_buis = C_messing * m # capaciteit van onze holle buis (J/K)
print(f'De warmtecapaciteit van onze holle buis is {warmtecapaciteit_buis:.1f} J/K.')
# BEREKENING VAN HET BUITENOPPERVLAK VAN DE BUIS
mantel_oppervlakte = 2 * np.pi * R * L
ringen_oppervlakte = 2 * np.pi * (R**2 - r**2)
totale_oppervlakte = mantel_oppervlakte + ringen_oppervlakte
print(f'Het totale oppervlak van de buitenkant van de holle buis is {totale_oppervlakte:.1e} m^2.')De massa van de holle buis is 6.7e-02 kg.
De warmtecapaciteit van onze holle buis is 25.5 J/K.
Het totale oppervlak van de buitenkant van de holle buis is 8.1e-03 m^2.
Gegevens van de meting zonder dop in Kelvin:¶
# MEETGEGEVENS ZONDER DOP, IN KELVIN
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
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 = totale_oppervlakte # bepaal zelf in m^2
warmtecapaciteit = warmtecapaciteit_buis # bepaal de warmtecapaciteit in J/K
times = np.linspace(0,835,168) # in totaal 14 minuten
temps_C = np.array([41.0, 41.6, 42.1, 42.7, 42.7, 42.7, 42.2, 41.7, 41.2, 40.7,
40.7, 40.2, 39.7, 39.2, 39.2, 38.7, 38.2, 38.2, 37.7, 37.2,
37.2, 36.7, 36.7, 36.2, 35.7, 35.7, 35.7, 35.2, 35.2, 34.7,
34.7, 34.7, 34.2, 34.2, 33.8, 33.7, 33.8, 33.3, 33.3, 33.3,
32.8, 32.8, 32.8, 32.3, 32.3, 32.3, 32.3, 31.8, 31.8, 31.8,
31.8, 31.3, 31.3, 31.3, 31.3, 30.8, 30.8, 30.8, 30.8, 30.8,
30.3, 30.3, 30.3, 30.1, 30.1, 30.1, 30.1, 30.1, 29.6, 29.6,
29.6, 29.6, 29.1, 29.1, 29.1, 29.1, 29.1, 28.8, 28.8, 28.7,
28.7, 28.7, 28.4, 28.5, 28.5, 28.4, 28.4, 28.4, 28.4, 28.1,
28.0, 28.0, 27.9, 27.9, 27.9, 27.9, 27.8, 27.8, 27.8, 27.6,
27.6, 27.6, 27.6, 27.6, 27.4, 27.4, 27.4, 27.3, 27.3, 27.3,
27.3, 27.1, 27.1, 27.1, 27.1, 26.8, 26.8, 26.8, 26.8, 26.7,
26.7, 26.8, 26.7, 26.7, 26.7, 26.6, 26.6, 26.6, 26.6, 26.6,
26.5, 26.5, 26.5, 26.3, 26.3, 26.3, 26.3, 26.2, 26.1, 26.1,
26.1, 26.1, 26.1, 26.0, 26.0, 25.9, 25.9, 25.9, 25.9, 25.9,
25.9, 25.9, 25.9, 25.9, 25.8, 25.8, 25.8, 25.8, 25.8, 25.8,
25.7, 25.7, 25.8, 25.7, 25.7, 25.7, 25.7, 25.7])
temps_K = temps_C + 273.15
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt, pcov = curve_fit(exp_func, times, temps_K, p0=[300, 200, 22], maxfev=5000)
A_exp, tau_exp, T_omg_exp = popt
y_fit = exp_func(times, *popt)
plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')
plt.plot(times, temps_K, 'o', label='measurement', color='green', markersize = 1.5)
plt.plot(times, y_fit, 'k-', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp, tau_exp, T_omg_exp))
plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/zonder_dop_Kelvin.png", dpi=450)
plt.show()
h_exp = (warmtecapaciteit) / (tau_exp * buitenoppervlak)
A_err, tau_err, T_omg_err = np.sqrt(np.diag(pcov))
print(f'De gefiite Tau is {tau_exp:.1f} ± {tau_err:.1f} s.')
h_err = h_exp * (tau_err / tau_exp)
print(f'De warmteoverdrachtscoëfficiënt is {h_exp:.1f} ± {h_err:.1f} W/m²·K.') # warmteoverdrachtscoëfficiënt in W/m^2 K
De gefiite Tau is 242.6 ± 3.6 s.
De warmteoverdrachtscoëfficiënt is 12.9 ± 0.2 W/m²·K.
Meetgegevens van de meting mét dop:¶
Berekenen van het buitenoppervlak en de totale warmtecapaciteit van de dop:¶
# BEREKENING BUITENOPPERVLAK VAN DE RUBBEREN DOP
s = 0.033 # lengte van de schuine zijde van de dop die exposed is aan buitenlucht (afgeknopte kegel)(m)
r1 = 0.023 # straal van de kleinste cirkel van de dop (m)
r2 = 0.035 # straal van de grootste cirkel van de dop (m)
mantel_oppervlakte_dop = np.pi * s * (r1+r2)
opp_grootste_cirkel = np.pi * r2**2
A_dop_exposed = opp_grootste_cirkel + mantel_oppervlakte_dop
print(f'De oppervlakte van de rubberen dop die exposed is aan de lucht is {A_dop_exposed:.2e} m^2.')
buis_oppervlakte_1ring = mantel_oppervlakte + 0.5*(ringen_oppervlakte)
# BEREKENING TOTALE WARMTECAPACITEIT VAN DE RUBBEREN DOP
rho_rubber = 1150 # ongeveer dichtheid van silicoonrubbere (aanname) (kg/m^3)
C_rubber = 1450 # soortelijke weerstand van silicoonrubber (aanname) (J/kgK)
l = 0.031 # verticale hoogte van de rubberen dop (m)
V_dop = (1/3) * np.pi * (r1**2 + (r1 * r2) + r2**2) * l
print(f'Het volume van de dop is {V_dop:.2e} m^3.')
m_dop = rho_rubber * V_dop
print(f'De massa van de dop is {m_dop:.2e} kg.')
warmtecapaciteit_dop = m_dop * C_rubber
print(f'De warmtecapaciteit van de rubbere dop is {warmtecapaciteit_dop:.2f} J/K.')De oppervlakte van de rubberen dop die exposed is aan de lucht is 9.86e-03 m^2.
Het volume van de dop is 8.31e-05 m^3.
De massa van de dop is 9.55e-02 kg.
De warmtecapaciteit van de rubbere dop is 138.52 J/K.
Gegevens van de meting mét dop in Kelvin, met originele starttemperatuur:¶
# MEETGEGEVENS MÉT DOP, MAAR DAN MÉT DE RUBBEREN DOP MEEGENOMEN IN DE BEREKENINGEN!!!!
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def exp_func(t2, A2, tau2, T_omg2):
# A is verschiltemperatuur met omgeving aan start
# tau is de karakteristieke tijd voor de koeling
# T_omg is de omgevingstemperatuur
return (A2 * np.exp(-t2/tau2) + T_omg2)
buitenoppervlak_totaal = buis_oppervlakte_1ring + A_dop_exposed # oppervlakte van dop + buis samen (m^2)
warmtecapaciteit_totaal = warmtecapaciteit_buis + warmtecapaciteit_dop # bepaal de warmtecapaciteit (J/K)
omgevingstemperatuur = 22.3 # in graden celsius
omgevingstemp_K = 273 + 22.3 # in Kelvin
times2 = np.linspace(0,695,139)
temps2_C = np.array([51.0, 50.9, 50.3, 50.3, 49.2, 48.2, 47.2, 46.6, 45.6, 45.1,
44.6, 44.0, 44.0, 43.5, 43.0, 42.5, 42.0, 41.5, 41.5, 41.0,
40.5, 40.5, 40.0, 39.5, 39.5, 39.0, 38.5, 38.5, 38.5, 38.0,
38.0, 37.5, 37.5, 37.5, 37.0, 37.0, 36.5, 36.5, 36.0, 36.0,
36.0, 35.5, 35.5, 35.5, 35.0, 35.0, 34.5, 34.5, 34.5, 34.0,
34.0, 34.0, 34.1, 33.5, 33.6, 33.6, 33.6, 33.1, 33.1, 33.1,
33.1, 33.1, 32.6, 32.6, 32.6, 32.6, 32.2, 32.2, 32.2, 32.2,
31.7, 31.7, 31.7, 31.7, 31.7, 31.2, 31.2, 31.2, 31.2, 31.2,
31.2, 31.2, 30.9, 30.9, 30.9, 30.9, 30.9, 30.4, 30.4, 30.4,
30.4, 30.4, 30.1, 30.1, 30.0, 30.0, 29.9, 29.9, 29.8, 29.8,
29.8, 29.9, 29.6, 29.7, 29.7, 29.7, 29.4, 29.4, 29.4, 29.4,
29.2, 29.2, 29.2, 29.2, 29.1, 29.1, 29.1, 29.1, 28.9, 28.9,
28.9, 28.7, 28.7, 28.7, 28.6, 28.6, 28.6, 28.6, 28.3, 28.3,
28.2, 28.2, 28.2, 28.2, 28.1, 28.2, 28.1, 28.2, 28.1])
temps2_K = temps2_C + 273.15
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt2, pcov2 = curve_fit(exp_func, times2, temps2_K, p0=[40, 200, 22], maxfev=5000)
A_exp2, tau_exp2, T_omg_exp2 = popt2
y_fit2 = exp_func(times2, *popt2)
plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')
plt.plot(times2, temps2_K, 'o', label='measurement', color='black', markersize = 1)
plt.plot(times2, y_fit2, '-', color = 'pink', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp2, tau_exp2, T_omg_exp2))
plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/mét_dop_Celcius_start_raw.png", dpi=450)
plt.show()
h_exp2 = (warmtecapaciteit_totaal) / (tau_exp2 * buitenoppervlak_totaal)
A_err2, tau_err2, T_omg_err2 = np.sqrt(np.diag(pcov2))
print(f'De gefitte Tau is {tau_exp2:.1f} ± {tau_err2:.1f} s.')
h_err2 = h_exp2 * (tau_err2 / tau_exp2)
print(f'De warmteoverdrachtscoëfficiënt is {h_exp2:.1f} ± {h_err2:.1f} W/m²·K.') # warmteoverdrachtscoëfficiënt in W/m^2 K
De gefitte Tau is 189.2 ± 3.1 s.
De warmteoverdrachtscoëfficiënt is 48.6 ± 0.8 W/m²·K.
Gegevens van de meting mét dop, met dezelfde starttemperatuur, in graden Celcius:¶
# FF KIJKEN OF DE HOOGSTE TEMPERATUREN WEGHALEN HELPT!!! (MET DOP)
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def exp_func(t3, A3, tau3, T_omg3):
# A is verschiltemperatuur met omgeving aan start
# tau is de karakteristieke tijd voor de koeling
# T_omg is de omgevingstemperatuur
return (A3 * np.exp(-t3/tau3) + T_omg3)
buitenoppervlak_totaal = buis_oppervlakte_1ring + A_dop_exposed # oppervlakte van dop + buis samen (m^2)
warmtecapaciteit_totaal = warmtecapaciteit_buis + warmtecapaciteit_dop # bepaal de warmtecapaciteit (J/K)
omgevingstemperatuur = 22.3 # in graden celsius
omgevingstemp_K = 273 + 22.3 # in Kelvin
times3 = np.linspace(0,625,125)
temps3_C = np.array([43.0, 42.5, 42.0, 41.5, 41.5, 41.0, 40.5, 40.5, 40.0, 39.5,
39.5, 39.0, 38.5, 38.5, 38.5, 38.0, 38.0, 37.5, 37.5, 37.5,
37.0, 37.0, 36.5, 36.5, 36.0, 36.0, 36.0, 35.5, 35.5, 35.5,
35.0, 35.0, 34.5, 34.5, 34.5, 34.0, 34.0, 34.0, 34.1, 33.5,
33.6, 33.6, 33.6, 33.1, 33.1, 33.1, 33.1, 33.1, 32.6, 32.6,
32.6, 32.6, 32.2, 32.2, 32.2, 32.2, 31.7, 31.7, 31.7, 31.7,
31.7, 31.2, 31.2, 31.2, 31.2, 31.2, 31.2, 31.2, 30.9, 30.9,
30.9, 30.9, 30.9, 30.4, 30.4, 30.4, 30.4, 30.4, 30.1, 30.1,
30.0, 30.0, 29.9, 29.9, 29.8, 29.8, 29.8, 29.9, 29.6, 29.7,
29.7, 29.7, 29.4, 29.4, 29.4, 29.4, 29.2, 29.2, 29.2, 29.2,
29.1, 29.1, 29.1, 29.1, 28.9, 28.9, 28.9, 28.7, 28.7, 28.7,
28.6, 28.6, 28.6, 28.6, 28.3, 28.3, 28.2, 28.2, 28.2, 28.2,
28.1, 28.2, 28.1, 28.2, 28.1, ])
temps3_K = temps3_C + 273.15
# pas beginwaardes aan naar schatting
# Het aantal maxfev moet wellicht hoger voor goede convergentie van de waarde
popt3, pcov3 = curve_fit(exp_func, times3, temps3_K, p0=[20, 200, 22], maxfev=5000)
A_exp3, tau_exp3, T_omg_exp3 = popt3
y_fit3 = exp_func(times3, *popt3)
plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Temperature [K]')
plt.plot(times3, temps3_K, 'o', label='measurement', color='black', markersize = 1)
plt.plot(times3, y_fit3, '-', color = 'pink', label='$T = %0.2f e^{-t/%0.4f} + %0.2f$' % (A_exp3, tau_exp3, T_omg_exp3))
plt.legend()
plt.savefig(r"C:\Users\l.hekman\TNfolder\Project\thermolab\Figures/mét_dop_Celcius.png", dpi=450)
plt.show()
h_exp3 = (warmtecapaciteit_totaal) / (tau_exp3 * buitenoppervlak_totaal)
A_err3, tau_err3, T_omg_err3 = np.sqrt(np.diag(pcov3))
print(f'De gefitte Tau is {tau_exp3:.1f} ± {tau_err3:.1f} s.')
h_err3 = h_exp3 * (tau_err3 / tau_exp3)
print(f'De warmteoverdrachtscoëfficient is {h_exp3:.1f} ± {h_err3:.1f} W/m²·K.') # warmteoverdrachtscoëfficiënt in W/m^2 K

De gefitte Tau is 235.2 ± 3.6 s.
De warmteoverdrachtscoëfficient is 39.1 ± 0.6 W/m²·K.
Discussie en conclusie¶
Uit het experiment volgen verscheidene waarden voor de karakteristieke tijd 𝜏 en de warmteoverdrachtscoëfficient h. Zonder dop werd de grootste karakteristieke tijd verkregen 𝜏 = 242.6 ± 3.6 s en de kleinste warmteoverdrachtscoëfficient . Dit geeft aan dat de warmte zonder dop langzamer aan de omgeving werd afgestaan.
Aangezien bij het experiment mét dop een hogere starttemperatuur werd genomen daalde de karakteristieke tijd sterk 𝜏 = 189.2 ± 3.1 s en steeg de warmteoverdrachtscoëfficient . Door de grotere temperatuurgradiënt was er sprake van een snellere warmteoverdracht.
Wanneer dezelfde starttemperatuur genomen werd als de meting zonder dop nam de karakteristieke tijd af 𝜏 = 235.2 ± 3.6 s en de warmteoverdrachtscoëfficiënt steeg minder drastisch . Dit toont aan dat mét dop de warmte beter aan de omgeving wordt afgegeven dan als er geen dop is. Hoogstwaarschijnlijk is dit een gevolg van de grootte en het contactoppervlak van de dop (de dop was groot en massief in verhouding tot de dunne en kleine buis).
In dit experiment is de invloed van warmteverlies van straling verwaarloost, waardoor er een systematische fout is geïntroduceerd in het warmtetransport.
De silicoon rubberen dop verhoogt dus de warmteafgifte aan de omgeving, waardoor er juist een snellere afkoeling plaatsvindt. De starttemperatuur beïnvloedt de verkregen warmteoverdrachtscoëfficiënten, maar deze blijft hoger mét dop dan zonder dop.