Strona Tytułowa
Wprowadzenie
Opis Fourier'a
Metody numeryczne
Założenia programu
Podsumowanie
Załączniki
Bibliografia
Aplet symulacyjny
Numeryczne wyznaczanie przepływu ciepła

W celu przeprowadzenia symulacji należy określić algorytm rozwiązania matematycznego opisanego wyżej równania Fourier'a.

 

    Paraboliczne równania różniczkowe cząstkowe

Zagadnienia transportu ciepła należą to klasy problemów, których analiza wymaga rozwiązania złożonych równań różniczkowych cząstkowych. Tylko w niektórych, bardzo uproszczonych przypadkach istnieją ścisłe rozwiązania analityczne, dlatego też do badania problemów przepływu ciepła, dyfuzji, czy też emisji i absorpcji promieniowania cieplnego coraz częściej stosowane są komputerowe metody numeryczne.  Chociaż ich właściwą wagę i znaczenie można docenić dopiero dla skomplikowanych układów, to jednak poznanie tych metod dla przykładów stosunkowo prostych, ma duże znaczenie dydaktyczne.

Często spotykane równanie różniczkowe cząstkowe występujące w wielu sytuacjach fizycznych ma postać:

df/dt = d/dr ( D df/d r ) + S

(3.1)

gdzie D to stała dyfuzji (niekiedy zależna od położenia), a S to funkcja źródeł. Najbardziej znanym przykładem takiego równania jest równanie Schroedingera.

