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

Podobne dokumenty