Ćwiczenie 6a:Równanie dyfuzji w dwóch wymiarach
∗jmin j1 j2 jmax
imin i1 i2 i3 i4 imax
T0
T0
T0
T1 T2
A
B
C
D E F
G H I J
indeks i
indeks j
Rysunek 1: Siatka obliczeniowa do opisu rozkładu temperatury wewnątrz ko- rytarza (szary obszar), który wymienia ciepło z pomieszczeniami sąsiednimi (czerwony, niebieski) oraz z otoczeniem (przez zaznaczone na zielono ściany).
Sąsiednie pomieszczenie o temperaturze T1 graniczy z korytarzem wzdłuż czer- wonej linii, natomiast niebieską linią oznaczono sąsiednie pomieszczenie o tem- peraturze T2. Na zewnątrz panuje temperatura T0.
Zajmiemy się problemem rozkładu temperatury i bilansu cieplnego koryta- rza, prowadzącego z pomieszczenia o temperaturze T1 do pomieszczenia o tem- peraturze T2 (rys. 1). Kratka odpowiada siatce numerycznej. W rachunkach zajmiemy się czystą dyfuzją ciepła z całkowitym zaniedbaniem innych mecha- nizmów transportu (tzn. wymiana z otoczeniem będzie przez konwekcję, ale ta
∗Laboratorium z inżynierskich metod numerycznych, Wydział Fizyki i Informatyki Sto- sowanej AGH 2014/2015. Bartłomiej Szafran (bszafran@agh.edu.pl), Krzysztof Kolasiński (kolasinski@fis.agh.edu.pl), Elżbieta Wach (Elzbieta.Wach@fis.agh.edu.pl), Dariusz Żebrowski (Dariusz.Zebrowski@fis.agh.edu.pl)
1
znajdzie się tylko w warunkach brzegowych). Na korytarzu nie ma źródeł ciepła.
Temperatura powietrza T (x, y, t) opisana jest równaniem przewodnictwa cieplnego (dyfuzji ciepła)
∂T
∂t = k
ρc∇2T, (1)
gdzie ρ, c oraz k są odpowiednio gęstością powietrza, jego ciepłem właściwym i współczynnikiem przewodności termicznej.
Siatka i schemat różnicowy
Ustalamy imin = 0, i1 = 20, i2 = 40, i3 = 60, i4 = 80, imax = 100 oraz jmin = 0, j1 = 20, j2 = 30, jmax = 50. Pracujemy na siatce z krokiem przestrzennym ∆x = ∆y = 1. Przyjmujemy również k = 1, ρ = 1, c = 1.
Równanie (1) rozwiązywać będziemy iteracyjnym schematem Cranka-Nicolson.
Rozkład temperatury w n + 1 chwili czasowej (Tijn+1) wyliczamy na podstawie rozkładu temperatury w kroku n-tym (potrzebujemy więc dwie tablice):
Ti,jn+1− Ti,jn
∆t = k∇2Ti,jn+1
2ρc +k∇2Ti,jn
2ρc . (2)
Rozpisując:
Ti,jn+1= Ti,jn + k∆t
2ρc∆x2[Ti,jn−1+ Ti,j+1n + Tin−1,j+ Ti+1,jn − 4Ti,jn
+Ti,jn+1−1+ Ti,j+1n+1 + Tin+1−1,j+ Ti+1,jn+1 − 4Ti,jn+1]. (3) Po przekształceniu otrzymujemy ostatecznie przepis iteracyjny dla kroku w chwili n+1:
Ti,jn+1= 1 1 + 2ρc∆x4k∆t2
(Ti,jn + k∆t
2ρc∆x2[Ti,jn−1+ Ti,j+1n + Tin−1,j+ Ti+1,jn − 4Ti,jn
+Ti,jn+1−1+ Ti,j+1n+1 + Tin+1−1,j+ Ti+1,jn+1]). (4) Iteracje prowadzimy aż do uzyskania zbieżności (około 50 iteracji dla po- czątkowych kroków czasowych - liczba zależna od sposobu badania zbieżno- ści). W dalszych chwilach czasowych zbieżność będzie uzyskiwana bardzo szyb- ko, ponieważ rozkład temperatury przestanie się zmieniać (rozpatrywany układ znajdzie się w równowadze termicznej). Zbieżność można zbadać np. obliczając całkę z wartości bezwzględnej temperatury po całym pudle obliczeniowym - je- śli przestanie się znacząco zmieniać, możemy stwierdzić zbieżność dla danego t.
Na podstawie tak obliczonego rozkładu temperatury przechodzimy do kolejnego t := t + dt.
Warunki brzegowe
Korytarz wymienia ciepło z pomieszczeniem niebieskim i czerwonym (patrz rysunek 1). W czerwonym pokoju panuje T1= 21, w niebieskim T2= T1, na ze- wnątrz T0= 0. Dla punktów granicznych położonych w sąsiedztwie czerwonego lub niebieskiego wstawiamy na brzegu stałą temperaturę Tij = T1lub Tij = T2.
2
Na zewnętrznych ścianach korytarza (zaznaczone kolorem zielonym na ry- sunku 1) zadajemy konwekcyjne warunki brzegowe
h(T − T 0) = −k∂T
∂n, (5)
gdzie pochodna po prawej stronie oznacza normalną do powierzchni budynku, ale liczoną wewnątrz korytarza, a k jest współczynnikiem transmisji ciepła. Wa- runek (5) dla pionowych krawędziI (i = i2) iD (i = i4) ma postać
Ti,jn+1=
k
∆xTin+1−1,j+ hT0
h +∆xk . (6)
Podobnie dla pozostałych pionowych krawędzi -B(i = i1),G(i = i3):
Ti,jn+1=
k
∆xTi+1,jn+1 + hT0
h +∆xk . (7)
Na poziomych dolnych -A, E (j = j2) orazC (j = jmin):
Ti,jn+1=
k
∆yTi,j+1n+1 + hT0
h +∆yk , (8)
na górnych -H (j = j1) orazJ, F (j = jmax):
Ti,jn+1=
k
∆yTi,jn+1−1+ hT0
h +∆yk . (9)
Na kantach wyżej wymienionych odcinków pochodne normalne policzymy po antydiagonali. Dlatego na narożnikachJ/I orazI/H, tj. (i2, jmax) i (i2, j1):
Ti,jn+1=
√k
2∆xTin+1−1,j−1+ hT0
h +√k 2∆x
, (10)
...dlaF/G,G/H, tj. (i3, jmax), (i3, j1):
Ti,jn+1=
√k
2∆xTi+1,jn+1−1+ hT0
h +√k 2∆x
, (11)
...dlaE/D,D/C, tj. (i4, j2), (i4, jmin):
Ti,jn+1=
√k
2∆xTin+1−1,j+1+ hT0
h +√k 2∆x
, (12)
orazA/B iB/C, tj. dla punktów (i1, j2) i (i1, jmin):
Ti,jn+1=
√k
2∆xTi+1,j+1n+1 + hT0
h +√k 2∆x
. (13)
Warunki brzegowe (6) - (13) są zmienne - należy je zadawać na początku każdej iteracji.
3
Zadanie 1: Idealna izolacja
Przyjmiemy ∆t = 2.5. Wstawić h = 0 (idealna izolacja termiczna ścian).
W chwili początkowej na korytarzu T = T0. Prześledzić, jak korytarz ogrzewa się od sąsiadów: sprawdzić, ile ciepła wpływa od czerwonego i niebieskiego sąsiada (w funkcji czasu). Definiujemy strumień ciepła:
⃗
q =−k⃗∇T =−k
∂T
∂x
∂T
∂y
. (14)
Dla czerwonego sąsiada: liczymy składową poziomą (zaznaczoną na czerwono we wzorze (14)) i całkujemy ją wzdłuż linii i = imin+ 1 [dla j∈ (j2, jmax)]. Dla niebieskiego sąsiada postępujemy identycznie, zmieniamy tylko znak wartości strumienia na przeciwny oraz sumujemy z odpowiednimi indeksami: i = imax−1 dla j ∈ (j2, jmax). W stanie ustalonym bilans transferów powinien wyjść na zero. Narysować zależny od czasu strumień ciepła od sąsiadów oraz ich sumę (30 pkt). Narysować rozkład temperatury na korytarzu dla stanu ustalonego – gdy bilans wyjdzie na zero (30 pkt).
Zadanie 2: Nieszczelność
Ciepło ucieka przez ściany: wstawić h = 0.01. Powtórzyć algorytm. Naryso- wać pięć map rozkładu temperatury T aż do stanu ustalonego (40 pkt). Czy izotermy pozostaną prostopadłe do ścian?
4