Institutt for fysikk, NTNU TFY4165 og FY1005 Termisk fysikk, våren 2011.

Regneøving 1.

(Veiledning: Fredag 21. januar kl. 12.15 - 14.00 og mandag 24. januar kl. 17.15 - 19.00)

\underline{Oppgave 1}

a) En kopperblokk har trykket 1 atm. (= 1, 013 · 10^{5} Pa) ved 0^{o} C. Blokken holdes ved konstant volum mens den varmes opp. Hva blir økningen i trykket for hver grad økning av temperaturen når kubisk utvidelseskoeffisient α = 48, 5 · 10^{−6} K^{−1} og isoterm kompressibilitet κ_{T} = 7, 7 · 10^{−12} Pa^{−1}?

b) Den kubiske utvidelseskoeffisienten α 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} .

\underline{Oppgave 2}

a) Beregn trykket p i ett mol luft ved 20^{o} 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 tilstandslikning benyttes som en tilnærmelse. For ett mol gass er denne likningen 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 tilstandslikning brukes med de gitte verdiene på a og b? (Svar: 1 atm og 96 atm.)

\underline{Oppgave 3}

En varmeisolert elektrisk motstand under konstant trykk p mottar elektrisk energi ved konstant effekt P, og en måler temperaturen T (t) som funksjon av tida t. Finn motstandens varmekapasitet C_{p}(t) uttrykt ved T (t). For et visst metall finnes med god tilnærmelse

T (t) = T_{0}[1 + a(t − t_{0})]^{1/4}

ved lave T. Her er a, t_{0} og T_{0} konstanter. Beregn temperaturavhengigheten til C_{p} i dette temperaturintervallet.

\underline{Oppgave 4}

For å få litt bedre “føling” med van der Waals tilstandslikning 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 tilstandslikning 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 hint for programmering i Matlab eller Octave:

• Det er 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.
%%
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);
    p = 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);
    blue=1-red;
    green = 0.0;
    set(p,'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);
        p = plot(x,y2);
        %%Tykk blaa kurve for y2(x) ved z(1)
        set(p,'LineWidth',1.5,'Color',[0 0 1]);
    end;
end;
hold off;