Referat

Projekt 2

Algorytmy równoległe i rozproszone

Symulacja termodynamiczna (rozchodzenia się ciepła) 2D z wykorzystaniem obliczeń równoległych

Bartosz Próchniak 119428

Bartłomiej Nowak 119413

Mariusz Redwanz 119436

Wstęp

Symulacje zjawisk fizycznych są wielkim wyzwaniem nawet dla nowoczesnych procesorów. Zasadniczo istnieje silna zależność pomiędzy dokładnością symulacji, a złożonością obliczeń. Symulacje komputerowe stały się niezwykle ważnym elementem badań na przestrzeni ostatnich lat. W dużej mierze zawdzięczamy to możliwościom osiągnięcia bardzo wysokiej dokładności tych symulacji na którą pozwala zrównoleglenie obliczeń.

Model 2D symulacji termodynamicznej

W celu demonstracji możliwości wykorzystania obliczeń równoległych w symulacjach zjawisk fizycznych, zbudowaliśmy prosty model dwuwymiarowy rozchodzenia się ciepła.

Koncepcja

Ciepło rozchodzi się w prostopadłościanie, złożonym z jednej warstwy sześcianów o bokach równych 1m. Obrazowo prezentują to rysunki 1 i 2. W obrębie sześcianu temperatura jest jednakowa. Założyliśmy również, że przestrzeń poza prostopadłościanem jest doskonałym izolatorem, więc ciepło może przepływać tylko między sześcianami. Napisany program komputerowy prezentuje opisany prostopadłościan widziany z góry. Każdy piksel może reprezentować inną substancję. Substancję definiujemy przez współczynnik przewodnictwa cieplnego, ciepło właściwe oraz gęstość.

Rysunek

Rysunek

Fizyczne podstawy

Z wcześniejszych założeń wynika, iż dany piksel może wymieniać ciepło (energię) ze swoim prawym, lewym, dolnym lub górnym sąsiadem. Uwzględniliśmy tylko przepływ ciepła poprzez kondukcje, a więc podczas bezpośredniego kontaktu dwóch ciał. Energię jaka przepłynie między dwoma stykającymi się pikselami wyliczamy na podstawie poniższego wzoru:


$$\mathrm{Q = \ \lambda\ \bullet \ }\frac{\mathrm{S\ \bullet \ \Delta T}\mathrm{\ \bullet}\mathrm{\text{\ t\ }}}{d}$$

gdzie:
Q – ilość ciepła jaka przepłynie w jednostce czasu [J]
λ – współczynnik przewodnictwa cieplnego [W/(mK)]
S – pole przekroju przez który przepływa ciepło [m2]
ΔT – różnica temperatur miedze
t – czas przepływu [s]
d – grubość przegrody przez jaką przepływa ciepło [m]

Wiedząc ile ciepła przepłynie (lub odpłynie) do analizowanego piksela, trzeba określić jak wpłynie to na jego temperaturę. Do tego celu wykorzystujemy ciepło właściwe:


$$c = \ \frac{Q}{m\ \bullet \ T}$$


$$\backslash n{T' = \ \frac{Q}{m\ \bullet \ c}}$$

gdzie:
∆T' – przyrost temperatury [K]
c – ciepło właściwe [J/(kgK)]
m – masa ciała [kg]
∆Q – dostarczone ciepło [W/(mK)]

Jako, że w naszym przypadku S = 1m2, d = 1m, a m = g (gęstość) * 1m3, możemy połączyć i uprości powyższe wzory. W wyniku otrzymujemy:


$$T^{'} = \ \frac{\lambda\ \bullet \ T}{g\ \bullet c}$$

Oczywiście rachunek jednostek należy przeprowadzić na pełnym wzorze, tu jedynie wartość się zgadza (co przy naszej symulacji jest wystarczające). Trzeba też zauważyć, że różnica temperatur sąsiednich pikseli może być ujemna, co da ujemną energię. Ona z kolei pociąga za sobą ujemny przyrost temperatury analizowanego piksela. Jest to poprawne i oznacza po prostu odpływ ciepła z piksela (przypadek gdy sąsiad jest chłodniejszy). Wyliczanie nowej temperatury piksela polega na zsumowaniu energii wymienionej z sąsiadami, obliczeniu przyrostu temperatury dla substancji z jakiej piksel się składa i dodaniu wyniku do starej wartości temperatury.

Zrównoleglenie obliczeń

Zakładamy, że każdy z procesorów ma dostęp do współdzielonej pamięci. Każdy z nich może dostać dowolny zbiór pikseli do przetworzenia. Siatka pikseli z chwili t - 1 jest stała podczas budowania siatki dla chwili t, więc jedyne o co trzeba się zatroszczyć przy narysowaniu nowej siatki to zakończenie pracy przez wszystkie wątki.


Wyniki

Poniżej przestawiono wyniki naszych prostych testów. Dysponowaliśmy procesorem dwurdzeniowym, więc testy przeprowadziliśmy dla 1 i 2 wątków, gdyż większa ich ilość była by bezsensowna. Kolumny reprezentują ilość wątków, wiersze z ilu wygenerowanych ramek był liczony średni czas generacji ramki. Wartości w komórkach to średni czas generacji ramki podany w sekundach. Na ramkę składało się 146 963 pikseli.

Tabela

  1 2
1 0,294 0,140
2 0,301 0,169
4 0,281 0,137
8 0,262 0,147
16 0,269 0,144
32 0,270 0,138
64 0,292 0,150
128 0,271 0,139

Wnioski

Mimo, iż testy przeprowadzony były dla małej ilości procesorów, to po sposobie zrównoleglania obliczeń można wnioskować, że rozwiązanie jest dobrze skalowalne.

Warto też zauważyć, że przepływ ciepła zależy od różnicy temperatur między stykającymi się ciałami. Również ilość dostarczonej energii przekłada się na różny przyrost temperatury, który zależny jest od właściwości fizycznych substancji.


Wyszukiwarka

Podobne podstrony:
Referat Inżynieria Produkcji Rolniczej
referat solidy
statystyka referat MPrzybyl
referat 4
Referat 3 v3
Referat 4
04 referat Pieprzyk szczelność powietrzna
Prywatne znaczy gorsze referat a krol 0
referat z biochemi, notatki
TEST NIEDOKOŃCZONYCH ZDAŃ, referaty
referat - adamek, resocjalizacja
referat bibliografia Fakultet, polityka społeczna fakultet
Referat - Pedagogika społ. - Szkoła, Studia =), Resocjalizacja
referat - obrzęd świecki w 30 tezach, KULTUROZNAWSTWO, antropologia widowisk
Referat o Irlandii, Dokumenty( referaty, opisy, sprawdziany, itp.)
Wpływ różnego rodzaju pyłów na wzrost nadziemnej części roślin, referaty i materiały, biologia, dośw
cv, referaty
Pseudokibice piłkarscy, TG, ściagii, ŚCIĄGI, Ściągi itp, WOS,WOK,Przedsiębiorczość, Referaty i Ściąg

więcej podobnych podstron