ĆWICZENIE NR 2

advertisement
ĆWICZENIE NR 3
MODELOWANIE JEDNOWYMIAROWEGO
NIEUSTALONEGO PRZEWODZENIA CIEPŁA
1.
Wprowadzenie
Celem ćwiczenia jest numeryczne rozwiązanie następującego równania różniczkowego:
c
T
 
dT 
  k T , x    S T , x 
t x 
dx 
(1.1)
gdzie: ρ – gęstość, c – ciepło właściwe, t - czas
k T  - współczynnik przewodzenia ciepła
S T  - człon źródłowy określający szybkość dostarczania lub odbierania ciepła z
układu na jednostkę objętości
W ogólnym przypadku równanie różniczkowe ma charakter nieliniowy, jeśli
współczynnik przewodzenia ciepła jest funkcją temperatury lub, jeśli człon źródłowy zależy
nieliniowo od temperatury.
Zagadnienie rozwiązywane jest metodą całkowania w objętości kontrolnej oraz w
obrębie kroku czasowego. Parametry geometryczne siatki tzn. lokalizacja punktów
węzłowych, położenie powierzchni rozdziału pomiędzy objętościami kontrolnymi, rozmiar
objętości kontrolnej zostały zilustrowane na Rys.1.1.
Rys.1.1. Charakterystyka geometryczna objętości kontrolnej, powierzchni rozdziału pomiędzy
objętościami kontrolnymi oraz punktów węzłowych
Dyskretna postać równania (1.1), uzyskana metodą całkowania w objętości kontrolnej i w
obrębie kroku czasowego, przy założeniu liniowej interpolacji pomiędzy punktami
węzłowymi, pozwalającej przybliżyć wartość strumienia ciepła na granicach pomiędzy
sąsiadującymi objętościami kontrolnymi przybiera następującą postać:
a PTP  f a E TE  f aW TW  b
(1.2)
gdzie:
ke
x e
k
aW  w
x w
aE 
(1.3)
(1.4)
a P  f a E  f aW  f S P x  a P0
cx
a P0 
t
b  S C x  S P x 1  f   a E TE  aW TW 1  f   a P0  1  f a E  aW  TP0


(1.5)
(1.6)
(1.7)
gdzie: k e oraz k w - wartości współczynnika przewodzenia ciepła na odpowiednich granicach
pomiędzy objętościami kontrolnymi
f – współczynnik określający metodę całkowania w czasie
f=0 - metoda jawna
f=1 - metoda w pełni niejawna
f=0.5 – metoda Cranka - Nicolsona
0
T - wartość temperatury w poprzednim kroku czasowym
S  S C  S P TP - zlinearyzowana wartość średnia członu źródłowego w objętości
kontrolnej o rozmiarze x
Zapisanie dyskretnego równania (1.2) dla każdego punktu węzłowego siatki sprowadza
rozwiązanie nieliniowego równania różniczkowego (1.1) do rozwiązania nieliniowego układu
równań algebraicznych, w każdym kroku czasowym, który dla analizowanego zagadnienia
jednowymiarowego charakteryzuje się tzw. macierzą trójdiagonalną. Najczęściej stosowaną
metodą rozwiązania tego typu zagadnienia jest jego linearyzacja, a następnie liniowy układ
równań rozwiązywany przy pomocy metod algebry liniowej. Układ tego typu może być
rozwiązany efektywnie przy pomocy bezpośredniej metody TDMA (Tri-diagonal Matrix
Algorithm). Oczywiście układ ten może być również rozwiązany przy pomocy metod
iteracyjnych takich jak metoda Gaussa-Seidela.
Łatwo zauważyć, że w przypadku metody jawnej (f=0), nie ma potrzeby rozwiązywania
układu równań, ponieważ niezerowe elementy macierzy układu równań wystąpią jedynie na
przekątnej głównej tzn. wartość temperatury w każdym punkcie węzłowym można wyrazić na
podstawie informacji pochodzących z poprzedniego kroku czasowego:
b
TP 
(1.8)
aP
2. Cel ćwiczenia
Celem ćwiczenia jest opracowanie programu komputerowego rozwiązującego układ
równań (1.2), na podstawie programu dla przypadku ustalonego przewodzenia ciepła
opracowanego w ramach ćwiczenia nr 2, pozwalającego na analizę następujących zagadnień:



Określenie maksymalnej wartości kroku czasowego zapewniającej stabilność metody
jawnej oraz Cranka-Nicolsona
Potwierdzenie bezwarunkowej stabilności metody w pełni niejawnej
Porównanie czasu obliczeniowego niezbędnego do uzyskania rozwiązania w
przypadku metody jawnej, niejawnej i Cranka-Nicolsona
3. Proponowana struktura programu
Poniżej przedstawiono zestaw stałych i zmiennych które należy zadeklarować dodatkowo
dla przypadku analizowanego zagadnienia nieustalonego, zachowując wszystkie stałe i
zmienne zadeklarowane w ramach poprzedniego ćwiczenia dla przypadku ustalonego.
3.1 Blok stałych
#define delta_t
#define N_time_steps
#define impl_exp_f
1.0e-3
500
1.0
#define density
#define heat_capacity
1.0
1.0
//wartość kroku czasowego
//maksymalna liczba kroków czasowych
//współczynnik określający
//metodę całkowania w czasie
//1- schemat w pełni niejawny
//0 – schemat jawny
// 0.5 – metoda Cranka-Nicolsona
// gęstość
//ciepło właściwe
3.2 Blok zmiennych
Zmienne proste:
int k_step;
// numer kroku czasowego
Zmienne tablicowe:
Tablice przechowujące rozwiązanie
T0[Np2]
3.3 Proponowane funkcje
-wartość temperatury punktach
poprzednim kroku czasowym
węzłowych
w
Funkcja mesh powinna być uzupełniona o petlę wyznaczająca współczynnik a P0
for(i=0;i<=Np1;i++)
a_P0[i]=density*heat_capacity*delta_x[i]/delta_t;
3.4. Schemat blokowy proponowanego programu
4. Sprawozdanie
Sprawozdanie z przeprowadzonego ćwiczenia powinno zawierać następujące elementy:
 Wydruk programu wraz z komentarzami
 Weryfikację poprawności programu dla warunków nieustalonych poprzez
porównanie wyników po odpowiednio długim całkowaniu w funkcji czasu z
wynikami uzyskanymi w poprzednim ćwiczeniu dla warunków ustalonych przy
wybranych warunkach brzegowych, nieliniowych postaciach członu źródłowego
oraz różnych zależnościach współczynnika przewodzenia ciepła od temperatury
 Przykładowe rozwiązania pokazujące ewolucje profilu temperatury w funkcji
czasu dla zagadnienia liniowego przy różnych warunkach brzegowych
 Określenie maksymalnego kroku czasowego zapewniającego stabilność
rozwiązania dla metody jawnej oraz Cranka-Nicolsona
 Porównanie efektywności metody jawnej i niejawnej dla wybranych warunków
Download