Problem numerycznego rozwiązania parabolicznych równań cząstkowych często sprowadza się do tzw. problemu wartości początkowej: mamy pole f w czasie początkowym, szukamy w czasie późniejszym, a ewolucja systemu podlega pewnym warunkom brzegowym (i tak np. funkcja gęstości prawdopodobieństwa zanika w dużej odległości, a temperatura lub przepływ ciepła jest określony na jakiejś powierzchni. Metody rozwiązywania takich problemów na komputerze są generalnie proste koncepcyjnie, chociaż trzeba mieć świadomo ść kilku subtelności (np. słaba stabilność metody prostej dyskretyzacji).

Dla przypadku jednowymiarowego przepływu ciepła w ciałach stałych równanie Fouriera przyjmuje postać:

dT(x,t)/dt = l/rc d/dx ( dT(x,t)/dx )

(3.2)

zakładamy warunki brzegowe Dirichleta, czyli określamy wartoś ci pola na końcach rozpatrywanego przedziału - grzejnik i chłodnica.
Standardowe podejście analizy numerycznej do podobnych problemów przewiduje aproksymację różniczek przestrzennych skończnymi elementami różnicowymi na jednorodnej siatce składającej się z N+1 punktów o odstępie h = 1/N oraz różniczki cząstkowej formułą różniczkową pierwszego rzędu o kroku czasowym
Dt. [13, 6]

     Metody różnic skończonych a metody relaksacyjne

Metoda różnic skończonych należy do najczęściej stosowanych metod numerycznych rozwiązywania równań różniczkowych cząstkowych. Polega ona na przechodzeniu w równaniu różniczkowym od pochodnych do odpowiednich ilorazów różnicowych - czyli przejściu od równań różniczkowych do równań różnicowych, które wiążą ze sobą wartości szukanej funkcji w pojedynczych, odosobnionych punktach. Punkty te są natomiast wybierane tak, aby tworzyły siatkę regularną (kwadratową, prostokątną lub sześcienną), a jej rodzaj zależy zwykle od rodzaju układu współrzędnych naturalnego dla badanego zagadnienia.

Wprowadzając zależność wartości szukanej funkcji od punktów sąsiednich w kroku czasowym t-1 można doprowadzić problem do rozwiązania n równań liniowych z wieloma niewiadomymi. Przy dużej liczbie węzłów n rozwiązanie otrzymanego układu n równań nawet za pomocą krakowianów, może być bardzo uciążliwe. Dlatego w praktyce stosuje się często tzw. metodę relaksacyjną. Polega ona na:

  • sporządzeniu siatki kwadratowej z węzłami odległymi o h0 i przypisaniu wartoś ci węzłom brzegowym zgodnie z warunkiem brzegowym, natomiast węzłom wewnętrznym przypisujemy dowolne liczby;
  • węzłom wewnętrznym przypisujemy następnie wartości obliczone ze wzoru różnicowego (uwzględniając węzły sąsiednie);
  • czynność tę powtarzamy wielokrotnie (im więcej razy, tym większą dokładność otrzymamy)

Ciągi wartości szukanej funkcji w punktach węzłowych otrzymane metodą relaksacyjną są zbieżne do pierwiastków układu równań powstałego przy dyskretyzacji równania różniczkowego. Opis metod relaksacyjnych można znaleźć np. pracach [6, 9, 14].

    Metoda prostej dyskretyzacji - stabilność metod różnic skończonych dla równań parabolicznych

Istnieje wiele metod różnic skończonych. Najistotniejszym czynnikiem różniącym te metody jest jawność zastosowanego schematu różnicowego.
Wybór jednej z metod różnicowych do rozwiązania danego problemu jest tylko pierwszym krokiem na drodze budowy całego algorytmu numerycznego. Metody ró żnic skończonych choć proste i dobrze określone charakteryzują się dużą ogólnością podejścia do zagadnień numerycznych. Dla całkowitego sprecyzowania stosowanego algorytmu trzeba jeszcze dokonać wyboru w jaki sposób różniczki są przybliżane różnicami skończonymi. Takich sposobów jest wiele, a dobry wybór najbardziej odpowiedniego z nich jest najtrudniejszą rzeczą przy numerycznym traktowaniu podobny
c h zagadnień. Od tego jakie podejście zostanie przyjęte zależy przede wszystkim stabilność metody numerycznej, dokładność, zbieżność, a co za tym idzie ogólna przydatność algorytmu. Bogaty opis różnych metody znajduje się w pracy [6].

Można zastosować najprostsze rozwiązanie i przybliżyć różniczki przez różnice skończone pierwszego rzędu. Zakładając, że mamy jednorodną siatkę N+1 punktów o odstępie h=1/N. Niech n oznacza indeks określający krok czasowy. Wtedy równanie Fouriera można przepisać w postaci:

(fni+1 - fni )/Dt = 1/h2 * (d2fn )i +S(n,i)

(3.3)

pozwala to już na zdefiniowanie schematu różnicowego. Biorąc pod uwagę, że drugą pochodną przestrzenną można przedstawić w postaci:

(d2fn)fn i+1 + fni-1 - 2f ni

(3.4)

schemat różnicowy przybiera formę:

fn+1 = (1 - HDt)f n + S(n)Dt

(3.5)

gdzie

(Hf)i = 1/h2 * (d2f)i

(3.6)

co w efekcie daje poszukiwaną formułę zależności funkcji f w puktach kroku czasowego n+1 od wartości w kroku czasowym n.

fni+1 = fni - Dt/h2(fni+1+ fni-1- 2fni)

(3.7)

Tak określona formuła różniczkowa w sposób poprawny definiuje rozwój układu fizycznego. Wymaga ona jednak przyjęcia bardzo małego kroku czasowego (prawie dwa rzędy wielkości mniejszego niż charakterystyczny krok czasowy rozpatrywanego modelu Dt < h2/2) [13] Kryterium stabilno ści jawnego schematu różnicowego oraz dokładniejsze oszacowanie wielkości kroku czasowego można znaleźć w pracy [6].  Źródło dużej wrażliwości formuły na wielkość kroku czasowego leży w samej metodzie. Każdy profil rozwiązania równania można przedstawić w postaci szeregu Fouriera, każdy element tego szeregu spełnia równanie i jest jego rozwiązaniem szczególnym. Funkcje trygonometryczne można przedstawić w postaci exponencjalnej, a funkcję exp przybliżyć różnicowo z rożną dokładnością. Przyjmując pierwszy rząd rozwinięcia exp w szereg zawężamy znacznie możliwość operowania krokiem czasowym.

 

    Metoda ulepszonej dyskretyzacji - metoda niejawna

Najprostszą metodą uniknięcia niestabilności pr ostej dyskretyzacji równania jest zastąpienie różniczki przestrzennej drugiego rzędu branej w czasie n (starym), przez tę w czasie n+1 (nowym).

Schemat różnicowy będzie wyglądał następująco:

(fni+1 - fni )/Dt = 1/h2 * (d2fn+1 )i +S(n,i)

(3.8)

rozwiązanie tego równania ze względu na fn+1prowadzi do równania operatorowego

fn+1= 1/(1 + HDt) (fn+ S(n)Dt)

(3.9)

dla bardzo małego kroku czasowego jest ono równoważne podejściu poprzedniemu, jednak dla większych Dt nie traci stabilności numerycznej.

Można nawet zastosować dokładniejszą formułę - przyjmując za różniczkę przestrzenną średnią ze schematów różnicowych dla dwóch sąsiednich kroków czasowych.

(fni+1 - fni )/Dt = 1/h2 * (d2 *1/2 [f n+1 +fn ] )i +S(n,i)

(3.10)

czyli

fn+1 = 1/(1 + HDt/2) [ (1 - HDt/2)fn + S(n)Dt]

(3.11)

Z punktu widzenia wydajności metody ulepszonej dyskretyzacji ujemną jej cechą jest konieczność znalezienia w każdym kroku czasowym rozwiązania zbioru liniowych równań. Jest to równoznaczne podziałaniu odwróconą macierzą  (1 + HDt/2)  na wektor z nawiasów kwadratowych (3.11). Ponieważ elementy macierzy nie zależą od poszczególnych kroków czasowych można oszczędzić na obliczeniach i wyznaczyć macierz odwrotną jeden tylko raz na samym początku algorytmu. Aplikacja nadal jeszcze wymaga N2 operacji jeśli obliczenia mają być przeprowadzane wprost.


 

    Metoda eliminacji Gaussa ze zwrotnym podstawianiem

Tylko w przypadku metody prostej dyskretyzacji mamy do czynienia z jawną formułą zależności wartości szukanej funkcji w kroku n+1 od jej wartości w kroku n. Ulepszenie algorytmu poprzez użycie jakiejkolwiek kombinacji wartości funkcji w innych krokach prowadzi z jednej strony do większej stabilności numerycznej algorytmu, ale z drugiej utrudnia znalezienie wartości szukanej funkcji. Formuła jest w takim wypadku niejawna, a rozwiązanie takiego problemu sprowadza się do odwrócenia macierzy trójprzekątniowej (czyli rozwiązania układu równań na wartości funkcji w różnych krokach przestrzennych).

Jedną z najskuteczniejszych metod znalezienia macierzy odwrotnej jest metoda eliminacji Gaussa, która lekko zmodyfikowana (uproszczona) dla macierzy trójprzekątniowej prowadzi do algorytmu rzędu N.

Dla ustalenia uwagi skoncentrujmy się teraz nad równaniem różnicowym:

fn+1= 1/(1 + HDt) (fn+ S(n)Dt)

(3.12)

Zadanie znalezienia nowej wartości f sprowadza się do obliczenia wartości własnych operatora 1+HDt.

(1 + HDt) fn+1= (fn+ S(n)Dt)

(3.13)

Niech Ai = 1 + HDt oraz Bi = fn+ S(n)Dt
W naszym pr
oblemie otrzymujemy macierz trójdiagonalną :

Ai- fi-1+Ai0 f i + Ai+fi+1=Bi

(3.14)

Ai0 = 1 + 2Dt/h2

(3.15)

Ai+/- = - Dt/h2

(3.16)

foraz fN są dane przez warunki brzegowe.

W celu rozwiązania tak powstałego układu równań zakładamy, że szukane rozwiązanie spełnia rekurencyjnie zależność fi+1=aifi + bi,  a i b trzeba więc określić.  Podstawiając tę zależność do równania definiującego naszą macierz trójdiagonalną oraz rozwiązując fi   otrzymujemy rekurencyjne zależności na a i b .

ai-1  = Ai- / ( Ai0 + Ai+ai)

(3.17)

bi-1  =  (Ai+bi- Bi)/( Ai 0 + Ai+ai)

(3.18)

Należy więc wyznaczyć a i b zaczynając od końca siatki. Zwykle siatka jest numerowana od 0 do N-1, nasze obliczenia należy rozpocząć od węzła N-2 pamiętając o tym, żeby poprawnie uwzględnić warunki brzegowe.
aN-1  = 0; bN-1  =
fN

 

  Mając a i b wyznaczone dla całej siatki można obliczyć szukaną funkcję  w pętli rozpoczynającej się od 0.

fi+1=aifi + bi

(3.18)


 

[Strona Tytułowa] [Wprowadzenie] [Opis Fourier'a] [Metody numeryczne] [Założenia programu] [Podsumowanie] [Załączniki] [Bibliografia] [Aplet symulacyjny]