Ć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 cx 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