FY1005/TFY4165 Termisk fysikk. Institutt for fysikk, NTNU. Våren 2013. Veiledning: 18. og 21. januar. Innleveringsfrist: Onsdag 23. januar kl 14.

Øving 1

Oppgave 1

a) Volumutvidelseskoeffisienten α og den isoterme kompressibiliteten κ_{T} er ikke konstanter, men varierer med tilstanden (trykk, temperatur, volum). Vis at følgende sammenheng gjelder for variasjonene med tilstanden:

(\frac{∂α}{∂p})_{T} = − (\frac{∂κ_{T}}{∂T} )_{p} .

b) Hvis du lager et sirkulært hull med diameter 10 cm i en stålplate utendørs i ti kuldegrader, hva er hullets diameter når platen har akklimatisert seg inne i stua? Stål har lineær utvidelseskoeffisient 13 · 10^{−6} K^{−1}.

Oppgave 2

a) Beregn trykket p i ett mol luft ved 20^{∘}C og volum 24.0 L når du antar at luft er en ideell gass. Finn p når gassen er komprimert til 0.24 L.

b) Når tettheten øker, vil luft avvike fra ideell gass. Da kan van der Waals’ tilstandsligning benyttes som en tilnærmelse. For ett mol gass er denne ligningen gitt ved

p = \frac{RT}{V − b} − \frac{a}{V^{2}}

der a og b er konstanter. For luft er a = 1.368 bar(m^{3}/kmol)^{2} og b = 0.0367 (m^{3}/kmol) (1 bar = 10^{5} Pa og 1 kmol=1000 mol). Hva blir trykket p for 1 mol luft ved de samme volum 24.0 L og 0.24 L når van der Waals’ tilstandsligning brukes med de gitte verdiene på a og b? (Svar: 1 atm og 96 atm.)

Oppgave 3

Vis at van der Waals’ tilstandsligning kan skrives som en tredjegradsligning i volumet V.

Oppgave 4

For å få litt bedre “føling” med van der Waals’ tilstandsligning kan vi plotte isotermer for forskjellige temperaturer i et (p, V)-diagram. Dette gjøres enkelt i Matlab (eventuelt Octave). Bruk verdiene for a og b for luft fra oppgave 2b. Gasskonstanten er R = 8.314 J/mol K.

Lag først en figur der van der Waals isotermer tegnes opp for temperaturer mellom 113 og 293 K, med intervall 20 K mellom påfølgende kurver. Beregn p(V) for V mellom 0.05 og 1.0 L/mol, mens kurvene plottes i et diagram der V -aksen går fra 0 til 1.0 L/mol og p-aksen fra 0 til 140 bar. Tegn også, i samme figur, isotermer basert på ideell gass tilstandsligning for laveste og høyeste temperatur, dvs 113 og 293 K. Sjekk at de to kurvene ved T = 293 K er konsistente med det du fant i oppgave 2.

Lag deretter en tilsvarende figur for temperaturer mellom 113 og 158 K, med intervall 5 K mellom kurvene. Her kan du beregne p(V) for molare volum mellom 0.05 og 0.5 L/mol, mens V - og p-aksene går hhv fra 0 til 0.5 L/mol og fra 0 til 70 bar. Legg merke til overgangen fra monotont avtagende kurver til ikke-monotone p(V) ved T ≃ 133 K. Vi skal diskutere dette nærmere senere i kurset.

Noen tips for programmering i Matlab eller Octave:

• To vanlige måter å lage en vektor som inneholder tall fra x til y: a = 0:0.01:1 og b = linspace(1,2,100) Her er a en vektor med tall fra 0 til 1, med steglengde 0.01. b er en vektor med 100 tall fra 1 til 2.

• Funksjonen length(a) returnerer antall elementer i vektoren a.

• En for-løkke er praktisk for å plotte flere grafer i en og samme figur.

• Når du skal lage en ny vektor med tall basert på en funksjon av en gammel vektor, kan det være fristende å bruke en ny for-løkke. Men det er mye raskere å bruke Matlab/Octave sine innebygde elementvise operasjoner! Da kan vi lage en ny vektor c basert på b fra i sted slik: c = b.*b - her blir verdi nr. n i c lik kvadratet av verdi nr. n i b, slik at kommandoen plot(b,c) vil gi en parabel. Du kan bruke et punktum foran alle vanlige operasjoner.

• Etter det første plottet må du skrive hold on for at de neste kurvene skal komme i samme figur. (Du må skrive hold off; etter den siste kurven og deretter figure; dersom nye figurer skal lages senere i det nye programmet.) Det er også lurt å skalere aksene etter det første plottet, med kommandoen

     axis([xmin xmax ymin ymax]).

Et konkret eksempel er tatt med på neste side. Du kan bruke dette eksemplet som utgangspunkt for å lage de to figurene med isotermer.

%%FY1005/TFY4165, Oving 1, Oppgave 4, eksempel.
%%Filnavn: ov1eksempel.m
zmin=1;
zmax=5;
Deltaz=1;
%%z = vektor med verdier mellom zmin og zmax, intervall Deltaz
z=zmin:Deltaz:zmax;
xmin=0.1;
xmax=pi;
Nx=500;
%%x = vektor med verdier mellom xmin og xmax, i alt Nx verdier
x=linspace(xmin,xmax,Nx);
%%length(z) = antall elementer i vektoren z
%%Bruker for-loekke fra i=1 til i=length(z) til aa regne ut en
%%funksjon y(x) for z-verdier z(1), z(2), ... , z(length(z))
for i = 1:length(z);
    y = sin(z(i).*x);
    fig = plot(x,y);
    %%y(x) for laveste z-verdi z(1): blaa kurve
    %%y(x) for hoeyeste z-verdi z(length(z)): roed kurve
    %%Mellomliggende kurver: gradvis mellom blaa og roed
    %%Tynne kurver, LineWidth = 1.0
    red=(i-1)/(length(z)-1);
    green = 0.0;
    blue=1-red;
    set(fig,'Color',[red green blue],'LineWidth',1.0);
    if i == 1;
        title('Noen harmoniske funksjoner','fontsize',18);
        xlabel('x','fontsize',18);
        ylabel('sin(zx)','fontsize',18);
        axis([0 xmax -1 1]);
        %%Kommandoen hold on; soerger for at paafoelgende
        %%kurver tegnes i samme figur
        hold on;
        %%Vi plotter ogsaa funksjonen sin(0.9zx) for laveste
        %%z-verdi, dvs for z(1)
        y2 = sin(0.9*z(i).*x);
        fig = plot(x,y2);
        %%Tykk blaa kurve for y2(x) ved z(1)
        set(fig,'LineWidth',1.5,'Color',[0 0 1]);
    end;
end;
hold off;