Numerische Methoden der Umweltphysik
Computer- ¨ Ubungen zur W¨ armeleitungsgleichung 2. Februar 2006
Die Ausbreitung von Temperaturschwankungen in den Boden hinein wird durch die folgenden beiden Gleichungen beschrieben:
F = −K
h∂T
∂z und ∂T
∂t = − 1 C
h∂F
∂z
Die erste Gleichung ist als das Fourier’sche W¨ armeleitungsgesetz bekannt, die zweite Gleichung ist die dazugeh¨ orige Bilanzgleichung. K
h[J K
−1m
−1s
−1] bezeichnet die W¨ armeleitf¨ ahigkeit und C
h[J m
−3K
−1] die W¨ armekapazit¨ at pro Volumen.
Kombiniert man die beiden obigen Gleichungen, so ergibt sich die W¨ armeleitungsgleichung:
∂T
∂t = 1 C
h∂
∂z
K
h∂T
∂z
In dieser ¨ Ubung soll die Ausbreitung der W¨ arme in den Erdboden hinein untersucht werden.
An der Erdoberfl¨ ache wird die Temperatur T(z = 0, t) vorgegeben werden. Der Erdboden selbst besteht aus einer vorgegebenen Zahl von Schichten, wobei in jeder Schicht die Koeffizienten K
hund C
hkonstant sind.
1. Installation und Ausf¨ uhrung des Matlab-Programms 1. Holen Sie die Matlab Programme von:
http://www.iac.ethz.ch/staff/schaer/Vorlesungen/NumUmwelt/index.html 2. Starten Sie Matlab.
3. Starten Sie das Programm heat.
Im Startfenster k¨ onnen Sie nun das Modell ausw¨ ahlen und die Parameter eingeben.
Mit dem Start-Button starten Sie die Berechnung, deren Visualisierung in einem neuen Fenster angezeigt wird. Mit dem Button “A” k¨ onnen Sie die analytische L¨ osung ein- und ausblenden; eine solche l¨ asst sich allerdings nur f¨ ur die ersten zwei Modelle berechnen.
2. Experimentelles Absch¨ atzen der Eindringstiefe
Die Eindringtiefe z
eeiner Temperaturvariation in den Boden wurde in der Vorlesung hergeleitet:
z
e= r 2κ
ω mit κ = K
hC
hDabei ist κ die Temperaturleitzahl, K
h[J K
−1m
−1s
−1] die W¨ armeleitf¨ ahigkeit und C
h[J m
−3K
−1] die W¨ armekapazit¨ at pro Volumen und ω = 2π/τ die Kreisfrequenz.
1
Aufgaben:
a. Verifizieren Sie qualitativ die Abh¨ angigkeit der Eindringtiefe von der Periode τ . W¨ ahlen Sie dazu eine Integrationsdauer von 100 Tagen und Perioden von 1, 10 und 100 Tagen.
b. Testen Sie analog zu a) die Abh¨ angigkeit von K
hund von C
h.
c. Vergleichen Sie das Eindringen in einem Einschichtmodell mit demjenigen in einem Zweischichtmodell. W¨ ahlen Sie zum Beispiel die W¨ armeleitf¨ ahigkeit K
hder oberen Schicht doppelt so gross wie diejenige der unteren Schicht und die Schichtgrenze bei z = 0.5. Testen Sie auch andere Modelle!
Bemerkung: Die Courant-Zahl, die Sie eingeben, ist definiert durch α = κ ∆t
∆x
2mit κ = K
hC
hwobei sich K
hund C
hauf die oberste Schicht beziehen. W¨ ahlen Sie α so, dass Stabilit¨ at f¨ ur alle Schichten gew¨ ahrleistet ist.
3. Implementation des Crank-Nicolson-Verfahrens
In der Vorlesung wurde das Crank-Nicolson-Verfahren vorgestellt. Die W¨ armeleitungsglei- chung im Falle von konstanten Koeffizienten wird durch die implizite Vorschrift
Φ
n+1i− Φ
ni∆t = κ
2 · ( Φ
n+1i+1− 2Φ
n+1i+ Φ
n+1i−1∆x
2+ Φ
ni+1− 2Φ
ni+ Φ
ni−1∆y
2)
gegeben. An den Randpunkten m¨ ussen die Werte vorgegeben werden. So resultiert f¨ ur den oberen Rand (Erdoberfl¨ ache) die Vorschrift
Φ
n+11− Φ
n1∆t = κ
2 · ( Φ
n+12− 2Φ
n+11+ Φ
n+1L∆x
2+ Φ
n2− 2Φ
n1+ Φ
nL∆y
2)
wobei Φ
nLden vorgebenen Wert am oberen Rand bezeichnet. Ein entsprechender Aus- druck gilt auch f¨ ur den unteren Rand. Wie ¨ ublich f¨ ur implizite Verfahren bei linearen Modellproblemen resultiert ein lineares Gleichungsystem (α = κ∆t/∆x
2):
2 + 2α −α
−α 2 + 2α −α
.. .
−α 2 + 2α
·
Φ1 Φ2 .. .
Φn
n+1
−α·
ΦL 0 .. . 0 ΦR
n+1
= · · ·
· · · =
2−2α α
α 2−2α α .. .
α 2−2α
·
Φ1 Φ2 .. .
Φn
n
+α·
ΦL 0
.. . 0 ΦR
n
In dieser Aufgabe sollen Sie das Crank-Nicolson Verfahren implementieren. Die Temper- atur an den R¨ andern sind vorgegeben: Φ
L= Φ
L(t), Φ
R= 0. F¨ ur die Implementation m¨ ussen Sie folgendes wissen:
2
– Der Kern besteht in einer Routine, die ein tridiagonales lineares Gleichungsystem numerisch l¨ ost. Sie finden im Programm bereits eine solche Routine tridiag vor.
Studieren Sie die Kommentare zu dieser Routine! Im wesentlichen geht es darum, dieser Routine die richtigen Eingabegr¨ ossen zu ¨ ubergeben, und die Ausgabegr¨ ossen richtig zu interpretieren.
– Vervollst¨ andigen Sie dann die Zeilen im Hauptprogramm! Die aktuelle Temperatur steht im Array Tnow(i), die neu berechnete soll in den Array Tnew(i) kommen. Die diffusive Courant-Zahl α steht in cour. Die Invertierungsroutine k¨ onnen Sie mit x
= tridiag (nz,a,b,c,f) aufrufen. Die Temperatur an der Erdoberfl¨ ache f¨ ur den Zeitschritt j finden Sie in Tsur(j).
Aufgaben
a. Vergleichen Sie das Crank-Nicolson Verfahren mit dem “Forward-Time, Centered- Space”-Verfahren, im Bereich der diffusiven Courant-Zahlen, wo beide Schemen stabil sind.
b. Zeigen Sie (durch Simulationen), dass das Crank-Nicolson Verfahren auch f¨ ur diffusive Courant-Zahlen > 1 stabil bleibt. Diskutieren Sie qualitativ den Fehler des Verfahrens mit zunehmender Courant-Zahl!
Anhang: Gestaggerte Gitter bei der Fluss-Methode
F¨ ur die Diskretisierung der Fourier- und der Bilanzgleichung wird ein finites Differenzenver- fahren in Zeit und Ort angewendet. Die Differentialgleichung wird auf dem diskreten Orts- und Zeitgitter
(i∆z, n∆t)
((i + 1/2)∆z, n∆t) i = 0 . . . nz, n = 0 . . . nts
gel¨ ost. Hier ist nz die Anzahl Gitterpunkte und nts die Anzahl Zeitschritte, sowie ∆z die Gitterweite und ∆t die Zeitschrittl¨ ange. Die Temperatur- und W¨ armeflussvariablen werden gestaffelt (gestaggert) in das r¨ aumliche Gitter eingepasst.
Dieses ist in nz Schichten aufgeteilt, in deren Mitten die Temperatur und auf deren Grenzen der W¨ armefluss definiert ist. Schwarze Punkte repr¨ asentieren die gegebenen Anfangs- bzw.
Randbedingungen, weisse die zu berechnenden Gr¨ ossen.
Beim finiten Differenzenverfahren werden die Ableitungen durch Differenzenquotienten angen¨ ahert.
Die Fouriergleichung wird somit mit zentrierter Differenz im Ort zu F
i+1/2n= −K
i+1/2T
i+1n− T
in∆z
und die Bilanzgleichung mit dem Forward-Schritt in der Zeit und ebenfalls zentrierter Differenz im Ort zu
T
in+1− T
in∆t = − 1 C
iF
i+1/2n− F
i−1/2n∆z
wobei T
indie angen¨ aherte Temperatur am Ort i∆z und zur Zeit n∆t und F
i+1/2nden an- gen¨ aherten W¨ armefluss bei (i + 1/2)∆z und n∆t bezeichnet. Hierbei wurden die Fehlerterme
3
F3/20 T10
T20
Tnz0
∆t
∆z
Fnz+1/20
F1/21 F1/2nts
F1/20
t= 0 t=time
z= 0
z=zmax