Zadania rachunkowe z termokinetyki w programie Maxima
Transkrypt
Zadania rachunkowe z termokinetyki w programie Maxima
Zadania rachunkowe z termokinetyki w programie Maxima W pliku, polecenia do wpisywania w programie Maxima zapisane są czcionką typu: zmienna_w_maximie: 10; inny przykład f(x):=x+2*x+5; Problem 1 W komorze zainstalowany jest grzejnik o mocy 600 kW. 95 % mocy doprowadzonej wykorzystuje się do suszenia, zaś pozostałą część stanowią straty do otoczenia przez ściany komory. ściany te o grubości a = 0,25 m i powierzchni F = 220 m2, wykonane są z cegły o λ= 0,29 W . mK Temperatura zewnętrznej powierzchni ściany wynosi Tz = 313 K. Obliczyć Tw na wewnętrznej powierzchni. Rozwiązanie w programie Maxima: Proszę zdefiniować wszystkie wielkości zmienne w programie Maxima, zgodnie z przykładem: a: 0.25; %lambda: 0.29; oraz pozostałe. Po naciśnięciu klawisza Enter można wpisywać kolejne polecenia w jednej linii, bez ich wykonywania. Dopiero wciśnięcie jednocześnie klawiszy Ctrl+Enter spowoduje ich wykonywanie. W zadaniu możemy łatwo obliczyć wartość strat cieplnych, ponieważ wiadomo jaki procent pełnej mocy użytej stanowią: Ps: P*0.05; a następnie wartość oporu cieplnego 1 Wiz: a/(F*%lambda); co pozwoli wyznaczyć wartość różnicy temperatur między powierzchnią wewnętrzną i zewnętrzną. dt: Ps * Wiz; tw: tz+dt; Fascynującą możliwością Maximy, jest możliwość korzystania z automatycznego rozwiązywania równań. Dzięki temu nie ma potrzeby przekształcania równań w pamięci, bądź na kartce. Proszę zapisać następującą formułę: (tw-tz)=Ps/Wiz; solve([%],[tw]); Problem 2 Ściana pieca elektrycznego złożona jest z następujących warstw: 1. wykładzina szamotowa o grubości 1 = 0,1 m i 1 = 0,7 2. ułożone na przemian obok siebie cegły o 0,15 2c = 0,4 W mK W i izolacja cieplna o 2i = mK W . grubość tych warstw w kierunku przewodzenia ciepła są sobie równe i mK wynoszą 2 = 0,15 m, a wysokości b 2i =b 2c = 0,1 m 2 3. warstwa blachy stalowej o grubości 3 = 3 mm i 3 = 40 W mK temperatura wewnątrz pieca jest równa t 1 = 780 o C , a w otoczeniu t 2 = 40 o C Współczynniki przejmowania ciepła z powierzchni zewnętrznej ściany z = 5 wewnątrz pieca w = 40 W ,i m2 K W . Obliczyć gęstość strumienia cieplnego przenikającego przez m2 K ścianę w stanie cieplnie ustalonym. Należy najpierw zdefiniować wszystkie zmienne stosowane w obliczeniach: %delta[1]:0.1 ; %lambda[1]:0.7; %delta[2]:0.15 ; %lambda[21]:0.4; %lambda[22]:0.15; %delta[3]:3e-3 ; %lambda[3]:40; t[1]:780; t[2]:40; b21:0.1; b22:b21; %alpha[z]:5; %alpha[w]:40; b : b21+b22; Obliczamy kolejne opory: W[1]: %delta[1]/%lambda[1]/(b*sz); W[21] : %delta[2]/%lambda[21]/(b21*sz); W[22] : %delta[2]/%lambda[22]/(b22*sz); 1/W[2] = 1/W[21] + 1/W[22]; 3 Proszę zwrócić uwagę, na różnice między wyrażeniami definiowanymi za pomocą „:” oraz za pomocą znaku równości „=”. Te ostatnie definiują równości matematyczne, używane następnie w rozwiązywaniu układów równań. Aby rozwiązań to równanie należy użyć funkcji solve, jak w zadaniu pierwszym. Aby odwołać się do konkretnej definicji funkcji należy odczytać numer wyrażenia wynikowego, nadawanego przez Maximę każdemu działaniu. Pojawiają się one w postaci %o<numer> z lewej strony okna. Jeżeli przy wyniku definicji ostatniego z wpisanego wyrażenia (definicja 1/W[2]) pojawi się numer (%o101) należy wpisać: solve([%o101],[W[2]] ); Jest to dobre rozwiązanie, niestety kłopotliwe. Każde wyrażenie po ponownym uruchomieniu otrzyma nowy wynik o nowym numerze. Przy ponownym wczytaniu pliku, ten numer również będzie inny. Wygodniej jest więc korzystać z definicji równań jako zmiennych, podobnie jak nazywać zmiennymi wyniki obliczeń. rownanie1: 1/W[2] = 1/W[21] + 1/W[22]; wyniki1: solve([rownanie1],[W[2]] ); Teraz łatwiej jest automatyzować obliczenia, ponieważ wynik danego działania umieszczany jest w danej zmiennej. Proszę zwrócić uwagę na fakt, że wynikiem ostatniej operacji nie jest równanie matematyczne, bądź zmienna, a pewne wyrażenie. Nie ma ono nic wspólnego z wyrażeniami rachunkowymi. Należy więc to wyrażenie użyć do stworzenia wzoru. Najpierw należy wydobyć konkretne wyrażenie z nawiasów kwadratowych – macierzy. Wynikiem pracy funkcji może być wektor zawierający wiele różnych wyrażeń. Pierwsze jest oznaczone indeksem 1. Proszę wykonań takie polecenie: wyniki1[1]; 4 Teraz uzyskane wyrażenie jest postaci równanie. Aby wydobyć wyrażenie stojące po prawej stronie znaku równości należy użyć funkcji rhs, która wypisuje w wyniku wyrażenie znajdujące się po prawej stronie równania. rhs(wyniki1[1]); To już lepiej. Widać wyrażenie na opór cieplny warstwy drugiej. Niestety przy próbie wyznaczenie wartości tego wyrażenia nie uzyskamy wyniku numerycznego. Jest to swoiste wyrażenie, a jego części składowe nie są wiązane z wartościami konkretnych zmiennych. Aby móc obliczyć to równanie należy użyć funkcji ev. W[2]:ev(rhs(wyniki1[1])); Pozostało jeszcze wyznaczyć opór cieplny W[3]. Proszę wykonać to samodzielnie. Należy również wyznaczyć opór konwekcyjny warstwy powietrza po stronie zewnętrznej i wewnętrznej ściany W[w]: 1/%alpha[w]/b/sz; W[z]: 1/%alpha[z]/b/sz; Obliczmy opór zastępczy ściany Wc: W[1] + W[2] + W[3] +W[w] + W[z]; Strumień cieplny P: P: (t[1]-t[2])/Wc Gęstość strumienia cieplnego q: 5 q:P/(b*sz); Widać że, mimo obecności w rozwiązaniu danej niezdefiniowanej wcześniej, wynikiem jest wartość numeryczna. Maxima potrafi skracać wyrażenia. Polecenie 3 Proszę stworzyć funkcję opisującą zależność współczynnika przejmowania ciepła z powierzchni cylindrycznej do otoczenia o danej i stałej temperaturze. Proszę uwzględnić jedynie zjawisko konwekcji swobodnej. Dla uproszczenia rozważań problem zostanie rozpatrzony, jedynie w zależności od średnicy cylindra (przewodu). Zakładamy temperaturę powierzchni cylindra tp = 100ºC oraz temperaturę otoczenia to=20ºC. Aby rozwiązać ten problem, który jest interesujący z punktu widzenia poznawczego, a jednocześnie trudny do rozpatrzenia jedynie przy użyciu kalkulatora, należy skorzystać z równania Michiejewa: Nu m=C Gr⋅Pr n 3 n d g t k d = ⋅C ⋅Pr 2 d s przy czym wartości C i n zależą od wartości wyrażenia w nawiasie. Funkcja musi zostać zdefiniowana za pomocą wyrażeń warunkowych. tm: (tp + to)/2; 6 Dla takiej wartości temperatury należy odczytać z tablic parametry fizyczne powietrza – lepkość kinematyczną ν, liczbę Pr, przewodność cieplną powietrza λ. Definiowanie funkcji w programie jest dość proste: f(x):=sin(x)^x Tworzenie wykresu funkcji wxplot2d([f(x)], [x,0,5])$ Zdefiniujmy teraz funkcję: %alpha(x):= if (g*beta*dt*x^3/ni^2*Pr)>1e-3 and (g*beta*dt*x^3/ni^2*Pr)<=500 then 1.18*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^0.125 elseif (g*beta*dt*x^3/ni^2*Pr)>500 and (g*beta*dt*x^3/ni^2*Pr)<=2e7 then 0.54*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^0.25 elseif (g*beta*dt*x^3/ni^2*Pr)>2e7 and (g*beta*dt*x^3/ni^2*Pr)<1e13 then 0.135*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^(1/3); Proszę dokładnie zrozumieć jej postać. Można również zdefiniować pomocniczą funkcję grpr(x) i korzystać z niej przy definicji funkcji %alpha(x). grpr(x):=g*beta*dt*x^3/ni^2*Pr; Wtedy funkcja %alpha(x) ma czytelniejszy zapis: 7 %alpha(x):= if grpr(x)>1e-3 and grpr(x)<=500 then 1.18*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^0.125 elseif grpr(x)>500 and grpr(x)<=2e7 then 0.54*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^0.25 elseif grpr(x)>2e7 and grpr(x)<1e13 then 0.135*x/lambda*(g*beta*dt*x^3/ni^2*Pr)^(1/3); Spróbujmy teraz stworzyć wykres tak stworzonej funkcji wxplot2d([%alpha(x)], [x,0.001,1])$ Proszę spróbować pozmieniać temperatury na inne wartości. 8