* E V o C ^ t p . r ^ P, *
•P iw
•
•
* < > (* „ )
< p * (* l)
=
E
< p ta;)
E
i
E
?* (* „)
i
E
v ta j)
• •
l
E i
E
‘poC**)
• •
/
E
‘p i t a ) i
II
E
X
< p * (* „ )
• • E
<
s
E
•
y\
i
< P ,(*j)
yi
E
yn
i
(5.26)
przez P wektor nieznanych parametrów
(5.27)
układ równań (5.23) możemy zapisać w następującej postaci X T X P = X t -Y ,
P = ( X t -X )‘ , -Xt -Y .
(5.28)
(5.29)
214 •••I
Przykład 5.6 Opór elektryczny cewki z drutu platynowego zmienia się wraz z temperaturą z danymi zebranymi w tabeli (w ostatniej kolumnie umieszczono wyniki aprok T °C
*[Q]
Robi
-8 5 ,0 2 -3 3 ,3 6 - 9 ,9 9 32,88 100,00 218,00 356,58 444,60 630,50
0,1000 0,1335 0,1464 0,1737 0,2125 0,2810 0,3599 0,4077 0,5017
0,1000 0,1335 0,1464 0,1737 0,2125 0,2180 0,3599 0,4077 0,5017
Bardzo dokładne wartości argumentów T wynikają z faktu, że pomiarów oporu dok wano w środowisku jednorodnych substancji pod stałym ciśnieniem 105 Pa w wa krzepnięcia lub wrzenia. Jak wiadomo, wartości temperatur granicznych dla tego typu mediów są wyznaczone z dużą precyzją (i zebrane w odpowiednich tablicach). Funkcją opisującą zmianę oporu omowego z temperaturą jest wielomian typu R = 7?0 ( 1 + a xT + a 2T 2 + . . . ) . Ograniczając się do funkcji kwadratowej mamy R = R 0( 1 + a , T + a2 T 2) = p 0 +
+ p 27 2 .
Bazą takiej aproksymacji jest zbiór funkcji
S ( P 0 > P i* P 2 ) “ E
ł-i
( P o + P i r r + P 2 r «2 " * . ) 2 = 111211 •
Warunek konieczny istnienia ekstremum funkcji trzech zmiennych prowadzi do równań
i
P o E r, * i P o E
p
, Z
i
r ‘
r (3 - £
*
i r <2 + P i E
I
i r /3 +
r,« ,
i
P i Y L Ti
= E
r <2 * /
liczeniu odpowiednich sum otrzymujemy 9p 0
* 1 ,6 5 4 2 103p , + 7,8939 103p 2 = 2,3164
1,6542 103p 0 + 7,8939- 105p , + 3,9461-108p 2 = 699,7196 7,8939 105p 0 + 3,9461 108p , + 2,1568 I 0 n p 2 = 3,4234 105 ,
R = 0,153 + 6,118 10'4r - 9,2079 10 * T 2
R = 0,153(1 + 0,004 T - 0,0000006018 T 2) . szym przykładzie macierz X ma postać
X =
7228,4004
1
-33,36
1112,8896
Ti
1
-9,99
99,8001
Ti
1
32,88
1081,0944
1
100,00
10000,0000
Ti
1
t2
Tz
1
r3
1
T*
Ti
1
=
1
t6
Ti
1
218,00
47524,0000
1
T-,
Ti
1
356,58
127149,2900
1
T*
T ■*82
1
444,60
197669,1600
1
630,50
397530,2500
1
W
1 -85,02
1
T 192
t9
symy X T-X oraz X T-Y 9 XT X =
1654,19
789394,89
1654,19
789394,89
394608524,05
789394,89
394608524,05
215683537651
2,32
MXT Y =
699,72 342344,73
Po wstawieniu tych macierzy do (5.29) otrzymujemy takie same wartości parametrów, jak obliczone poprzednim sposobem.
216 5.2.3. Aproksymacja liniowa funkcji dwóch zmiennych W zagadnieniach technicznych często pojawia się problem aproksymacji funkcji dwóc| więcej zmiennych. Przykładem zadania, które sprowadza się do tego typu aproksymacji, f być poszukiwanie tzw. modelu matematycznego, tzn. funkcji opisującej zachowa pewnej wielkości w zależności od wielkości przyjętych jako zmienne niezależne I wytrzymałość na rozciąganie jako funkcja składu chemicznego stopu). Jeżeli liniowy model matematyczny, to wykorzystujemy metody aproksymacji liniowej. Rozpatrywać będziemy funkcję F, której argumentami są x i y. Funkcja F zav parametry p0, /?,, p 2 i jest funkcją liniową z = F ( x , y, p0, p iy p2) = p0 * P l x + p 2y Dany jest również zbiór punktów (x, , y, , zt ), (x2 , y2 , Z2 ), będziemy przybliżać funkcją z, przy czym
m . . . , ( xn
, y n , z„), który
Jak widać, kryterium metody najmniejszych kwadratów jest praktycznie takie samo, jak dla funkcji jednej zmiennej. Wykorzystamy warunek konieczny istnienia ekstremum funkcji trzech zmiennych VyT'i:
= 2 E [Po + P i x i + Piyi) = 0 dS =2E
[ P o + P i x i + Piyi)x i = 0
= 2E
[P o * P i x i + P iyĄ y, = 0 .
(5.32)
dS
który prowadzi do następującego układu równań
Pon P o E
i
+ P x Y , xi
i
x i + Pi E
i
P o L yt + P i E
xf
= E Z< i
+ PiY,yi
f
+ Pi E
i
* i > i + J’z E
x iyf - E
i
y?
xłzi
(5.33)
■ E
Funkcja 5 (p0 , p, , p 2) spełnia przy tym warunek konieczny istnienia ekstremum (minimum).
i
-pbdobnie jak w podrozdziałach 5.2.1 i 5.2.2 przedstawimy inny sposób konstrukcji układu J lp 3 3 ). pacierz danych wejściowych określamy w następujący sposób 1
*1
1
*2
X =
>1 (5.34)
1
yn
toiniast wektor Zl *2
z =
(5.35)
. Zn L
.'zawiera wyniki pomiarów wartości funkcji zZauważmy, że iloczyn macierzy transponowanej X T i macierzy X wynosi
1
1 .
n
E * » f
E > ,
E * . ł
E
E
E
E
1 *1 y\
i
i
1 x2 y2
X T-X = x, x 2 .
Xn
y i y2 •
y„
1 *n ?n
j -.
i
ł ?
i
E
*1*
(5.36)
*2
oraz m m 1 XT Z = gp-
1
x, x2
i
E
u
l
z2
=
E
i
z<
(5.37)
y» y^ [ z « .
E f
> łz(
m m : =gr.j.-:
gSPtSSv. §| czyli dochodzimy do identycznego jak poprzednio zapisu macierzowego układu równań (5.33) XT X P = XT Z,
P = (P„ , P, , P2 f
(5.38)
i ostatecznie i-;- v £ ■
P = ( X T\X ) " l -XT *Z .
(5.39)
218 «■ Przykład 5.7 Dla zbioru punktów podanego w trzech pierwszych kolumnach tabeli znaleźć aproksymujący w postaci Z = p 0 + P \ X + p 2 y .
3,25 2,58 2,42 2,78 2,40 1,56
0,650 0,516 0,484
14,99
4,658
1.112 0,960 0,936
0,650 1,032 1,452 0,556 0,960 0,936
Układ równań (5.33) przyjmuje następującą postać 6 PQ + 2
p x * 2,4 p 2 = 14,99
2 p0 + 0,8 p, + 0,84 p 2 = 4,658 2,4p0 + 0,84 p, + l,1 2 p 2 = 5,586 , z którego po rozwiązaniu otrzymujemy p0 = 3,97, p, = - 1 ,9 1 5 , p 2 = - 2 ,0 8 4 , czyli Z = 3 ,9 7 - l,9 l5 x -2 ,0 8 4 y . Na rys. 5.6 przedstawiono zbiór punktów oraz funkcję aproksy mującą.
Rys. 5.6. Rozwiqzanie przykładu 5.7
219 ryt®1 a zbioru punktów P,(xt , y t , z,), i - 1 ,2 , .... n dobrać wzór aproksymujący w postaci
;
Lista zmiennych: całkowite: n, i rzeczywiste: 5 l , 5 2 , 5 3 , 5 4 , 55 ,
5 6
, 57, 5
8
tablice: jc[1 .. n ] , y [ l .. n ] , z [ l .. n ],
Podaj n Dla
1
: = 1, 2 , ..
n
Podaj x l >>> m
Podaj y, Podaj z, Podstaw
1
=0
Podstaw 52
= 0
Podstaw 53
= 0
Podstaw 54
=o
Podstaw
5
=o
Podstaw
56
5
5
=o
Podstaw 57
= o
Podstaw
= o
58
Dla i : = 1, 2
FI? W'-'
i i-
Oblicz 5l
= 5 l
Oblicz 52
= s2 + yt
Oblicz
53
= 53 + x?
Oblicz
54
= 54 + y,
+ xt
Oblicz s5
• 55 + x ,- y i
Oblicz
5 6
= 56 + z(
Oblicz
57
9 57 +
Oblicz
58
= s8 + yi -zi
&
Podstaw a {, : = n Podstaw a l2 : = s l
Podstaw Oj 3 : = s2 Podstaw d2x : = s l Podstaw a22 : = s3 Podstaw n23 : = s5 Podstaw a 31 : = s2 Podstaw a 32 : = s5 Podstaw a 33 : = s2 Podstaw b x : = s6 Podstaw b2 : = s l
i
Podstaw h3 : = s8 Oblicz P : = A -ł B D rukuj p x , p2 P3
W algorytmie A oznacza macierz główną układu (5.33), przy czym zmienne $1, s2, j3, s5 zostały wprowadzone dla ułatwienia obliczenia odpowiednich sum, natomiast B wektorem prawej strony układu (5.16) (zmienne s6, s l, s& służą do obliczenia elemi wektora B). W algorytmie zrezygnowano z przedstawienia sposobu rozwiązywania równań zapisanego w postaci macierzowej P = A - I -B, ponieważ zagadnienia te zostały szczegółowo przedstawione w rozdziale 2, a wybór metody rozwiązania tego pozostawiamy Czytelnikowi. § 5.2.4.
Aproksymacja liniowa funkcji wielu zmiennych
Aproksymacja liniowa funkcji wielu zmiennych jest zupełnie naturalnym uogólnię przedstawionej wyżej aproksymacji liniowej funkcji dwóch zmiennych. Dla prostoty wprowadzimy następujące oznaczenia. Parametrami szukanej funkcji są współczynniki j . P\ , •••, Pt , natomiast argumentami zmienne u , , ..., uk (w poprzednim podroż ul =x, u2=y). Funkcja F ( u , , .... uk , pQt .... pt ) jest funkcją liniową Z = Po + P Iu i + P2U2 + ... + p kuk
(5.
i zostanie wykorzystana do średniokwadratowej aproksymacji zbioru punktów { ( « ,) , , . . . . ( U , ) , . Z,} , { ( « , ) , ........... ( B , ) , , Z j} ......... { ( « , ) „
Kryterium metody najmniejszych kwadratów przyjmuje postać
( B ,) .Z .} .
221 funkcji S względem parametru p 0 wynosi j f = 2 E [Po + °P o /»i 1
C«,), + P 2 (« 2)i + ••• +
" 2r] »
(5>42)
natomiast względem pj (1 ^ j < k)
°Pj
" 2 E [Po +
+ P2( w2)f + ••• + P k ( “k)i " *i](“A •
i* 1 1
(5 43)
V/arunek konieczny istnienia ekstremum funkcji S prowadzi do następującego układu równań
E
i* 1
[Po + P A u i h + P i ( H ) i + i = o, 1,
+ P k(“k)( - Z /](“A = 0 •
(5.44)
k .
Analogicznie do rozdziałów poprzednich, wprowadzamy macierz danych wejściowych oraz wektor wartości funkcji, które w rozważanym przypadku są następujące
1 U =
1
( “ j)2
(K2) l . •
K >1
( ^ 2) 2 • •
( “ *)2
( “ 2)„ . •
( “ *>„
2i ,
(5.45)
Z = 2*
odzimy do układu równań UT U P = UT Z ,
p = = [Po > P\ > -
> Pk ]
(5.46)
(5.47)
Wartości nieznanych parametrów p0 , p i , .... p k wyznaczamy, rozwiązując równanie macierzowe BŁ> gp
P = (U T -U )'1-U T -Z .
(5.48)
Przykładem średniokwadratowej aproksymacji liniowej może być zadanie polegające na wyznaczeniu temperatury przemiany eutektycznej w żeliwie w zależności od zawartości krzemu, fosforu i chromu (jak wiadomo, temperatura przemiany dla stopu F e - C wynosi 1147°C). Materiałem doświadczalnym są temperatury przemiany eutektycznej stopów różniących się zawartością Si, P, Cr (przy określonym udziale węgla C =4,3% ). Zawartość
222 pozostałych składników bierze się z „rozsądnego” z punktu widzenia technologii przedziału wartości. Można w tym miejscu dobrać udziały składników stopowych, wykorzystując reguły wynikające z tzw. planowania eksperymentu [2]. Funkcji Te poszukuje się w postaci
:
Te = Po + P i S i + P i ? + P ^Cl • Współczynniki p0, p , , p 2 , Pi oblicza się z układu równań (5.48). Jak podaje literatura (3], jest to wzór w postaci Tt = 1147 - 10 Si - 30 P + 30 Cr
[°C ] .
5.2.5. Funkcja wielu zmiennych liniowa względem param etrów Jest to najbardziej ogólny z przedstawionych w rozdziale niniejszym problemóv aproksymacji średniokwadratowej. Funkcja jF(«, , ..., um, p 0 , .... pk) w postaci z = P0
•••»
zn | .
Analogicznie do podrozdziałów poprzednich, tworzymy kryterium optymalnego doboru parametrów wzoru (5.49)
Obliczamy pochodne cząstkowe funkcji S względem p 0 , P \ , - ■ • • Pu dS
- 2 E [ P o
" 2f]«P0(u)^ •/'fes
dS = 2Ę
[P o ^ o K - + Pi
dS ap*
= 2 E [Pol>oC»)f + P j^G O , + . . . + p*
1
223 ujemy układ k + 1 równań liniowych
f£
+P , E
_ >(u)
E
p PoE
!'■ t
•
•
«pi(“ ) i + ................... +^ E < M
*
•
1
i
n ),
^ ( “ j.
i
=V
co
y
v *'-u)
.
J f
(5.52)
którego wyznaczamy nieznane parametry /?0 , p , ............/?A. Podobnie jak w podrozdziałach 5.2 .1 —5.2.4, zapiszemy układ równań (5.52) w postaci macierzowej. Uogólniona macierz danych wejściowych U oraz wektor Z wynoszą
u
»
c p ,(u )j
«p0( u ) 2
«Pi(“ ) 2
cP2( u ) 2 • ■ M « ) 2
*i z2 ,
(P * (u )n
z
(5.53)
=
.
.
co prowadzi do następującej zależności (5.54)
UT U P = U T Z , skąd
(5.55)
P = ( U T-U )‘ , -UT -Z . m * S- Przykład 5.8 Wyniki pewnego eksperymentu zebrano w następującej tabeli. i 1 2 3 4 5 6 7 8
«2 0,0 0,0 0,5 0,5 0,0 1,0 1,0 1,0
0,0 0,5 0,0 0,5 1,0 0,0 1,0 0,0
z 1,00 0,75 1,40 1,50 -0 ,6 0 2,60 2,90 -0 ,5 0
Z naleźć w spółczynniki w zoru w postaci
Z = Po + P \ Ul + P l U2 + P 3 “ l “ 2 + P a u \ + P s u 2
Jak widać, bazę w powyższym przykładzie tworzy zbiór funkcji cp0 (u ) = 1,
9 ,( 1 1 )
=
gdzie u = [ u ,, « i ] T. Dla przyjętej bazy uogólniona macierz danych wejściowych ma postać 1
(«I> I
( “ 2)1
( “ l “ 2> l (« ? ), <«J>|
1 0,0 0,0 0,00
0,0
0,00
1
( “ 1)2
(^2^2
( “ l u2)2
1 0,0 0,5 0,00
0,0
0,25
1
( “ 1)3
( “ 2>3
( “ l “ 2 ) 3 ( “ f ) 3 («2>3
1 0,5 0,0 0,00 0,25 0,00
1
( “ 1)4
( “ 2)4
( “ l “ 2 ) 4 <»f>4 («4*>4
1 0,5 0,5 0,25 0,25 0,25
1
( “ 1 )5
( W2>5
( “ l “ 2^5 <«f>5
(«22 ) 5
1 0,0 1,0 0,00 0,00 1,00
(« 2)ó ( “ l U 2 ^6 («?)«
(«22 ) 6
1 1,0 0,0 0,00 1,00 0,00
U 1
(Wj
)2
( “ 2)2
1 ( “ 1)7
( “ 2 ^7
( “ l **2 ) 7 ( “ f>7 <«J>7
1 1,0 1,0 1,00 1,00 1,00
1 <“ l>»
( U2^8
(“ «u2)% ( “ f)«
1 1,0 0,0 0,00 1,00 0,00
(« 2 )8
M
m
natomiast wektor Z wynosi Z - [ 1,00 , 0,75 ,
1,40 ,
1,50 ,
-0,60 , 2,60 , 2,90 ,
-0 ,5 ]T .
Z układu równań (5.55) otrzymujemy Z = 1,103 + 0,671 «, - 0,296 u2 + 3,467 u, u2 - 0,707 w? - 1,373 «2 .
5.3. Oszacowanie jakości aproksymacji is W wielu dziedzinach techniki pojawiają się problemy znalezienia ogólnej tendencji właściwej danemu procesowi lub zjawisku, przy czym często tę zależność trzeba wyrazić wzorem matematycznym. Przy rozwiązywaniu zadań tego typu wykorzystuje się metodę najmniejszych kwadratów. Przykłady jej zastosowania zostały szczegółowo przedstawione w podrozdziałach poprzednich (tzw. budowa modelu matematycznego zjawiska), natomiast w tym rozdziale rozważania będą dotyczyć oceny istotności zaproponowanego modelu. W statystyce matematycznej (tak nazywa się dział matematyki zajmującej się wnioskowaniem o całej zbiorowości statystycznej - populacji generalnej, na podstawie zbadania jej części zwanej próbą lub próbką) zbiór punktów, których aproksymacja była
225 liotem rozważań w podrozdziałach poprzednich, nazywa się próbą losową i traktuje realizację odpowiednich zmiennych losowych (zmienna losowa to wielkość, która doświadczenia przybiera wartość ze zbioru możliwych wartości), podstawie próby jesteśmy w stanie zaproponować pewien model matematyczny biegu obserwowanego zjawiska (innymi słowy, formułujemy hipotezę o postaci funkcji sji), oszacować wartości parametrów funkcji regresji (metoda najmniejszych kwadratów), pnie zweryfikować hipotezę o istotności funkcji regresji oraz jej parametrów.
I. Badanie istotności liniowej jednowymiarowej funkcji regresji ajomość funkcji regresji nie umożliwia oceny rozbieżności między modelem [tematycznym a danymi doświadczalnymi. Jako przykład rozważymy dwie próby losowe va zbiory punktów — wyniki pomiarów), które na podstawie kryterium średniokwadravego zostały oszacowane taką samą funkcją regresji — rys. 5.7.
Rys. 5.7. Funkcja regresji dla dwóch różnych prób losowych W pierwszym przypadku obserwowane punkty leżą blisko funkcji regresji, natomiast w drugim są często bardzo oddalone. Pewną ocenę rozrzutu punktów względem linii regresji daje w tym przypadku wariancja
fc w
,2 _ 1 ^
= “ E
2 Ci »
(5.56)
która jest tym mniejsza, im mniejszy jest rozrzut punktów wokół wyznaczonej prostej (im ściślejszy jest związek zmiennych losowych X i Y określony na podstawie pomiarów (x,, y(), t= l, 2 ......... n). Przedstawimy teraz sposób postępowania służący do określenia istotności funkcji regresji wykorzystujący informacje zawarte w wykonanej próbie losowej (wynikach pomiarów).
Liniowa, jednowymiarowa funkcja regresji w postaci y= p0 + pxx została wyznacz* zbioru n punktów (próba losowa): (jc, , y ,), (x2, yj), ..., {xH, ya). Parametry p0 i p x oszacowanie nieznanych parametrów b0 i bx rzeczywistej funkcji regresji. Dla wykonanych n pomiarów definiuje się - średnią z próby 1A \
-
-
E
n fj
1A xi .
my = - E
(5
yt .
y
-wariancję z próby sx =
" mx)2 >
n /.i
52 = - E ( y j- ^ v ) 2 n /.i
odchylenie standardowe z próby
= ^
= \ « £ (X/ ~w*)2 * N n i-l
**=
= \ i £ (y< - w,> 2 • N 0 1-1
(5.
— moment korelacyjny zmiennych losowych X i T z próby (5.60)
» “ 1 oraz współczynnik korelacji liniowej z próby
m.
i-i , E
\ i-i
< *< -w, ) 2 E
i-i
(y, - V
#11
2
zmiennych losowych X i Y. Zdefiniowane w ten sposób parametry z próby są oszacowaniem nieznanych parametrów populacji generalnej. Tak więc średnia z próby jest oszacowaniem nieznanej średniej populacji generalnej (często nazywa się ją również wartością oczekiwaną), wariancja z próby s1 jest oszacowaniem nieznanej wartości wariancji a 2 populacji generalnej, odchylenie standardowe s z próby jest oszacowaniem nieznanego odchylenia standardowego 0, a współczynnik korelacji liniowej z próby oszacowaniem nieznanego współczynnika korelacji liniowej pxr populacji generalnej. Parametry m, s2, s oraz R nazywane są estymatorami nieznanych parametrów populacji generalnej. Parametry te dzielimy zwykle na następujące grupy: miary skupienia (średnia arytmetyczna), miary rozproszenia (wariancja, odchylenie standardowe) oraz miary korelacji (moment korelacyjny, współczynnik korelacji).
z.
227 nnik korelacji liniowej pm populacji generalnej charakteryzuje stopień zależności miedzy zmiennymi losowymi X i Y. Gdy p „ = ~ 1 lub p ^ = 1, to miedzy zmiennymi istnieje ścisła zależność liniowa. Gdy p„ = 0, to zmienne losowe X i Y są lowane. Im | jest bliższy 1, tym korelacja jest mocniejsza, itatystyce matematycznej dowodzi sie, że jeśli populacja generalna ma rozkład arowy normalny z parametrem pxy = 0, to rozkład współczynnika korelacji z próby adza sie do rozkładu t - Studenta (oczywiście współczynnik korelacji liniowej również zmienną losową), ad t-S tudenta o n —2 stopniach swobody to rozkład zmiennej losowej ciągłej :ji gęstości prawdopodobieństwa (rys. 5.8) określonej dość skomplikowanym wzorem też najczęściej korzysta sie z tablic tego rozkładu, z których dla określonego iu istotności a. i odpowiedniej liczby stopni swobody n —2 można odczytać np. wartość ;ną ta taką, aby p ( i ' i i t. śpomniany tutaj poziom istotności określa prawdopodobieństwo popełnienia błędu polegającego na odrzuceniu hipotezy prawdziwej. f (t)
mw-'
Rys. 5.8. Gęstość prawdopodobieństwa rozkładu t-Studenta (4 stopnie swobody)
Badanie istotności współczynnika korelacji R^ wyznaczonego z próby polega na weryfikacji następującej hipotezy iS9 #0 • PXY ~ ® » g | -Ż wobec hipotezy alternatywnej ' Pxr * ® » np. na poziomie istotności or. Oznacza to, że hipoteza zerowa zakłada, iż rzeczywisty współczynnik korelacji liniowej p& jest równy zero, tzn., że nie ma korelacji między zmiennymi X i Y.
228 Testowanie tej hipotezy polega na obliczeniu współczynnika korelacji liniowej z pró a następnie wyznaczeniu wartości (statystyki) t =
\Jn-2 . /i -
Statystyka ta ma przy założeniu prawdziwości hipotezy H0 rozkład t-Studenta stopniami swobody. Z tablic rozkładu t-S tudenta (tablica 5.1) dla ustalonego z góry ] istotności a i n —2 stopni swobody odczytujemy wartość krytyczna ta taka, aby P {M
*
} = «
Jeżeli M
* *a >
(5.
to hipotezę o braku korelacji między zmiennymi X i Y trzeba odrzucić. Jeżeli I * I < '« >
(5<64)
. to nie ma podstaw do odrzucenia hipotezy H0 , że zmienne X i Y sa nieskorelowane.
1 grs;
<«• Przykład 5.9 Obliczyć parametry z próby mx , my , s *, sy , s x , s y , mXJ i współczynnik korelacji li Rxv dla danych z przykładu 5.3 oraz zbadać jego istotność dla a= 0 ,0 5 . Ze wzorów (5.57)-(5.61) (n=10) wyznaczamy kolejno 1 10 - — Y x. = 5,5 ,
m
10
’
2 Sr =
* s
10
- i - £ ( x ,- 5 ,5 ) 2 - 8,25 , N iU
= y/^25 = 2,872 ,
s ‘ = N l 5 E O ’, - ' " , ) 2 - 5 ° 6 . sv = y/5Ó6 = 22,494 ,
10 ‘ “ t E < * ,-5 ,5 )(y ,-4 3 ) - 643 , IU i =i
10
E ( ^ - 5 , 5 ) ^ . -43) <=i 10
10
643 = 0,995 2,872 -22,494
I ; ( V 5 , 5 ) J E (j', - 4 3 ) 3 i-i N i-i Przechodzimy teraz do badania istotności obliczonego współczynnika korelacji liniowej z próby.
i
229 y wartość statystyki (wzór (5.61)) t = — R^ l /T T r
0,995
y/rT-2 = /
i
•8 = 28,752 .
- 0,9952
folie rozkładu t-S tudenta dla 8 stopni swobody i a =0,05 znajdujemy ta =2,306. aż |r| ^ t a, więc hipotezę o braku korelacji między zmiennymi X i Y należy odrzucić.
Rozkład t-Studenta
PI
Liczba stopni swobody w
p§l B i
iii 1
2 ż 3 4 ;% 5
IHj f 6
HH W 7 8 9 | 10 11 12 §:=' 13 pT14 15 m : V- 16 E5P : %v 17 18 19 i - | 20 21 w 22 W; jf I 23 p i > 24 Hk * 25 30 1 40 i 60 mi:120 t oo V
Tablica 5.1
a 0,80
0,60
0,40
0,20
0,10
0,05
0,02
0,01
0,325 0,289 0,277 0,271 0,267 0,265 0.263 0,262 0,261 0,260 0,260 0,259 0,259 0,258 0,258 0,258 0,257 0,257 0,257 0,257 0,257 0,256 0,256 0,256 0,256 0,256 0,255 0,254 0,254 0,253
0,727 0,617 0,584 0,569 0,559 0,553 0,549 0,546 0,543 0,542 0,540 0,539 0,538 0,537 0,536 0,535 0,534 0,534 0,533 0,533 0,532 0,532 0,532 0,531 0,531 0,530 0,529 0,527 0,526 0,524
1,376 1,061 0,978 0,941 0,920 0,906 0,896 0,889 0,883 0,879 0,876 0,873 0,870 0,868 0,866 0,865 0,863 0,862 0,861 0,860 0,859 0,858 0,858 0,857 0,856 0,854 0,851 0,848 0,845 0,842
3,078 1,886 1,638 1,533 1,476 1,440 1,415 1,397 1,383 1,372 1,363 1,356 1,350 1,345 1,341 1,337 1,333 1,330 1,328 1,325 1,323 1,321 1,319 1,318 1,316 1,310 1,303 1,296 1,289 1,282
6,314 2,920 2,353 2,132 2,015 1,943 1,895 1,860 1,833 1,812 1,796 1,792 1,771 1,761 1,753 1,746 1,740 1,734 1,729 1,725 1,721 1,717 1,714 1,711 1,708 1,697 1,684 1,671 1,658 1,645
12,706 4,307 3,182 2,776 2,571 2,447 2,365 2,306 2,262 2,228 2,201 2,179 2,160 2,145 2,131 2,120 2,110 2,101 2,093 2,086 2,080 2,074 2,069 2,064 2,060 2,042 2,021 2,000 1,980 1,960
31,821 6,965 4,541 3,747 3,365 3,143 2,998 2,896 2,821 2,764 2,718 2,681 2,650 2,624 2,602 2,583 2,567 2,552 2,539 2,528 2,518 2,508 2,500 2,492 2,485 2,457 2,423 2,390 2,358 2,326
63,657 9,925 5,841 4,604 4,032 3,707 3,499 3,355 3,250 3,169 3,106 3,055 3,012 2,977 2,947 2,921 2,898 2,878 2,861 2,845 2,831 2,819 2,807 2,797 2,787 2,750 2,704 2,660 2,617 2,576
Tablica podaje wartości ta w funkcji liczby stopni swobody n - 2 i prawdopodobieństwa a (poziom istotności - wzór (5 .62)).
230 5.3.2. Badanie istotności wielowymiarowej funkcji regresji W podrozdziale 5.2.5 przedstawiono najbardziej ogólny przypadek funkcji regresji z = p0
+ P2
<5 (
wyznaczonej na podstawie kryterium średniokwadratowego dla n wykonanych pomiarów { ( “ ! )l » •” >
Z1 } »
Zl } > ” •»
*•*»
•**» ( “ A
’ Zn}
Należy tutaj podkreślić, że przyjmując odpowiednie funkcje bazowe ^ ,(u ). j= 0 , 1, ... można otrzymać wszystkie prezentowane wcześniej przypadki aproksymacji funkcji. Tak więc : 1 przedstawiony niżej sposób badania istotności funkcji regresji dotyczy dowolnej jej postaci (z wyjątkiem analizy istotności jednowymiarowej funkcji regresji, którą omówiono w pod rozdziale 5.3.1). Dalsze wywody wymagają wprowadzenia zbioru wartości funkcji z\ , i = l , 2, ...» n, które oznaczać będą wartości zmiennej z obliczone z równania (5.65), natomiast z, oznaczają nadal wartości zmierzone. Dla wielowymiarowej funkcji regresji definiuje się współczynnik korelacji wielowymiarowej E fS E
<*r - » , ) ( * ! - « , )
/•i
R E
i*l
(5.6ó)
( * /-» * « ) 2 E
i-l
gdzie 1A
*«=
1
E i-i
lA n |»i
z* = - E
. •
Równość powyższych średnich wynika z pierwszego równania układu (5.51) (jeżeli przyjąć = 1), a mianowicie
E
i»l
i-l
(5.68)
i-l
Wzór (5.66) nie jest wygodny do obliczania wartości współczynnika korelacji wielowymiarowej, ponieważ wymaga wyznaczenia wartości funkcji regresji w n punktach pomiarowych. Można jednak udowodnić [1], że współczynnik korelacji wielowymiarowej określony jest również następującym wzorem
R =
P UT Z - nm£ ZT-Z - n m^
IS
(5.69)
Ti." ■■ r
W równaniu (5.69) zachowano oznaczenia przyjęte w rozdziale 5.2.5.
■żtSL
231 /artość współczynnika korelacji wielowymiarowej zawiera się w przedziale [0, 1] i im jest a jedynki, tym silniejsza jest zależność między zmienną z a zmiennymi u , , .... um. wartość tego współczynnika świadczy o słabym związku statystycznym między ywanymi zmiennymi. Przykład 5.10 Obliczyć współczynnik korelacji wielowymiarowej dla funkcji regresji wyznaczonej w przyzie5.8. Wykorzystamy tutaj wzór (5.66). W pierwszej kolejności obliczamy mz
f
1 8 i
1*131 »
f I
następnie wartości funkcji korelacji w punktach («,),, (u ^,, i = l , 2, .... 8. Otrzymujemy
r ? I
E S H l ° 3 , z\ =0,612, z \ = 1,262, z \ = 1,638, z \ = -0,566, z6 = 1,067, z7 =2,866, z8’ = 1,067 Wstawiając wyznaczone wielkości do wzoru (5.66), mamy p&K* .
m S r
£8 (zj-1,131) (z,-1,131) R = ------^i- 1
f
—
= 0,754 .
( z ; - l , 1 3 1 ) 2 £ (z, - 1,131 )3 <-i
Zastosowanie zależności (5.69) wymaga obliczenia iloczynu macierzy P UT Z = 16,667 wyniku pomnożenia tych macierzy otrzymuje się liczbę), iloczynu wektorów ZT Z=21,533 (który też daje w wyniku liczbę) i wtedy m P U T Z - nm l 16,667 - 8 • 1,1312 R = = 0,754 . — -------------\ ZT Z - n m \ N 21,533 - 8 1,1312 (w
Otrzymany wynik jest identyczny z poprzednim.
Do badania istotności obliczonego współczynnika korelacji wielowymiarowej wykorzystuje się test F-Snedecora. Test ten bada stosunek oszacowania wariancji funkcji regresji
' M Ke,»)g ;-- * .) 2
(5.70)
do oszacowania wariancji resztowej 2
,t = —
* 1
: E ( v 0 2. n -k-l i
(5.71)
[:
232 czyli
.
E
n - k - 1 ,--i E
(5.72) | Cz, - z ,’ ) 2
W powyższych wzorach z ' oznacza nieznaną zależność, którą przybliża model matematyczny z (wzór (5.65)). Im funkcja regresji jest bardziej istotna, tym stosunek oszacowania jej wariancji do oszacowania wariancji resztowej jest większy. W praktyce do wyznaczania wartości F wykorzystujemy dogodny wzór obliczeniowy F =
n -k - 1
(5.73) 1 - R2
Przy pewnych założeniach [1] funkcja testowa F jest zmienną losową o rozkładzie F-Snedecora o k i n - k - 1 stopniach swobody (n to oczywiście liczba wykonanych| pomiarów, natomiast £+ 1 to liczba współczynników funkcji regresji). Na rys. 5.9 przedstawiono funkcję gęstości prawdopodobieństwa dla rozkładu F- Snedecora o k=5 i n - k - l = 8 - 5 —1= 2 stopniach swobody.
M Rys. 5.9. Funkcja gęstości dla rozkładu F-Snedecora o 5 i 2 stopniach swobody Stawiamy hipotezę o nieistotności funkcji regresji =
A * ^
(5.74
przeciwko hipotezie alternatywnej H.1 :
a2Z > o2, . i'- z
(5.7Ś
W powyższych zależnościach oz jest nieznaną wariancją funkcji regresji, natomiast
Przyjmując pewien poziom istotności a , np. a =0,01, można dla konkretnych wartości liczby obserwacji n i liczby współczynników regresji k + 1 wyznaczyć z tablic rozkładu F-Snedecora taką wartość krytyczną Fa , że P [F s F J = 1 - a .
(5.76)
Jeśli otrzymana ze wzoru (5.73) wartość F spełnia warunek (5.77)
F >F ,
to należy odrzucić hipotezę H0 o nieistotności funkcji regresji i należy wnioskować o jej istotności. W przypadku przeciwnym, tzn. jeśli F s
(5.78)
,
to w zasadzie nie można niczego twierdzić o funkcji regresji. Tablica 5.2 podaje wartości Fa zmiennej losowej F-Snedecora, spełniające warunek P ( F * Fa ) = a = 0,05
(5.79)
dla »>, = n - k —1 i v2 - k stopni swobody. Ponieważ do testowania hipotezy poszukujemy wartości Fa spełniającej (5.76), więc korzystamy z tablicy pamiętając o tym, że (por. rys. 5.9) P ( F s F }
= l - P { F i F J = l - a .
(5.80)
«• Przykład 5.11 Zbadać istotność współczynnika korelacji wielowymiarowej R wyznaczonego w przy kładzie 5.10. Testować będziemy hipotezę H0 (wzór (5.74)) o nieistotności funkcji regresji znalezionej w przykładzie 5.8 z = 1,103 + 0,671 u, - 0,296 u2 + 3,467 u, u2 - 0,707 uf - 1,373 uf przeciwko hipotezie alternatywnej (5.75). Ze wzoru (5.73) obliczamy wartość funkcji kcji tesi testowej F _ 8 -5 -1 F =
0,7542
= 0,527 .
1 - 0,7542 Z tablicy 5.2 dla p, = 8 - 5 —1= 2 i v2 = 5 odczytujemy wartość krytyczną Fa =5,78. nieważ F < F a, to nie ma podstaw do odrzucenia hipotezy H0.
Należy tutaj podkreślić, że przy testowaniu hipotez statystycznych pewne znaczenie ma zyjęcie określonego poziomu istotności (np. a = 0 ,0 1 lub O!=0,005), które może zmienić yynik testowania hipotezy, ponieważ wartości krytyczne Fa odczytane z tablic również będą egały zmianie.
234 Rozkład F-Snedecora 1
2
3
4
5
6
Tablica 5.2 7
8
9
H W m 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 25 30 40 60 80 100 200 500 oo
161 18,5 10,1 7,71 6,61 5,99 5,59 5,32 5,12 4,96 4,75 4,60 4,49 4,41 4,35 4,24 4,17 4,08 4,00 3,96 3,94 3,89 3,86 3,84
19,0 9,55 6,94 5,78 5,14 4,74 4,46 4,26 4,10 3,89 3,74 3,63 3,55 3,49 3,39 3,32 3,23 3,15 3,11 3,09 3,04 3,01 3,00
9,28 6,59 5,41 4,76 4.35 4,07 3,86 3,71 3,49 3,34 3,24 3,16 3,10 2,99 2,92 2,84 2,76 2,72 2,70 2,65 2,62 2,60
6,39 5,19 4,53 4,12 3,84 3,63 3,48 3,26 3,11 3,01 2,93 2,87 2,76 2,69 2,61 2,53 2,49 2,46 2,42 2,39 2,37
5,05 4,39 3,97 3,69 3,48 3,33 3,11 2,96 2,85 2,77 2,71 2,60 2,53 2,45 2,37 2,33 2,31 2,26 2,23 2,21
4,28 3,87 3,58 3,37 3,22 3,00 2,85 2,74 2,66 2,60 2,49 2,42 2,34 2,25 2,21 2,19 2,14 2,12 2,10
3,79 3,50 3,29 3,14 2,91 2,76 2,66 2,58 2,51 2,40 2,33 2,25 2,17 2,13 2,10 2,06 2,03 2,01
3,44 3,23 3,07 2,85 2,70 2,59 2,31 2,45 2,34 2,27 2,18 2,10 2,06 2,03 1,98 1,96 1,94
3,18 3,02 2,80 2,65 2,54 2,46 2,39 2,28 2,21 2,12 2,04 2,00 1,97 1,93 1,90 1,88
yigSSSS
Kolejnym etapem analizy statystycznej określenia poprawności modelu matematycznego j badanie istotności parametrów funkcji regresji oraz wyznaczanie obszarów (a w przy jednowymiarowym - krzywych) ufności [1]. Zagadnienia te nie są tutaj prezentowane, % chociaż sposób postępowania przy rozwiązywaniu tych problemów (stawianie i testowanie hipotez statystycznych) jest bardzo podobny.
Literatura 1. Mańczak K.: Metody identyfikacji wielowymiarowych obiektów sterowania. Warszawa 1979. 2. Mańczak K.: Technika planowania eksperymentu, WNT, Warszawa 1976. 3. Poradnik Inżyniera. Odlewnictwo, WNT, Warszawa 1986. 4. Greń J.: Modele i zadania statystyki matematycznej, PWN, Warszawa 1970.
n . METODY PRZYBLIŻONEGO ROZWIĄZYWANIA RÓWNAŃ RÓŻNICZKOWYCH ZWYCZAJNYCH
iwnania różniczkowe zwyczajne stanowią model matematyczny wielu zjawisk fizycznych, przy czym nie wszystkie z nich można rozwiązać w sposób analityczny, chociaż teoria równań różniczkowych jest bardzo dobrze rozwiniętym działem analizy matematycznej. Potrzeby praktyki spowodowały konieczność poszukiwania rozwiązań przybliżonych tam, gdzie rozwiązanie dokładne nie jest możliwe do uzyskania. W rozdziale niniejszym ograniczymy się do prezentacji niektórych metod z grupy algorytmów półanalitycznych ■- (rozwiązywanie równań za pomocą szeregów potęgowych) oraz metod z grupy algorytmów dyskretnych. Klasyczną monografią dotyczącą tego zakresu tematycznego jest książka L.Collatza b # „Metody numeryczne w rozwiązywaniu równań różniczkowych” , która doczekała się kilku wydań również w języku polskim, natomiast rozdziały poświęcone równaniom różniczkowym f i l zwyczajnym są nieodłącznym fragmentem wszystkich podręczników związanych z teorią i praktyką metod numerycznych.
6.1. Rozwiązywanie równań za pomocą szeregów W tej grupie metod przedstawimy trzy półanalityczne algorytmy nazywane w literaturze stodą współczynników nieoznaczonych, metodą kolejnego różniczkowania oraz metodą ilejnych przybliżeń Picarda.
6.1.1. M etoda współczynników nieoznaczonych bĄ v Jest to metoda półanalityczna, szczególnie przydatna do przybliżonego rozwiązywania równań liniowych, tzn. równań różniczkowych w postaci
mi lub krócej
+
(6 . 1)
H E
J -0
¥ / * > y U) = g ( x )
(6.2)
i warunkami /( O ) = yQ ,
/'( O ) = y ' ......../<»-»>(0) = yo1" ' 11 .
(6.3)
1
Metodę współczynników nieoznaczonych dla sformułowanego wyżej zagadnienia Cauchy’ego wyjaśnimy na przykładzie równania liniowego rzędu drugiego o współczynnikach funkcyjnych y" + 9 , 0 0 /
+
= *00
,
/( O ) = y0 ,
(6.4)
/'( O ) = yó • Jeżeli funkcje
an x " »
9 ,0 0 = E
n -0
bnx * .
* (* ) = E
n-0
c„ * n •
(6.5)
n-0
Rozwiązania poszukujemy w postaci
y = /0 0
= E
n*0
(
^n*"
6. 6)
ze współczynnikami nieoznaczonymi A„ . Podstawiając ostatnie równania do (6.4), otrzy mujemy Ż .■2
♦ E V n-0 + E v " E V " n-0
n-0
E
= E
n-0
" V
"
*
($.7)
•
Po odpowiednich przekształceniach lewa i prawa strona ostatniego równania są wielomia nami stopnia k (jeśli przy sumowaniu ograniczymy się do odpowiedniej liczby składników rozwinięcia rozwiązania f ( x ) i funkcji
Jak pamiętamy z podstawowego kursu analizy matematycznej, rozwinięcie funkcji cosx w szereg Maclaurina ma postać , x2 x4 x6 co sX = 1 ------ + — - ----- + ... , 2! 4! 6! czyli równanie (6.7) sprowadza się do “
~
“
y2
y4
y6
Y ' n(n - 1)' A n x n~2 - Y ' nA Z —/x n + /iY^ A Zx" = n — -------+ —i/ - i + ... . ' —/ i
X—✓
*-i
4!
4!
6!
Z warunku początkowego wynika natychmiast, że /10 = 0 oraz A { =1. Porównujemy teraz współczynniki przy jednakowych potęgach po lewej i prawej stronie równania: A0 + 2/42 = 0 , 6 /l3 = 0 , - i4, + 12/1. = — , 2 4 2!
i &
- 2 A 3 + 20/45 = 0 ,
r
-3/1, + 30/1, = 4 6
Sf '
4!
,
- 4 A 5 + 42/l7 = 0 , -5/1, + 58/L = — .
6
i£
4 Lr.
8
6!
Otrzymujemy kolejno AQ= 0, A x =1, A2 = 0, A3 = 0, /l, =1/24, A5 = 0, /16 =1/3 60, /48 =11/40320. Tak więc ,,
.
a: 4
y = /(* ) = X + —
24
x
+
6
360
=0,
lh ‘ 40320 ’
natomiast / (1) = 1,0446. Dalsze wyrazy szeregu bardzo szybko maleją i dla x = l dają poprawki co najwyżej na piątym miejscu po przecinku. Na rysunku 6.1 pokazano otrzymane roz wiązanie przybliżone na odcinku x £ [ 0 , 2], przy czym kolejne krzywe są wykresami wielomianów y = x ,
y =x +
24
x4 y =x + — 24
x6 360
llx 6 40320
Rys. 6.1. Rozwiązanie otrzymane metodą współczynników nieoznaczonych
238
239
Jak widać, w przedziale [O, 1] dobrą aproksymacją rozwiązania jest nawet zależność liniowa (y=x), natomiast rozszerzenie przedziału, w którym poszukujemy przebiegu funkcji /(x ), wymaga uwzględnienia większej liczby związków między współczynnikami An, tzn. podwyższenia stopnia wielomianu (6.6) przybliżającego poszukiwane rozwiązanie.
podstawiając w miejsce x, y, y ' ... y " - ,) wartości wynikające z warunku początkowego znajdujemy dalsze pochodne występujące w rozwinięciu (6.10). Przykład 6.2 Znaleźć przybliżone rozwiązanie równania y" = xy' - y + t x ,
6.1.2. Metody kolejnego różniczkowania (metoda jednego punktu)
z warunkiem/(0) = 1, / '( 0 ) = 0 z dokładnością do wielomianu stopnia szóstego. Mamy
Dane jest równanie y (B) = F (x , y , y \ .... y 0” 1*) ,
y0 " 1 > z warunkami początkowymi w punkcie x= x0 : f ( x 0) = y0 ,
/ ' ( x 0) = yó
>o = 0 *
y" = x y ' - y
ex
-
y " - -1 + 1
f in’ l)(x0) = y d "'15 Równanie wyjściowe różniczkujemy obustronnie
Rozwiązanie równania zapiszemy w postaci szeregu Taylora: y
/, , // ( x - x 0)2 y = y0 + y0 (* -* o ) + yo — ——
♦
yQ
n!
=F [xo>y0*yo»•••. yo(n'l)) •
dx
dy
i L y» + dy'
* * 1
=
Fi(x , y , y ' , •••
i
odF r u
y"> = x y "
/
z
- y
+xy
/
= jcy
//i
+ e1
y " = x y ' - y + ex
(6 .12)
•
■V* Dokładnie tak samo różniczkując powyższe równanie względem x, dochodzimy do następnego równania pomocniczego y n*2 = F2(x, y , y ', ... y ( » - m itd. Powtarzając kolejno różniczkowanie, otrzymujemy równania pomocnicze, z których
— y0//y = 1 .
Można w tym miejscu zauważyć, że znajdowanie kolejnych równań pomocniczych nie jest konieczne. Wystarczy tylko konsekwentnie liczyć wartości kolejnych pochodnych w punkcie Xq i wykorzystywać je do znajdowania następnych pochodnych. I tak
y " 1 = x y " + e* l£ _ y W dy ( n - 1 )
+ e
e* = x ( x y ' - y + e 1) + ex
( 6 . 11)
Wzór ten jest uogólnieniem znanego sposobu różniczkowania funkcji uwikłanej. Przykład pokazany w końcowej części niniejszego podrozdziału wyjaśni ewentualne wątpliwości Czytelnika odnośnie do praktycznych aspektów jego wykorzystania. Jeżeli w ostatnim wzorze w miejsce y(n) wstawimy prawą stronę równania (6.8), to otrzymamy równanie pomocnicze typu y
dF 3y
Pierwsze równanie pomocnicze ma więc postać
Równanie (6.8) różniczkujemy obustronnie i otrzymujemy dF + dF y ’ .(«♦!) = = ----
dF
= ---- + — y ' + -----y " = y
( 6 . 10)
Wartości pochodnych y0(n), yo(n+I) ... wyznaczamy z równania (6.8) przez obustronne różniczkowanie, wykorzystanie warunków początkowych i wartości pochodnych obliczonych uprzednio. I tak n-tą pochodną w punkcie x0 można obliczyć bezpośrednio z równania (6.8), wstawiając w miejsce argumentu x, funkcji y i jej pochodnych wartości wynikające z warunku początkowego
yon)
///
yW
= y"
n „ y0 = o m ,
y0
x y '" + ex
= i
iv
yo
. = i
y '' = 2 y m
x y ‘v + e*
yo - 3
y w = 3 y rv
xyv * tx
y0w = 4
.
y =
x3 xĄ _ x 5 . x6 1+ — + — + 3 — + 4 — . 3! 4! 5! 6!
Sposób oszacowania błędu metody wynika z reszty rozwinięcia funkcji w szereg potęgowy Taylora. Jak pamiętamy z kursu analizy matematycznej, rozwinięcie funkcji F(x) z dokład nością do n+ k wyrazów obarczone jest błędem ,
.
( x - x 0r ‘ *] ' , ę e [ i 0, x] . (n +it + l) !
240 241 W praktyce przyjmuje się najbardziej „niekorzystna” , a więc największa co do wartość bezwzględnej wartość pochodnej w przedziale [x0 , jc ]- oznaczmy ja przez M ł+1 i wtedy R.
( x - x 0)n' k"
<
y(x)
(n +fc + 1)!
Wynika stad, że błąd metody kolejnego różniczkowania można oszacować na podstawie ,,k + 1” równania pomocniczego, wyznaczając z niego zmajoryzowaną „ n + k + 1” pochodny
max
(x, y ....... y (" ' u ełt)
Fk*Ax>y> •••• y{”~l))
* y0 +f
Flt>y(0 ]df.
(6.16)
Rozwiązanie równania całkowego (6.16) jest równoznaczne ze znalezieniem funkcji y(x) spełniającej (6.14) i dany warunek początkowy. Jako pierwsze przybliżenie rozwiązania w przedziale [x0 , x] przyjmiemy warunek początkowy, czyli y (r)~ y 0=const. Wówczas
(6.13)
X
Na rys. 6.2 pokazano rozwiązania omówionego w przykładzie zadania dla * € [0 ,2 ]. r- s W kolejnych wariantach uwzględniono trzy, cztery i pięć pierwszych niezerowych wyrazów rozwinięcia w szereg Taylora. £1
V * )
= y 0 + f F[*. >,o]dr •
(6.17)
Znalezione pierwsze przybliżenie y,(;c) wstawiamy do (6.16) i otrzymujemy fi X
y2(x ) = y0 * f F [ t , y , ( 0 ] d r . *0
(6.18)
Tworzymy kolejne przybliżenie wg wzoru rekurencyjnego
/
/
/
(6.19) iw£‘ Twierdzenie. Jeżeli w pewnym otoczeniu punktu (x0 , y0) prawa strona równania (6.14) jest ciągła i ma ograniczoną pochodną cząstkową Fy'(x, y), to w pewnym otoczeniu punktu x0 ciąg {y,} jest zbieżny do funkcji y, która jest rozwiązaniem (6.14) przy danym warunku
f(xQ )=y0_
«*■ Przykład 6.3 Rozwiązać równanie y ' = x+ y z warunkiem/(O) = 1. Mamy
Wm.
X
Rys. 6.2. Rozwiązanie przyblitone (metoda jednego punktu)
yt - 1 + f (f + l) d r = 1 + x + —x 2 ,
y, = 1 + f ( r + l + r + —r 2)d r = 1 + x + x 2 + —x 3 , 2 { 2 6
6.1.3. Metoda kolejnych przybliżeń Picarda Rozpatrywać będziemy równanie rzędu pierwszego /
= F (x , y) ,
s
X
y, = 1 + f ( t + 1 + t + f 2 + —r 3) d r = 1 + x + x 2 + - x 3 + — x 4 , 3 J 6 i3 o24i ’
(6.14)
z warunkiem f ( x 0) =y0. Równanie to można zapisać w postaci dy = F (x , y (x ))d x ,
(6.15)
S
y. = 1 + 4 { itd.
1 x 3, +1 — x 4 + —— x 5 , + l +1 + t 2 + — t 3 +— r4) d r = 1 + x + x 2 + — 3 24 3 12 120
242
243
Na rysunku 6.3 linią ciągłą zaznaczono rozwiązanie dokładne (y=2 ex p (x )-x --l) 0raz trójkącikami rozwiązanie przybliżone dla [0, 2].
Omówione niżej metody numeryczne dotyczą takich właśnie funkcji F (x, y) i polegają na frzybliżonym rozwiązaniu następującego równania
(6 .22 )
Do metod tej grupy należą m. in. metoda Eulera wraz z jej ulepszeniami, bardzo popularna metoda Rungego-Kutty, metody wielokrokowe, ekstrapolacyjne i interpolacyjne.
6.2.1. Metoda łamanych Przyjmijmy
/ F [x , y (x )]d x = h .F i x ^ y () ,
Rys. 6.3. Rozwiązanie uzyskane metodą Picarda
gdzie hj =xl+l—xi. Równanie (6.23) oznacza, że funkcję F(x, y) traktujemy na odcinku [jc, , jc,+1] jako stałą i równą wartości F w punkcie (x, , y , ). Dochodzimy do wzoru rekurencyjnego w postaci
■
Jak widać z powyższego przykładu i przykładów poprzednich, metody półanalityczne mają jedną wspólną cechę, a mianowicie im dalej od punktu początkowego, tym wynik jest mniej dokładny i aby otrzymać w miarę wiarygodny przebieg rozwiązania, należy przybliżać je szeregiem potęgowym raczej wysokiego stopnia. Oszacowanie błędu metody można znaleźć m. in. w książce G.N.Położego i in. pt. ,,Metody przybliżonych obliczeń” , WNT, Warszawa. Równania wyższych rzędów można sprowadzić do układów równań rzędu pierwszego, które rozwiązuje się podobnie jak poprzednio.
>,.i = y t + hi
y.),
y(*0) = y0
-i?'
Rozpatrywać będziemy równanie różniczkowe rzędu pierwszego w postaci y(x0) = y0 .
(6.24)
Metoda posiada prostą interpretację geometryczną. Jak widać bowiem ze wzoru (6.24), występująca po lewej stronie (6.20) pochodna zastąpiona została ilorazem różnicowym, czyli krzywą całkową na odcinku [Xq , jc,] aproksymuje się odcinkiem stycznej do niej przechodzącej przez punkt (Xq , y0) itd. Zwykle przyjmuje się h t =const=h. Interpretację geometryczną metody łamanych ilustruje rys. 6.4.
6.2. Dyskretne metody rozwiązywania równań różniczkowych zwyczajnych
y ' = F ( x , y) ,
(6.23)
(6 .20)
Przyjmujemy, że funkcja F (x, y) jest ciągła i ograniczona w pewnym obszarze płaskim fl oraz spełnia warunek Lipschitza, tzn. istnieje taka liczba K, że dla wszystkich par punktów P\(x, y,), P2(x, >2). P\> P2 ^ fi spełnione jest | F (x , y,) - F ( x , y2) | < K (yt - y2) . (6.21) Rys. 6.4. Metoda łamanych Eulera
244
245
6.2.2. Ulepszenia metody łamanych
y
a
y
y2 = 1,1 + 0 ,1 (0 ,1 + 1,1) = 1,22 ,
X3 = 0 ,3 ,
y3 = 1,22 + 0,1 (0,2 + 1,22) = 1,362
O +
Sd łl
X2 ~ 0 ,2 ,
+ O
X u o
II >— »
/lamy więc Przedstawione niżej metody polegają na przyjęciu dla konstrukcji rozwiązania równania; (6.20) następujących założeń: a) styczna do luku A (x„ y t) , B (xl+l, yi+l) w punkcie o odciętej x‘ =(x,+xi+l)/2 jest równo legła do cięciwy AB (rys.6.5), b) współczynnik kierunkowy siecznej AB jest średnią arytmetyczną współczynników kierun kowych stycznych w punktach A i B. Metoda ta nazywana jest w literaturze metodą EuleraCauchy’ego (rys. 6.6). ••>3
itd. Na rys. 6.7 pokazano dokładne rozwiązanie powyższego równania oraz jego przybliżenie uzyskane metodą Eulera dla h = 0,1 (kwadraciki) i h —0 ,0\ (trójkąciki) na odcinku [0, 2],
a
i \% / a ' □ /u Rys. 6.5. Pierwsze ulepszenie
Rys. 6.6. Drugie ulepszenie
Dla przypadków pokazanych na rysunkach mamy więc następujące wzory i .-i
* ' = x i+i = *i + h >
y ' = 7, + 0 , 5 h F ( x , , y , ) ,
y ' = y. + h F ( x , , y,) ,
y , . j = y ( + o , 5 a [ f u , , y,) + m * ] .
0.0
(6.25)
'u
y,-,i * y, + h m ’ .
II
m ’ = F ( x \ y ’) ,
s
** = 0 , 5 ( x < + x łM ) ,
Działanie algorytmu metody łamanych i jej ulepszeń wyjaśnimy na następującym przykładzie. «■ Przykład 6.4 Rozwiązać równanie y '= x + y z warunkiem x0 = 0, y0 = 1, przyjmując A=0,1. Dla prostej metody Eulera rozwiązanie wynika z następującego wzoru rekurencyjnego y ,.i • 7, + 0,1 (x, + y,) ,
x0 = 0 ,
y0 = 1 .
.
-
i i
0.5
1.0
1.5
2.0
Rys. 6 .7. Przybliżenie Eulera i dokładne rozwiązanie przykładu Jak widać z powyższego przykładu, zmniejszenie kroku h istotnie polepsza dokładność metody łamanych (wynika to zresztą z rozważań teoretycznych, które przedstawimy w dalszej części niniejszego rozdziału). Nadmierne zmniejszenie kroku h np. h= 10“ 10 daje jednak efekt odwrotny od spodziewanego, co wynika z faktu, iż przejście od Jt0= 0 do x= 2 wymaga realizacji 2 1 0 10 kroków algorytmu, a w każ dym kroku popełniamy błąd wynikający z do kładności obliczeń (precyzji). Można więc wnioskować, że w zbiorze kroków h istnieje krok optymalny h \ który należy stosować (rys. 6.8). Niestety, literatura nie podaje reguł b l a d m e to d y doboru optymalnego kroku całkowania i naj bardziej skutecznym testem wydaje się metoda prób. Rys. 6.8. Błędy metody i zaokrągleń
247
246
Algorytm metody łamanych i algorytm pierwszego ulepszenia tej metody są następujące
W dalszym ciągu niniejszego przykładu wykonamy dwa kroki zgodnie z algorytmem pierwszego i drugiego ulepszenia metody Eulera (wzory (6.25)). Pierwsze ulepszenie *o = 0 >
całkowite : n , i
y0 = 1 »
= 0,05 , x, = 0,1 ,
Lista zmiennych:
y* = 1 + 0 ,0 5 (0 + 1) = 1,05 ,
T
m* = 0,05 + 1,05 = 1,1 ,
rzeczywiste: h tablice: x [0 .. n] ,y [0 .. n]
y, = 1 + 0 , 1 1 , 1 = 1,11 , A A A
Podaj x0, y0, n, h
> > >
Zdefiniuj F (u , v)
x* = 0,15 , y* = 1,11 + 0 ,05(1 + 1,11) = 1,216 , m * = 0,15 + 1,216 = 1,366: x2 = 0,2 ,
y2 = 1,11 + 0,1 1,366 = 1,2466 .
Dla i : = 0, 1, .... n - 1 Drugie ulepszenie *0
= 0 •
y0 =
Oblicz x( : = x0 + i-h 1
>
Oblicz yłM : = y t + h -F ^x^ yf)
x* = 0,1 ,
y* = 1 + 0 ,1 (0 + 1) = 1,1 ,
x,
yŁ= 1 + 0 ,05(1 + 1,2) = 1,11 ,
D rukuj xQ + i-h
> > >
x* = 0,2 ,
y* = 1,1
D rukuj y.
> > >
x2 = 0,2 ,
y2 = 1,11 + 0 ,05(1,11 + 1,431) =1,237
= 0,1 ,
m'
= 0,1 +1,1
= 1,2 ,
Dla i : = 0, 1 , ..., n
+ 0 ,1 (0 ,2 + 1 ,1 1 ) = 1,231 , m ' =0 ,2 + 1,231 = 1,431 , . ■
Na rys. 6.9 linią ciągłą zaznaczono rozwiązanie dokładne, natomiast kwadracikami rozwiązanie uzyskane za pomocą pierwszego ulepszenia metody Eulera przy kroku h =0,1 na odcinku [0, 2]. Jak widać, niewielka zmiana algorytmu bazowego daje wyniki nieporównywalnie lepsze.
Lista zmiennych: całkowite : n , i rzeczywiste: h
-------------1
tablice: x[0 > > >
Podaj x0, y0, n, h
> > >
Zdefiniuj F (« , v)
n] ,y [0 .. n]
Dla i : = 1 , 2 , ..., n Oblicz x. : = x0 + i-h Dla i : = 0, 1,
7
n- 1
Oblicz x* : = 0 , 5 (xf + x lM) Oblicz y* : = y, + 0,5 h F ( x it yt) Oblicz m ’ : = F ( x ‘ , y*) Oblicz ył4., : = yt + h-m " Dla i : = 0, 1 , .... n
Rys. 6.9. Pierwsze ulepszenie metody Eulera
Drukuj x,
> > >
D rukuj y(
> > >
248 249
Q Algorytm drugiego ulepszenia metody Eulera ma postać
Zauważmy, że w przypadku metody łamanych y(+, —y, = h F (x it y,). Funkcję F[jc, y(x)] oznaczymy przez G(x) i G{x,) będzie wartością funkcji F z wstawioną w miejsce y wartością dokładną y(x,) . Wzór (6.28) można sprowadzić do następującego
Lista zmiennych: całkowite: n, i
•*1-1 A e (. = h [ F ( x it yt) - G (*,.)] + h G (xt) - / G (x )d x .
rzeczywiste: h
(6.29)
tablice: x [0 .. n] ,y [0 .. n] > > >
Podaj x0, y0, n, h
> > >
Zdefiniuj F (u , v)
Z warunku Lipschitza S re
|F ( x . , y I) - G ( J:|.)| <; K [y, -> (* ,)] = K |e,| .
(6.30)
Dla i : = 0, 1, .... n -1 Całkę po prawejstronie równania (6.29) obliczamy przez części
Oblicz x ( : - x0 + i ‘h Oblicz x * : = xt + h
*(.! *1.1 f I G Cr) d r - * G ( r ) | “'" - f * — dx .
Oblicz y* : = y, + fiF ( x /t y,)
i
Oblicz m * : * F ( x *, y *)
i
(6.31)
dx
Jak łatwo sprawdzić, powyższe równanie jest identyczne z równaniem
Oblicz yiM : = y t + 0 ,5 h [F (x ,, yt) + m ']
-
* i »i
Dla i : = 0 , 1 ........n
*i-1
f l G ( x ) d x - ( x - x ł ł | )G(x)|***‘ J
D rukuj x Q + i-h
f ( x - x t^ ) ~ d x
I x,
J
(6.32)
‘ 1 dx
>>>
D rukuj y.
>>>
f ( x d x
h G( x . ) - f G( x ) d x
(6.33)
6.2.3. Oszacowanie błędu metod Eulera [i . i
s N
Założenia dotyczące funkcji F (x, y) podano na początku podrozdziału 6.2. Przyjmijmy dodatkowo, że d F[ x , y(x )] dx d "F [x , y ( M dx
d F + ----y dF , ---dx dy
-
*
,
dF , _ dF + — F ( x , y) dx dy
* w ,,
!■•
" >(*,) .
1 |A e .| ^ h K |e ,| + ^ N , h 2 2
efłl = yitl - y (x iM) .
(6 27)
Przyrost błędu po jednym kroku ( /- * / +1) wynosi " y ( * , ♦ ! > - y , + y ( * f) = y , * i - y f -
/
y (* )]d * .
<6 -28)
(6.34)
i ostatecznie * d + A ^ ) | e , l + - W,*2
(6.35)
Jest to wzór rekurencyjny do oszacowania błędu prostej metody łamanych. Oszacowanie samodzielne dla tej metody ma postać ej s 1 2K 1
■*(-i A c , = y .* i
= —N . h 2 . 2 1
Wykorzystując ostatnią zależność i wzór (6.30), otrzymujemy
n=2, 3, ... .
Cytowane niżej za Collatzem rozważania dotyczą jedynie błędu własnego metody, nie uwzględniają zaś błędów zaokrągleń (precyzji). Niech y oznacza rozwiązanie przybliżone, a y(x) rozwiązanie dokładne. Błąd metody w i-tym kroku definiujemy następująco e< =
/ ( * - * ; . ,)d *
. ,1 J
(6.36)
251
250 W rozwinięciu wykorzystano zależności
Ostatni wzór dowodzi zarazem zbieżności metody łamanych dla h -* 0. Oszacowanie samodzielne błędów dla metod ulepszonych można znaleźć w monografii Collatza i wzory końcowe mają postać
N2 e j <; - h 3 N. + — 1 3K ' 8
/ '( * ) = F (x , y) ,
\ | 1 + h K + ~ h 2K 2 \ - 1
dx
+ / '( J : ) — 5y
Z równania (6.41) otrzymujemy z kolei
(6.37) 1 + —h K 2
y (x , +h) = y,. 1 =
+ h m l A l * h m 2A 2 =
(6.43)
y. + h A l F ( x i, y() + h A 2 F[ xi +a xh i yt + b xh m x)
dla ulepszonej metody łamanych, zaś dla metody Eulera-C auchy’ego
*2 e j i —/i2UV, 'i + 3K
f"(x) =
Ostatni składnik w (6.43) rozwijamy w szereg z dokładnością do pierwszych pochodnych, czyli
1 +hK + (6.38) 1 + -hK 2
F [x i + a i hy y ^ b . h m , ) = F(x., yt) ♦ |
Jak widać, są to metody o zbieżności tego samego rzędu h2. Oszacowanie dla metody Eulera-C auchy’ego jest dokładnie dwa razy słabsze niż dla ulepszonej metody łamanych.
+ ( | - | b xh m x dy)i
i ostatecznie dF Ł{ 1 dx
y ( xi + h) = y,M = y, * h A x F {x(, yt) + h A 2 F ( x , , y,) + h 2A 2 1 a , — +b x m,
6.2.4. Wzory R u n g eg o -K u tty
*.* f
Metoda Rungego-Kutty jest algebraicznym uogólnieniem przedstawionych poprzednio metod. Polega ona na doborze współczynników a , , a2, bx, b2 ..., oraz liczb 4 , , /12, .... tak aby =
(639)
y t + * £ mj Aj . J
gdzie = ^(X f, >i) . m 2 = F ( x t + a xfi, y i + bl h m i ) ,
(6 40)
/n3 = F ( x (. + a 2h t y, + b2 h m, + b3 h m2) ,
j ft'
^
'
1 v
* v‘
1 1 dy j i
Przyrównując wyrazy o tych samych potęgach h w obu rozwinięciach, dochodzimy do trzech równań pozwalających obliczyć nieznane parametry ax, b t , A , , A2
W
*
a
^
’ *2
2a.
- J_ 2ax
’
(6.44)
gdzie a, możemy przyjąć dowolnie. Zauważmy, że dla a, = 1/2 otrzymuje się algorytm ulepszonej metody łamanych, a dla a, = 1 wzór rekurencyjny metody Eulera-C auchy’ego. W praktyce stosuje się algorytmy wyższych rzędów, np. rzędu trzeciego lub czwartego, które wyprowadza się podobnie do omówionych wyżej. Wzory Rungego-Kutty rzędu trzeciego mają postać
= ^ ( x f, y() , Niech np. sumowanie po j przebiega od y = l d o y = 2 , wówczas m, = F ( x p y.) ,
m2 = F { x t * a xh t yf +
m2 =
,
Rozwijając dokładne rozwiązanie równania (6.20) (oznaczymy je przez /(x )) w szereg Taylora w otoczeniu punktu (x,, y, ) z dokładnością do drugich pochodnych, mamy x,
+ /j )
=/(*,■)+A F (x ,, y,) + | y
a f (x, y)
0X
+
. (6.45)
m 3 = F (x ; + /j, y . - h m i + 2 h m2)
yłM = y, + ^ ( m ^ j + /n2/ ł 2) .
/(
+
(6.41
y) 3y
. (6.42) <*i. fi)
+ ^ ( mi + 4 m 2 +/n3) .
Przykład 6.5 Rozwiązać równanie y '= x + y z warunkiem x0 = 0, y0 = 1, wykorzystując wzory Rungego-Kutty trzeciego rzędu dla A=0,1. W obliczeniach ograniczymy się do dwóch pierwszych kroków.
253
252
podamy jeszcze wzory Rungego-Kutty rzędu czwartego *o = 0 *
>o = 1 *
m, = 0 + 1 = 1 ,
y t) ,
m 2 - 0 + 0,05 + 1 + 0,05 = 1,1 ,
m3 = 0 + 0 , 1 + 1 - 0 , 1- 1 + 0 , 2- 1, 1 = 1,22 , x, = 0,1 ,
m2 =
y x = 1 + % i ( l + 4 -1 ,1 + 1 ,2 2 ) = 1,1103 ,
+
+
.
m i = F ( ^ + | A* yi + \ h m 2) »
6
(6.46)
m4 = F[xi +h, yt + h m?) , m x = 0,1 + 1,1103 = 1,2103 ,
m2 = 0,1 + 0,05 + 1,1103 + 0,05-1,2103 = 1,3209 , yt.t =
m3 = 0,1 + 0,1 + 1,1103 - 0 ,1 -1 ,2 1 0 3 + 0 ,2 -1 ,3 2 0 9 = 1,4535 , jc2
= 0,2 ,
+ ^ ( m i + 2m 2 + 2 m 3 + m4 ) .
y2 = 1,1103 + ^ - ( 1 ,2 1 0 3 + 4-1,3209 + 1,4535) = 1,2428 . Istnieją również algorytmy rzędów wyższych (Milne’a, Huta).
Q Algorytm Niżej przedstawiamy algorytm wykorzystujący wzory Rungego-Kutty rzędu trzeciego dla równania y' =F(x, y) z warunkiem x =Xq , y= y0 . Lista zmiennych: całkowite: n, i rzeczywiste: h , m 1 , m2 , m 3 tablice: jc[0 .. n] ,y [0 .. />] > > >
Podaj Xq, y0, n, h
> > >
Zdefiniuj F( u, v)
6.2.5. Metody wielokrokowe dla równań różniczkowych pierwszego rzędu Metody wielokrokowe opierają się na podanej poprzednio (wzór (6.22)) postaci całkowej równania różniczkowego rzędu pierwszego. Całkę występującą we wzorze (6.22) przybliża się jednak dokładniej niż w metodach przedstawionych poprzednio. Załóżmy, że za pomocą pewnej metody przybliżonej obliczono wartości yo. >1. >2. ••••>«. czyli obliczenia krzywej całkowej doprowadzono do odciętej x= xn. Podstawowa zasada metod wielopunktowych sprowadza się do zastąpienia funkcji F(x, y) po prawej stronie równania różniczkowego wielomianem W(x), który w wybranych punktach xk przyjmuje wartości F[ x k ,y(.r*)]. Ideę tę można realizować różnymi sposobami, z tym że aby ją przeprowadzić, musimy znać kilka wartości przybliżonych F [x* ,y{xk)]. Zbiór tych wartości nazywamy odcinkiem początkowym (w metodach omówionych poprzednio odcinkiem początkowym była wartość F [ r 0 ,y(x0)]).
Dla i : = 1, 2 ........n Metody ekstrapolacyjne
Oblicz x( : = x0 + i h
Oznaczmy przez G ( x k), k = 0 , 1 ....... n, ... szukaną funkcję G(x)=F[x, y(x)], zaś przez W(x) jej wielomian interpolacyjny stopnia n. Równanie (6.22) zapiszemy w postaci
Dla i : = 0, 1, .... n - 1 Oblicz m l : = F ( x f , yt) Oblicz m2 : = F ( x t + 0 ,5 h, yf + 0 ,5 A -m l) Oblicz m3 : = F ( x f + h, yt - h m 1 +2 A -m2) Oblicz
-y.
*
J n* ) i x .
(6.47)
L : = y( + —(m 1 + 4 m 2 + m 3)
6
gdzie (por. wzór (2.9))
Dla i : = 0 , 1 , ... , n D rukuj x t
>>>
D rukuj y.
> > >
W{x) = * ( x ) X 1 Y .
(6.48)
254
255
W równaniu (6.48) 4>(jc) oznacza macierz bazową, którą można przyjąć w postaci bazy złożonej z jednomianów ^i i
x# » h
W tablicy 6.1 C t oznacza F ( x k , y k), natomiast w kolejnych wierszach tablicy wskaźniki /przyjmują wartości / > 1, / > 2 , i > 3, ł> 4 . Wynika stąd, że np. wykorzystanie wzoru dla n=3 wymaga znajomości przybliżonego rozwiązania dla x 0 (warunek początkowy) oraz dla h . x2 i x3.
_. * h2
X "1jest macierzą Lagrange’a (por. rozdz. 2), zaś Y wektorem wartości funkcji G(jc) w węzłach interpolacji. Niech
«*■ Przykład 6.6 Rozwiązać równanie y' = x+ y z warunkiem x0=0, y„= l 2 krokiem h = 0,1 za pomocą metody ekstrapolacyjnej trzeciego rzędu. lNa ia jjw podstawie uoia w rozwiązania w iq i ,a u ia przybliżonego p i - u n c c /n c g w metodą Rungego - Kutty znajdujemy Jtr, ^ | =0,1, f y, = 1,11, ;c2= 0,2, y2= 1.243, *3= 0,3, y3= l,4 . Możemy teraz obliczyć y4 , a mianowicie ł j
(hT (
x
Y
(6.49)
Wówczas wzór (6.47) przyjmuje postać yn.\ m y n + [ 7o >
A »
...
n x - 1Y .
(6 50) ’'ft
czyli >„♦! =
+ « 0 G (;Co) +
+ " • + a n G(
( 6
*, - 0 ,4 , y . = 1,4 * * 3 7 1 , U - 59-1,243 » 55-1,4) - 1,584 • m 12 f | itd. ■ Obliczenia pokazują, że powyższy algorytm na odcinku *G [0, 2] daje dokładnie te same wyniki, co rozwiązanie analityczne (z dokładnością do trzech miejsc po przecinku). «Jj 'f --l; P Algorytm metody ekstrapolacyjnej^^ dla n = 2 ma postać . 5 1 ) ______________________________________________
ft? -. j S?
gdzie
(6.52) ° I » •*•» fln] = fA> » A > •‘ » Al 1^ [my. >•?. ■ J Współczynniki a0, a , , a„ nie zależą od prawej strony równaniay'= F (x , y) i obliczenie ich dla /j=const nie przedstawia żadnych trudności. W tablicy 6.1 zebrano wzory ekstrapolacyjne (6.51) dla wielomianów stopnia 1=4. i
Lista zmiennych: całkowite : n , i rzeczywiste: h tablice : * [0 .. n] ,y [0 .. n] >> >
Podaj x0, y0, x p y ,, x 2, y 2, n, h
>> >
Zdefiniuj F( u, v) Dla i : = 3, 4 ,
Tablica 6.1
n
Oblicz x t : = x 0 + i-h Wzór ekstrapolacyjny
n
Błąd
i
i
Oblicz yt : = > i-,+ — [5 ^ ( ^ - 3.
y._2) + 2 3 F (*M , yw )]
Dla i : = 0 , 1 , .... n l
2
3
>.
= ^i-I +
y, =
7 ,.,
f
(
“ G <-2 + 3G i-l)
D rukuj *(.
> > >
D rukuj y i
> > >
o(/t4)
*
* -
o(A3)
Metody interpolacyjne
(-
9 0
, - 4 * 37 5 , . , - 5 9 G ,..,. 5 5 G ,.,)
o(/t5)
Niech W(x) = 1 ,
4
f2 5 1 0 ^
-
1274G,.„ + 2 6 1 6 G ,.,-2 7 7 4 G (,2 + 1901GM )
o (h6)
, n* i
X JY ,
(6.53)
wówczas
co jest w ogólnym przypadku równaniem uwikłanym względem yn+,. W tablicy 6.2 zebrano wzory interpolacyjne dla n= l-r-4. Tablica 6.2 n
1
Wzór interpolacyjny
Rząd wielkości błędu
y i = ><-i + | ( G ,-i + G i)
o(/i3)
2
y, =
o(/t4)
3
y , ‘ y , : * ^ ( G , . , - 5 G , . 2 - 1 9 G ,.,.9 G ,)
4
* - j ( - G , - J * 8 G ,.,* 5 G ,)
* — (-1 9 0 ,-4 * 106G,-3 - 264<5,_2 * 6 4 6 0 ,., *25*0,)
o(h5)
o(h6)
Podobnie jak w przypadku tablicy 6.1 dotyczącej metod ekstrapolacyjnych G k =F( xk , yk ), natomiast dla kolejnych wierszy tablicy musi być /> 0 , z> 1, i >2, i >3. Zauważmy przy tym, że szukane wartości yf występują po lewej stronie wzorów interpolacyjnych, jak również w funkcji G, po prawej stronie tych wzorów. Tak więc przejście odx(_, do jc, wymaga rozwiązania odpowiedniego równania - często metodami przybliżonymi omówionymi w rozdziale 3. Rozwiązanie równań metodami wielopunktowymi składa się z dwóch etapów, z których pierwszy polega na obliczeniu dowolną metodą numeryczną lub analityczną odcinka początkowego, a w drugim wykorzystuje się metody ekstrapolacyjne lub interpolacyjne. Algorytm obliczeń stanowi więc rodzaj nieskomplikowanego połączenia dwóch procedur (odcinek początkowy-reszta). Druga część algorytmu może stanowić zresztą kompilację obu metod wielopunktowych przedstawionych w niniejszym podrozdziale. Formułą wstępną ,,predykatorem” do obliczenia pierwszego przybliżenia yt metodą interpolacji mogą być bowiem wzory ekstrapolacyjne podane w tablicy 6.1, przez co wydatnie zmniejsza się liczba iteracji potrzebnych do rozwiązania równań interpolacyjnych (jeżeli równania wynikające z tablicy 6.2 zamierzamy rozwiązywać metodami iteracyjnymi).
257 S§
a Przykład 6.7 Wyprowadzić wzór ekstrapolacyjny dla n = 3 (wzór Adamsa). Funkcję G (x)=F(x, y) przybliżamy drugim wzorem Newtona G(x) = W(x) = G 3 + &G~q + A2 G 3 g ( ? + 1) + A3G3
gdzie ą = —— ,
AG3 = G 3 - G 2 ,
A2G 3 = G 3 - 2 G 2 + G , ,
A3G3 = G 3 - 3G 2 + 3G , - G 0 . Ponieważ
9
y4 = y3 + f W(x) d x = y3 + h f W( q ) d q ,
m więc ■*y. :
y4 = y 3 + ^ ( 5 5 G 3 - 59G 2 ♦ 37G, - 9G 0)
lub ogólnie y, = y ,-, + ~ ( 55G 1-. - 5 9 G i -2 + 37 g ,_3 - 9 G ,.4) ■ Obok przedstawionych w niniejszym rozdziale metod numerycznych dość często do przybliżonego rozwiązywania równań różniczkowych stosuje się schematy różnicowe (przykłady ich zastosowania będą omówione w rozdziale następnym). Należy podkreślić, że przedstawione wyżej metody wykorzystuje się również dla układów równań rzędu pierwszego i równań rzędów wyższych (najczęściej przez sprowadzenie równania rzędu n do układu n równań rzędu pierwszego).
Literatura 1. Collatz L.: Metody numeryczne w rozwiązywaniu równań różniczkowych, PWN, Warszawa 1982. 2. Szargut J. i in.: Modelowanie numeryczne pól temperatury, WNT, Warszawa 1992. 3. Szmelter J.: Metody komputerowe w mechanice, PWN, Warszawa 1980.
ii
7. METODA RÓŻNIC SKOŃCZONYCH
W rozdziale niniejszym i rozdziałach następnych przedstawimy Czytelnikowi pewne problemy związane z przybliżonym rozwiązywaniem tzw. zadań początkowych, brzegowych i brzegowo-początkowych. Z matematycznego punktu widzenia zadania tego typu sprowadzają się do rozwiązywania równań różniczkowych wyższych rzędów, najczęściej o pochodnych cząstkowych, uzupełnionych tzw. warunkami jednoznaczności, wśród których wyróżniamy warunki geometryczne, fizyczne, brzegowe i początkowe. W praktyce inżynierskiej zadania początkowe, brzegowe i brzegowo-początkowe stanowią opis matematyczny bardzo wielu problemów z dziedziny przepływu ciepła, dyfuzji, hydro mechaniki cieczy i gazów, mechaniki, elektrotechniki itd. W ramach typowego kursu analizy matematycznej realizowanego w wyższych szkołach technicznych omawia się metody analityczne rozwiązywania tego typu zadań. Dotyczą one jednak bardzo wąskiej grupy zagadnień, natomiast problemy spotykane w technice prowadzą do opisów matematycznych, które ze względu na stopień złożoności równań i warunków nie mogą być rozwiązane w sposób dokładny. Istotne znaczenie omawianych zadań, jako modeli matematycznych licznych problemów fizyki i techniki, stało się przyczyną burzliwego rozwoju metod ich numerycznego rozwiązywania i literatura dotycząca tych zagadnień jest bardzo obszerna, liczona setkami publikacji, dziesiątkami monografii i książek, cyklicznymi wydawnictwami poświęconymi tej problematyce. Tutaj ograniczymy się do przedstawienia najważniejszych informacji o kilku wybranych metodach, przy czym zajmować będziemy się przede wszystkim równaniami opisującymi przepływ ciepła w obszarze ciała stałego, bo problematyka komputerowej symulacji procesów dyfuzji jest od dawna przedmiotem zainteresowań i badań naukowych autorów niniejszego podręcznika. Aby zapoznać mniej zaawansowanego Czytelnika z omawianą problematyką, przedstawimy jeszcze kilka prostych przykładów matematycznego sformułowania zadań początkowych, brzegowych i brzegowo-początkowych [1] oraz omówimy różnice między nimi. Analityczne rozwiązanie równania różniczkowego liniowego rzędu drugiego o stałych współczynnikach, czyli a y ' \ t ) * b y \ t ) + c y ( t ) = g( t )
(7-1)
pojawiającego się m.in. w teorii drgań (współczynniki a, b, c i funkcja g mają określoną interpretację fizyczną), zawiera dwie stałe. Aby te stałe można było wyznaczyć, należy dodatkowo zadać dwa warunki nazywane warunkami początkowymi. Pierwszy z nich dotyczy wartości funkcji y ( t ) dla t = t0 (z reguły tQ = 0), a drugi wartości jej pochodnej w tym samym punkcie: y'(*o) =y
259 I tak, równanie y " ( t ) ♦ y( t ) = O
(7.2)
ma (jak łatwo sprawdzić) rozwiązanie ogólne w postaci y( t ) = C, cosr + C2sinr .
\
(7.3)
Niech dla t = 0 wartość funkcji y (r) wynosi 1, a jej pochodnej 0. Wówczas C,cosO + C2sin0 = 1 , Łm*■
(7.4)
-CjSinO + C2cos0 = 0 ,
czyli C, = 1, C2 = 0 i y ( r ) = cosr. Bardzo podobne (z formalnego punktu widzenia) jest równanie d 2T(x)
dx2
+
Q(x) _ 0
(7.5)
A.
Opisuje ono ustalone pole temperatury w płycie nieskończonej o grubości L (pozostałe wymiary płyty są znacznie większe od L — zadanie ID). Oznacza to, że temperatura w wy branym punkcie płyty jest funkcją tylko jednej współrzędnej geometrycznej T - T (x). Wewnątrz płyty (np. na skutek przepływu prądu elektrycznego) wydziela się ciepło, wydajność źródeł wewnętrznych wynosi Q (x) [W/m3]. Współczynnik X [W/mK] nazywa się 1 -VA współczynnikiem przewodzenia i zależy od rodzaju materiału płyty (np. dla miedzi \~ 3 0 0 , dla stali \ = 40, dla cegły X= 1). Załóżmy, że Q (x) = 60 000 x, X = l, a grubość płyty L=0,lm. Dla powyższych danych, po bardzo prostych przeliczeniach, dochodzimy do następującego rozwiązania V.
T ( x ) = - lOOOOx3 + C,* + C2
(7.6)
Tutaj również w wyniku całkowania pojawiają się dwie stałe. Aby te stałe wyznaczyć, należy podać warunki dotyczące wartości temperatury lub jej pochodnej na brzegach płyty. Jeżeli, dla przykładu, przyjmiemy x = 0: T = 0, x =L = 0,1: T ' = 0 (co oznacza izolację cieplną i i prawego brzegu), to dochodzimy do układu równań C2 = 0 , Wi
(7.7)
-300 + C, = 0 i ostatecznie
i?
T{x) = -1 0 0 0 0 * 3 + 300jr
(7.8)
Ponieważ, w przeciwieństwie do przykładu poprzedniego, warunki zadano w dwóch punktach odpowiadających krańcom płyty, więc rozwiązywane wyżej zadanie należy do grupy zagadnień brzegowych.
Na zakończenie tej części rozważań przedstawimy jeszcze przykłady zadań brzegowopoczątkowych (boundary-initial problems). I tak, jednowymiarowy nieustalony przepływ ciepła w płycie o grubości L opisuje równanie różniczkowe o pochodnych cząstkowych nazywane najczęściej równaniem Fouriera. Poszukiwaną funkcją jest temperatura T=T( x, t), gdzie argument t oznacza czas. Bilans energii dla warstwy o grubości Ax dotyczący procesu przepływu ciepła przez tę warstewkę w czasie At prowadzi do równania c * 7* * f) = X d2Ti x '~ l + Q( x , t) , dt dx2
(7-9)
przy czym c [J/m3 K] jest ciepłem właściwym materiału płyty odniesionym do jednostki objętości. Metody analityczne rozwiązywania równania (7.9) są dosyć skomplikowane, ale dobrze opisane w literaturze (np. [1]). Okazuje się, że aby uzyskać jednoznaczne rozwiązanie, należy podać rozkład temperatury w przekroju płyty w chwili początkowej t = 0, czyli sformułować warunek początkowy w postaci /= 0 : T (x, 0) =f ( x) - por. rys. 7.1. Dodatkowo, aby omawiany problem był poprawnie sformułowany (miał jednoznaczne rozwiązanie), należy do modelu matematycznego dyfuzji ciepła dołączyć również dwa warunki brzegowe, będące dodatkowymi informacjami o szeroko rozumia nym ,,zachowaniu się” funkcji T(x, t) na brzegu obszaru - w tym przypadku dla x = 0 oraz x=L. Załóżmy, że temperatura na lewym brzegu płyty jest stała w czasie trwania procesu i wynosi Tb , natomiast prawy brzeg płyty jest ściśle zaizolowany, co oznacza, że pochodna tempe ratury po współrzędnej x musi dla x= L wynosić zero (jak w przykładzie poprzednim). W praktyce inżynierskiej spotykamy również bardziej złożone Rys. 7.1. Pole temperatury w płycie warunki brzegowe, np. związki między tempera turą i jej pochodną na brzegu. Tak więc pełny opis matematyczny omawianego zadania brzegowo-początkowego jest następujący jc e ( 0 , L) , t > 0 :
C 3T(X-
* e ( 0 , L) , t = 0 :
T(x, 0) = f ( x )
dt
-
i
d 2T(x, t ) . ----- — -- + Q(*> 0 dx1
9 (7.10)
x =0 ,
t >0 :
no, t) = Tb ,
x - L ,
t >0 :
o m , t) _ 0 dx
Innym przykładem zadania brzegowo-początkowego jest równanie struny drgającej. Strunę o długości L zamocowano na obu jej końcach. W chwili /= 0 struna znajduje się w spoczynku i jest odchylona od położenia równowagi. Funkcja u (x, 0) = / (x) opisuje położenie struny w chwili t - 0 (warunek początkowy). Biorąc pod uwagę zamocowanie
261 struny na jej końcach, musi być oczywiście u (0, 0 )= u (L , 0 )= 0 (rys. 7.2). Ostatnie dwa równania są równocześnie warunkami brzegowymi i obowiązują również dla f > 0 .
Funkcja u (x , t) określająca chwilowe odchylenie struny od stanu równowagi spełnia równanie różniczkowe fali płaskiej, nazywane również równaniem struny. Jest to równanie w postaci d 2u( x, t) = v i d 2u ( x , t) dt2
(7.11)
dx2
gdzie a jest naprężeniem w strunie, natomiast p gęstością liniową struny. Opis matematyczny omawianego zadania jest następujący x e ( 0 , L) ,
t >0 :
d 2u ( x , r) _ v 2 d 2u ( x , t) dt2
O II t =0 :
du(x, t) _ n dt
* = o ,
t >0 :
u ( 0, t ) = 0 ,
t >0 :
u( L, 0 = 0 .
II
x e ( 0 , L) ,
H
1
x e ( 0 , L) ,
dx2
u( x, 0) = f ( x ) , (7.12)
Warunek o zerowaniu się pochodnej po czasie w chwili r= 0 odpowiada przyjętemu założeniu, że w chwili początkowej struna pozostaje w spoczynku. Zauważmy, że do rozwiązania powyższego zadania musimy znać dwa warunki początkowe i dwa warunki brzegowe.
7.1. Metoda różnic skończonych dla zagadnień początkowych Bez względu na typ rozpatrywanego zadania, pierwszym krokiem algorytmu MRS jest dyskretyzacja rozpatrywanego obszaru czaso-przestrzennego (w zadaniach początkowych ograniczamy się, oczywiście, do dyskretyzacji czasu, a w zadaniach brzegowych do dyskretyzacji przestrzeni) [2, 3, 4, 5, 6],
262 Siatkę czasu A, tworzy dyskretny zbiór punktów 0 = r° < r ł < . . . < t f ~x < t f < . . . < t F < oo o kroku Ar = t 1 - t f ~x. W dalszej części niniejszego podrozdziału zajmować będziemy się równaniami liniowymi rzędu drugiego, czyli a ( t ) y " ( t ) + b ( t ) y ' ( t ) + c (r)y (r) = g ( 0
(7,14)
z warunkami y (0) =y0 , y '(0 )= y 0'. Jak pamiętamy, w rozdziale czwartym podano różnicowe aproksymacje pochodnych pierwszego i drugiego rzędu dla t = t r , a w szczególności - iloraz prawostronny: y' -
y(f
f \ - y ( l /-> Ar
„ y 7 - y y~l Ar
(7.15)
. y / ł l - >/-■ 2 Ar
(7.16)
— iloraz centralny: v/ _ y ( t ' " ) 2A r - druga pochodna: // = y ( t f ' 1 ) ~ 2 y ( t / ) ♦ y(r/-») = y /H - 2 y { ♦ y 7' 1 A r2
(7<17)
A r2
Do równania różniczkowego (7.14), w miejsce pochodnych pierwszego i drugiego rzędu, wprowadzimy ilorazy (7.16) i (7.17): <,(,/>
,» (,/, A r2
. c(, / ) j , / - « ( , / ) .
(7.i8)
2A r
Po prostych przeliczeniach dochodzimy do zależności v /*i _ f l / y / ' 1 + C f y f + D f
(7.19)
gdzie y4/ = 2 a ( r / ) + 6 ( r / ) Ar ,
B f = - 2 a ( r / ) + b ( t f ) Ar ,
Cf = 4a(r') - 2 c ( r / )A r2 ,
Df = 2g(r/ )A r2 .
Wartość funkcji y (r ) dla r = 0 wynika natychmiast z warunku początkowego y°
* y(0).
(7.21)
263 Wykorzystując drugi warunek początkowy i zastępując występującą w nim pochodną ilorazem prawostronnym, mamy y l — y~ = y /(0) Ar
=
y l = y° + A t y \ 0) .
(7.22)
Znając wartości y 0 oraz y 1 możemy obliczyć dalsze wartości funkcji w węzłach siatki różnicowej, wykorzystując wzór (7.19) d la /= l, 2, 3.......F —1. Metoda różnic skończonych w przedstawionym wyżej ujęciu jest w pewnym sensie rozszerzeniem prostej metody Eulera opisanej w rozdziale 6 i również do opisanego algorytmu można wprowadzać różnorodne modyfikacje polepszające dokładność rozwiązania numerycznego. Mogą one polegać na dokładniejszym wyznaczeniu y (/'), lepszej aproksymacji lokalnych wartości funkcji a, b, c i g dla rozpatrywanego kroku czasu itd. Ulepszenia te wymagają najczęściej kilkukrotnego przeliczania przejścia t f - *t f+' i sukcesywnego korygowania wyników. «’ Przykład 7.1 Rozwiążemy w sposób przybliżony równanie y " +2ty' = e x p ( - f 2) z zerowymi warunkami początkowymi. W rozpatrywanym przypadku a( t ) = 1, b{t) = 2r, c(t) = 0, g( t ) = exp( - t 1). Przyjmujemy krok siatki At = 0,005. Definiujemy funkcje A(t), B(t), C(t) i D (r). Z warunku początkowego wyznaczamy y° = 0, y 1 = 0, a następnie, wykorzystując wzór (7.19), dalsze wartości szukanej funkcji tzn. y 1 , y 3, ... , y F . Dokład nym rozwiązaniem naszego zadania jest funkcja y = 0,5[1 - e x p ( - r 2)]. Na rysunku 7.3 pokazano rozwiązanie dokładne (symbole) i przybliżone (linia ciągła) dla przedziału [0, 1], Jak widać, wyniki są, praktycznie rzecz biorąc, takie same. Podobnie jak w metodzie Eulera, zmniejszanie kroku siatki polepsza dokładność obliczeń, ale dla bardzo małych przyrostów to uzyskanie rozwiązania w założonym przedziale [0, t F ] wymaga bardzo dużej liczby przeliczeń (pętli) i rośnie z kolei błąd zaokrągleń.
264
265
□ Algorytm MRS dla zadań początkowych w wersji opisanej poprzednio jest następujący
Warunek brzegowy II rodzaju (Neumanna) dotyczy znajomości brzegowego strumienia ciepła, czyli pośrednio pochodnej temperatury w kierunku normalnym (prostopadłym) do brzegu obszaru. Jest to warunek w postaci
Lista zmiennych: całkowite: F , i rzeczywiste: A, B, C, D, dt, ypocz, poch, x
X
n
:
e t
3n
=
(7.24)
%
tablice: f[0 .. n] ,y [0 .. n] >>>
Podaj n, d t, ypocz, poch
>>>
Zdefiniuj a ( t ) , b ( t ) , c ( t ) , g ( t )
W ogólnym przypadku, pochodna kierunkowa dTIdn jest iloczynem skalarnym gradientu funkcji i wektora jednostkowego normalnego do brzegu o składowych cos a , , cos a 2 , cosa3, gdzie a, , a 2 , a 3 są kątami, jakie wersor tworzy z osiami układu współrzędnych, czyli
Podstaw r0 : = 0 Podstaw y0 : = ypocz Podstaw r ,: = d t
dT(x) dn
1 :
y
dT(x) dxe
(7.25)
Oblicz y , : = y0 + dt ■poch przy czym a: = {*,, x 2, x3 }, natomiast M jest wymiarem zagadnienia (zadania ID, 2D i 3D). Wprzypadku zadań ID, pochodna kierunkowa odpowiada pochodnej dTIdx ze znakiem plus dla x = L i ze znakiem minus dla x = 0. Związek między temperaturą brzegową i jej pochodną w kierunku normalnym nazywa się warunkiem III rodzaju (Robina) i z fizycznego punktu widzenia jest zapisem warunku ciągłości strumienia ciepła doprowadzanego od wnętrza ciała do jego brzegu i ciepła oddawanego od brzegu do otoczenia. Tak więc
Dla i : = 1, 2, .... F - l Oblicz x : = i - dt Oblicz A : = 2 a ( x) + b(x) dt Oblicz B : = - 2 a ( x ) + b{x) dt Oblicz C : = 4 a ( x ) - 2 c( x) d t 2
_ „ x e T :
Oblicz D : = 2 g ( x ) - d t 2
, dT(x) -X— = a [T( x) - Ta\ dn
Oblicz r,,, : = (i + l ) ' d t Oblicz
B-y. . + C-y. + D ^ ------A
gdzie a[W/m2K] jest współczynnikiem wymiany ciepła między powierzchnią ciała a otoczeniem, Ta jest temperaturą otoczenia, symbol X wyjaśniono poprzednio. Jak pamiętamy, jednowymiarowe, ustalone, źródłowe pole temperatury w płycie opisuje równanie (7.5). Pierwszym krokiem algorytmu MRS jest dyskretyzacja obszaru płyty, czyli na odcinku x E [0, L] wyróżniamy zbiór punktów tworzących siatkę geometryczną
Dla i : = 0, 1 , .... F - l Drukuj tt
>>
Drukuj y,
>>
(7.26)
0 = JC0 <
AT,
<
. . .
<
AC,.,
. . .
<
Xn
=L
(7.27)
1 o stałym kroku h = x t —Ar,.,. Punkty x0 oraz xn są węzłami brzegowymi, a pozostałe węzłami wewnętrznymi (por. rys. 7.4).
7.2. Metoda różnic skończonych dla zadań brzegowych (ID) Istotę metody omówimy na przykładzie równania opisującego ustalone, źródłowe pole temperatury w płycie nieskończonej o grubości L. Na jej brzegach zadane mogą być warunki nazywane warunkami I, II i III rodzaju [2]. Warunek pierwszego rodzaju (Dirichleta) determinuje wartość temperatury brzegowej, czyli xeT :
n x ) = Tb .
(7.23) Rys. 7.4. Dyskretyzacja obszaru płyty
266 Założymy, że dla x = 0: T = Tb (warunek Dirichleta), a dla x =L: T ' = 0 (szczególny przypadek warunku Neumanna). W pierwszej wersji, do aproksymacji pochodnych wystę pujących w równaniu i warunkach brzegowych wykorzystamy ilorazy typu (7.15) i (7.17). W takim przypadku analogonem różnicowym równania (7.5) będzie równanie algebraiczne w postaci T
-
2 T
+ T
X ■ !-'
‘ h2
<łl +
(7.28)
przy czym i = 1, 2, .... n —1. Po bardzo prostych przekształceniach otrzymujemy T,-i - 2 T <
.
(7-29)
lub r , . , - 2T, + 7 \., -
,
(7.30)
gdzie w,. = - < ? ( ^ ) y
•
(7>31)
Wartość funkcji T w węźle x0 wynika bezpośrednio z warunku brzegowego, natomiast dla x = L wykorzystamy iloraz różnicowy (7.15), czyli 7 -7 ----.- T = 0. ^ — = T' (NL)7 = 0 1, =» Tn = Tn - l. + h T 1'(L)' 1, => Tji-1 u
(7-32)
W celu uproszczenia zapisu przyjmiemy, że w obszarze płyty wyróżniono 5 węzłów, w tym dwa brzegowe. W takim przypadku model numeryczny rozpatrywanego problemu brzegowego sprowadza się do układu równań liniowych w postaci 1
0
0
0
0
1
-2
1
0
0
0
1
-2
1
0
T*
0
0
1
-2
1
Ti
0
0
0
1
-1
V
Tb wi
=
w2
(7.33)
H-3 0
Z powyższego układu równań obliczamy temperaturę w węzłach siatki geometrycznej. Postać końcowa układu rozwiązującego zależy, oczywiście, od sposobu aproksymacji pochodnych w równaniu różniczkowym i warunkach brzegowych i aby to zilustrować, pokażemy inne rozwiązanie przybliżone tego samego zadania. Wykorzystamy teraz bardziej złożone aproksymacje pochodnych, a w szczególności wzory wynikające z interpolacji wielomianem Lagrange’a i dotyczące gwiazd 5-punktowych. Podobnie jak poprzednio, liczba węzłów brzegowych i wewnętrznych będzie wynosiła 5.
267 Drugie pochodne w punktach x, , x2, x3 przybliżamy następująco *§ ,, 11 T0 - 20 7. + 6 7 , + 4 7 , - T, 7"l(x.) = ----- 5---------- !-------- 2-------- 1------ i 12A2
(7.34)
,, - T 0+ 16r . - 30r , + 16r , T U (x ,) = ---- 5---------- i---------- ?--------- 2 12A2
(7.35)
T " ( x ,) =
i:-:
t.
i
- r „ + 4 7 , + 6 7 2 - 2 0 t 3 + 11 r 4
(7.36)
12/r a pierwszą pochodną w punkcie x4 wyrażeniem
,
7 /(x .) 4
1
3 7 , - 167. + 367, - 487, +257.
* — 5---------!---------- ?----------ł ---------1 . 12 h
(7.37)
Dla przyjętych warunków brzegowych dochodzimy do układu równań w postaci
1 ft 5 i
'
1
0
0
0
0
11
-20
6
4
-1
-1
16
-30
16
-1
r2
-1
4
6
-20
11
r,
W3
3
-1 6
36
-48 25
T<.
0
V
V
=
W2
(7.38)
gdzie i'
12
h
2
,
i = 1 , 2 , 3.
(7.39)
Dwa ostatnie przykłady ilustrujące sposób tworzenia układu rozwiązującego MRS mają charakter raczej „akademicki” , ponieważ liczba węzłów wynikających z podziału różnicowego jest z reguły dużo większa (w przypadku tego typu zadań brzegowych siatkę w tworzy zbiór co najmniej kilkudziesięciu punktów). Przy „lepszych” aproksymacjach pochodnych liczba węzłów może być mniejsza. I tak, w powyższych przykładach dla Tb= 0 (por. równanie (7.8)) dla gwiazd 5-punktowych i 5 węzłów otrzymano wynik dokład nie taki sam, jak rozwiązanie analityczne T = [0,000 7,344 13,750 18,281 20,000] T, natomiast z układu (7.33) dostajemy T = [0,000 5t625 10,313 13,125 13,125] T, czyli wartości obarczone bardzo znacznymi błędami. Istotną cechą układów rozwiązujących MRS jest „pasmowość” macierzy głównych. Macierz w układzie (7.33) jest macierzą trójpasmową, a w układzie (7.38) - pięciopasmową, czego zresztą na pierwszy rzut oka nie widać. Algorytmy rozwiązywania tego typu układów równań, są szybkie i efektywne (odsyłamy tu Czytelnika do rozdziału pierwszego). Dodatkowo, przekątna główna w tych macierzach jest dominująca, co zapewnia dobre uwarunkowanie układów. Te zalety algorytmu MRS należy z całą pewnością uwypuklić. s
1 268 Przepływ ciepła w obszarach walcowych (walec nieskończony) i sferycznych opisuje równanie o strukturze bardziej złożonej, a mianowicie
x m dx
d T (x ) dx
+ ^ = X
0
(7.40)
,
przy czym m — 1 ,2 dotyczą odpowiednio geometrii walcowej i sferycznej. Można zauważyć, że dla m = 0 otrzymujemy równanie (7.5). Do konstrukcji równań różnicowych wykorzysta my gwiazdy trójpunktowe i ilorazy różnicowe średnie. Podstawowy zbiór węzłów gwiazdy jc,_,, X/, xl+1 uzupełniamy węzłami pomocniczymi Xj_m , x,+1/2, jak na rysunku 7.5. 2
O
1
o-------------- o--------•------- ---------------- O------------ C i-1
i
i+ 1
X n
Rys. 7.5. Fragment siatki różnicowej Tak więc
T I i*i - Tl i (7.41)
m Ti*~ Tii-li
Wykorzystamy po raz drugi iloraz różnicowy średni -L J-L -d T x m dx( dx
,d T dx
xQ mh
(7.42) ' i » 1/2
V
) ( _ 1/2
Po podstawieniu do ostatniego równania wzorów (7.41) mamy Q (x .)h 2 -
=
0
(7.43) ,
gdzie jcq + 0,5 h \ m (7.44)
' x0 - 0,5 h \ m
lub ~ a iT i
+
a i
1T ł <♦!
(7.45)
269 przy czym (7.46)
a i = a,ł-1, + a.i*i. Można zauważyć, że dla m = O równanie (7.45) jest takie samo jak (7.30).
7.3. Metoda różnic skończonych dla zadań brzegowych (2D) Sposób wykorzystania MRS dla zadań 2D zostanie pokazany na przykładzie problemu brzegowego opisanego równaniem Poissona d 2T(x, y ) + d 2T(x, y) + Q(x, y) = 3x
(7.47)
ay
z typowymi warunkami brzegowymi. Na rysunku 7.6 pokazano gwiazdę pięciopunktową z zaznaczoną numeracją węzłów (globalną i lokalną). Zakładamy, że jest to gwiazda wewnętrzna, wszystkie punkty gwiazdy należą do rozpatrywanego obszaru. Odległość między węzłami w kierunku osi x wynosi h, a w kierunku osi y wynosi k. Punkty odpowiadające środkom gałęzi gwiazdy będą wykorzystane w dalszych rozważaniach dotyczących zadań nieliniowych.
Rys. 7.6. Gwiazda pięciopunktowa Poszukiwać będziemy analogonu różnicowego łewej strony równania Poissona w węźle centralnym (i, j), wykorzystując zbiór punktów tworzących gwiazdę. Tak więc _
' d 2T ^ ,d x 2
i.j
V r] , d y 2 )u
j * Tt j . t _ Tl - 2 T0 + T2 h2
"
h2
_ T i - x . j - 2 T u + Ti . x . j _ r 4 - 2 ^ + r 3 k2 k2
(7.48)
270 Po podstawieniu przybliżonych wartości drugich pochodnych do (7.47) otrzymujemy równanie algebraiczne w postaci + T j ' j ^i
T j j -1
^
Tj_\'j
- 2Ti
h2
j +T l.
i.y _
yt)
Jfc2
(7.49)
*
lub (w lokalnej numeracji) « |T ,
+ a 2T 2 + a 3r 3 + a 4 r 4 ~
= W0 »
(7.50)
gdzie a \ - a 2 =k 2 ,
a 2 =ai = h 2 ,
aQ= 2 ( h 2 + k 2) ,
wQ= -
QQh 2k
(7.51)
W przypadku siatki kwadratowej (h = k) mamy •«i = a 2 = 1 ,
a 3=a4 = 1 ,
a0=4 ,
(7.52)
Jak widać, również w przypadku zadań 2D algorytm MRS sprowadza się do rozwiązania układu równań liniowych, w którym niewiadomymi są wartości funkcji w węzłach siatki różnicowej. ^ Przykład 7.2 Rozwiążemy w sposób przybliżony następujące zadanie brzegowe. Stalowy pręt prostokątny ( \= 2 5 W/mK) o wymiarach przekroju poprzecznego 3 x 4 cm (trzeci wymiar jest na tyle duży, aby problem można było traktować jako zadanie płaskie) wymienia ciepło z otoczeniem przy czym temperatura prawego i lewego brzegu (por. rys. 7.7) wynosi 0°C, natomiast temperarura brzegu górnego 100°C. Dolny brzeg obszaru jest zaizolowany. Wewnątrz pręta wydziela się ciepło w ilości Q = 104W/m3 (np. na skutek przepływu prądu elektrycznego). Dla powyższych danych zbudujemy układ rozwiązujący MRS dla siatki kwadratowej h = k = 0,01 m, pokazanej na rysunku 7.7. Przyjęty sposób pojedynczej numeracji węzłów nie jest zbyt korzystny w realizacji numerycznej, ale w tym miejscu będzie najbardziej ,,dydaktyczny” .
15
16
13
14
11
12
10
Rys. 7.7. Dyskretyzacja obszaru pręta
271 Równania dotyczące węzłów 1 do 8 są oczywiste i wynikają natychmiast z warunków brzegowych - należy kolejnym punktom przyporządkować odpowiednią temperaturę brze gową. Dla dolnego brzegu kierunek wektora normalnego odpowiada kierunkowi osi y (z przeciwnym zwrotem), czyli dT/dn = —dTIdy. Jeżeli do aproksymacji pochodnej wyko rzystamy paraboliczną interpolację wynikającą ze wzoru Lagrange’a (por. wzór (4.127)), to równania dla węzłów 9 i 10 przyjmą postać 3 r , - 4 Tn ♦ T h = 0 , - 4 7 u + Tn = 0 . Równania dla węzłów wewnętrznych (11 do 16) są typu (7.50) ze współczynnikami (7.52). Macierz główna i wektor wyrazów wolnych w układzie rozwiązującym są więc następujące 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1 -4
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1 -4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-4
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1 -4
0
1
-4
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
100
100 0 0 0 0 0 0,04
0,04
0,04
0,04
1 -4
0,04
0
Z zależności T = G 1 W wyznaczamy temperatury węzłowe, przy czym 8 pierwszych odpowiada, oczywiście, znanym temperaturom brzegowym. Można zresztą, w ramach przeli czeń ,,wstępnych” , wyeliminować z układu temperatury Z, do T&i liczbę równań w układzie rozwiązującym zmniejszyć o połowę. W przypadku wykorzystywania kodów komercyjnych, lub programów autorskich takie operację są zbędne i wkład pracy własnej będzie niewspół mierny do efektów.
272 Układy rozwiązujące MRS dla omawianej klasy zadań brzegowych można również zapisać w postaci T = A T + B. Układy równań tego typu (przy zachowaniu warunków omówionych w rozdziale 1) rozwiązuje się dość efektywnie metodami iteracyjnymi (iteracja prosta, metoda Gaussa - Seidla, nadrelaksacja). Należy przy tym podkreślić, że warunki zbieżności procesu iteracyjnego są w omawianych schematach MRS z reguły spełnione. Powyższe informacje zilustrujemy na następującym przykładzie. Przykład 7.3 Wyznaczymy potencjał pola elektrostatycznego w obszarze fi: JtG [0, 1], y E [0, 1], jeżeli dla x - 0 , y € [ 0 , 1] i dla y = 0 , x E [0, 1] potencjał V wynosi 0, natomiast dla x = 1, y £ ( 0 , 1] i dla y = l , xG (0, 1] potencjał wynosi 1. Pole potencjału elektrostatycznego w obszarze 0 (rys. 7.8) opisuje równanie Laplace’a. Jest to równanie w postaci d 2V(x, y ) + d 2V(x, y) = Q dx2
dy2
Równanie to uzupełniają warunki brzegowe sformułowane w temacie zadania (są to warunki brzegowe I rodzaju). Na obszar fi nakładamy przestrzenną siatkę różnicową o kroku h = 1/4 (kwadratową). W ten sposób w rozpatrywanym obiekcie wyróżniono 9 węzłów wewnętrznych oraz 12 węzłów brzegowych. Wartości potencjałów w tych ostatnich są znane i wynikają z przyjętych warunków. Węzły wewnętrzne ponumerujemy cyframi 1........ 9 i dla każdego z nich napiszemy analogon różnicowy równania Laplace’a uwzględniając przy tym wynikające z wa runków brzegowych znane wartości V(x, y).
Rys. 7.8. Obszar fi i siatka różnicowa Do aproksymacji pochodnych cząstkowych potencjału V wykorzystamy te same zależności, co w przykładzie poprzednim, czyli wzory typu (7.50) ze współczynnikami (7.52).
273 Po uwzględnieniu warunków brzegowych, otrzymujemy kolejne równania schematu różnicowego, a mianowicie - węzeł 1: 0 * 1 <■
Vt - 4V, -0
y2*
-
K, - I ( V , *♦i
- węzeł 2: v, * 1 * V, * v s -
vt2
= o
-
y2 = I ( K , ♦
v ,
♦
V,
) . I
,
itd. Jak łatwo sprawdzić, w układzie V =A V + B macierze A i B wynoszą 0
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
2 0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
• B - l
0
Startując od przybliżenia zerowego (założono, że w węzłach wewnętrznych potencjał wynosi 0,5) i wykorzystując metodę iteracji prostej, uzyskano wynik końcowy (z dokład nością do setnych) w postaci pokazanej na rysunku 7.9. ▲ 1.00
1,00 1,00
0,00
0,50
0,71 0,86 1,00
0,00
0,29
0,50
0,71 1,00
0,00
0,14
0,29
0,50 1,00
0,00
0,00
0,00
------ ►
x Rys. 7.9. Pole potencjału w płycie
,
D Algorytm przybliżonego rozwiązywania zadania brzegowego omówionego w przykładzie 7.3 z wykorzystaniem metody iteracji prostej jest następujący: Lista zmiennych: całkowite: i, j , n, rn, licz, iter rzeczywiste: Vpocz, VI, Vp, Vg, V i tablice: K [ 0 . . / i , 0 . . m ] , t / [ 0 . . / z , 0 . . m ] > > >
Podaj Vpocz, VI, Vp, Vg, V i, n, m, iter Dla i := 1 , 2 , . . . , , n - 1 Dla
1 , 2 , . . . , m -1 Podstaw Vt j = Vpocz
Dla i : =
1 , 2 , . ... n - 1
■5
Podstaw Vt m
II
Podstaw V{ 0 : = VI
Dla j : = 1 , 2 , .. . , m - 1 Podstaw VQ . : = Vg Podstaw V i. : = Vd Dla licz : = 1 , 2 , . . . , iter Dla i : = 1 , 2 , ... , n - 1 Dla j : = 1, 2, .... m -1 Oblicz Dla i : = 1, 2, .. ., n -1 Dla j : = 1, 2, .. ., m -1 Podstaw
y u - : - UU
Dla i : = 1, 2 , ..., n - 1 ■ Dla j : = 1 , 2 , .... m -1 D rukuj K j
>> >
W przykładzie 7.3 liczba wierszy macierzy V (liczonych od zera) wynosiła 4 i liczba kolumn również 4. Potencjały brzegowe (lewy, prawy, górny i dolny, czyli VI, Vp, Vg i Vd wynosiły 0, 1, 1 i 0, odpowiednio. W pierwszej pętli węzłom wewnętrznym przypo rządkowujemy dowolną wartość Vpocz (przykładowo Vpocz = 0,5). W kolejnych pętlach węzłom brzegowym przyporządkowujemy wartości brzegowe. Nie są one jednoznacznie określone w narożach płyty, ale też te punkty nie są węzłami występującymi w układzie rozwiązującym. Kolejna pętla realizuje obliczenia iteracyjne (jak łatwo sprawdzić, potencjał
275 w węźle wewnętrznym jest średnią arytmetyczną potencjałów w węzłach sąsiednich (por. wzór (7.50)). Liczbę pętli w procesie iteracyjnym oznaczono symbolem iter. W pokazanych wyżej przykładach obszar siatkowy i rzeczywisty „pokrywały się” w sposób dokładny. W praktyce pojawia się jednak bardzo często sytuacja, gdy węzły brze gowe siatki prostokątnej nie leżą dokładnie na brzegu rozpatrywanego obszaru. Jeżeli spowodowane tym defekty aproksymacji geometrii są znaczne, to istotnie pogorszy się dokładność rozwiązania numerycznego. Jest to jedna z najczęściej podkreślanych wad metody różnic skończonych. W literaturze (szczególnie starszej) można znaleźć bardzo wiele wzorów umożliwiająch umowne „przenoszenie” warunków z brzegu rzeczywistego na siatkowy. Burzliwy rozwój sprzętu informatycznego, a w szczególności szybkości wykonywania obliczeń i pojemności pamięci spowodował jednak, że problemy te stają się obecnie mniej ważne. Skomplikowane geometrycznie obszary można pokrywać siatkami zawierającymi dziesiątki tysięcy węzłów, a przy tak gęstej dyskretyzacji różnice między kształtem rzeczywistym i jego aproksymacją są pomijalnie małe. W dalszej części niniejszego rozdziału omówimy jeszcze wariant MRS nazywany metodą uogólnioną {generalized finite difference method). Przy takim podejściu rozkład węzłów we wnętrzu i na brzegu może być praktycznie dowolny i nie ma problemu dokładnego pokrycia brzegu węzłami siatki różnicowej.
7.4. MRS dla zadań brzegowo-początkowych (ID i 2D) Problemy wykorzystania MRS do przybliżonego rozwiązywania zadań brzegowopoczątkowych (stany nieustalone, zadania ID) wyjaśnimy na przykładzie równania opisującego zmieniające się w czasie bezźródłowe pole temperatury w obszarze płyty nieskończonej, czyli równania (7.9) uzupełnionego warunkami brzegowymi i warunkiem początkowym. Tak więc opis matematyczny procesów cieplnych zachodzących w płycie przedstawia się następująco x 6 (0 , L) , t > 0 :
d T ( x , t) _ a d 2T {x, t ) dt dx2
x e (0 , L) , t = 0 :
T{x, 0) = f ( x ) , (7.53)
x =0 ,
t > 0 :
4>. T (0, t), -a r(Q , r) dx
=0
x - L ,
t > 0 :
T (L , r), - 'r ( 1 , r) dx
=0
gdzie a = \Jc nazywa się współczynnikiem dyfuzji ciepła. Wprowadzimy teraz definicję siatki przestrzenno - czasowej. W obszarze płyty wyróżniamy dwa węzły brzegowe oraz zbiór węzłów wewnętrznych, a mianowicie Aa : o kroku h, = jc, - x (_ | .
0 = x 0 < x x < ... < x i_l < x. < ... < xH = L ,
(7.54)
1 276 Przedział czasu [O, 0] dzielimy na podprzedziały, wprowadzając siatkę At :
o = r° < r 1 < ...< t f ' x < t f < ... t F = 0 .
(7.55)
Iloczyn kartezjański tych zbiorów tworzy siatkę przestrzenno-czasową (rys. 7.10). Na tym samym rysunku pokazano tzw. gwiazdy przestrzenno-czasowe, które w najprostszym przypadku tworzy zbiór trzech węzłów jc, , jc(+1 w warstwie czasu t r~' oraz węzeł xi w warstwie t f (rys. 7.1 Oa) lub zbiór tych samych węzłów w warstwie t f oraz węzeł*, w warstwie t f ~' (rys. 7.10b). Założymy dodatkowo, że krok siatki geometrycznej h i krok czasu At są stałe w rozważanym obszarze przestrzenno—czasowym (nie jest to wprawdzie regułą, ale przypadkiem najczęściej spotykanym w praktyce obliczeniowej).
Rys. 7.10. Siatka i gwiazdy czteropunktowe W pierwszej kolejności przedstawimy algorytm MRS dla gwiazd czteropunktowych pokazanych na rysunku 7.10a. Aproksymacja różnicowa równania dyfuzji dla takiej gwiazdy może być przyjęta w sposób następujący -rf
_
Ji
yf~
1,
yf~
y i* 1 + *<-l
1
~ZIi
------------ = a --------------------------Ar *2
i = l , 2 , .... n - 1 ,
/ i l
<7-56)
lub „ a At 77 = 7,/ - 1 * — h
* l£ ,1-2 T f-') . r = 1, 2 ........n - l . / i l .
(7.57)
Załóżmy dodatkowo, że na brzegach płyty zadane są warunki w postaci *o=0: 7(0, r) = 7M, natomiast dla x=L: T(L, t) = Tb2. Jesteto oczywiście^najprostszy z możliwych przypadków, bardziej ogólne sformułowanie problemu przedstawimy w dalszych częściach niniejszego podrozdziału. Symulację numeryczną procesu dyfuzji realizujemy ,,z kroku na krok” . Przejście od poziomu czasu r°= 0 do t ‘= 0+ A r wymaga podstawienia w miejsce T{~' wartości funkcji T wynikających z warunku początkowego. W równaniach typu (7.57) niewiadomymi są wartość1 Tf tworzące lewą stronę układu rozwiązującego (pamiętamy, iż wartości brzegowe
277 są dane). Po wyznaczeniu rozwiązania przybliżonego dla t 1można przejść do kolejnego etapu obliczeń, w którym rolę warunku początkowego przejmują wartości funkcji wyznaczone w etapie poprzednim (warunek pseudopoczątkowy) itd. Zauważmy, że układ równań, który należy rozwiązywać w każdym kroku czasu, charakteryzuje się macierzą główną, w której elementy niezerowe występują tylko na przekątnej. Taki układ równań rozwiązuje się natychmiastowo, natomiast przedstawiony wyżej algorytm nazywa się jawnym schematem MRS. Jak pokażemy niżej, schemat ten jest bardzo prosty w realizacji numerycznej, ma on, niestety, również pewne wady, które pojawią się przy rozwiązywaniu zadania będącego tematem kolejnego przykładu. a Przykład 7.4 Wyznaczyć nieustalone jednowymiarowe pole temperatury w płycie o grubości L = 0,4 przyjmując a= 1 0 '6. Krok siatki geometrycznej wynosi 0,1. Powierzchnie boczne płyty mają stalą temperaturę 7'=0, w chwili r= 0 , temperatura w obszarze D: T(x, 0) = 100 — rys. 7.11.
Rys. 7.11. Dyskretyzacja obszaru płyty Dla powyższych danych = 1 0 '4Af ,
Tq = 0 ,
T{ = 0 ,
h2 t!
= 10"4A r(7;{;1 + 7 & 1) + (1 - 2 -1 0 -4A r ) 7 /- ‘ ,
i= l, 2 , 3 , / a 1 .
a) Niech A t—103, wtedy
T{ = 0,1(0 +100) + 0,8 100 =90 , T2 = 0,1(100+100) + 0,8 100 = 100 ,
1 krok - czas =1000 s ,
Ti = 0,1(100 + 0) + 0,8 100 = 90 , T,2 = 0,1(0 + 100) + 0,8-90 =82 , T22 = 0,1(90+90) + 0,8 100 = 98 , ^
• 2 krok - czas =2000 s ,
= 0,1(100 + 0) + 0,8-90 = 82 ,
b) niech A r= 0 ,5 -1 0 \ wtedy T,1 = 0,5(0 +100) = 50 , T2 = 0,5(100 + 100) = 100 , Ti = 0,5(100 + 0) = 50 ,
1 krok - czas =5000 s ,
278
T,2 = 0,5(0 +100) = 50 T l = 0,5(50 + 50) = 50
2 krok - czas =10000 s
T] = 0,5(100 +0) = 50 c) niech A/=10'*, wtedy J, = 0 + 100 -100 = 0 ,
r2l = loo + loo - loo = loo ,
1 krok - czas=10000s
r 3l = 1 0 0 + 0 - 1 0 0 = 0 ,
r =o + loo - o = loo , r =o +o -loo = -loo , ,2
22
2 krok - czas =20000 s .
T] = 100 + 0 -0 = 100 , Celem niniejszego przykładu była nie tylko prosta ilustracja jawnego algorytmu MRS dla zadania liniowego. Ujawniły się w nim również pewne negatywne cechy tego schematu przede wszystkim niestabilność. Dla kroku czasu A /= 1 0 3 s wyniki były fizykalnie popraw ne, były one również do przyjęcia (choć zdecydowanie niedokładne) dla A /= 0 ,5 1 0 4 s (był to zresztą tzw. interwał krytyczny). Dla At = 104 wyniki są absurdalne - pojawiają się nawet w drugim kroku wartości ujemne, które dla przyjętych warunków brzegowych są niemożliwe.
■ Sformułujemy teraz kryterium stabilności jawnego schematu różnicowego. Układ rozwiązujący zbudowany na podstawie schematu jawnego jest stabilny, jeżeli współczynniki w równaniach różnicowych układu są nieujemne. Wynika stąd, że (7.58)
Pozostałe współczynniki w równaniu różnicowym są zawsze dodatnie. Bardzo proste, fizykalne uzasadnienie warunku stabilności przedstawił J.Szargut [2]. Na rysunku 7.12 pokazano trzy kolejne węzły objętości kontrolnych (zadanie ID - płyta nieskończona bez źródeł wewnętrznych). Temperatura w węzłach / - I oraz / + 1 w chwili t f wynosi 7/_, oraz T{+[. Temperatura w węźle centralnym nie może przekroczyć wartości 7 /+l=0,5( 7/_, + 7 /+1 ), bo taki rozkład generuje się w warunkach stanu ustalonego. Odpowiada to wartości aAt lh 2 = 0,5, czyli zerowej wartości granicznej w nierówności (7.58). Temperatura wyższa od tej średniej jest, z fizycznego punktu widzenia, niemożliwa. Przebiegi dopuszczalnych i niedopuszczalnych rozwiązań pokazano na rysunku 7.12. Według definicji sformułowanej przez J. van Neumanna (1903-1957, matematyk węgierski urodzony w Budapeszcie, uczestnik programu Manhattan Project realizowanego w USA podczas II Wojny Światowej, jego działalność związana jest z pierwszymi pracami dotyczącymi teorii informatyki i sztucznej inteligencji), stabilność jest taką cechą rozwiązania numerycznego, że pewne pojawiające się np. na skutek błędów zaokrągleń zaburzenia nie
279 kumulują się i nie powodują zwiększania perturbacji. Stabilność jest warunkiem koniecznym zbieżności, co oznacza, że przy h -» 0 oraz Ar -* 0 rozwiązanie numeryczne zmierza do dokładnego (analitycznego).
Rys. 7.12. Interpretacja warunku stabilności W monografii [4] przedstawiono następujące wyprowadzenie warunku stabilności dla omawianego zadania ID. Założono, że zaburzenie może być rozwinięte w szereg Fouriera oraz, że można w nim odseparować czynniki zależne od czasu i od współrzędnych geometrycznych 6 (x , r) = \j/(r) ex p (P x i) .
(7.59)
ij/ (r) = ^1 - 4v sin2— j Al ,
(7.60)
Pokazano następnie, że
gdzie v jest nieujemną liczbą, h odległością między węzłami. Schemat numeryczny jest stabilny, gdy funkcja (7.60) pozostaje ograniczona, gdy h-*0 oraz Ar-*0, a postulat ten prowadzi do warunku (7.61)
11 - 4 v sin 2 — | i 1 , 2
który będzie zachodził, gdy v < 0,5. Otrzymany warunek odpowiada wynikowi uzyskanemu poprzednio. Drugą możliwością konstrukcji schematu różnicowego jest wykorzystanie gwiazd pokazanych na rys. 7.10b. Równanie różnicowe dla gwiazdy tego typu ma postać t [ - T {~1 7 ^ +7){, - I l f ------------ =a ----------------------i = l , 2, .... AJ-1 , Ar h2
/*
1•
(7.62)
Zauważmy, że w zależności (7.62) nieznane wartości funkcji T dla , , / ” poziomu czasu występują zarówno po prawej, jak i po lewej stronie i w każdym z równań różnicowych niewiadomymi będą trzy wartości funkcji, a mianowicie 7)_,, 7], Ti+i dla t= tf . Wzór (7.62)
prowadzi do schematu niejawnego, a odpowiednie równania zapisujemy w postaci a Ar rf + i -1 h2
r
1+
2 a Ar
aLt
h2
T 1"
T-
_ rrf~t
(7.63)
Schemat niejawny jest stabilny. Jeżeli ostatnie równanie podzielimy przez Ar i weźmiemy granicę A r - * o o , to otrzymujemy T{_x - 2 T ( + t {, x
(7.64)
h2 czyli zależność odpowiadającą różnicowej aproksymacji równania dyfuzji dla stanu ustalonego (pole bezźródłowe). •s- Przykład 7.5 Zbudować schemat niejawny dla siatki o kroku 6= 0,1 i kroku czasu Ar. n = 4, a=10"‘ (jak w przykładzie poprzednim). Otrzymujemy następujący układ równań liniowych T0f = 0 , - 6 7 / + ( 1 + 2 6 ) 7 / - bT { = r / ' 1 , • - 6 7 / + ( 1 + 2 6 ) 7 / - bTj = 7 / " 1 . - 6 7 / + ( 1 + 2 6 ) 7 / - 6 7 / = 737*1 , 7/ = 0 , gdzie 6 = 10"6 Ar, / > 1. Ten sam układ zapiszemy w postaci macierzowej 1
0
0
0
0
T0f
-6
1 +26
-6
0
0
7/
0
-6
1 +26
-6
0
7/ i2
0
0
-6
1+26
-6
7/
0
0
0
0
1
7/
0 7/-1 Tt = < J2 TT*/"1 ■*3 0
W pierwszym kroku ( /= 1 ) wektor wyrazów wolnych wynika z warunku początkowego, po obliczeniu pola temperatury na poziomie i 1 otrzymujemy nowy warunek pseudopoczątkowy, który wprowadzamy do wektora wyrazów wolnych itd. Schemat niejawny jest zawsze stabilny i krok czasu Ar może być praktycznie dowolny. Wprawdzie schemat ten prowadzi do „realnego” układu równań, ale jego struktura jest bardzo prosta (macierz główna jest macierzą trójprzekątniową). Jak wiadomo, układy tego typu rozwiązuje się bardzo szybko wykorzystując metodę Thomasa (por. rozdział 1). ■
W praktyce stosuje się również schematy jawno—niejawne, dla których równanie różnicowe jest następujące .
.
-----------
= a
---------------------- a
At
+ a
T U *rU -ni i f 1, --------------------------- ( 1 - a ) , n
h2
**1, 2, .... n - 1 ,
h2
, ^
(765)
f z 1,
przy czym a € [ 0 , 1], Dla a = 0 otrzymujemy opisany poprzednio schemat jawny, dla a = l schemat niejawny, natomiast przyjmując a = 0,5 dochodzimy do algorytmu nazywanego w literaturze metodą Cranka—Nicolsona. Do grupy schematów jawno-niejawnych zalicza się również metodę DuForta-Frankela [4], Rozpatruje się trzy poziomy czasu: / — 1, / oraz / + 1 (wartości funkcji w węzłach dla pierwszych dwóch poziomów są znane) i zakłada, że t{ =
2'
(7.66)
+ r/ł ‘
Po lewej stronie równania różnicowego wprowadzamy iloraz centralny i otrzymujemy _ T f -1
tL
-2
(7.67)
2 Ar lub (biorąc pod uwagę wzór (7.66)) ,/*i
~ /- i
Tf.r t / 1 - t ! " + t ! . x
(7.68)
2 Ar Oznaczając l a A l l h 2 = b, dochodzimy do równania Tf* 1 - ^ ^ 7’/ ' 1 + ^ trpf T’/ \ f 1 +* ‘ 1 + b \ Ti-' + T‘" ) ■
(7.69)
Schemat zbudowany na podstawie tego typu równań jest zawsze stabilny. Zauważmy, że po wpisaniu w miejsce b odpowiedniej zależności otrzymujemy r / ‘i _ h2 -2 a A t '
/i2 + 2a A r
f -1 '
2aAt A2 + 2 a A r ' i‘ I
/ //
(7.70)
łMl
i biorąc Ar -* oo dochodzimy do równania T = —T +T + T N -l -W*!
(7.71)
które odpowiada równaniu dla stanu ustalonego (górne wskaźniki przy funkcji T można, oczywiście, opuścić).
„
282 Jak widać, takie podejście wymaga „pamiętania” pola temperatury z dwóch poprzednich poziomów czasu, co przy gęstej dyskretyzacji obszaru może istotnie obciążyć pamięć operacyjną komputera. Pierwszy krok, czyli przejście od r= 0 do t=At, realizuje się wykorzystując jeden ze schematów opisanych poprzednio. Innymi, omawianymi w literaturze schematami jawno-niejawnymi, są metoda Bakarata-Clarka i Richardsona [4]. □ Algorytm Rozwiązanie równania dyfuzji dla płyty na podstawie schematu jawnego z warunkami I rodzaju i warunkiem początkowym typu t = 0: 7 (x, 0) = 70 realizuje się w sposób następujący: Lista zmiennych: całkowite: n, i, f , f k rzeczywiste: h , a , b , d t , 7 0 , T b l , Tb2 tablice: 7 [ 0 .. n ], l/[ 0 .. n] > > >
Podaj a, h, d t , 7 0 , Tb 1, T b l , n , f k Oblicz b : = h2
Jeżeli 1 - 2 b < 0 to
{ D rukuj „ niestabilne "
)
> > >
w przeciwnym razie
Dla i : = 1, 2, .... n - 1 Podstaw T{ : = 70 Podstaw 70 : = T b l Podstaw Tn : = Tb2 D la / : =
1, 2, . . . , f k Dla i : = 1, 2, .
n -1
Oblicz i/,. : = ( 1 - 2 6 ) ^ + ł>(7(_, + r (#1) Podstaw (70 : = 70 Podstaw (/n : = 7n Dla i : = 0, 1,
n
D rukuj (/ Podstaw T( : = 17.
> > >
283 W pierwszej części algorytmu wprowadzamy dane dotyczące kroku siatki (h), kroku czasu (dl), współczynnika dyfuzji (a), temperatury początkowej (TO), temperatur brzegowych (Tbl, Tbl), liczby węzłów siatki przestrzennej (n) i siatki czasu (fk). Obliczamy współczynnik b w równaniu różnicowym schematu jawnego i sprawdzamy warunek stabilności, tzn. \~2b>0. Jeżeli warunek ten nie jest spełniony, to obliczenia zostają zatrzymane i należy wdanych wejściowych podać inny (krótszy) krok czasu dt. W przypadku spełnienia warunku stabilności następuje wczytanie temperatury początkowej (we wnętrzu) i brzegowych dla węzłów o numerach 0 i n. W algorytmie założono, że temperatura początkowa jest stała w obszarze, wprowadzenie bardziej skomplikowanego warunku początkowego nie zmienia istotnie algorytmu. Główną część obliczeń zawiera pętla, w której przechodzimy przez kolejne poziomy czasu od / = 1 do f = f k . W pętli tej liczone są wartości funkcji 7) dla t - t f, przy czym odpowiednie wartości zapisujemy w macierzy U (warunek pseudopoczątkowy odpowiada macierzy T ). Pętlę główną zamyka przepisanie macierzy U w miejsce T, czyli przebudowa warunku pseudopoczątkowego i wydruk obliczeń pośrednich. Konstrukcja równań różnicowych w przypadku zadań 2D jest prostym uogólnieniem sposobów omówionych poprzednio. Rozpatrywać będziemy nieustalony przepływ ciepła w obszarze zorientowanym w układzie kartezjańskim, czyli równanie dyfuzji w postaci
d T (x , y, t ) _ a d 2T(x, y, t) + d 2T(x, y , t) dt dx2 dy2
(7.72)
uzupełnione odpowiednimi warunkami brzegowo-początkowymi. Rozważany obszar geometryczny pokrywamy siatką prostokątną i podobnie jak poprzednio, definiujemy siatkę czasoprzestrzenną. Na rysunku 7.13 pokazano gwiazdę pięciopunktową będącą fragmentem tej siatki.
Rys. 7.13. Schemat jawny (zadanie 2D, siatka prostokątna) Jeżeli równanie różnicowe będziemy tworzyć w konwencji schematu jawnego, to wykorzystując podobną jak w zadaniach ID aproksymację pochodnych otrzymamy f- 1 T InJ - T■*t At
r /->
= a
l
+ t {~1 - 2TrM h2
T { ' 1 + t / * 1 - 2 Tq ~1
(7.73)
W ostatnim równaniu dla uproszczenia zapisu wprowadzono numerację lokalna przypisując węzłowi centralnemu ( i , j ) wskaźnik 0, a węzłom sąsiednim wskaźniki 1, 2, 3 i 4, krok siatki w kierunkach osi x i y oznaczono przez h i k, odpowiednio. Równanie (7.73) zapiszemy w postaci T ( - (1 - E
» .]
1 * £
b, T > ' ,
(7.74)
gdzie i
i
Q ók t
b i * b 2 • -T T . hL
i
t
Cl A {
= bA = -7
7
- •
kŁ
/*] h c \
(?-75)
Oznaczając i-o * 1 - E » . . «-i
<7'76>
dochodzimy do równania .
<7 77)
-
T i- T .b j r «-o
------ ------------- -------- -— 1— ---------- ——-----------------------------------
284
Warunkiem stabilności omawianego schematu jest (jak poprzednio) £>0 ^ 0, skąd wyznacza się krytyczny krok czasu.
________
Przejdziemy teraz do krótkiego omówienia schematu niejawnego. Czasoprzetrzenną gwiazdę różnicową dla tego schematu pokazano na rysunku 7.14.
fi -
Rys. 7.14. Schemat niejawny (zadanie 2D, siatka prostokątną) Odpowiednie równanie różnicowe przyjmuje postać
Ti- Tto/-1 Ar
a
T{ * T { - 2 T0f
T[ + T { - 2 T '
(7.78)
lub i* £ * .
Ti - U
k t
nrf~ l '. - **0
(7.79)
przy czym współczynniki bt dane są wzorami (7.75). Jak widać, w przypadku zadań 2D i przyjętego sposobu aproksymacji pochodnych, każde z równań tworzących układ roz wiązujący zawiera pięć niewiadomych. Dla zadań liniowych (stała wartość współczynnika dyfuzji a) macierz główna układu nie zmienia się z pętli na pętlę i wystarczy, po jej utworzeniu tylko raz wyznaczyć macierz odwrotną, a następnie w kolejnych krokach korygować tylko wektor wyrazów wolnych.
7.5. MRS dla nieliniowych zadań brzegowo-początkowych W praktyce obliczeniowej bardzo często spotykamy się z problemami brzegowopoczątkowymi należącymi do grupy zadań nieliniowych. Nieliniowości w równaniu różniczkowym opisującym proces wynikają ze zmiennych wartości współczynników (parametrów fizycznych), między innymi objętościowego ciepła właściwego i współczynnika przewodzenia ciepła (jeżeli problem dotyczy zagadnień dyfuzji). Parametry te są z reguły zależne od temperatury i uproszczenie polegające na założeniu wartości stałych (uśrednionych) nie zawsze jest dopuszczalne. Nieliniowości mogą pojawiać się również w warunkach brzegowych, a w szczególności warunku Robina (7.26), w którym współ czynnik a może również zależeć od lokalnej i chwilowej wartości temperatury powierzchni ciała. Tak więc, zadanie może być nieliniowe ze względu na postać równania opisującego rozważany proces, ze względu na warunki zadane na jego brzegu i wreszcie obydwie nieliniowości mogą występować równocześnie. Metoda różnic skończonych jest bardzo efektywnym narzędziem do rozwiązywania tego typu zagadnień i w podrozdziale niniejszym przedstawimy najważniejsze informacje związane z jej wykorzystaniem w przypadku zadań nieliniowych. Rozważania będą prowadzone w ten sposób, aby odpowiednim równaniom nadać pewną interpretację fizyczną, wynikającą z podstawowych praw transportu ciepła. Dla ustalenia uwagi rozpatrywać będziemy obszar płaski zorientowany w układzie kartezjańskim. Równanie opisujące proces nieustalonego przepływu ciepła przyjmuje w takim przypadku postać .r~. d T c(T ) — dt
_d_ d H T )— + — dx dx\ dy
(7.80) dy\
przy czym T = T(x, y, t). W pierwszej kolejności będziemy poszukiwać różnicowej aproksymacji operatora po prawej stronie równania (7.80), przy czym wykorzystamy gwiazdy pięciopunktowe. Założymy, że rozpatrywany węzeł (i, j) (w lokalnej numeracji oznaczono go wskaźnikem 0) jest węzłem wewnętrznym, kroki siatki w kierunkach x i y wynoszą h i k, odpowiednio. W odległościach 0,5h i 0,5* na ramionach gwiazdy przyjęto węzły pomocnicze (jak na rysunku 7.15). Węzły na wierzchołkach gwiazdy oznaczono dodatkowo indeksami 1, 2, 3 i 4.
1 286
Rys. 7.15. Gwiazda pięciopunktowa z dodatkowymi węzłami Do aproksymacji pochodnych występujących wykorzystamy ilorazy średnie. I tak Ts /-I l i.l* •i, i* 0,5 V
j f . y * 0,5
/* 1 '■IJ- 0.5
k u r
po
- Ts h
T s - Ts *i.J
d X ) i , J - 0,5
prawej
= A01 a /-1
= ai 02
h
stronie
Ti
-
To
h To
-
równania (7.80)
(7.81) Ti
h
Zauważmy, że wartości funkcji X odnoszą się do chwili początkującej rozważany krok czasu, bo dla t = t f~' znamy z warunku pseudopoczątkowego wartości temperatur węzłowych, natomiast wskaźnik s odpowiada c h w il i/- I (schemat jawny), lub /(sch em at niejawny). Współczynniki przewodzenia ciepła X 01 i X 02 są wartościami średnimi dla przedziałów temperatury (T0, T{), (T0, Ti), odpowiednio. Można w tym miejscu „umówić się” , że będą to np. średnie arytmetyczne, co jest podejściem najbardziej „naturalnym” , ale my w tym miejscu zaproponujemy przyjęcie średnich harmonicznych, czyli i/-1
A.f01- \
(7.82)
'•02
(x a77 1
d x ) l , j . 0,5
0*1
II
*4 1
Wówczas (jak łatwo sprawdzić)
R K 0l
^ - T i 1
d x h . j - 0.5
(7.83)
R f -« “ 02
gdzie R f-i ot
0,5/i 0,5 h —— + - — , \f~ x i/-»
R
f -1 _ 0,5 h i / '1 '■o
(7.84)
287 Występujące w ostatnim wzorze wielkości nazywane są w teorii przewodzenia oporami cieplnymi (stosunek grubości przegrody do jej współczynnika przewodzenia). Opór zastępczy przepływu ciepła między węzłami jest sumą oporów cząstkowych, natomiast jednostkowy strumień ciepła jest wprost proporcjonalny do różnicy temperatury, a odwrotnie do zastępczego oporu (tak, jak znana z prawa Ohma zależność między natężeniem prądu a róż nicą potencjałów). W celu uproszczenia zapisu od tego miejsca pominiemy górny wskaźnik przy oporach (R0 = Rq , itd.) Wykorzystując po raz drugi iloczyn różnicowy średni otrzymujemy
U jt
(7.85)
(x " x h v ^x /i,;»0,5 V
dx ) j j
h . J -
0,5.
lub
T f - T 0s
y . i ( ± & ( a * dx L n
t;
-
tc
(7.86)
V02
Analogicznie t [dy
dy)
s
i
W
H
t;
- To
rA -
t
*
(7.87)
v04
v03
gdzie 0,5 k
_ 0,5 k
0,5 k
O
A7' a 3 1
0>' VA0 '
UA47'
1
0,5 k
(7.88)
Ostatecznie 8 f . dT) d (. dT a j c j + a y ( dy
5ś
4
T ł _ T s
- l—J
^
n
t
(7.89)
i. i
przy czym funkcje 9.
1
= 4>, = - , 2
h
4>, =
4
(7.90)
k
będziemy nazywać funkcjami kształtu siatki różnicowej. Na zakończenie tej części rozważań zajmiemy się jeszcze operatorem różniczkowym podobnym do operatora występującego w równaniu (7.40), czyli 9 = — — x mX (T ) x m dx
dT (x, 0 dx
(7.91)
Do konstrukcji analogonu różnicowego wykorzystamy, jak poprzednio, gwiazdy trójpunktowe i ilorazy różnicowe średnie.
288 Tak więc
T[-T^
X - J l—i r
= ( j c o + 0,5 h ) m —
01 5 TI r0- r 2
x - x i- T
= (*o ~ 0 , 5 h ) " —
j
(7 .9 2 )
-
rt02
Wykorzystamy po raz drugi iloraz różnicowy średni, czyli
Oj:
f
-
1
vm L ■*0 “ .i
(7 .9 3 )
8*
i ostatecznie
1
\»
± f i, - 2
2 =V
$? »
x m dx
(7 .9 4 )
gdzie O, = -
/ jc0 - 0 ,5 /i \
fx 0 + 0,5 /i »
V2 io
(7 .9 5 )
y
Można zauważyć, że dla m = 0 otrzymujemy funkcje typu (7.90). Równanie różnicowe odpowiadające równaniu (7.80) i zapisane w konwencji schematu jawnego przyjmuje postać 'pf
rr f ~ 1
4
t / ' 1
^ T W o- =E Ar
przy czym c0 =
T‘
e*l
r / ' t
b T°
f
(7 .9 6 )
*0,
1). Ostatnie równanie zapiszemy następująco
4 rnf~\ _ f f - 1 (7 .9 7 )
c0 e-1
^0*
Oznaczając Ar
(7 .9 8 )
6. C0 ^0f otrzymujemy r i = r / ' 1 * Y . b.[ T ' . ~ ' - Tl ' x) ■
/-I
(7 .9 9 )
gdzie ( 7 .1 0 0 )
*0 < -l
289 Warunkiem stabilności utworzonego układu równań różnicowych jest, aby dla każdego równania współczynnik b0 był nieujemny. Dla stałych wartości parametrów termofizycznych równanie (7.99) ze współczynnikami (7.98) jest (jak łatwo sprawdzić) identyczne z rów naniem (7.77) ze współczynnikami (7.75) i (7.76). Ciepło właściwe c0 odniesiono do temperatury w węźle centalnym (c0 = c(T0f ~l )). Dla zadań silnie nieliniowych (duże zmiany parametru c z temperatura) w literaturze (np. [2]) proponuje się inną definicję c0. W pierwszej kolejności obliczamy wartości c0e wykorzystując zależność r / '1 I c(T )dT . T/-» Jo
c Oe
(7.101)
Jak widać, parametr c0ejest średnim całkowym ciepłem właściwym w przedziale temperatury [7*0, Tf ] w chwili / —1. Następnie 4
(7.102)
c o = £ w. co* >
gdzie w, są funkcjami wagi. Dla symboli przyjętych w niniejszym podrozdziale mogą to być następujące wyrażenia w, = w, =
m 2/h + 2 \k
w, = w, =
1lk 2/h + 2/k
(7.103)
Podobnie można definiować c0e dla zadań ID i 3D. Równanie różnicowe zapisane w schemacie niejawnym jest postaci co
rpf rpf-l 1o ‘ 0 At
(7.104)
i po bardzo prostych przekształceniach dochodzi się do zależności (7.79), w której współczynniki bt dane są wzorami (7.98).
7.6. Dołączanie warunków brzegowych Pewne najważniejsze informacje o dołączaniu warunków brzegowych, czyli konstrukcji równań różnicowych dla węzłów brzegowych, przedstawiono w podrozdziałach dotyczących modelowania zadań brzegowych. Niżej omówimy inny sposób uwzględniania w układzie rozwiązującym odpowiednich warunków. Prezentowane podejście jest pomysłem J.Szarguta i B.Mochnackiego i omówiono je szczegółowo w monografii [2]. Przy konstrukcji siatki różnicowej musi być spełniony postulat, aby dla fragmentów brzegu z warunkami II, III lub IV rodzaju (postać warunków IV rodzaju omówimy na stronach następnych), węzły brzegowe lokalizować nie dokładnie na granicy obszaru, tylko w odległości h/2 lub k/2 od brzegu. Na
rysunku 7.16 pokazano fragment prostokątnej siatki różnicowej, przy czym węzeł centralny 0 jest przyjętym zgodnie ze sformułowanym wyżej postulatem węzłem „brzegowym” .
Rys. 7.16. Aproksymacja warunków II i III rodzaju W pierwszej kolejności założymy, że na brzegu T obowiązuje warunek Neumanna, czyli qb= —\ dT/dn. Ponieważ węzeł 0 jest umownie węzłem brzegowym, a faktycznie węzłem wewnętrznym, więc odpowiednie równanie różnicowe wyprowadzimy w sposób pokazany w podrozdziale poprzednim. I tak, z warunku brzegowego wynika natychmiast, że
f)‘ *
(7.105)
l i , j *0,5
natomiast
ary
To - T l
d xl.j-
(7.106)
0,5
czyli mi
f j - i s r - i U * Bxl i j h
+
i2 “ i0
(7.107)
v02
Równocześnie rjiS rpS l± x * L ) = 11 *3 ~ / 0 U y dy j ( j k k ^03
(7.108) v04
Tak więc — ] + J L ( x ^ Z L >) |'
=y
JL~ T°
4> (T -1 )
(7.109)
gdzie = 1 dla węzłów w kierunku do wnętrza obszaru i ł f= 0 w kierunku brzegu T z wa runkiem Neumanna. Na rysunku 7.16: = 0, ¥ 2 = ¥ 3 = ^ 4 = 1.
291 Założymy z kolei, że na brzegu T (rys. 7.16) zadany jest warunek III rodzaju (Robina): - \d T l d n = a ( 7 - 7 „ ) . Z warunku tego wynika, że w węźle brzegowym (i,j+ 0,5) musi być spełnione następujące równanie
(7.110)
( ^ L ,=a(vrr')=Zi? '
gdzie Trs jest temperaturą w węźle brzegowym (/, y + 0,5), Ra oporem wnikania ciepła. Tak więc 4
[[dx - 1 J Ld$xI)j
dy
* T !-T q JL 7 r'$ =T —---P + y * *a Ł— dy j j u *-» K0e «-l
- Tn. (1 D - Y *) \. Ko
*/
(7.111) ł
Warunek ciągłości strumienia ciepła w otoczeniu punktu brzegowego (czyli warunek III rodzaju) można zapisać w postaci To~T{
T f-T a
_ 0 ,5 h i/* 1
(7.112)
Z matematycznego punktu widzenia równanie (7.112) wynika z zastąpienia pochodnej normalnej w warunku III rodzaju ilorazem różnicowym lewostronnym, ale wzór ma również prostą interpretację fizyczną. Z własności proporcji, tzn. a/b=cld=(a+c)l(b+d), otrzymujemy To~T* *
Tp~Ta
To~Ta
Ro +X*
voi
(7.113)
Ostatecznie A l
.3x1
a n
4
+J .| dyl.
j J _
rpS
4
rprpS
(7.114) a , JJ t.J
R0‘
«*>
Ze struktury ostatniego równania wynika, że w przypadku warunku III rodzaju rolę „brakującej” w gwieździe temperatury przejmuje temperatura otoczenia, natomiast odpowiedni opór cieplny (co jest faktem znanym w teorii przewodzenia) jest sumą oporu kondukcyjnego od węzła centralnego do brzegu i oporu wnikania. Warunek brzegowy IV rodzaju jest warunkiem ciągłości strumienia ciepła na granicy dwóch podobszarów różniących się wartościami parametrów termo fizycznych. W przypadku kontaktu idealnego jest to warunek w postaci (por. rys. 7.17) _u
"ii
7 dn
1
i . j * 0,5
E « dn
(7.115)
Dodatkowo lewostronna i prawostronna granica pola temperatury w rozpatrywanym węźle brzegowym jest taka sama.
292
Rys. 7.17. Obszar niejednorodny Warunek ciągłości strumienia ciepła w węźle ( i , j + 0,5) zapiszemy następująco T r- r ,1
Tp - 7jf R,
T j- T p
(7.116)
Ri +Rn
gdzie + 0,5/i
R 01
(7.117)
xAif - l
1
1
I
II
1
1
h?
,
* ' d n t i , J * 0,5
Qj L js
jest oporem cieplnym zdefiniowanym dokładnie jak poprzednio, z tym że Xq i X, są współczynnikami przewodzenia dla dwóch różnych podobszarów. Przy tym zastrzeżeniu aproksymacja prawej strony równania przewodnictwa przyjmuje postać (7.89). Bardziej ogólna postać warunku brzegowego IV rodzaju dotyczy sytuacji, w której na styku podobszarów pojawia się dodatkowy opór kontaktu (spowodowany np. szczeliną gazową między nimi). Postulat ciągłości strumienia ciepła prowadzi w takim przypadku do równania
l
R
"
(7.118)
dn )
gdzie R jest oporem cieplnym styku. Postępując podobnie jak w przypadku kontaktu idealnego, dochodzi się do wniosku, że w równaniu różnicowym dla węzłów odległych o połowę kroku siatki od brzegu należy zwiększyć odpowiedni opór cieplny o wartość R. Przykładowo, dla sytuacji pokazanej na rysunku 7.17 mamy 0,5 h *01
+ R +
(7.119)
Ao Na zakończenie tej części rozważań pokażemy jeszcze przykład dotyczący obliczeń ustalonego pola temperatury. Warunki brzegowe dobrano w sposób umożliwiający jeszcze raz prześledzenie sposobów uwzględniania ich różnorodnych postaci.
293 a Przykład 7.6 Na rysunku 7.18 pokazano niejednorodny płaski obszar 0 = 0 / U 0 Wzorientowany w ukła dzie kartezjańskim. Siatkę różnicowa tworzy zbiór 9 punktów (ponumerowanych od 1 do 9). Krok siatki h = k = 0,2. Współczynniki przewodzenia ciepła podobszarów są stałe i wy noszą X, = 1. X/, =4. Pole temperatury w podobszarach płyty opisuje układ równań Laplace’a w postaci d 2Te( x , y )
d 2Tt ( x , y )
dx '
dy
=0 ,
e = l, II ,
uzupełniony następującymi warunkami brzegowymi X = 0 ,
0 < y < 0,5 :
9* = 0 ,
y =0 ,
0 < x < 0,5 :
=0 ,
y = o,5 , 0 < x < 0,5 :
a = 10 ,
x = 0,5 , 0 < y < 0,5 :
T = 100
Ta = 0
oraz warunkiem idealnego kontaktu na granicy podobszarów (jc= 0 ,2 ) .
1 4 5
®n 0.2
6,
9 0.5
>•
X
Rys. 7.18. Podział różnicowy Przyjęcie małej liczby węzłów i ,,naturalnego” sposobu ich numeracji ma na celu przejrzystą ilustrację najważniejszych fragmentów algorytmu i rozwiązywane w praktyce inżynierskiej zadania są, oczywiście, bardziej rozbudowane, chociaż sposoby konstrukcji układu rozwiązującego nie różnią się od niżej omówionych. Zauważmy, że węzły z warunkiem I rodzaju, czyli punkty (3), (6), (9), leżą dokładnie na brzegu, a pozostałe w odległościach odpowiadających połowie kroku siatki w kierunkach x lub y. Ponieważ siatka jest kwadratowa, więc funkcje
294
Węzeł
*0,
^02
^03
^04
1
0,125
-
0,20
0,20
2
0,05
0,125
0,125
0,05
4
0,125
-
0,20
0,20
5
0,05
0,125
0,05
0,05
7
0,125
-
0,20
-
8
0,05
0,125
0,05
-
Równania różnicowe dla ko ejnych węzłów są następujące węzeł 1 : (7 - T ) _ ł _ + ( r - T . ) — + (7. - 7 ,) — =0 , 2 '0 ,1 2 5 1 0,20 4 '0 , 2 0 węzeł 2 :
(100 - 7,) — + (7. - TA 5 + ( r - D — + ( r 5- r 2) — =o , 2 0,125 s 2 0,05 2 0,05 1 2 0,125
węzeł 4 : ( 7 , - 7 . ) —^— + (T - 7 .) — + ( 7 ,- 7 ,) — =0 , 5 4 0,125 1 4 0,20 7 40,20 węzeł 5 : ( 1 0 0 - 7 ,) — + ( 7 . - 7 , ) —-— + ( 7 , - 7 , ) — + (7g- 7 , ) — =0 , 5 0,05 4 5 0,125 2 5 0,05 8 50,05 węzeł 7 : (7 _ 7 ) _ ł _ + ( 7 , - 7 , ) — =0 , 8 7 0,125 4 70,20 węzeł 8 : ( 1 0 0 - 7 J — + ( 7 ,- 7 , ) — — + ( 7 ,- 7 ,) — =0 . 8 0,05 7 8 0,125 5 80,05 Przekształcimy powyższy układ równań w ten sposób, aby w równaniu pierwszym po lewej stronie pozostała temperatura 7,, w drugim 72, a w ostatnim 7g. Po prostych przeliczeniach otrzymujemy układ rozwiązujący w postaci r,
T<
0
4/9
5/18
0
0
0
Tx
0
1/7
0
0
5/14
0
0
t2
250/7
5/18
0
0
4/9
0
0
T<
0
5/17 2/17
Ti
0
0
5/13
Tt
0
0
0
cji prostej 77 =73,09, 7g =88,07.
0 +
0
0
5/17
Ts
500/17
0
0
8/13
Ti
0
0
T*,
125/3
5/12 1/6
obliczono, że 7, =45,44, 72= 71,54, 74=49,13, 73 =82,14,
r
295
7.7. Uogólniona metoda różnic skończonych [3] W podrozdziale niniejszym zostanie omówiony algorytm uogólnionej metody różnic skończonych dla równania Laplace’a opisującego ustalone bezźródłowe pole temperatury w obszarze 2D zorientowanym w układzie współrzędnych prostokątnych (X ,
. 3 x
2
0 ,
(7.120)
ay 2
z następującymi warunkami brzegowymi (x , y ) e r , :
T(x, y ) = Tb ,
(x, y ) e r 2 :
q (x , y) = -X d T ^ ~ -
(x, y ) e r 3 :
q (x , y) =
a[r(ac,
= 9* ,
(7.121)
y) - Ta] .
W pierwszym etapie uogólnionej metody różnic skończonych dokonuje się arbitralnego wyboru punktów (węzłów) tworzących siatkę różnicową - rys. 7.19, a następnie definiuje się gwiazdy. Dla węzła wewnętrznego Xt=(x„ y ,) gwiazda definiowana jest w zasadzie w sposób dowolny, na przykład tworzą ją węzeł centralny X, oraz węzły sąsiednie Xj spełniające warunek \ X —Xj\
Rys. 7.20. Gwiazda n + l-punktowa
296 Funkcję T(x, y ) rozwijamy w szereg Taylora z dokładnością do drugich pochodnych d 2T^
T ( x , y) - r < * „ > , ) * ( | I ) (* -* ,) * ( | I ] { y - y t )
dx2 J
2! (7.122)
' a 2T] (y->i)2 + ( d 2r ' dxdyt 2
ay J(. 2!
X-X:
Przyjmiemy następujące oznaczenia jc; —jc, =hJt yJ- y l =kJt natomiast pochodne funkcji 7" w punkcie centralnym gwiazdy oznaczymy symbolami (Tx)„ (Ty)lt ... , (7^),. Obliczona ze wzoru (7.122) temperatura w węźle Xt wyraża się zależnością T,
-
T,
*W
/ * (7y)j*y * 0 .5 (r„),* / *
*
(7123>
■
Podobnie jak w rozdziale 4 (różniczkowanie numeryczne), wykorzystamy następujące kryterium jakości doboru przybliżeń pochodnych w węźle centralnym J - E { [ T , - T,* ( T .)k , * (
J
* 0.5(T„),* / * 0.5(Tyy) k j + (7.124)
(r.,)lhlki\~^\
=ram'
gdzie (7.125)
e, = \l(Xj-Xj)2 + (yy - y ,) 2
oraz m jest liczbą naturalną (np. m=3). Odwrotność m-tej potęgi odległości między węzłami spełnia rolę funkcji wagi (im jest ona większa, tym węzeł gwiazdy Xj ma mniejszy wpływ na końcową postać wzorów aproksymujących pochodne w węźle centralnym Xt . Jak łatwo zauważyć, wyrażenie w nawiasach kwadratowych jest różnicą między prawą i lewą stroną rozwinięcia funkcji T w szereg Taylora, argumentami funkcjonału J są pochodne funkcji T w punkcie X„ natomiast wyrażenie (7.124) odpowiada kryterium metody najmniejszych kwadratów. Warunkiem koniecznym minimum funkcjonału J (funkcji wielu zmiennych) jest zerowanie się pochodnych dJ/d(Tx)„ ..., 57/5(7^)(, przy czym ze względu na postać funkcjonału jest to równocześnie warunek wystarczający. Otrzymujemy więc następujący układ równań
e [r « y-i i
T;* w
E i 7' . " 7}* W
, * & ),* , * o.5(7-„) * / * 04(T „) * ; * (rw ),*yty] 4 ; * o .
y-t 1
*m
, * M p y , * / * o-5? ;,) ,* ? *
1Pj
JPy
- 0 •
297
£
[
W
(7 ,) A ♦ (7 ,) A + 0,5 ( T t x )
♦
h 2
♦( T
0 , 5 (T y y ) k J
^ ^ U
j-l 1
2py
£ [ V V
= ( , (7.126)
(^ ) ,* y * < r,) *, * °.5 (?■„),*/ * o .5 ( T „ ) * ; * (!•„ )» ,* ,] - Ł
;.lL
2 Py h,k,
E l 7; - 1/ * ( T« ) , * / * ( W / *
*
y' 1
°.5 ( U
i * (r « , ) , ¥ / ] i ;
* 0
pj
Macierz główna tego układu jest postaci
f
^
i
f
7m
-i-’
/•i p ;
f
"
*;
^
y-i p*
hjkj
n
it2 —
Py
*/
"
E y-i
" it3 r y - 2m 2P yW y-1 2py
E y-i
A/^y
»
2m
Y f-f j-l
y-i Py
* /* / 2 Pym
n
A2it «y Kj o 2m y-1 2py
2 Py”1
E
y-t 2 P; m
E E h P;!- y-i
lm
A =
i
V j 2ffi 4 Py
n
4 Py *
E y-i n
E
2ffl 2 Py a
E y-i
1 3 2m
2 Py2m
Y f-* J-l
"
,2 ,2
hjkj
yv
a 2m y-i 4 Py
E y-i
h fk,
y-i P;
n
n rf^j
E y-i
y ^
2 p .m
n
hjkj
n
h L2 JJ lm Pj
y-i
A* j i - Im
h k 2 J J lm pj
*y
(7.127)
2pym
f
*; 4pjm
¥ / f-f ^ 2m y-1 2 Py
»
hjkj
, , y-i
2 Py
fc2* 2
nj Kj
Py2m
natomiast wektor wyrazów wolnych
W =
__
a, Y — a ^, . 2■>m-
A t
j - l Pj
*,
T - J -
2m
M
a t
Pj
(7.128) " A,it.
gdzie
A T ^T j-T i.
T
— ^ - A T
Y
—
U
2p]m
U
2p]m
A T
E — AT y*i
pj
Oznaczymy przez G macierz odwrotna do macierzy A. Mamy wówczas
(T > \
( TA
=
S\]
f>n
#13
8
14
#15
A h> Y . - t , ( Tr T<) pj
#21
#22
#23
#24
#25
j-\ pj
£31
#32
#33
£34
£35
i - r J Tr T>) ■
ą2
Sąj
Sąą
8*5
852
*53
854
855
ą]
( U
8
iT x y )t
851
8
j
t %
y-i p
<71M >
Tr ? ,)
Układ równań (7.129) pozwala znaleźć oszacowania kolejnych pochodnych w węźle centralnym gwiazdy. Aproksymacja różnicowa równania Laplace’a dla węzła wewnętrznego jest postaci (*•«), * ( U przy czym
=0
(7.130)
299 Tak więc, dla węzła wewnętrznego otrzymujemy n
i
1
E
( *31 + * 4 l ) f y + (^ 3 2
2
+ 8 A1)k] + ~ ( S 33 + * 4 3 ) ^
+
Py
(7.133) + (*35 +*45)fy*J K - 7 1 ) = O
i: lub
E
y-i
«
(7.134)
- r «y - iE v 0 '
gdzie j 7
2m
(«3i
+ 8Ąi)hj + ( * 32 + *42>*y + ^ ( f t 3 + * 4 3 ) * / +
(7.135) - ( g 34 + «44)*y2 + ( f t s + «45)*/*;
Równanie (7.134) zapiszemy w postaci macierzowej
" E
y*i
zy
zi
*2
-
z,
= [
(7.136)
0 ]
j
5 r;
J £ Można zauważyć, że dla pól źródłowych po prawej stronie w miejsce zera pojawi się Q,/X. Dołączanie warunków brzegowych w uogólnionej metodzie różnic skończonych jest następujące. Jeżeli w węźle ,,i ” zadany jest warunek brzegowy I rodzaju T( = Tb , to J ft: w macierzy głównej układu rozwiązującego w wierszu odpowiadającym węzłowi i pojawia się na głównej przekątnej 1, natomiast w wektorze prawej strony zadana wartość temperatury T„ (jak m.in. 8 pierwsych wierszy w przykładzie 7.2). Dokładniejszego omówienia wymaga dołączanie warunków brzegowych II i III rodzaju. Jeżeli w węźle zadany jest warunek brzegowy II rodzaju, to [?(*» y ) ] f = -
dn
( dw,T dT n a• — < cos a + — cosp \ dx dy
= <1*
(7.137)
i '•
gdzie cos a, cos/3 są cosinusami kierunkowymi wektora normalnego do brzegu w punkcie :
i■j
300 Wzór (7.137) można zapisać również w postaci <7* (^*), cos a, + (T^cosp,. = - -
(7.138)
W celu oszacowania pochodnych występujących w powyższej zależności, wykorzystamy pierwsze i drugie równanie układu równań (7.129). Tak więc
ra , *
S n i \ ( T r r,)' H u t Ą ; ( T ,- T ,) * * „ E A y- 1 Pj
1 pJ "
kf
(7.139)
y-t p;.
ra, -*,£4 -r->♦«.i Ą-„i7)-T<) y-i
n -tą♦
pj
kf
"
-T.) *
"h,k.
>■' 2py
y* i p j
tJ T j
y-1 2p J
y -i2 p ;
(7.140)
"h,k.
y-i 2 p ;
y - i p ;.
Po wstawieniu dwóch ostatnich wzorów do (7.138) otrzymujemy ( S u c o s a .+ ^ j c o s p ,) ] ^
~
t ; {T J ~ T i)
+ (g 12c o sa (. +g22cosp,) £
y - i p;
~
t {
TJ ~ T i)
+
y-i p;
" h2 ( ^ 13cosa. +g23c o s P , ) ^ — L - { T r Tt) + y-i 2 p y
(7.141)
" fc2 (S 14co sa ,+ * 24c o s p , ) £ - J — (T j- T t) + y -1 2 p ;-
(S15co sa (•+ g25cosp ł) j ; ^ T j - T , ) = - ^ j- \
Pj
A
czyli "
E
i —
[ ( g n co sa,+ g 21casP,)Ay + (g 12co sa.+ g 22cosp,)*y +
y-1 Py 1
2
1
2
- ( g 13c o s a (. + ^ 23cosP f)A> + - (g ^ c o s c ^ + g ^ c o s p ,)* ; +
(g {scosai +825co sPi)hj kj] [ Tj - r i) = ~ y
(7.142)
301 i ostatecznie (7.143)
E * / ; - ri E * , y-i
x ’
y-i
gdzie
Źy = ~
[(g 11cosaj +^21cosP;)/t; + (g^cosc^.+g^cosp,)*, +
Pym (7.144)
- ( g 13cosa,.+g23cosPi)/t/ + —(g14cosaf+g24cosPj)^/2 + (gjjcosa; +g2Jcosp,)/iy/c/] . Postać macierzowa równania (7.144) jest następująca
£
y-i
h
z'i
h
(7.145)
W podobny sposób modeluje się warunek brzegowy III rodzaju. Wykorzystując lewą stronę zależności (7.143) mamy
E « /, -
(7.146)
- - - ( r , - r„ ),
y-i
y-i
czyli n E
y-i
f
n
i , T, * t - E
A
y-i
\ *,
(7.147) y r< = x
lub w zapisie macierzowym
n
CC r a a T " £ zj Z1 y-i
■* i a
^
• •
z„
T 12
=
a T X a
(7.148)
Ostatnim etapem algorytmu uogólnionej metody różnic skończonych jest utworzenie układu rozwiązującego, w którym niewiadomymi są temperatury we wszystkich węzłach wewnętrznych i brzegowych rozpatrywanego obszaru. Fakt ten wiąże się z koniecznością przejścia z numeracji lokalnej na globalną — będzie to miało podstawowe znaczenie przy tworzeniu macierzy głównej i macierzy wyrazów wolnych układu rozwiązującego. Z informatycznego punktu widzenia problem , .dojścia’’ do końcowego układu równań nie jest prosty (szczególnie, jeśli gwiazdy chcemy generować automatycznie). Mamy jednak nadzieję, że przedstawiony niżej przykład wyjaśni przynajmniej najważniejsze etapy pełnego algorytmu uogólnionej MRS.
:
q ( x , y ) = a ( T - Ta) , a = 10 ,
A
1
A
T(x, y) = 100 ,
W
o
: :
1
V
1 ,
T ( x , y) = 0 ,
X
V O
=
:
V
o
X
1
V
o II y - i ,
X II o
ra* Przykład 7.7 Rozpatrywać będziemy przekrój kwadratowy pręta o wymiarach 1x1 m - rys. 7.21, w którym pole temperatury opisane jest równaniem Laplace’a, a na brzegach zadane są następujące warunki
1
0 < y <
y) = o ,
Ta = 0 .
q“o
yli
1
2
8 H
o
■ OT
7
q -0 Rys. 7.21. Punkty brzegowe i wewnętrzne Na każdym boku kwadratu wyróżniono po dwa węzły brzegowe, natomiast wewnątrz cztery punkty wewnętrzne. Współrzędne tych punktów wynoszą X,(0,3, 1), X2(0,7,1), X} (0,2, 0), X4 (0.7, 0), X5(0, 0,4), X6(0, 0,8), X7( l, 0,3), X ,(l, 0,7), X9 (0,3, 0,3), X|0 (0,7, 0,4), X,, (0,2, 0,6), X12(0,6, 0,7). Założono, że gwiazdy wewnętrzne i brzegowe tworzyć będzie węzeł centralny i 6 węzłów położonych najbliżej rozpatrywanego punktu, natomiast wykładnik funkcji wagi przyjęto jako m = 3. Tak więc, utworzono 12 gwiazd 7punktowych 1
6
2
11
12
5
9
303 3
9
5
4
10
5
11
6
11
1
10
8
7 8
4
11
10
7
3
9
12
8
9
6
3
1
12
5
9
12
2
4
12
9
2
12
7
12
10
2
1
4
9
3
5
11
10
4
12
10
12
7
4
9
8
11
11
6
5
9
1
12
10
12
10
2
8
11
1
9
W dalszej kolejności zostanie bardziej szczegółowo omówiony sposób tworzenia równania różnicowego dla gwiazdy wewnętrznej o numerze 11 (rys. 7.21). Wartości liczbowe hr kjt Pj,j= 1, 2, .... 6 (numeracja lokalna) wynoszą dla węzła 6: A, = —0,2, k x = 0,2, p, =0,2828, dla węzła 5: A2 = —0,2, k2 = - 0 ,2 , p2 =0,2828, dla węzła 9: A3 = 0,1, k3 = —0,3, p3 =0,3162, dla węzła 1: hĄ = 0,1, k< = 0,4, p4 =0,4123, dla węzła 12: h5 = 0 ,4 , ks = 0,1, p5 =0,4123, dla węzła 10: h6 = 0,5, k6 = —0,2, p6 =0,5385. Dla powyższych danych macierz główna (7.127) układu przyjmuje postać
A =
211,103
-17,817
-5,974
-8,679
-0,979
-17,817
282,492
-0,490
-7,049
-17,359
-5,947
-0,490
3,536
2,053
0,030
-8,679
-7,049
2,053
4,912
-0,740
-0,979
-17,359
0,029
-0,740
8,211
natomiast macierz do niej odwrotna 5,304 G =
0,767
3,499
9,479
3,097
0,767
4,525
-4,841
11,486
10,709
3,499
-4,841
384,195
-165,270
-25,090
9,479
11,486
-165,270
314,090
54,311
3,097
10,709
- 26,090
54,311
149,780
Dla węzła nr 11 otrzymujemy następujące równanie różnicowe (por. wzór (7.133)) 9,687(T6 - 7 u ) ♦ 8,904(7J - 7 U) ♦ 6,249(7, - r n ) ♦ 3,681(7, - T n ) * 5,138(7I2 - 7 „ ) + 1 ,3 4 0 (7 ,-7 ,,) = 0 i ...
304 i po prostych przekształceniach znajdujemy jedenasty wiersz układu rozwiązującego wu =[ 3,681
0 0 0 8,904 9,687 0 0 6,249
1,340
-34,999
5 ,1 3 8 ].
Omawiany przykład ma bardzo proste rozwiązanie analityczne (funkcja liniowa o rów-naniu T(x, y) = -9 0 ,9 0 9 x + 100 ). Jak sprawdzono, rozwiązanie dokładne i przybliżone są, praktycznie rzecz biorąc, takie same, co potwierdza efektywność i dokładność metody.
■ Na zakończenie niniejszego podrozdziału przedstawimy kilka informacji dotyczących wykorzystania uogólnionej MRS do modelowania zadań nieustalonej dyfuzji (ograniczymy się do schematu jawnego). Tak więc analogonem różnicowym liniowego równania Fouriera dla pól źródłowych jest równanie
c
t(
-T f'1
(7.149)
Ar
co można zapisać jako
c
T f - T ; f -i Ar
-
y-i
y* i
(7.150)
*
gdzie współczynniki Zj wynikają ze wzoru (7.135). Ostatnie równanie przekształcamy do postaci
7./
_
AAr
E
Z,T?'' * T f - '
i
AAr A
J- 1
c y*i
(7.151) T
ę‘-
Warunkiem stabilności powyższego schematu są nieujemne współczynniki równania (7.151), to znaczy
l - A A £ £ Z y* 0 . c y*»
(7-152)
Dla zbioru węzłów wewnętrznych siatki przestrzennej wybieramy krok czasu biorąc A r £ m in
c (7.153)
i *£*y y-t
Dowód poprawności przyjętego kryterium stabilności schematu jawnego jest następujący: Jeżeli temperatury w wierzchołkach gwiazdy wynoszą to temperatura w węźle centralnym i nie może przekroczyć wartości wynikającej z rozwiązania dla stanu ustalonego (podobne podejście do stabilności prezentowano w podrozdziale 7.4). Do równania (7.151)
305 wstawiamy graniczny krok czasu i otrzymujemy
T{ = —■ c y*i * E Zy y-i
/-i (7.154) * E Z/
a po pomnożeniu przez mianownik 3P r . » y-i
i
(7.155) y-j ^ / "
ł TA -
Pomijając górne indeksy (t f ', t f -* oo, czyli t f 1 -» t f ) mamy (7.156)
r ,E * - E * 3 } +
y-i
y-i
czyli równanie (7.134) dla pola temperatury ze źródłami, co kończy dowód. Problem uwzględnienia warunków brzegowych w schemacie jawnym jest (w porównaniu z metodami omówionymi poprzednio) nieco trudniejszy - chodzi, oczywiście, o warunki brzegowe Neumanna i Robina. Przed przejściem od c h w il i/- I do chwili / należy „roz szerzyć” warunek początkowy (lub pseudopoczątkowy) na węzły brzegowe. Potrzeba ta wynika ze struktury równań (7.151), które wymagają znajomości wszystkich temperatur węzłowych w chwili / - 1 , a znane są tylko temperatury wewnętrzne i brzegowe w węzłach z warunkiem Dirichleta. Wyznaczenie nieznanych temperatur brzegowych w chwili t f~' wymaga rozwiązania układu równań liniowych, a dopiero w drugim etapie obliczeń bezpośredniego obliczenia temperatur wewnętrzych w chwili t f . Dla węzłów brzegowych z warunkami II rodzaju wykorzystujemy równanie (7.143), które zapiszemy w postaci
E ttf* E
/■l
trf-T
i°Ei/ = -Ti-1
(7.157)
lub w zapisie macierzowym T, r°
4 - ; «rE♦1 Tj°
-E i, . y*1 r.
(7.158)
306 gdzie wskaźniki / +1 i dalsze dotyczą węzłów wewnętrznych gwiazdy lub węzłów z warun kami I rodzaju. Równanie to stanowi jedno z równań układu rozwiązującego do wyznaczenia temperatur brzegowych w chwili t = 0. Jeśli w punkcie i zadany jest warunek Robina, to wykorzystujemy równanie (7.147), które należy przekształcić do postaci
E
trf
y-i
a f-rt U
E
j - i -1
ZjTj
a T° = * T
CC
T
i- 1
(7.159)
/
lub w zapisie macierzowym T ,
Ti a j
(7.160) E
J-l* i
Układ zbudowany z równań typu (7.158) i (7.160) pozwala wyznaczyć temperaturę w węzłach brzegowych z warunkami II lub III rodzaju. Na podstawie znajomości wszystkich temperatur węzłowych w chwili t = t ° = 0 można obliczyć temperatury wewnętrzne w chwili i ', wykorzystując równania schematu jawnego. Po ich obliczeniu, z tego samego, co poprzednio układu, wyznaczamy temperatury brzegowe dla czasu t 1 itd. Wynika stąd, że wzory (7.158) i (7.160) można zapisać bardziej ogólnie, zamieniając wskaźnik 0 na/ - 1 .
L iteratura 1. Kącki E.: Równania różniczkowe cząstkowe w zagadnieniach fizyki i techniki, WNT, Warszawa 1992. 2. Mochnacki B., Suchy J.S.: Modelowanie i symulacja krzepnięcia odlewów, PWN, Warszawa 1993. 3. Orkisz J.: Metoda różnic skończonych, w: Kleiber M. (red.), Metody komputerowe w mechanice ciała stałego, PWN, Warszawa 1995. 4. Saatdjan E.: Transport phenomena, Equations and numerical solutions, J.Wiley & Sons, Chichester, New York 2000. 5. Samarski A.A.: Teoria raznostnych schem, Nauka, Moskwa 1993. 6. Godunow S.K., Riabenkij W.S.: Raznostnyje schemy (wwiedienije w teoriu), Nauka, Moskwa 1997.
8. METODA ELEMENTÓW SKOŃCZONYCH
Metoda elementów skończonych (MES) jest kolejną z omawianych w niejszym podręczniku metodą przybliżonego rozwiązywania zadań brzegowych i brzegowo-początkowych. Wśród twórców metody, która w ostatnich dwudziestu latach stała się niezwykle popularna, wymienia się zawsze znakomitego uczonego polskiego pochodzenia O.C. Zienkiewicza [1], który dzieciństwo i lata młodzieńcze spędził w Katowicach. MES jest bardzo efektywnym narzędziem rozwiązywania liczych problemów inżynierskich, tutaj ograniczymy się do zagadnień ustalonej i nieustalonej dyfuzji ciepła. Podstawy teoretyczne MES sformułujemy w ujęciu metody odchyłek (reszt) ważonych. Można bowiem pokazać, że przy pewnych dodatkowych założeniach dotyczących tzw. funkcji wagi wykorzystanie tego podejścia prowadzi do algorytmów praktycznie wszystkich znanych metod numerycznego rozwią zywania zadań brzegowych i początkowych. Bardzo szczegółowe i wyczerpujące informacje dotyczące różnych zastosowań MES można znaleźć m.in. w [1, 2, 3, 4, 5, 6, 7].
8.1. Metoda odchyłek ważonych Rozważać będziemy obszar fl ograniczony brzegiem U opisuje równanie
r=r, ur2, w którym rozkład funkcji
a ((/) = b ,
(8-1)
z warunkami
* e I \ : 17 Ir, =
ri
»
xeT2 : ą ^
= qb ,
(8.2)
gdzie x jest punktem na brzegu obszaru (1 (może być to obszar ID, 2D lub przestrzen ny), natomiast q = - \ d U / d n . Znajomość qb jest więc równoważna znajomości pochodnej funkcji U na brzegu obszaru w kierunku normalnym (rys. 8.1). S£( ) jest operatorem różniczkowym, np. dla równania Poissona ££(•) =d2 ( ) / d x 2 + d2 ( )/dy2 (opisuje ono m.in. ustalone pola temperatury w obsza rach ze źródłami wewnętrznymi), dodat kowo b = - Q / \ .
308 Wprowadzimy teraz następujące funkcje nazywane funkcjami odchyłek (błędów lub defektu rozwiązania) R = <£(U)-b , R\ - U ~ Tb , Ri =
(8.3)
- <łb •
Jeżeli U0 jest dokładnym rozwiązaniem zadania brzegowego, to R =
(8.4)
- 9* “ 0 .
natomiast jeżeli T jest rozwiązaniem przybliżonym zadania brzegowego, to R = <£(T)-b * 0 , /?i = 7 - 7 ^ 0 ,
(8.5)
r 2 = <1 ~
(8.6)
gdzie w oznacza funkcję wagi. Funkcję w przyjmujemy w postaci
W = Po^O + P l Wl + - + P n w n * gdzie 180, 0,, ..., j3n są współczynnikami liczbowymi, w„, w,, niezależnych. Mamy więc
(8 7) vv„ to zbiór funkcji liniowo
f R w d f i = f (p 0w0 + pjw , + ... + P ^ j f l d f l . o o
(8.8)
Ostatni warunek będzie spełniony, gdy
J R w t d Q = 0 , i = 0 , 1 , .... n . Q
(8.9)
W podrozdziale następnym przedstawimy rozwiązanie MES dla bardzo prostego zadania dotyczącego ustalonego pola temperatury w płycie nieskończonej ze źródłami wewnętrznymi, a w podrozdziałach dalszych algorytmy MES dla problemów bardziej złożonych, w tym obszarów 2D i stanów nieustalonych.
309
8.2. MES dla ustalonego przepływu ciepła w płycie (zadanie ID) W niniejszym podrozdziale przedstawimy równanie MES wyprowadzone na podstawie metody odchyłek ważonych, przy czym rozpatrywać będziemy następujące zadanie brzegowe x e (0 , L) :
-fdx
d T(x) dx
+
x = 0 :
n o ),
d 7 (0 ) dx
=0 ,
x =L :
*2 T ( L ) ,
d T (I) dx
=0 .
(
8 . 10)
Kryterium metody odchyłek ważonych (8.6) przekształcimy w sposób następujący L
w (x)dx = ( 8 . 11)
Jf A Hr
d T(x) w (x )d x + J Q ( x ) w ( x ) d x = 0 . dx
Całkując pierwszy składnik tego równania przez części, to znaczy u(x) = w(x)
v'(x) = f
dx
d7Tx) dx ( 8 . 12)
. dw (x) u (x) = — — dx
, .
, d 7 (x ) v(x) = X — , dx
i i otrzymujemy X d 7 (x ) w(x) dx
-
^ d x
+ |< 3 (x )w (x )d x = 0 ,
(813)
czyli
r
^ d r(x ) w(L) - [jLd r « l dx dx *r z-Z
f XŚ I M
u,(Q ) -
J
fQ (x)w (x)dx = 0 .
dx
dx (8.14)
310 Równanie (8.14) nazywa się słabym sformułowaniem MOW. Można bowiem osłabić założenie dotyczące różniczkowalności rozwiązania przybliżonego T(x). Przedział [0, L] dzielimy na tzw. elementy skończone — jak na rysunku 8.2. h (e)
(e) X i-l
l Xn
Xi
Rys. 8.2. Podział obszaru ID na elementy skończone Równocześnie równanie (8.14) zapisujemy w postaci y ^
J («)
d w ( x ) dx _ L d 7 ( x ) [ l dT<*>l w(Z) dx Hr djc x-L
dx
£
dx
w (0) + **°
(8.15)
/ (?(* )w (x )d x (<)
Załóżmy, że na elemencie (e) funkcja T(x) zmienia się liniowo x e(e ) : T(x) =
* - L ^ x - x ^ T , = HM TM + Nt Tt .
(8.16)
lub (8.17)
x e ( e ) : T {x) =[ N ^ gdzie
N ‘~l ~ h lt)^Xi~X) '
N‘
h (‘)
(8.18) X|“*^
są funkcjami kształtu. Elementy (e) nazywamy elementami liniowymi (nazwa wiąże się ze sposobem aproksymacji funkcji na elemencie, a nie jego kształtem). Zgodnie z postulatami metody Galerkina [1], funkcję wagi w przedziale Jt(] przyjmuje się w postaci w (x) = P ,-ity -i + P ity = [P,_i Pochodne T(x) i w(x), d aru ) = dx
P,]
(8.19) N.
[*,_,, xt ] wynoszą -l
1
dw (x) = _ l _ f dx
. -1 1
(
8. 20)
311 Obliczymy kolejno
f\d™ ddxx
({ j
d w ( x ) d x
dx
-
^ [ - 1
1] r L "
- L r p ,,
p.if-jl
[ Ti J A (*) l
h(e)
łJ L 1 J /
f
d x ,
(8.21)
co, jak łatwo sprawdzić, jest równoznaczne z zapisem 1 I
1 -1
f k dT(x) d ^ x ) d x = X ^ y d* djc
I 1?
-1
( 8 . 22)
1
i-
Macierz 1 -1 K<«> - ^ 1 h (t) -1
(8.23)
nazywa się macierzą przewodności (sztywności) elementu (e). Z kolei
t *
fQ (x)w(x)Ax ■ («)
(? (i)[P „ ,
Xi ~X dx
P,]
X~X:
(8.24)
,
Jeżeli założyć, że funkcja Q(x) jest stała w obrębie elementu (e) (można przyjąć jej wartość średnią w rozważanym elemencie), to ó >[
Q (x)w (x)d x
=
,
(*)
p,]
(8.25)
2
przy czym wyrażenie 0,5 Q lt) h (,) [ 1 1 ] T nazywa się macierzą źródeł elementu (e). Załóżmy, że w jednorodnym obszarze płyty nieskończonej o stałej watości współczynnika przewodzenia wyróżniono 5 elementów skończonych o takiej samej długości h. Elementy ponumerowano kolejnymi liczbami naturalnymi. Macierz przewodności elementu (1) : „rozciągamy” na cały obszar 1 -1
X h
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(8.26)
312 Podobnie postępujemy z macierzą K ® , czyli
K (2) = h
0
0
0
0
0
0
0
1 -1
0
0
0
0 -1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(8.27)
Macierz przewodności dla całego obszaru (bez uwzględnienia warunków brzegowych) jest, oczywiście, sumą macierzy przewodności elementów. Dołączając do elementu (1) element (2) itd., otrzymujemy 1 -1
0
0
0
0
2
-1
0
0
0
0 -1
2
-1
0
0
2 -1
0
-1 A. K = h
0
0 -1
0
0
0
0
0
0
-1
(8.28)
2 -1
0 -1
1
Suma całek po lewej stronie równania (8.15) wynosi więc fi- K, fi = [fi0 , .... fin], Z formalnego i informatycznego punktu widzenia niewiele zmieni się, jeśli założymy, że każdy element ma inną długość i inny współczynnik przewodzenia. Jeżeli iloraz Xw //ito oznaczymy przez k e , to
K (u _
*1 -*1
0
0
0
0
*.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(8.29)
a po „zszyciu” wszystkich macierzy przewodności *1
-* 1 k +k K l K2
0 ~kl k +k k 2 *3
0
~kl
0
0
0
0
0
0
0
K =
0
-* 3
0
0
0
0
0
0
-* 3
0
0
k + jt *3 4
~k4
0
-* 4
k +k *4 *5
-* 5
0
~k5
ki
(8.30)
313 W podobny sposób można „zszywać” macierz pochodzącą od funkcji Q(x). W przypadku szczególnym, tzn. x € [ x 0, x„] : £?(x) = £?=const., mamy Z = -^ [1
2
2
2
2
1 ]T ,
(8.31)
natomiast suma całek po prawej stronie równania (8.15) wynosi /3Q, /S =[/30 , .... /3„]. Jeżeli każdemu elementowi przyporządkujemy stałą (uśrednioną) wartość Q (e) i oznaczymy qt =QU)h l‘\ to Z = -[
q x +q2
q2 +q2
q 3+qA
qA+q5
q s ]T .
(8-32)
Ostatnią macierzą tworzącą układu rozwiązujący MES jest macierz warunków brzegowych. W pierwszej kolejności założymy, że na brzegach płyty zadane są warunki III rodzaju, czyli x = 0 = x0 :
__
« ,{ t
w
- r„,],
(8.33) .
% { T^ - T. A -
gdzie a ( , ap są współczynnikami wnikania na lewej i prawej powierzchni płyty, a Tal i Tnp temperaturami płynu omywającego te powierzchnie. Jak łatwo sprawdzić x d T (x ) w (0) = dx x-0
(8.34)
oraz
X± I W dx
w (I)
6r n a p '(7*n - 7*a p ') .
(8.35)
x-L
Zauważmy, że w ostatnich wzorach występują iloczyny współczynników wnikania i nie znanych temperatur brzegowych oraz iloczyny tych współczynników i znanych temperatur płynu omywającego ściankę. Pierwsze składniki należy dołączyć do macierzy przewodności odpowiednich elementów brzegowych (bo zawierają niewiadome), a drugie do macierzy źródeł. Tak więc J w ( j >dx * dx
x (1)rn „ , 1 ^ [ p° p »] -1
-1 1
d T(x) dx TD
f x d™ J dx (i)
+ "O o
----------------- —
-------------------------------------------------------------- -—
------------------------------------------------------------------------
x =L
l iT M di .d T W dx
w (0) = al
0
* T ■*o
0
0
J T,
(8.36)
314
315
oraz d rw dx
r x d T M d » ( x ) dx . A A dxr dxr (») J
1
-1
-1
1
X("> tP
-
Typowa postać układu rozwiązującego z warunkami I rodzaju wynika z (8.39), z tym, że znane temperatury brzegowe wprowadzamy bezpośrednio do drugiego i przedostatniego rów nania zmniejszając w ten sposób wyjściową liczbę równań o 2, czyli
w(L) = x -L
(8.37)
[P „-i P,
o
n-1
o
T
k +k i B i:
W podobny sposób uzupełniamy macierz źródeł i w efekcie końcowym (po obustronnym podzieleniu przez /3 = [/30 , .... /3„]) otrzymujemy następującą postać układu rozwiązującego 0
1
v«<
ky+k2 - k 2
-*>
0
0
0
0 ...
0
0
0
.
■
i
0 ...
Ty 1 ~ 2
0
0
0 ... -* „ -l
0
0
0
0 ...
0
Tn-y
-K -K
9b-, + 9b
k n ccp . 7»
+2 a pTop (8.38)
Załóżmy jeszcze, że a,-»oo i a p >oo. Dzieląc pierwsze i ostatnie równanie przez a, i ap odpowiednio, mamy 0
0
0 ..
~k2
0 ..
•
0
0
0
0
0
0
2
*0 Ty
k* 2 + k*3 -fc3 .
0 .•
0
0
0
0 .
a1 +
0
0
0
-K i
T n -y
. T»
0
■
0
t2
k T *1 Jo
0
1 ~ 2 0
0
0
.. • ~k n-y
k n-y+K
T*-».
(8.40)
+
<7„-,+V
kJ n
I.
o- Przykład 8.1 Rozwiążemy w sposób przybliżony następujące zadanie brzegowe. Stalowa płyta (X=25) o grubości 4 cm zaizolowana jest od prawej strony płytą o grubości 4,5 cm wykonaną z ma teriału o współczynniku przewodzenia X= 1,5. Współczynniki wnikania ciepła wynoszą a, = 100, ap = 10, odpowiednio, natomiast temperatury otoczenia wynoszą Tal = 150, T^ =20. Podobszary układu pozostają w kontakcie idealnym. Poszukiwać będziemy pola temperatury w tym obszarze, zakładając zerowe wydajności źródeł wewnętrznych. W stalowej ściance wyróżnimy cztery elementy o długości 1 cm (0,01 m), a w ściance izolującej trzy elementy o długości 1,5 cm (0,015 m). Przy powyższych założeniach macierz przewodności układu (uzupełniona składnikami wynikającymi z warunków brzegowych) przyjmuje postać 26
T
-25
-2 5
0
0
0
0
0
0
50 -2 5
0
0
0
0
0
0
-25
50
-2 5
0
0
0
0
0
0
-2 5
50
-2 5
0
0
0
0
0
0
-2 5
26 -1
0
0
9 n - l+9n
0
0
0
0
-1
2
-1
0
2Tan “P
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
1,1
1
(8.39)
K = —
100
~ 2
0
0
.. • 0
< ły + < h
_ 0
0
T0
...
0
1
§
-*2
-* 2
Z matematycznego, a również fizycznego punktu widzenia powyższe założenie oznacza, że temperatury na brzegach płyty przyjmują wartości temperatur płynu (T0 =7'nł, Tn =TVpor. pierwsze i ostatnie równanie układu (8.39)). Innymi słowy, układ rozwiązujący (8.38) przystosowany do warunków Robina można również wykorzystać do zadania z warunkami Dirichleta. Należy jedynie w zbiorze danych wejściowych zadać odpowiednio duże wartości współczynników wnikania, np. 10'° , natomiast w miejsce temperatur płynu przyjąć temperatury wynikające z przyjętego warunku brzegowego. Układ (8.38) można też wykorzystać do zadań z mieszanymi warunkami brzegowymi (I i III rodzaju), a również z warunkiem adiabatycznym qb = 0 (jest to szczególny przypadek warunku II rodzaju), podstawiając w miejsce a, lub a p wartość 0.
natomiast wektor prawej strony wynosi [ 15000
0
0
0
0
0
0
200 ]T .
Po rozwiązaniu układu równań otrzymano T = [ 140,819
140,452
140,085
139,718
139,350
130,169
co odpowiada zresztą rozwiązaniu dokładnemu (analitycznemu).
120,989
111,808
«* Przykład 8.2 Ten sam, co poprzednio, algorytm wykorzystamy do wyznaczenia ustalonego pola temperatury w płycie o grubości 0,07 m wykonanej z materiału o współczynniku przewodzenia \ = 1 . Wydajność źródeł wewnętrznych jest stała i wynosi 10s W /m 5 . Na brzegach zadany jest warunek I rodzaju, a w szczególności T, =100, Tp =20. W obszarze płyty wyróżniono 7 elementów skończonych o długości 0,01 m. Dla powyższych danych macierz przewodności (uzupełniona składnikami wynikającymi z warunków brzegowych) jest postaci 1 +0,01 a ; -1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
1+0,01
natomiast wektor prawej strony - [ 200 a , + 1000
2000 2000 2000 2000 2000 2000
4 0 ^ + 1000 ]T .
Do programu wprowadzono a, = ap =10'° i po rozwiązaniu układu równań otrzymano T = [ 100,00
118,57
127,14
125,71
114,29 92,86 61,43 20,00 ]T ,
Rozwiązanie przybliżone daje dokładnie te same wyniki, co rozwiązanie analityczne wyrażjące się wzorem T ( x ) = -5 0 0 0 0 x 2 + 2357x + 100. ■ Warunki II rodaju (zadany brzegowy strumień ciepła) dołącza się do układu rozwiązującego w sposób ,,naturalny” . Załóżmy, że warunek brzegowy dla x = L ma postać - \ d T / d x = q b. Wówczas 0 0 ,d T O ę ) dx
(8.41)
= P n
o & czyli po prawej stronie układu rozwiązującego ostatni wiersz macierzy wyrazów wolnych należy uzupełnić o qb .
317 J Algorytm MES dla zadań z warunkami III rodzaju (X =cost, Q = const) jest następujący Lista zmiennych: całkowite : n, i, j rzeczywiste: L, X, Q, h, al, ap, Tal, Tap tablice : > > >
[0 .. n, 0 .. n ], Z [0 .. n ] , r [ 0 .. n]
Podaj L, n, X, Q, a l , a p . Tal, Tap Oblicz h : = I / n Dla i : = 0 , 1, '
n
I Dla y : = 0 , 1, .... n Podstaw K. j : = 0 Dla i : = 1, 2 , .... n - 1 Podstaw K n : = 2 Podstaw K t i_l : = -1 Podstaw K. 4łI : = -1
Podstaw K0 0 : = 1 Podstaw K0 , : = -1 Podstaw Kn n. t : = - 1 Podstaw Kn n : = 1 Dla i : = 0, 1, ..., n
(
Dla j : = 0 , 1, .... n Oblicz K , , : = — K, h i}
Oblicz K 0 0 : = K0 0 + al Oblicz K n n : = K n n + ap j Dla i : - 1 , 2 , .... n - 1
I
Oblicz Zt : = Q h
Oblicz Z0 : = 0.5 Q h + al Tal Oblicz Zn := 0.5 Q h + ap -Tap Oblicz T : = K *1• Z
{wykorzystać algorytm Thomasa rozwiązywania układów rownan)
> >>
318 W dalszej części niniejszego podrozdziału omówimy pewne problemy związane z wykorzy staniem elementów skończonych wyższych rzędów. I tak, na rysunku 8.3 pokazano stosowany do tej pory element liniowy (a) i kwadratowy (b). Jak widać, w elemencie kwadratowym oprócz jego krańców jc<+, wyróżniamy węzeł wewnętrzny xt , dla uproszczenia zapisu długość elementu oznaczymy przez h = h w . (a) *7-i
(b)
*/-i
*/
x/+1
Rys. 8.3. Element liniowy i kwadratowy Funkcję T ( x ) w obszarze elementu zapiszemy w postaci funkcji kwadratowej wykorzy stując wzór interpolacyjny Lagrange’a T, X) =
T
+ T
r
0 ,5 ń 2
‘
0,25 h 7
(* -* ,-,)(* -* ,)
(8 42)
0.5A1
Jak łatwo sprawdzić, 7 ( * ,_ ,)= 7,_,, T(xi ) = Ti, 7(x,+t) = 7/+l. Wprowadzimy lokalny układ współrzędnych związany z węzłem centralnym elementu (e): p = x —xi . Można zauważyć, że dla x = x,,: p = 0, x = x ii.x: p=0,5h, x=x,_x: p = - 0 , 5h, natomiast T M
= Jj[(2
P 2- h p ) T M-
- (2pł .*j> )rw ]
(8.43)
h lub
7 (x ) = —2 [{2p2 - h p )
~{4p2 - h 2)
{2p2 +hp)}
Ti-, r,
(8.44)
Pochodne funkcji kształtu elementu (e) wynoszą dtf, ~dx
dN, dp d
_
p dx
dN2
dN2
~dx
dp
d N 3,
dN,i
dx
dp
_
=
dNx dp
_
8P h2
(8.45)
_ f
2
i —A * p + h ) h2
’
319 czyli
dla elementu (e)
= [f dx
f
f |
K» *
*]
7|-i - [P m
fi
dx
p,
dx
M
/z /,
P< P m ]
/ 1/ 2 / fi
(8.46)
1/3 7;
/ 2/3
(8.47)
/ 3/1 / 3/ 2 f i . . V
Zgodnie z kryterium metody odchyłek ważonych powyższe wyrażenie należy scałkować po rozpatrywanym elemencie. Przykładowo
f f \ 2dx = — f (1 6 p 2 - 8ph + h 2) dp = —— (<)
itd.
(8.48)
Ostatecznie otrzymujemy 7 -8 - 1**-,
M
p.
M
-8 3 h (e)
1
16 -8
1 -8
(8.49)
7
Tak więc, macierz przewodności (sztywności) elementu (e) wynosi 7 -8 X<‘>
K (e> =
3 h (e)
-8
1 (8.50)
16 - 8
1 -8
7
Z kolei 2 p 2 - hp
/
P,
Pfłl] / ) h 2 - A p2 dp
h
h
(8.51)
2 p 2 + hp
skąd dla uśrednionej w podobszarze elementu wartości Q ( x) mamy r /
n<«) /,(«) < ? ( * ) * U ) d A r
=
p j
p (>ij
(8.52)
(O Dalsze etapy algorytmu, a więc dołączanie warunków brzegowych i tworzenie układu rozwiązującego, są takie same jak w przypadku elementów liniowych.
320 «■ Przykład 8.3 Wyznaczymy źródłowe pole temperatury w płycie o stałej wartości współczynnika przewo dzenia ciepła, stałej wydajności źródeł wewnętrznych przy warunkach * = 0 : —Xd77dx = qbi x=L: -X d T / d x = a ( T- T a ), wykorzystując elementy kwadratowe. Obszar płyty (Z. = l) podzielimy na dwa elementy h(]) =hm =h= 0,5, przy czym X, =X2 =X. Węzły 0, 1, 2 należą do elementu (1), natomiast węzły 2, 3, 4 - do elementu (2). Macierze przewodności są dla obu elementów takie same i po ich „zszyciu” otrzymuje się następującą macierz dla całego obszaru 7 -8 -8 1
1
0
0'
16 - 8
0
0
- 8 14 - 8
0
1 .
0 - 8 16 -8
0 0
1 - 8 7
Do układu rozwiązującego dołączmy warunki brzegowe i macierz źródeł. Po uproszczeniu przez macierz /3 =[/30 , .... /34] otrzymujemy 7 -8
-8 16
1
0
0
-8
0
0
Tx
4
i
_ Qh T> 6 T,
2
1
-8
14
0
0
-8
0
0
1
-8
-8
16 -8
i +6qbI Q h
A
7 +3 a h / k
4 l+6
A
8.3. MES dla ustalonego przepływu ciepła w walcu i kuli (zadania ID) Rozpatrywać będziemy jednowymiarowe równanie przewodnictwa dla przegrody walcowej, czyli i _ ! Xx d T{x) djc x dx
+ Q(x) = 0 .
(8.53)
Warunki brzegowe w ogólnym przypadku można zapisać następująco x - Rj :
T ( x ) , d7(jc) dx
=0
(8.54)
= 0 .
(8.55)
oraz x = Rj :
$
T(x), d r(x ) dx
321 Równanie (8.53) przedstawimy w postaci dT(x) _d_ Xx dx dx i 1
(8.56)
+ xQ(x) = 0
Stosując do powyższego równania kryterium metody odchyłek ważonych mamy *2 - ± f i.4 U 2 dx{ dx
/
(8.57)
♦ * < ?(* ) w (x )d x = 0
Ostatnią zależność można zapisać następująco (8.58)
f — (x x ^ - ^ ^ ) w ( x ) d x + f x Q ( x ) w ( x ) dx = 0 .
«, d*V
dr j
i,
Pierwszy jej składnik całkujemy przez części i otrzymujemy R>
R, dT(x) dw(x) dx + f x Q ( x ) w ( x ) d x = 0 , (8.59) dx
Xx d 7 ( x ) w (x) dx
~ f XX dx
czyli
J
dX
dx
dx
dr dx
-
i-R,
(8.60)
w (/?,) + f x Q ( x ) w ( x ) d x .
Równanie (8.60) stanowi podstawę algorytmu metody elementów skończonych dla zadania dotyczącego ustalonego jednowymiarowego przepływu ciepła w obszarach o geometrii walcowej. Na etapie obliczeń numerycznych w obszarze przegrody walcowej wyróżniamy węzły R|= x 0 < X, < ... < Xj_, < x / < ... < xn =R2 i otrzymujemy elementy skończone [x,_,, x , ] o długości /t(e)= x, —x,_,. Całki występujące w równaniu (8.60) zastępujemy sumą całek po elementach skończonych, czyli
f-r
i
Xx
A dxr
dr(x) dx
A dxr
w{Rx) + £
Xx
d T{x) dx X-R}
f xQ(x)w(x)dx .
-
(8.61)
Jak łatwo sprawdzić, dla elementów liniowych całki występujące w ostatnim równaniu wynoszą 1 -1
d T ( x ) d w ( x ) dx d* dx
[Pm
2 h <«>
PJ
-1
1
(8.62)
Ti
'jjż
oraz J x Q ( x ) w ( x ) dx
h (e)Q («)
[ P, -,
P.]
x.-«
(8.63)
* l +2xi.
’••(IBB
Macierz 1 -1
K (e) 2 h (e)
[-1
(8.64)
1
nazywa się macierzą przewodności dla elementu walcowego (e). Całki (8.62) napiszemy dla kolejnych elementów skończonych „rozciągając” je na cały obszar [x0, jc„]. I tak, dla pierwszego elementu otrzymujemy
\ x * i m ix dx dx
a(I) k
1
-1
0
0
.. .
0
To
-1
1
0
0
.. .
0
Ty
0
0
0
0
.. .
0
T2
0
0
0
0
.. .
0
T"i
0
0
0
0
.. .
0
Tn.
0
0
0
0
.. .
0
Tn
^ ,)
2A (1)
(8.65)
a dla elementu drugiego
/*, d T d w , r / X x --------- dx = Pc J dx dx Lc
A.(2)(Xj +*2)
0
0
0
0 ...
0
1 -1
0 ...
0 0
0
-1
1
0 ...
0
0
0
0
0 ...
0
0
0
0
0 ...
0
n- 1
0
0
0
0 ...
0
T_
( 8. 66)
2 h
323 Suma tych całek wynosi xt
i
i ■
i ® Ęi
/
=[p»p>
f.]śKMi'
(8.67)
gdzie K w jest macierzą przewodności elementu (e) „rozciągniętą” na cały obszar. Zau ważmy, że oznaczając
_*U)(*o+*i) ,
. _ *<2>(*i+*2 )
k2
k, =
( 8 . 68)
2 h ( 2)
2 /t(1)
otrzymujemy globalną macierz sztywności o takiej samej strukturze, jak w przypadku płyty nieskończonej (por. wzór (8.30)). Z kolei całka związana z funkcją źródła wyraża się zależnością r h (e)0 {e), [ xQ(x)w(x)dx= P ,.,
W
J
g
i
1
2 V i +*«]
P,
1
‘J
'<-1
(8.69)
[ xi - i+2x,
Podobnie jak przy tworzeniu macierzy przewodności cieplnej, całki związane z funkcją źródła również „rozciągamy” na cały obszar i otrzymujemy 0
/
r
h (e)0 (e)
p,
...
p .„
p„]
2 x i - i +xi
(8.70)
x <-i+2xi
Suma tych całek wynosi
E
** / x
...
PB.,
P „]E z “ ’ = P 'z .
(8'71)
gdzie Z jest wektorem związanym z funkcją źródła dla całego rozpatrywanego obszaru. Sposób uwzględniania warunków brzegowych w układzie rozwiązującym jest taki sam, jak omówiony w podrozdziale poprzednim. Przykładowo, dla warunków III rodzaju do globalnej macierzy sztywności dodajemy macierz R i ai 0 W =
0
. .
0 0
0
0
o
. .
0
0
0
. • R2 ap
(8.72)
324 a do macierzy źródeł wektor R l a lTa, 0 (8.73)
B = R22 a p Tap Ostatecznie należy rozwiązać układ równań
(8.74)
(K + W ) *T = Z + B , z którego wyznaczamy nieznane wartości temperatury. W drugiej części niniejszego podrozdziału rozpatrywać będziemy równanie _1_ _d_ dx
x 2 d*
(8.75)
*
opisujące jednowymiarowy przepływ ciepła w warstwie sferycznej. Równanie (8.75) uzupełniają warunki brzegowe w postaci (8.54), (8.55). Równanie metody elementów skończonych wyprowadzimy wykorzystując, jak poprzednio, kryterium odchyłek ważonych *2r
/
± (xx*
i M
d T ( x) dx
(8.76)
+ x 2 Q(x) w (x)dx = 0 ,
czyli
i
J Hr
dx
w(x)dx + f x 2Q ( x ) w ( x ) d x = 0 .
(8.77)
Pierwszy składnik tego równania całkujemy przez części i otrzymujemy r X x 2 m x ) d w ( x ) dx __ X x 2 d7™ dx dx dx
w (R 2)
(8.78)
dx
w ( R {) + J x 2 Q ( x) w ( x) dx . x » R,
Obszar warstwy kulistej dzielimy na elementy skończone i całki występujące w równaniu MES zastępujemy sumą całek po elementach skończonych, czyli E />■
c2 d T ( x) dw (x) dx = A ,’ d7^ > dx
dx
dx
w(R.) -
325
w (/?,) + £ ) / * 2 ( ? ( * ) w(* )d x .
dx
(8.79)
x* R .
Przedstawimy teraz wyniki obliczeń całek występujących w powyższym równaniu po wyróżnionym elemencie (e). I tak
} x x 2 Ó T i w óx J dx dx
3/z2
*1-1
1 -1 T1 i - l Pi] [-1 lj T i
i-i
1
(8.80)
= x ,- x ,_ 1. Macierz
1 -1
K i.» _
[-1
3h2
(8.81)
l]
jest macierzą przewodności dla sferycznego elementu (e). Całki określone zależnością (8.81) napiszemy dla kolejnych elementów skończonych ,,rozciągając” je na cały obszar [x0, x„]. Dla pierwszego elementu otrzymujemy Xx2^ ^ d x J dx dx x0
'1
Po P
1
-1
0
0
...
0
0
-1
1
0
0
...
0
0
0
0
0
...
0
0
0
0
0
0
...
0
0
0
0
0
0
...
0
0
3
3
3h2
0 ...
p2
• ••
Pn- »
M -
T°
(8.82) T2
...
..................
Tn - l,
a dla elementu drugiego w . -d x X
0 0 0
X<2>
■1 Po p. p2 0
0
1
-1
-1
0 0
•
• p„- 1 P J -
1
0 0 0
... ... ...
0 0 0
0 0 0
0 0
0 0
... ...
0 0
0 0
' *0 Ty T2
3h2
0 0 itd.
Tn. Tn
(8.83)
Tworzymy, jak poprzednio, sumę całek i wprowadzając oznaczenia Ł _ *1 =
K2
3A
(je j- x l )
-
(8.84)
3A
otrzymujemy macierz przwodności K dla całego obszaru o strukturze (8.30). Obliczenia całki związanej z funkcją źródła prowadzą do następującego wyniku 3r,2., + 2 x i_xxi + x?
xi f
x
2Q (
x
)
w
(x )
dx =
-—[ P|_,
Pi]
xh +
(8.85)
+ 3xf
Podobnie jak przy tworzeniu macierzy przewodności cieplnej, całki związane z funkcją źródła również ,,rozciągamy” na cały obszar i dla elementu pierwszego otrzymujemy 3ro + 2x0x t + x x x0 + 2xoXl + 3x i f x 2Q ( x ) w ( x ) d x =
(
[P0 P, P2 ... Pn_, P„]
8. 86)
0
itd. Suma tych całek wynosi xi
E
/ x ’9 W » W d x = [P0 P, ... p„_, P„]Z,
(8.87)
gdzie Z jest wektorem związanym z funkcją źródła. W przypadku stałej wartości funkcji źródła (Q (x) = const) i stałego kroku h postać macierzy Z jest następująca 3xo2 + 2x0x x + x f
+ 2x. , x. + 4 x i + 2x.x.
2
x /i-i
+ x,
(
8. 88)
2
. n-1,x n, + 3x_n
Pozostały do omówienia składniki związane z brzegiem obszaru. Przedstawimy sposób uwzględniania warunków brzegowych III rodzaju. Jak łatwo sprawdzić, wpływ odpowiednich składników w równaniu MES sprowadza się (jak poprzednio) do uzupełnienia macierzy
327 przewodności macierzą a,Jif
0
0
0
0
0 (8.89)
W = 0
0
0
0
0
0
a macierzy źródeł wektorem a i R \ T al
0 (8.90)
B =
a p„ R21 Tao °p Końcowa postać układu rozwiązującego (K + W ) -T = Q + B jest taka sama, jak w przy padku przegrody walcowej i płaskiej. Na zakończenie tej części rozważań należy podkreślić, że omawiane wyżej zadania brzegowe można najczęściej rozwiązać analitycznie (pewne komplikacje mogą wynikać z postaci składnika źródłowego). Dosyć szczegółowa prezentacja algorytmu MES dla tego typu zadań wydawała się jednak autorom podręcznika niezbędna, ponieważ pozwalała w sto sunkowo prosty sposób przedstawić metody wyznaczania macierzy tworzących typowy układ rozwiązujący MES zarówno dla obszarów jednorodnych, jak i niejednorodnych. Podobne do prezentowanych elementy algorytmu pojawią się przy konstrukcji układów rozwiązujących dotyczących zadań 2D, a również w przypadku wykorzystania MES do modelowania procesów nieustalonej dyfuzji.
8.4. MES dla nieustalonego przepływu ciepła (zadania ID) Rozpatrywać będziemy nieustalony przepływ ciepła w płycie, to znaczy problem brzegowopoczątkowy opisany następującym układem równań i warunków * e ( 0 , L) : - f ox
d T ( x , t) dx
x =0
TOc, 0 .
x - L
T ( x , t).
t =0
* Q (Xj t) - c 3 r ( *» f) = o ,
en*, o a* en*, t ) a*
: 7 ( * , 0) = T0(x) ,
dt
- o , = 0,
(8.91)
328 gdzie (jak w rozdziale 7) L [m] jest grubością płyty, c [J/m3 K] jest ciepłem właściwym na jednostkę objętości, X [W/mK] - współczynnikiem przewodzenia ciepła, Q (x, t) [W/m3] funkcją źródła. Do rozważań wprowadzamy siatkę czasu 0 = t° < t l < ... < t ^ 1 < t f < ... < t F < »
(8.92)
ze stałym krokiem At = t f - t r~x i przejście od chwili t f ~' do t f traktujemy jako „odrębne” zadanie brzegowo-początkowe. Dla rozważanego przedziału [tf ~x , t f ] przyjmujemy, że funkcja wagi jest zależna jedynie od współrzędnej geometrycznej. Wykorzystanie kryterium metody odchyłek ważonych prowadzi więc do zależności
/
\
c dT(x, t) +
d T ( x , f ') ] dx )
-dx\ 1
(8.93)
gdzie t f ], w (r) jest funkcją wagi. Równanie (8.93) zapisujemy w postaci r j - f x a r <*. ' ' ) L , u , l M dx J ' {
w (x )d x +
ei
(8.94)
L j Q ( x , r J )w (j;)d x = 0 . o Całkując pierwszy składnik równania (8.94) przez części otrzymujemy , dT ( x , t s ) , . X ---- — ---- - w ( x ) dx
/«
d T ( x , t) dt
- f x d T (x > i dx
dłV(JC) djr _ dx
(8.95)
w (x)d j: + f Q ( x , t *) w( x) d x = 0
a po zastąpieniu całki po obszarze sumą całek po elementach
V
^
f x d T ( x ’ fJ) dvv (,x) dx + V
J
Ar
Hr
^
J
$t
w (x )d x (8.96)
Y. f Q(X' ^ ) w ( x ) Ó X =
^ dT(x, n dx
w (I) x»L
x dT { x , n dx
w (0)
Dla elementów liniowych, to znaczy * e [x ,_ p x.] : T(x, t s ) =
T-
(8.97)
r 329 i takich samych jak w przypadku zadań ustalonych funkcji wagi, mamy (por. wzór (8.22)) 1 -1
f x ST( x, I1) d M £ )djt = dx
dx
-1
h l‘)[
K i
1
(8.98)
Ti
i ostatecznie E
^ a r ^ ) d ^ ) d_ dx ■dx ’ *»-i
(Po
Pi
p2
p <) k
i
(8.99)
-t ' .
przy czym (jak poprzednio) K = £
K (<)
(
8 . 100)
jest macierzą przewodności cieplnej dla całego obszaru, natomiast T ł jest wektorem tempera tury w węzłach wewnętrznych i brzegowych w chwili r = r 1. Przy wyznaczaniu drugiej całki występującej w równaniu (8.96) zakładamy, że . *€ [* ,-1 , *,] :
dT(x, t) at
i wówczas
ar(x, o ar
*i W ( x ) d x = [ p łM p j c ^ / *“* '.-i
dx
(fi
( 8.
102)
W,W,., A?
Po wykonaniu całkowania otrzymujemy a r y
} c 3 T ( x , r) w (x)dx = [ p ^ j dt f. f' 'l-l
2
p , ] ~ ----[i 6
1
* L
2
a ry dt ),
Całkę (8.103) „rozciągamy” na cały obszar a r ( x , r) ar
(x)dx - [Po p, ... p(., Pj ...
P„_,
pfl]-
(8.103)
1 330
c (e)h (e) 6
0
0 ..
0
0
...
0
0
0
0 .. .
2
1 ...
0
0
0
0 ..
1
2 ...
0
0
0
0 .. .
0
0
0
0
...
(8.104)
i ostatnie równanie zapisujemy w postaci 'r
dT (x, t)
w ( x ) d x = ( P 0 P,
p2 ... P , „
P . ] pl,> ( ^ 7 ) ’ . (8.105)
Występująca w kryterium odchyłek ważonych suma takich całek wynosi j , / c d3 T (7x , ^t ) 0 1 ^ ^ , [ P o P i ł < | r . ( n j - , (8,106)
gdzie p = 53 p ('>
(8.107)
jest macierzą pojemności cieplnej dla całego obszaru. Jeśli ciepło właściwe odniesione do jednostki objętości jest stałe oraz h (t) macierz pojemności jest równa 2
1
0
0
...
0
0
0
0
1
4
1
0
...
0
0
0
0
0
0
0
0
...
1
4
1
0
0
0
0
0
...
0
1
4
1
0
0
0
0
...
0
0
1
2
ch T
const., to
(8.108)
Konstrukcja macierzy pojemności w bardziej ogólnym przypadku jest również (z infor matycznego punktu widzenia) bardzo prosta.
W
331 Całkę związaną z funkcją źródła obliczamy jak poprzednio, a mianowicie 0
j
t s) w( x )d x = O— — [ P 0 P i
P ,-i P,
(8.109)
P „ - , P„]
X,.,
czyli /
Q (x, ,-)w (x)d x
= [p0 p, ... p,_,
p, ... p„.,
P.]Q <»,
(8.110)
natomiast suma tych całek wynosi *1
E
{
Q ( x , t s) w ( x ) d x
= [p0 p, ... P,.,
p, ... P„_, p„] Z ,
( 8 . 111)
gdzie Q = E Q(e)
(8.112)
Ostatnie dwa składniki w równaniu (8.96) są związane z warunkami brzegowymi i można je zapisać w postaci W (I)
,
d T (x ,n dx
-w (0 ) x-L
•
- [Po p , -
dx
P .- , P „]W
,(8.113)
gdzie d T ( X, t s) dx
0 (8.114)
W =
X(«> d T ( x , i s) dx
x* L
1
332 Wstawiając otrzymane zależności do równania MES mamy K Tł +
(8.115)
- Z = W .
Pochodną temperatury po czasie w węzłach xt , i —0, 1, .... n przybliżymy ilorazem różnicowym prawostronnym, czyli
,el,
dt
-r / ~7/ '1 ■ 4 . =<8116>
At
Końcową postać układu rozwiązującego zapiszemy w konwencji schematu niejawnego (s = / ) . Tak więc (8.117)
K T 7 + — P - f T ^ T 7' 1) - Z = W At lub (k + — { At
p
I - T 7 = — P T7' 1 + W + Z . j At
(8-118)
Sposób dołączania konkretnych warunków brzegowych jest taki sam, jak przedstawiony w podrozdziałach poprzednich. Podsumowując omówiny wyżej algorytm, na podstawie temperatur z chwili r7" 1 wynikających z warunku początkowego lub pseudopoczątkowego, z układu (8.118) wyznacza się pole temperatury dla chwili r7 w punktach /= 0 , 1, .... n. Z formalnego punktu widzenia układ rozwiązujący MES można formułować w konwencji schematu jawnego, ale jak pokazują doświadczenia autorów niniejszego podręcznika, uzyskiwane wyniki nie są zbyt dobrej jakości. Nic natomiast nie stoi na przeszkodzie, aby do obliczeń wykorzystywać podejścia jawno-niejawne. Jeśli rozważany problem dotyczy obszaru ID o geometrii walcowej, to równanie opisujące nieustalone źródłowe pole temperatury jest postaci R^ < x <
c dTjx, t) dt
:
1 6L x dx
an*. 0 dx
+
(8.119)
Równanie (8.119) uzupełniają warunki podobne jak w modelu (8.91). Dla rozpatrywanego przedziału czasu [r7" 1, r7] kryterium metody odchyłek ważonych prowadzi do zależności
f x x d T ^X’ i dx
f -
dx
dx
+
f i
^
CX d T ( * '
dt
w ( x ) d x - [ x Q ( x , r)w(jt)dx i
=
(8.120)
dx
w ( R2)
'*>1 X
-
dx
**>]
lub po dyskrętyzacj i
E
/ >
d T ( x , r ł ) dw (x) dx dx
d* + E f cx e
r
xi-l
dT(x, t) dt
w (x ) d x -
xi ( 8.
E / *
L ar<*- r'>l
w ( R 2)
dx
-
L ar<*’ '‘>1
121)
w(*,) .
dx
Całki z iloczynów pochodnych temperatury i funkcji wagi wynoszą 1 -1
^ a ru .,* )d w o o dx. J dx dx x/-i
^ -1
2h w
7-/-1
1
( 8 . 122)
Ti
a po ,,rozciągnięciu” na cały obszar f i TdT (x , fł ) dw(x) dx = J dx dx
[Po P,
p
Pt-,
•
• p„
x i~ i
0
0
..
0
0
...
0
0
To
0
0
..
0
0
...
0
0
Ti
W x ^ + x j
0
0
..
1 -1
...
0
0
Ti-1
2 h {t)
0
0
..
-1
1 ...
0
0
Ti
0
0
..
0
0
...
0
0
c ,
0
0
..
0
0
...
0
0
Ts
(8.123)
Ostatecznie otrzymujemy wynik podobny jak w zadaniu dotyczącym stanu ustalonego, a mianowicie
E 7 A* ar(£ t*~ ^ ^ J* ‘ [P0 P| P2 - P , - i P«jK ' T ‘ • (8124) przy czym K jest macierzą przewodności cieplnej dla obszaru przegrody walcowej.
Przy obliczaniu drugiej całki występującej w równaniu (8.121) zakładamy, szybkość stygnięcia (nagrzewania) dT/ dt opisuje zależność (8.101) i wówczas d T (x , t) f c x ^ J dt
lokalną
w (jc)dx =
(8.125) 1 Ni -t N,
[ P,-, P
U ri, dx (ary 1d t [
N.N, i <-l. Nif
*1-1
Po obliczeniu kolejnych całek (co jest zadaniem dosyć żmudnym) otrzymujemy
fcx
J
d T ( x , t) dt
w(x)dx =
*i-i+*.
3
[ P.-. 0,1
xt- i +xi
12 xt-i*x,
xi - i +3xi
(8.126)
(SLl (fil
Ostatnią zależność można zapisać w postaci (8.127)
^ ( „ d * = [ p 0 p , p ; ... p . „ gdzie
, , = cŁ{t)hn (e) p(«) 12
0
0 ..
0
0
0
0 ..
0
0
0
0 .. • 3xi - l +xi
xt - l +xi
0
0 .. •
0
0 ..
x t - l +x,
0
0
0
.
0
0
•• .
0
0
xl-l +3xi •• .
0
0
0
0
0
..
(8.128)
jest macierzą pojemności cieplnej dla elementu walcowego (e), natomiast
Z f
S T ( x , I) dt
w ( x ) i x - [P 0 P, P2 ... P .., P „ ] P - ( ^ ) ' • (8.129)
335
P =£
i
(8.130)
P<‘>
jest macierzą pojemności cieplnej dla obszaru przegrody walcowej. Całkę związaną z funkcją źródła obliczamy jak poprzednio, a mianowicie 0
r
/ xQ( x, t ’ ) w ( x ) d x =
/
x Q ( x ,
t') w ( x ) d x
h
2 jci - i +xi
,
^ — [Po ••• P i- 1 Pi -
P„]
(8.131)
*<-1
= [ P 0 p , ... P(_, P, ... P . . , P„] Q (° ,
<8 1 3 2 >
a po zsumowaniu
£
/ *
f ) w ( x ) A x
- [P„ P, ... P ,., p, ... p . . , P „ ] Z .( 8 1 3 3 )
Ostatnie dwa składniki w równaniu (8.121) związane są z warunkami brzegowymi i można je zapisać w postaci ^ a n s , f J) 8x
- w(/?l )/?1 dx
x»/t.
- f Po ••• P J W ,
(8134)
«i gdzie a r( jc , a*
_ >.
o
? jS
(8.135)
w = o
i.
3 r ( x , / ') dx
336 Dalsze czynności prowadzące do konstrukcji układu rozwiązującego MES są takie same, jak w przypadku płyty nieskończonej. Wyprowadzenia dotyczące geometrii sferycznej mogą być przedmiotem ewentualnych ,,badań własnych” Czytelnika i nie będą w tym miejscu prezentowane.
8.5. Metoda elementów skończonych w zadaniach 2D Podstawowe elementy metody elementów skończonych w zadaniach 2D nie odbiegają w swojej istocie od przedstawionych w podrozdziałach poprzednich sposobów jej wykorzystania w zadaniach ID, chociaż z formalnego i informatycznego punktu widzenia, algorytmy są, oczywiście, bardziej skomplikowane. Przy ich omawianiu, podobnie jak poprzednio, MES potraktujemy jako szczególny przypadek metody odchyłek ważonych. W pierwszej kolejności zajmiemy się kryterium metody odchyłek ważonych dla równania Poissona opisującego ustalone, źródłowe pole temperatury w obszarze płaskim zorientowanym w prostokątnym układzie współrzędnych, czyli równaniem (8.136) Dla rozważanego zadania kryterium MOW przyjmuje postać f f [ X V 2T( x , y ) + Q ( x , y )]w (jc ,y )d Q = 0 . Q
(8.137)
Przypomnimy teraz znane z kursu analizy matematycznej twierdzenie Greena dotyczące związku między całką krzywoliniową skierowaną po krzywej zamkniętej T a całką podwójną po obszarze płaskim 0 ograniczonym tą krzywą. Jest to zależność postaci (8.138) gdzie P =P(x, y), R =R(x, y). Z twierdzenia (8.138) wynika, że (8.139) Podstawmy teraz R =R ] R2, P =P i P2 - Przy powyższym założeniu mamy
(8.140)
337 Niech Rx =dT/dx, R2 =w, Px =dTl dy , P2 =w, wówczas (a* dT dw d 2T -----w + --------- d x d y , dx dx
/
f ! dx2
(8.141)
rdr . r r ( d 2T ara w ) / — w dx = - 1 / 1 ----- w + ---------- dx d y { dy JQJ { d y 2 dy dy j
skąd
!( V
ar .
ar .
— w dy - — w dx dx dy
[w — d r = { an
[[wV'Tdxdy
*[ [ ( H i ?
(8.142) .
]a] { S x 3
Należy jeszcze wyjaśnić, dlaczego
{(«
dT f (dT, w dy - — w dx = ‘ H - d y dy ) r
dT dy d*
W
dT , r w— dr dn
(8.143)
Wektor [dx, dy] = [c o s a d r, cosjSdr] (rys. 8.4) jest zorientowany stycznie do fragmentu brzegu natomiast wektor [dy, -dx] = [cos/3dr, - c o s a d r ] jest do d r prostopadły (wynika to natychmiast z ich iloczynu skalarnego). Tak więc wyrażenie pod całką we wzorze (8.143) jest pochodną kierunkową w kierunku do brzegu prostopadłym (iloczyn skalarny gradientu temperatury i wektora n).
dr,
i
'#■
Rys. 8.4. Element brzegowy i wektor do niego normalny Równanie (8.142) pomnożymy obustronnie przez współczynnik przewodzenia ciepła X, a następnie do prawej strony dodamy i odejmiemy składnik
/ =f f
Q(x, y)w (x, y) dxdy
(8.144)
338 Otrzymamy w ten sposób równanie (8.142) przekształcone do postaci J X— w d r = J J (AV2r + Q )w d x d y ~ J J Q w d x d y r
dn
o
J0 J
o
{ dx dx
(8.145)
dy d y )
Ponieważ z kryterium metody odchyłek ważonych wynika, że | | ( A V 2r +
(8.146)
więc
f j i f
xf
* T y fy )dldy -
Wdr * ( J QWiZdy ■
(8,47)
Ostatnie równanie jest odpowiednikiem słabego sformułowania MOW w zadaniach ID. Dotyczy ono wprawdzie zadania Poissona, ale może być wykorzystane w modelowaniu nieustalonych pól temperatury. Dla przejścia r 1 -* t f w całce związanej ze źródłami wewnętrznymi należy w miejsce Q wprowadzić iloczyn - cdTl dt . Po dyskretyzacji brzegu i wnętrza otrzymujemy następującą postać równania (8.147) d T dw dx dx
dTdw dT Q w d x d y = 53 / k wdr dy dy ) dn <*'> («')
(8.148)
gdzie (e) są wewnętrznymi elementami skończonymi (z reguły trójkątnymi), natomiast (e‘) są elementami brzegowymi (bokami elementów wewnętrznych sąsiadującymi z otoczeniem), przy czym zakładamy podział zapewniający jednorodność warunków (I, II lub III rodzaju) na poszczególnych elementach brzegowych. Podział obszaru i brzegu na elementy trójkątne (triangulację) pokazano na rys. 8.5.
Rys. 8.5. Triangulacja
339 Na rysunku 8.6 pokazano z kolei pojedynczy trójkątny element skończony. Założymy, że jest to element liniowy, czyli pole temperatury w tym elemencie opisuje funkcja liniowa X
T
f r,v
1
y
1
xi
i
h.
>2
1
X3
>3
1
(8.149)
=0 .
Ostatni wzór jest zapisanym w postaci wyznacznika równaniem płaszczyzny ,,rozpiętej” nad trójkątem. Funkcja T(x, y) wynikająca z ostatniego równania jest postaci x *2
r< * . , ) - -
y
x
1 1
y
x
1
oc3 y3 1 T2 ♦
*
*3 >3 1
*1 y\ 1
y
>
1
>i 1 T, x2 y2 1
(8.150)
gdzie A jest polem trójkąta (polem rozpatrywanego elementu).
Funkcję T(x, y) można również zapisać następująco
(8.151)
T ( x , y) = [JV, N2 Af3]
gdzie
N x=— 1
2A
x
y
1
*2
y2
1 ,
*3
y-i
1
n 2 =—
2
2A
x
y
1
*3
>3
1
x , W3 = — 3
*1 >1 1
*i
y
1 1
2A
*2 >2 1
(8.152)
340 Oznaczymy ytJ =y, - y j , xlj=xi - x,, i, j = 1, 2, 3. Pochodne funkcji kształtu względem współrzędnych geometrycznych wynoszą odpowiednio aw,
aw,
i ~ a7 “ 2 A
“a 7
dN2
dN2
1 2A
a/v3
1 c u
1 2A
a*
32 *
J _ x 13 2A 1
dy ii
~ a7
1 2A
=
ay
(8.153)
1 ___x 2A :
lub
ar
1 r
i
ar a>
dx ' 2 a I >m yjl y ‘2l
1 r
_
(8.154)
x,3
oraz > 23
T
■
>31
p> M
Ty *
(8.155)
P2M ‘ 13
^
>12
Obliczymy całkę
r r ^ f d T dw
dTdw\,
.
.
Xie) . „
...
p2 N ^ ( X ł Y >
//d x d } . («) (8.156)
(P,
f>,
P , ] - ( X 'V )
gdzie 2 ■*32
X =
2 X 32X 13 X 32X21
2 X 13X32
X 13
X 13X 21
X21X32
X 2 1 X 13
X2 l
> 23
,
Y
=
> 2 3 > 31
> 2 3 > 12
2
(8.157)
> 3 1> 2 3
>31
>31 > 12
> 1 2 > 23
> 12> 31
2 >12
Macierz K (e) = — (X + Y) 4A nazywa się macierzą przewodności cieplnej elementu (e).
(8.158)
341 Wyznaczymy teraz całkę po elemencie skończonym (e) związaną z funkcją źródła q(x, y), a mianowicie
J / < ? ( x , y )w (x , y )d x d y = Q (« )|Pi
Pj
P j] J j
dxdy =
(*) ffl^y2~ («)
_
f f l ^ y 3 ~>i)jc [P, P2 Ps] («)
N,
- (x2 - *3)y + *2y3 - y2*3]dxdy
(8.159)
- (x3 -x ,)y + *3y, -X jy 3]dxdy
~ y J x - (*\ - *i ) y + * i> 2 " ^ > i ] djcdy
(O Po wykonaniu obliczeń otrzymuje się
/ /
(8.160)
p2 P j]
czyli / / < ? ( * . y ) w ( x , y )d x d y = [P, (O
p2 p3]Z (e ),
(8.161)
gdzie
(8.162)
Z («> =
jest macierzą źródeł elementu (e). Pozostała do wyznaczeniu całka po brzegu I \ Rozpatrywać będziemy trójkąt (element skończony), którego jeden bok styka się z otoczeniem. Przez 1 i 2 oznaczymy początek i koniec odcinka (e') i całkę po brzegu zapiszemy w postaci
/ Ł -a r ( aX,-? ) w (x, y )d r = ^ > [ P , («') n
dT p2 p3] / dn («')
dr
(8.163)
Jeżeli na brzegu zadany jest warunek II rodzaju, to
/ *BT^ («')
ń y ) w<-x -
y>d r -
P3] / («')
dp
(8.164)
Należy więc obliczyć całki x
2
y
1
x y 1 2 x3 y3 1 — / 2 A J1
x2 y2 1 d r = ^ , 2 X3 y 3 1
(8.165)
1
oraz 2
x
y
7 1
x \ >1 1
dr =o,
(8.166)
*2 ^2 1 gdzie L jest długością boku będącego fragmentem brzegu. Ostatecznie, dla warunku brzegowego II rodzaju mamy
/ * a r(/ ' y) » (* . »<
P2
(8.167)
(«') gdzie
B (<,) =
1 («') L 1 . ~4b 2 0
(8.168)
Jeżeli na fragmencie lub całym brzegu zadany jest warunek brzegowy III rodzaju, to
", [Pi
P2 P3]“ / ^ ( x , y) *2 d r * [ p , (*') *3.
p2 p,]«7-. / *2 <*') " 3.
przy czym zarówno współczynnik wnikania ciepła, jak i temperatura otoczenia mogą być dla kolejnych elementów zróżnicowane. Po dosyć żmudnych obliczeniach otrzymuje się / X " 7(/ n>y) w (*. y>d r =
[Pi
P,
2 10
Tx
PSJ « - 1 2 0 0 0 0
Ti T3
1 *[i>.
Pa
1 0
(8.170)
343
/*
*s Vv
(*')
dT(x, y ) w (x, y ) d r = dn (8.171) (*')
(«')
+ [P, P2 P3]®2
‘ [Pi p2 p 3]b ; gdzie
2 1 0 J lxf
B»'> - a i 1 2 0 , ’ 1 6 0 0 0
B j ''5 = a Ta 2 a2
(8.172)
Warunek brzegowy I rodzaju można, jak pamiętamy, zastąpić warunkiem Robina, przyjmując a - * oo oraz T„ —Tb . Nie jest to jedyny sposób ,,zarejestrowania” warunku Dirichleta, ale wydaje się on najbardziej prosty i efektywny na etapie realizacji numerycznej. Na zakończenie tej części rozważań omówimy jeszcze problem łączenia elementów, czyli tworzenia globalnych macierzy przewodności, źródeł i warunków brzegowych. 1 tak, dla pojedynczego elementu skończonego (e) nie stykającego się z brzegiem mamy
(P .
Pz
Pz] K<'>
■[p.
p*
p3p “
(8.173)
Dla granicznego elementu skończonego z warunkiem brzegowym II rodzaju:
[p , p 2 p , ] * " '1
“ [P .
Pz
P bF ' ' ’ - [P , Pz P ,]® '* '1 .
(8.174)
natomiast dla elementu z warunkiem III rodzaju
[P, Pz Pz]
*!>,<•'>]
- [P ,
P2 P,]Z<''> ł [P , P ,
,<8 175>
Ostatnim etapem algorytmu MES jest utworzenie układu rozwiązującego, w którym niewiadomymi są temperatury we wszystkich węzłach obszaru. Zagadnienie to wiąże się z przejściem od numeracji lokalnej węzłów do numeracji globalnej. Jeżeli w obszarze wyróżniono n węzłów, to końcowy układ równań można zapisać w postaci (K + B2)T = Z + B,
AT = C ,
(8.176)
344 gdzie
T =
(8.177)
natomiast macierz A powstaje przez zsumowanie macierzy przewodności cieplnych dla poszczególnych elementów (w przypadku warunku brzegowego Robina jest to suma macierzy przewodności ciepnych i macierzy B, związanych z tym warunkiem brzegowym). Wektor C zawiera informacje związane z funkcjami źródła dla poszczególnych elementów oraz z wa runkami brzegowymi. «• Przykład 8.4 Wyznaczymy źródłowe pole temperatury w przekroju kwadratowym 2 x 2 m pręta nieskończonego o stałej wartości współczynnika przewodzenia ciepła X = 1 W/mK i stałej funkcji źródła Q =30 W/m3. Warunki brzegowe, numerację elementów skończonych oraz numerację globalną węzłów przedstawiono na rysunku 8.7.
q -0 Rys. 8.7. Warunki brzegowe, elementy skończone i wezly Przystąpimy do wyznaczenia macierzy przewodności cieplnej dla każdego elementu skończonego, czyli (por. wzór (8.158)) K<‘> = - ( X + Y ) . 4 Oprócz numeracji globalnej wprowadzimy numerację lokalną węzłów. Dla elementu (1) węzłom 1, 2, 5 przyporządkowujemy numerację lokalną 1, 2, 3, czyli rozpatrujemy punkty o współrzędnych (0, 0), (2, 0), (1, 1). Dla elementu (2) węzłom 2, 3, 5 przyporządkowujemy numerację lokalną 1, 2, 3, czyli rozpatrujemy punkty o współrzędnych (2, 0), (2, 2), (1, 1). Dla elementu (3) węzłom 3, 4, 5 przyporządkowujemy numerację lokalną 1, 2, 3, czyli rozpatrujemy punkty o współrzędnych (2, 2), (0, 2), (1, 1). Dla elementu (4) węzłom 1, 4, 5 przyporządkowujemy numerację lokalną 1, 2, 3, czyli rozpatrujemy punkty o współrzęd nych (0, 0), (0, 2), (1, 1).
345 Otrzymujemy
K (<) =
0,5
0
- 0 ,5
0
0 ,5
- 0 ,5
- 0 ,5
- 0 ,5
1
,
e = 1, 2
ły obszar 0,5
0
0
0 - 0 ,5
0
0,5
0
0 - 0 ,5
0
0
0
0
0
0
0
0
0
0
- 0 ,5
- 0 ,5
0
0
1
0
0
0
Ł0) =
0
0
0
0 -0 ,5
0,5
0 - 0 ,5
0
0
0
0
0
o
\n
1 o c*
0
0
0 1 0
0,5
K(2) = 0
0
0
0
0
0
0
0
0
0
K(3> = 0
0
0,5
0
- 0 ,5
0
0
0
0
0 - 0 ,5
k
(4) =
0 w* 1 o
0
- 0 ,5
1
0 ,5 0
0
0
-0 ,5
0
0
0
0
0
0
0
0
0
0
0
0
0
- 0 ,5 0
0
0,5 - 0 ,5 - 0 ,5
1
Macierz przewodności cieplnej dla całego obszaru jest równa 1 K = £
K(<) =
0
0
0 -1
1
0
0 -1
0
1
0 -1
0
0
1 -1
-1 -1 -1
-1
4
346 W dalszej kolejności tworzymy macierze źródeł dla każdego elementu skończonego - por. wzór (8.162). Stosując numerację lokalną otrzymujemy
e = 1, 2, 3, 4,
Z (*> =
a po „rozciągnięciu” na cały obszar
Z(,) =
10
0
0
10
10
10
0
0
0
,
z (2) = 10 ,
z (3> = 10 ,
z<4> =
0
0
0
10
10
10
10
10
.10
Macierz związana z funkcją źródła dla całego obszaru jest równa 20
20 Z = £ Z(ł) = 20 r-l
20 40
Na brzegu od węzła 1 do węzła 2 - rys. 8.7 oraz od węzła 3 do 4 zadano warunki adiabatyczne. W numeracji lokalnej otrzymujemy (por. wzór (8.168))
B (''>
e ' - 1. 3,
B (
e ' = 1, 3.
a po „rozciągnięciu
Na brzegu od węzła 2 do węzła 3 przyjęto warunek Robina (ot , = 15, T„ =20), czyli (por. wzór ((8.172)) 2 1 0 = 5 1 2 0 , o o 0
1 B2(2,) = 300 1 0
347 skąd po ,,rozciągnięciu” na cały obszar mamy 0
0
0 10 (2') _ 0 5 b;
10
0
0
0 0
5
0 0 0
0
0
0
0 « 0 0
0
0
0
0 0
300 ¥>(2') _ 300 B2 0 0
Na brzegu od węzła 1 do węzła 4 również przyjęto warunek Robina (a = 15, Ta - 100), czyli 1
2 1 0 1 l:
b !4,)
B ^ = 1500 1 ,
= 5 1 2 0 »
0
0 0 0 ’ na cały obszar mamy 5
0
1500
0 0 0
0
0
0
0 0 0
0
0 ,
=
..
( 4')
10 0 0
b <4/)
0
=
5 0 0 10
0
1500
0. 0 0
0
0
0
Suma macierzy związanych z warunkami brzegowymi jest równa -- -
10 4
E » !* = «'-l
0
0
5
0
0 10
5
0
0
0
5 10
0
0 .
5
0
0 10
0
0
0
0
0
0
1500 300
4
B2 = £ B<*'> .'■i
1500 0
W układzie rozwiązującym (8.176) macierz A ma postać
A = K + B, =
300
11
0
0
5 -1
0
11
5
0 -1
0
5
11
0 -1
5
0
0
-1
-1
-1
natomiast wektor prawej strony 1520 320 C = Z + B2 =
320 1520 40
11 -1 -1
4
348 Otrzymujemy następujące rozwiązanie 99.5 24.5 99,5 72,0 Jak można zauważyć, macierz główna A układu rozwiązującego jest macierzą symetryczną. Jest to cecha charakterystyczna metody elementów skończonych.
Na zakończenie tego podrozdziału zajmiemy się nieustalonym przewodzeniem ciepła w obszarach 2D. Bezźródłowe pole temperatury w fi (problem uwzględnienia źródeł wewnętrznych był już omówiony bardzo szczegółówo) opisuje następujące równanie . d U x , y , t) dt
d \ dT( x, y, t) dx dx
d \ d T ( x , y , t) + --dy dy
Równanie (8.178) uzupełniają warunki brzegowe I, II lub III rodzaju oraz warunek początkowy. Do rozważań (podobnie jak w zadaniach ID) wprowadzamy siatkę czasu ze stałym krokiem At = t f —t f ~x. Kryterium metody odchyłek ważonych dla rozpatrywanego równania ma następującą postać
//
d L dT( x, y, t s ) + --d dx ; dy l d T ( x , y, t) dt
y, t s ) dy
J
(8.179)
w( x , y )d fi = 0 ,
przy czym t ’G[t f ~ \ t*). Po przekształceniach (podobnych jak w pierwszej części tego podrozdziału) otrzymujemy równanie MES w postaci
!/'■
d T ( x , y, t s) d w ( x , y) + dT( x, y, t s) d w ( x , y) dxdy = dx dx dy dy y) d r _ 1 1 c d T 0 ^ 2 j j )
w( x, y )d x d y ,
a po dy skręty zacj i brzegu i wnętrza
//*
d T ( x , y, t s) d w ( x t y) + dT( x, y, t s ) 6w (x, y) dxdy = dx dx dy dy
(8.180)
349
I Y k !. («') («')
> •'* > w(x, y ) d r - E f f c a T ( x . >• 0 an t<*) ? (O y.J ai
w (x, y )d x d y . (8.181)
Macierz przewodności cieplnej dla elementu skończonego (e) oraz globalna macierz przewodności wyznacza się w taki sam sposób jak dla stanu ustalonego. Podobna sytuacja występuje przy tworzeniu macierzy pochodzących od warunków brzegowych. Przejdziemy więc do przedstawienia sposobu wyznaczenia całki związanej ze składnikiem zawierającym szybkość stygnięcia (nagrzewania). Pochodną temperatury względem czasu na elemencie {e) aproksymujemy w następujący sposób
ary ar J, d T ( x , y, t ) dt
N,
ary
(8.182)
dt)2 dT\s et
i wówczas IdT
Ur d T( x , y, t ) dt
ary
w ( x , y) = c [ p , p2 p3]
[N. N2
ar j2
(8.183)
(fi Należy więc wyznaczyć wartość całki
//< (O
d T ( x , y, dt
r)
w (x , y) dxd y = I - t’
ary n ,n2
.(O
(P.
^
N ff
n 2n
,
n 3n
,
n 2n 3
(«)
n 3n 2
ar l
w dxdy
(fi ary ar
(8.184)
350 Dogodnie jest wprowadzić tutaj następujące podstawienie X = Xx + (X2 ~XX)U + ( X j - X j j v
y
(8.185)
= +(y2-yj)“ +0'3->'i)v»
którego jakobian jest równy 2A i które sprowadza trójkąt (*,, y,), (x2, y j , (x3, y3), do trójkąta o wierzchołkach (0, 0), (1, 0), (0, 1). Po dość prostych obliczeniach otrzymujemy
//< (O
d T (x , y, O ar
(fi p2 P3]P(‘> (fi (fi
wOc.yjdxdy^p,
(8.186)
gdzie 2
1
1
p(«> = c <‘>— 1
2
1
1
1
2
12
(8.187)
jest macierzą pojemności cieplnej dla elementu skończonego Ue. Konstrukcja układu rozwiązującego dla równania (8.181) wymaga przejścia od numeracji lokalnej do globalnej. Tak więc, w pierwszym kroku algorytmu należy ponumerować węzły wewnętrzne i brzegowe oraz ,,opisać” każdy element skończony za pomocą węzłów (stosując numerację globalną). Zsumowanie macierzy przewodności i pojemności cieplnych związanych z elementami skończonymi pozwala zapisać końcowy układ równań w postaci (8.188)
K Ts + P ^ I j * = w .
gdzie K oraz P są macierzami przewodności cieplnej i pojemności cieplnej dla całego obszaru, T - wektorem nieznanych temperatur, W - wektorem związanym z warunkami brzegowymi. Występującą w równaniu (8.188) pochodną temperatury po czasie w punktach (z,, y ), /= 1, 2 ....... N przybliżamy ilorazem różnicowym prawostronnym
te[tf- \ t ' )
:
d T ( x it yp t) a T ( x t, y,., t ' ) - T ( x {t y., r ^ 1) dt
At
t[
- T ^
(8.189)
At
f wtedy równanie (8.187) zapisane w konwencji schematu niejawnego przyjmuje postać K T ' + — P - ( T / - T / ' 1) = W , At
(8.190)
3j
j sM
%
K + — p ]- T / = — P T 7*1 + W . Ar j Ar
(8.191)
8.6. Metoda elementów skończonych dla obszarów osiowosymetrycznych Zadania brzegowe lub brzegowo-początkowe związane z poszukiwaniem rozkładu temperatury (lub innej funkcji) w obszarach o symetrii osiowej są często spotykane m w praktyce, ponieważ wiele elementów maszyn i urządzeń charakteryzuje się taką właśnie geometrią. Równanie różniczkowe opisujące ustalony przepływ ciepła w obszarze osiowosymetrycznym jest postaci J_ d_ x dx
dx
_d_ dy
y )l dy
+
(8.192)
Wostatnim równaniu założono, że warunki na powierzchniach ograniczających rozpatrywany obszar zapewniają osiową symetrię pola temperatury (pochodna dT ld
Rys. 8.8. Obszar osiowosymetryczny Równanie (8.192) mnożymy obustronnie przez x i otrzymujemy d dx
dx
_d_ dy
dy
+ x Q ( x , y) = 0 .
(8.193)
Dla rozpatrywanego zadania formułujemy kryterium MOW, czyli dT( x, y) 3x
_a_ x X m * , j o dy dy
+ x Q ( x , y) >w(x, y )d fl = 0 , (8.194)
352 skąd
//**
d T ( x , y) d w ( x , y ) + d r ( s , y ) 3w (x, y) dxdy = dy dy (8.195)
f x \ w ( x , r dn
y)dT + f f x Q ( x , y ) w ( x , y )d x d y o
Po dyskretyzacji otrzymujemy równanie MES w postaci
£ //* *
(e) («)
Ę
d T ( x , y) d w( x , y) + dT( x, y) dw( x, y) dxdy = dx dx dy dy (8.196)
f x X ^ - ^ - w ( x , y)
<*'>(*'ł
dr +ę
j f xQ( x, y)w(x, y)dxdy . («) («)
Jak wiadomo, pierwsza z całek w (8.196) związana jest z macierzą przewodności (sztywności) elementu. Po dosyć żmudnych obliczeniach dochodzimy do następujących zależności
=
f.
(8.197)
03]“ '°
gdzie , ,
k le)(x. +x, + x,)
(8.198)
przy czym macierze X i Y określone są wzorami (8.157). Wyznaczymy teraz całkę po elemencie skończonym (e) związaną z funkcją źródła Q(x, y), a mianowicie
ffxQ(x,
y ) w ( x , y ) d x d y =
(«)
f f x
(O ><•> 2A
[Pi Pa P3]
[(;y2 '
/ / * [(y 3 («) /
/
-
p2 P3] f f x («)
y J x ~ (JC2 “ xJ y
dxdy = A/,
+ *2y3 ■ y 2x i]d x d y
- (*3 - ATj)y + x3y l - Xxy3] dx dy y2)* ■ (*i - *2);y + x \y 2 - x2y i
dy
(8.199)
f f x Q ( x , y) w (x, y )d x d y = [ p t («>
P2
P3] Z U ) ,
(8 .200 )
2jCj + x2 + x3 zw =
x, + 2x2 + x3
( 8 . 201)
.
+ h + 2x3 Pozostały do obliczenia całki po fragmentach brzegu. Rozpatrywać będziemy trójkąt (element skończony), którego jeden bok styka się z otoczeniem. Przez 1 i 2 oznaczymy początek i koniec odcinka (e*)- Całkę po brzegu zapiszemy w postaci
/
x k d-T A h J lw(Xt y)dr
(»')
=a/^p, p2 p3]/* |^
”
dr .
(8.202)
<<')
Jeśli na brzegu zadany jest warunek II rodzaju, to xN{
/
x k
d T
(JC> y ) w ( x , y ) d r = - ^
(*')
xN,
dr. (8-203>
(*') x N,
Należy w tym przypadku obliczyć całki
*
_ I< 1
2
x
y
1
x2 y2 1 dT = — (2x. + x2) , 6 1 ^ X3 y3 l
x y 1 2 x3 y3 1 d r = - ( x , + 2x2) (8-204) — fx 2 A -1 6 *1 y\ 1
oraz 2
x
y
i
y\
i
dr =o.
(8.205)
xi y2 i Ostatecznie, dla warunku brzegowego II rodzaju mamy
/ ^ - - "
(.*')
^ w(x .y )d r =[Pt
n
P2
p 3] b
<*,) ,
(8.206)
354
355
gdzie 2xj + x2
B {<,) = -Qhel)b
6
(8.207)
x, + 2x2 O
Jeśli na fragmencie lub całym brzegu obszaru zadany jest warunek brzegowy Robina, to
x\
f
(*')
dT(x, y ) w (x, y )d T = -[P j dn
p2 P3] / x a [ 7 ’(x, y ) - r j («')
dr = (8.208)
X X [Pi p 2 P3]a / xT(x’ y) *2 d r + [ P 2 P2 P3]a 7 ; / * N2 dr («') («') X.
Rys. 8.9. Przegroda walcowa Dla powyższych danych macierz przewodności cieplnej wynosi
Wszystkie całki występujące w tym równaniu można wyznaczyć analitycznie (jeżeli w obrębie elementu współczynnik wymiany ciepła i temperatura otoczenia są stałe). I tak I x k d T ^ ' y) w (x, y )d T = («') K = £
(8.209) («')
K (<) =
- [P» P2 P a ] ^ ,
[P. P2 P j ] B 1
7*3
B,1*'1 - a - t x , +x2 1 12 0
x,+ 3 x2
0
O
3xt +x2
+
gdzie
0 , 0
2x, +x2 = a Tc - x, + 2 x2 6 0
5 3
0
0
0
_5 3
0
7 3
0
0
_7 3
0
0
7 3
0
7 3
0
0
0
5 3
5 3
_5 _7 3 " 3
7 3
5 3
8
|
j
Macierze związane z warunkami brzegowymi są równe ( 8 . 210)
4
Ostatnim etapem algorytmu MES jest utworzenie układu rozwiązującego, który w rozwa żanym przypadku jest postaci (8.176), przy czym globalne macierze przewodności, źródeł i warunków brzegowych dotyczą, oczywiście, geometrii osiowosymetrycznej. Przykład 8.5 Wyznaczymy bezźródłowe pole temperatury w przegrodzie walcowej o promieniu wewnętrznym R { = 1, promieniu zewnętrznym R2 = 3 i wysokości H = 2. Wartość współczynnika przewodzenia ciepła wynosi X = 1 . Warunki brzegowe, numerację elementów skończonych oraz numerację globalną węzłów przedstawiono na rysunku 8.9. Oprócz numeracji globalnej wprowadzono numerację lokalną węzłów, tak jak w przy kładzie 8.4.
5
0
0 30 15
0
0
0 15 30
0
0 . 0
10
E
-
0
0
5
0
0
10
0
0
0
0
0
Otrzymano następujące rozwiązanie 95.23 21.59 T
21.59 95.23 52,27
1500 900
4
- E .'• i
B?'> =
900 1500 0
356 Na zakończenie zajmiemy się jeszcze nieustalonym przewodzeniem ciepła w obszarach osiowosymetrycznych. Bezźródłowe pole temperatury w takich obszarach opisuje równanie + d_ \ d T ( x , y, t) c d T ( x , y, t ) = i A \ x X aT<-x ’ y ’ '>1 dx dy dt dy x dx
8 211)
( .
uzupełnione warunkami brzegowymi i warunkiem początkowym. Równanie (8.211) mnożymy obustronnie przez x i otrzymujemy d \x k 3 n * , y , 0 ] + --d L ^ aru . dx dx dy dy
ol dt
Kryterium metody odchyłek ważonych dla ostatniego równania i czasu t sE[ t f' \ t f ] jest następujące . x dT( x, y, n dx
IJ { i
d_ x X m dy
^ n dy
cx
d T ( x , y, t) dt
w(x, y)d£l =0
(8.213) lub
n
i
w(x, y)dxdy+ [ [ — o dy
dx
//«
: Xd T ( x , y , t ' ) w (x ,y ) d x d y dy
(8.214)
d T ( x , y, t ) w ( x , y)d x d y = 0 . dt ft*
Podobnie jak w przypadku równania dotyczącego stanu ustalonego, kryterium (8.214) można przekształcić do postaci ffxX
//-
d T ( x , y, t s) dw (x, y) t dT (x, y, t 1) d w (x, y) dQ = dx dy dy dy
d T ( x , y , t) dt
r
(8.215)
w ( x , y)dQ + f x k d T ( x ’ y ' fJ) w( x , y )d T , i dn
a po dyskretyzacji wnętrza i brzegu
£(«)/ («) /**
d T ( x , y, t s) d w ( x , y) + dT( x, y, t s) dw( x, y) d Cl = dx dx dy dy
dT(x,y,t) L ! ! cx dt (<) («)
w (jc,y)dQ + Y ' [ x k i I ^ - L l w ( x , y ) d r . a"
(8.216)
357 Macierz przewodności i macierze pochodzące od warunków brzegowych wyznacza się V taki sam sposób, jak w zadaniach dotyczących stanu ustalonego. Pewnych wyjaśnień maga jedynie sposób tworzenia macierzy pojemności. Dla kolejnych elementów obliczamy :ość całki x d n x ’ y, 0 dt i
//« (<)
w(x k y ) d* dy =
n ,n 2 n ,n 3
c ‘*»[pl
p.
N f f * (e)
N' n 2n
n 2n 3
dxdy
(8.217)
ary
n 3n 2
[ n 3n
(fi (fi d tl
i po przeliczeniach otrzymujemy
//< (O
d T ( x , y, t ) dt
w( x , y )d x d y = [P,
P2 P3] P (<>
(fi (fi (fi
(8.218)
gdzie 6 x l +2x2 +2xi
p(«) =
2 jc,
+ 2 x 2 +x 3
2 x x +2x2+x3 2
x
1+6x2 +2x3
2x,+j:2 +2x3 ^ + 2 * 2 + 2 ;^
(8.219)
60 2
x
1 +x 2 + 2 x 3
jc ,+ 2 ; ^ + 2 x 3
2 x l +2x2 +6x3
jest macierzą pojemności cieplnej elementu skończonego (e). Końcowa postać układu rozwiązującego nie różni się od poprzednich (dotyczących stanów nieustalonych), a mianowicie K T s + P|
jł = W ,
( 8 . 220)
gdzie K oraz P są macierzami przewodności cieplnej i pojemności cieplnej dla całego obszaru, T - wektorem nieznanych temperatur, W - wektorem związanym z warunkami brzegowymi. Po zastąpieniu pochodnej ilorazem różnicowym prawostronnym i przyjęciu schematu niejawnego mamy Ar
p)-Tf = — P T '* 1 + W . Ar
(8 . 221)
358 Literatura 1] Zienkiewicz O .C ., Taylor R.L.: The Finite Element Method, Butterworth-Heinemann, Oxford, 2000. 2] Patankar S.V.: Numerical Heat Transfer, Hemisphere, Washington, 1980. 3. Lewis L.W., Morgan K. et al.: The Finite Element Method in Heat Transfer Analysis, J.Wiley & Sons, Chichester, New York 1996. 4. Taler J., Duda P.: Rozwiązywanie prostych i odwrotnych zagadnień przewodzenia ciepła, WNT, Warszawa 2003. 5. Mochnacki B., Suchy J.: Numerical Methods in Computations of Foundry Processes, PFTA, Cracow 1995. 6. E.Saatdjian: Transport Phenomena, Equations and Numerical Solutions, J. Wiley & Sons, Chichester, New York 2000. 7. Rusiński E.: Metoda elementów skończonych. System COSMOS/M, Wyd. Kom. i Łącz ności, Warszawa 1994.
9. METODA ELEMENTÓW BRZEGOWYCH
Metoda elementów brzegowych, obok metody różnic skończonych i jej licznych odmian, metody elementów skończonych, czy też metod kollokacyjnych, stanowi coraz powszech niejsze narzędzie stosowane w praktyce inżynierskiej [1, 2, 3], Istota metody jest sprowadzenie opisu matematycznego problemu brzegowego lub brzegowo-poczatkowego, to znaczy zadania opisanego równaniem różniczkowym i warunkami jednoznaczności, do równoważnego mu z formalnego punktu widzenia brzegowego równania całkowego. Przejście takie jest możliwe pod warunkiem, że znamy tzw. rozwiązanie fundamentalne (podstawowe) rozpatrywanego problemu. Jak wszystkie metody numeryczne, metoda elementów brzegowych ma swoje wady i zalety. Do jej zalet należy przede wszystkim duża dokładność aproksymacji warunków brzegowych, a więc warunków determinujących przepływ ciepła między obiektem a oto czeniem, możliwość dokładnego odtworzenia rzeczywistej geometrii obiektu, stosunkowo niewielka liczba niewiadomych w tzw. układzie rozwiązującym (końcowym układzie równań). Ta ostatnia cecha MEB wynika z faktu, że w licznych zadaniach (dotyczących przede wszystkim stanów ustalonych) dyskretyzacji podlega tylko brzeg obszaru, a mniejsza liczba węzłów determinuje, oczywiście, mniejszą liczbę niewiadomych. W przypadkach, w których podział wnętrza obszaru na elementy jest niezbędny (ustalone, źródłowe pola temperatury, większość problemów dotyczących stanów nieustalonych), układ rozwiązujący dotyczy również tylko wartości brzegowych, natomiast temperaturę w wybranych punktach z wnętrza obszaru wyznacza się po jego rozwiązaniu. Podstawową wadą metody są ograni czenia związane z wyjściowym opisem matematycznym procesów cieplnych w analizowanym układzie. Możemy rozważać wprawdzie ustalony i nieustalony przepływ ciepła przy dowolnych warunkach brzegowych i brzegowo-początkowych, możemy analizować zjawiska termiczne w układach heterogenicznych (niejednorodnych), ale wymaga się w zasadzie, aby parametry termofizyczne podobszarów analizowanego układu były wartościami stałymi. Drugą wadą metody, być może istotną dla inżynierów, jest jej dosyć skomplikowany opis formalny.
9.1. MEB dla stanów ustalonych (zadania ID) Istotę metody omówimy na przykładzie równania opisującego ustalone, źródłowe pole temperatury w płycie nieskończonej o grubości L 0
X-d 2 7 (x ) + Q( x ) ^ 0 ,
(9.1)
d*2
gdzie X [W/mK] jest współczynnikiem przewodzenia ciepła, Q (x) [W/m3 ] - składnikiem
360 źródłowym (nazywanym też funkcją źródła), 7'[°C] oznacza temperaturę, x[m] - współrzędną geometryczną. Równanie (9.1) uzupełniają następujące warunki brzegowe X=0 :
n x ),
d r(x )l dx
x = L :
Fi T(X),
d ro o l dx
W praktyce rozważa się trzy typy warunków (9.2), a w szczególności warunek Dirichleta (pierwszego rodzaju), Neumanna (drugiego rodzaju) lub Robina (trzeciego rodzaju). Warunek pierwszego rodzaju sprowadza się do zadania na brzegu obszaru wartości temperatury, warunek drugiego rodzaju - wartości strumienia ciepła, a warunek trzeciego rodzaju jest warunkiem ciągłości strumienia ciepła dopływającego od wnętrza do brzegu i strumienia ciepła oddawanego do otoczenia, czyli <700 »
^
= « [7 0 0 -7 * .,] ,
M
gdzie n jest wersorem w kierunku normalnym do brzegu obszaru, dla x= 0: dT/dn= -dT/dx, dla x - L : dTldn=dTldx, a [W/m2K] - współczynnikiem wnikania ciepła, T0, - temperaturą otoczenia. Zależność po prawej stronie warunku (9.3) jest znanym w przepływie ciepła prawem Newtona, determinującym strumień ciepła wymieniany między powierzchnią ciała a otoczeniem. Przejdziemy teraz do prezentacji algorytmu metody elementów brzegowych. W literaturze (1, 2, 3] można znaleźć dwa podejścia zwane odpowiednio pośrednim i bezpośrednim. Pierwsze z nich ma raczej znaczenie historyczne i nie będzie tutaj omawiane. W podejściu bezpośrednim wykorzystuje się metodę odchyłek ważonych i po wykonaniu pewnych przekształceń matematycznych otrzymuje się metodę elementów brzegowych. Metoda odchyłek ważonych pozwala na wyprowadzenie wszystkich powszechnie znanych i stosowanych metod przybliżonego rozwiązywania zadań brzegowych i brzegowo-początkowych. Algorytm metody elementów brzegowych wyprowadzimy, korzystając z takiego właśnie sformułowania. Kryterium metody odchyłek ważonych dla równania (9.1) przyjmuje postać
d 2T(x) dx2
+
Q(x) T \ i , x)dx
0 .
(9.4)
Wyrażenie w nawiasie kwadratowym nazywa się defektem R i jest różnicą między lewą i prawą stroną równania różniczkowego (w rozpatrywanym przypadku po prawej stronie było zero). Jeżeli funkcja T(x) jest rozwiązaniem dokładnym tego równania, to wówczas defekt /?=0, jeżeli natomiast funkcja T(x) jest rozwiązaniem przybliżonym, to R^ O. Kryterium metody odchyłek ważonych sprowadza się do postulatu, aby defekt rozwiązania pomnożony przez pewną funkcję wagi w i scałkowany po wnętrzu obszaru (lub obszaru czasoprzestrzen nego) dał w wyniku zero. W przypadku metody elementów brzegowych rolę funkcji wagi w spełnia tzw. rozwiązanie podstawowe (fundamentalne), które oznaczono przez 7” (£, x), przy czym £ nazywa się punktem obserwacji (punktem, w którym przyłożono skupione źródło ciepła). Punktowe źródło ciepła przyłożone we wnętrzu płyty x € (0, L) generuje po lewej
361
i prawej stronie bezźródłowe, liniowe pole temperatury (por. rys. 9.1). Tak więc T'a,
7*
X)
= — (£. - | ^ - ę | ) .
(9.5)
Strumień ciepła wynikający z rozwiązania fundamental nego definiuje się następująco L x ii' dx
(9.6)
q (£ , x) = - X -----dx czyli
(9.7)
iii' a** gdzie sgn(;t—£) jest funkcją znaku sg n (x -0 = Rys. 9.1. Rozwiązanie podstawowe
1,
x -t, > 0
-1 ,
x-(<0
(9.8)
i jego pochodne
j ak wj(ja(
X 8 l r—
(9.9)
= - 6 ( C , x) ,
dx2
gdzie <5(£, x) jest deltą Diraca 0 ,
i * x ,
6 U , x) =
(9.10)
t =x .
Wyprowadzenie algorytmu metody elementów brzegowych polega na takim przekształceniu kryterium odchyłek ważonych (9.4), które pozwoli wykorzystać własność (9.9) rozwiązania fundamentalnego. W tym celu całkę (9.4) zastępujemy sumą dwóch i pierwszą z nich przekształcamy, całkując dwukrotnie przez części - A d7*(*> * T ' t t , x ) j x Ś l l ^ l T - ( Z t X) d x = X T ' { Z , x ) d T{x) lo dx dx dx 1 dx2 o L
^ ■ ( ę iX ) l M dx
- A ^ n ill^ x ) dx
.
= (9.11)
L
+ f x d T ' ^ . ! - ^ T ( x ) dx . dx2
Na podstawie (9.9) ostatnia całka w powyższym równaniu wynosi l 2 L f X d T ' ( ^ ± l T ( x ) d x = - f &( Ę, x ) T ( x ) d x = ~ T ( O , i dx2 J„
(9.12)
362
więc kryterium (9.11) przyjmuje postać L [$ •(5 , ;c)7(x) - 7 * ( £ , *)
T ' a , 0 )q (0) ♦ f
T a ) = j r ( 0 ) + l r ( I ) +i ^ 9( 0 ) - ^ ( L ) + -
/< ? (x )(i-|* -ę |)d x .(9 .1 5 )
Układ rozwiązujący w metodzie elementów brzegowych otrzymuje się , .zmierzając” z fik cyjnymi źródłami ciepła do brzegu obszaru, czyli w omawianym przypadku biorąc £ -* 0* oraz £ -* 7 ". I tak w granicy £ -»> 0 + L
7(0) = i 7 (0 ) + - 7 ( 1 ) +
ZA
0 ) + — f Q( x ) ( 7 - x ) d x
(9.16)
ZA
natomiast dla £ -» V L
7 (7 ) = ~ 7 (0 ) «■ ± 7 ( 7 ) - A ł( L ) ♦ ± f Q ( x ) x d x .
(9.17)
Powyższy układ równań można zapisać w postaci macierzowej L
7 (0 ) 7 (7 )
2 2
2 2
2
2
2
2
'7 (0 )
— 27
0
7 (7 )
0
-A 2A
g( 0)
±{Q(x)(L-x)dx 2X o
(9.18)
L
g( L)
2 /< ? ( * > * d x
lub L
-— 2 A,
0
2A
4(0)
4 (1 )
2 2
2 2
2 _2 2
2
7 (0 ) 7 (7 )
— [ Q( x ) ( L - x ) d x ZA o L — fQM xdx
(9.19)
363 W dalszej części rozdziału (również dla zadań nieustalonych) będziemy stosować następujący zapis
*12
7 (0 )
2,
^22 .
Hlx H 22
T(L)
Z2
G ,i
W układzie tym dwie z czterech brzegowych wartości 7 ( 0), 7 (L), q(0), q(L) są znane, natomiast dwie pozostałe należy obliczyć. Mając wyznaczony „komplet” warunków brzegowych, można określić temperaturę w dowolnym punkcie £ z wnętrza obszaru na podstawie zależności (9.15). Można w tym miejscu zauważyć, że układ rozwiązujący dotyczy wyłącznie wartości brzegowych. Jest to charakterystyczna cecha metody elementów brzegowych, o której mówi się, że w realizacji numerycznej zmniejsza wymiar zagadnienia o jeden rząd. «■ Przykład 9.1 Rozwiązać równanie 0 < x < 0,1 :
2 0 - 2? dx2
+ 104 = 0 ,
z warunkami brzegowymi ę(0) = 1000, 7(0,1) = 100. W pierwszej kolejności obliczamy całki 0.1 — f (0,l-x)dx = - , 40 J 4
104 — f xdx = - . 40 J 4
Otrzymujemy układ rozwiązujący w postaci 1000
_ i ~2
1 2
T (0)
1 2
1 2
100
= [
5 4 + 5c 4
z którego wyznaczamy 7 (0 )= 107,5, ^(0,1) =2000. Temperaturę w dowolnym punkcie £ E (0 , 0,1) z wnętrza obszaru obliczamy z zależności t u
) = - n o * i m 2 2 0.1
u
*
40
40
ł
104 r 40
/(0 ,l-|x -{ |)d * .
Dla przykładu, temperatura w środku płyty wynosi 7(0,05) = 104,375.
■ W powyższym zadaniu całkę po wnętrzu obszaru wyznaczono w sposób dokładny, w związku z czym znalezione rozwiązanie jest również dokładne (analityczne). Dla zadań bardziej złożonych całkowanie po wnętrzu można realizować jedynie metodami numerycznymi
364 i w takim przypadku całki po rozpatrywanym obszarze (np. x G[0, L]) zastępuje się sumą całek po podobszarach (elementach wewnętrznych), przy czym całkowanie po kolejnych elementach realizuje się, stosując najczęściej kwadratury Gaussa - por. rozdział 4. Szerszego komentarza wymaga sposób rozwiązywania analogicznego problemu w przy padku, gdy na brzegu płyty (np. dla x= L) lub na obu jej brzegach zadany jest warunek Robina. Załóżmy, że dla jc=0 zadana jest temperatura T (0) = Tb, natomiast dla x=L warunek trzeciego rodzaju. Układ rozwiązujący przyjmuje wtedy postać 9 (0 )
G11 G 12 G21 G22
*U *12
Tb
*21 *22
T( L)
V z2
ponieważ w miejsce q(L) wstawiono zależność wynikającą z prawa Newtona. Po uporządkowaniu G 11 a G 12~*12
9 (0 )
*11 a G 12
Tb
G21 “ G22- *22
TU)
*21 “ G22
Tol
Z2
W tym przypadku wartość strumienia ciepła dla x= L wyznacza się po rozwiązaniu powyższego układu równań z zależności q ( L ) = a [ T ( L ) - T ot] ,
(9.23)
a temperaturę w punktach wewnętrznych obszaru, podobnie jak poprzednio, z wzoru (9.15). Przykład 9.2 Wyznaczyć ustalone, bezźródłowe pole temperatury w płycie o współczynniku przewodze nia ciepła X= 10 i grubości L = 1, zakładając na lewym krańcu płyty warunek Dirichleta w postaci 7'(0) = 100, a na prawym (jc= 1) warunek Robina, przy czym or=10, =20. Dla przyjętych danych liczbowych układ rozwiązujący (9.22) przyjmuje postać
[9(0)
10 0 -1 2 +
>—* O
1 2-10 O
-
2-10
2
TU)
-2 [2
1
100 10-
1 2 • 10 J
1 0 0 1
20
skąd <7(0)=400, T (l)= 6 0 i
■ Pi odstawione dotychczas rozważania teoretyczne i przykłady dotyczą płyty nieskończonej, której brzegi odpowiadają współrzędnym * = 0 i x= L . Obszar płyty o grubości można również zorientować w ten sposób, że lewy jej brzeg odpowiada współrzędnej x = L {, a prawy współrzędnej x= L , oczywiście =■£,-£,. Pozostawiamy Czytelnikowi utworzenie układu rozwiązującego dla takiego przypadku, jak również wyprowadzenie wzoru, z którego wyznacza się temperaturę w punktach wewnętrznych płyty, czyli dla £ G (L,, L).
365 Proponujemy również powtórzenie przykładu 9.1 dla tak przyjętego układu współrzęd nych, aby przekonać się, że wyniki obliczeń są identyczne. 0 Algorytm Wyznaczenie ustalonego rozkładu temperatury w płycie, na krańcach której są zadane warunki brzegowe drugiego (dla jc = 0) i trzeciego rodzaju (dla x = L), można zrealizować za pomocą poniższego algorytmu. Danymi wejściowymi są: grubość płyty L, współczynnik przewodzenia ciepła X, funkcja źródła Q (dla uproszczenia założono, że Q = const), wartość brzegowego strumienia ciepła qb oraz współczynnik wymiany ciepła a i temperatura otoczenia T„. W wyniku działania algorytmu otrzymuje się wartości temperatury w równoodległych węzłach wewnętrznych xit dla / = 0, 1, .... n, przy czym wartość n podaje użytkownik. Lista zmiennych: całkow ite: i, n rzeczywiste: L , X , Q, qb, a , Tot, h, Wx, Wy, W, q z, Tw, Tz tablice: G[ 1 ..2 , 1 ..2 ] , H[1 ..2 , 1 ..2 ] , A [ 1 . .2 , 1. 3 ] , x [ 0 ..n ] , 7 [ 0 ..n ] Podaj L, n, X, Q, qb, a , Tot Oblicz h : = n j Dla i = 0 , 1, .... n I
Oblicz x( : = i h Oblicz G ,, :
II
> > >
Podstaw G22 := - G n Podstaw G21 : = 0 Podstaw G12 : = 0 Podstaw Hl j Podstaw H ]2
1 ~2 .= 1 2
Podstaw H22 : = H n Podstaw H2x : = H n Podstaw A , j
""u Podstaw A2i : = - H 2i Oblicz A n : = a G12 - H n Oblicz A22 :
a G22 - H 22
366
Oblicz A23 : = Oblicz W : = A t {A 22 - A2lA n Oblicz Wx : = A l3A22 ~ A 23A l2 Oblicz Wy : = AU A23 - A21A l3 Oblicz Tw : =
W
Oblicz Tz : = —^
W
Oblicz qz : = a ( Tz - Tot) Podstaw T0 : = Tw Podstaw Tn : = Tz Dla i : = 1 , 2 , ..., n -1 1 1 Lac. Oblicz T,* : = — Tw + —Tz * ----q 1b ------- q1z ♦ -i 'ł i i u 2 2 2X
>>>
Przedstawimy teraz algorytm metody elementów brzegowych dla układu dwóch płyt pozostających ze sobą w kontakcie cieplnym (rys. 9.2) - rozważać przy tym będziemy zarówno przypadek kontaktu idealnego, jak i kontaktu z oporem cieplnym na styku podobszarów. Ustalone pole temperatury w pierwszym obszarze opisuje równanie (9.24)
0 < x < L{ :
natomiast w obszarze drugim Lj < x < L :
X2
(9.25)
367 a . Na styku podobszarów założono warunek ciągłości temperatury i strumienia ciepła -"A,
x = L,
dT, ( jc) '
dx
= A-
d r 2(jc) (9.26)
dx
7 ,(x ) - T2( x) , który można również zapisać następująco
(9.27)
r . d , ) = r 2( i , ) = r ( L , ) . Jeżeli dla x = L, występuje opór cieplny, to warunek brzegowy ciągłości strumienia ciepła na tym styku przyjmuje postać ,
, d 7 \(x ) _ T, ( x ) - T 2( x ) _ , 1
1
d7*2(x) 2
dJC
(9.28)
dx
lub 9 ,( ^ i) = <72( L i ) =
(9.29)
7 2( L ,) = T ^ L O ~ R q i L J
Można zauważyć, że dla R = 0 dwa ostatnie wzory sprowadzają się do zależności (9.26) i (9.27). Tak więc, algorytm MEB wystarczy przedstawić dla warunku (9.29) przyjętego na powierzchni kontaktu.
Rys. 9.2. Układ dwóch płyt pozostających w kontakcie cieplnym Opis matematyczny zadania uzupełniają warunki brzegowe na zewnętrznych powierzchniach obszaru: o II H x = L :
d r . (x )'
•i
[r'w- L J
*2 k < * ) .
dx
=0 ,
=0
(9.30)
369
368 Z przeprowadzonych poprzednio rozważań wiadomo, że dla każdego z podobszarów układy rozwiązujące mają następującą postać - dla obszaru pierwszego (por. wzór (9.19))
po przeniesieniu niewiadomych na lewe strony układów rozwiązujących mamy 9 ,(0 )
_ i o '.
-H ,a
G ,1,
G a,
-"aa
Gjj
W
0
4*1*^" ^ 1 1
=
L, —2Xj
0
1 2
1 2
1 2
1 2
9 ,(0 ) 9,(7.,)
~ l~ f Q ( x ) ( L l -x )d x 2*1 0
7 ,(0 ) +
_ 1
1 Zł
-
)
(9.37)
l[ T - ]J * "a.
.Z l.
9 (7 .,)
i.
oraz
T i
(* )* d x iA l0
g 2 +r
h
W
]
) (9.38)
9(7.,)
co można zapisać jako
-H 92(7.)
G,‘, C u
9 ,(0 )
G2i Gj2
9,(7-,)
",'a " i,
7 ,(0 )
z1
W
. z2 1
)
(9.32) Sprzężenie układów (9.37) i (9.38) prowadzi do następującego układu równań:
— dla obszaru drugiego L
L1 2 YT2
0 L,2
0 [
9 2(7 .,)
9 2 (7 .)
2X2
1
i
2
2
1 2
\ 2
W
)
—
G,a
0
9 ,(0 )
77,‘,
0
Gał, ~ h \ 2
Ga,
0
W
77^,
0
9(7.,)
0
77?2
92(7.)
0
7722
f Q 2( x ) ( x - L l ) dx 2 Z,
—
0
(9.33)
L r 2( L )
G,‘, “ 77,2
~Hu
0
/
g ,2, *
" " ? , G,22
Ga2, * " " a ,
g 22
)
(9.39)
lub
co można zapisać jako G,2, G?2 2 p2 1
9 2(7 .t )
r2 ii
9 2 (7 .)
r2 21
r ,d ,) h \2
r 2(L)
G ,‘2
9 ,(0 )
77,', H\ 2
r , ( 0)
g 2, g 22
9(7.,)
n 2\
w 1 nw*22
W .)
Z1
(9.35)
G,‘a
0
9,(0)
“ 7722
Gaa
0
^,(7.,)
H \ J W+ Z\
9(7-,)
h
92(7.)
7722
g 2.
(9.34)
Wprowadzamy warunek brzegowy (9.29) do obydwu układów rozwiązujących
G\x
G m -77,1,
0
"77f, G 2, + " " n
G,22
0
~7721 Ga2, * " " , ,
g 22
+z \
\2t ^
z
]
+z 2
Po wyznaczeniu niewiadomych qx (0), 7", (L ,), q(Lx), q2 (L), temperaturę T2 (L ,) wyznacza się z zależności (por. wzór (9.29)) T2U {) = r ,( L ,) - * 9 (7 .,) .
(9-41)
oraz Gn
G12
9(7.,)
. g 2,
g \2
92(7.)
" f l ^.22 zj2 łi-2 n 21 n 22
7,(7.,) - / ? $ ( ! , )
W drugim etapie algorytmu wyznacza się temperatury w punktach wewnętrznych podobszarów, czyli (por. wzór (9.15)) (9.36)
72(7.)
U (0 , I ,) :
Ti ( ( ) - - W
* - r ,d ,) * —
?,«>) - - r « ( Ł , > (9.42)
Dla ustalenia uwagi załóżmy, że dla x= 0 : 7 (0 )= 7 W, a dla x=L: T { L ) - T r gdzie 7Wi 7. są znanymi temperaturami brzegowymi.
L\
—
/< ? ,( * ) ( I , - | * - £ |)d x
2 *i o
370 oraz Z-) : T2U ) = ^ 7 ( 1 , ) + 1 t 2 (L ) +
U l q2{L) ♦ 2X2 (9.43)
L
- i- /< ? 2(:<)(Z.2-|*-tl)
Ll ~ 2Xj
0
0
i. 2X,
0
2
0
1 2
0
1 2
C*11 jN •O ^ 1
0
1 2
0
0 L.2
9 ,(0 )
--•7 2 *
M M
-•7 2 w
9 (M
- 7 2 *
92( 0
--•7 2 1
czyli 0.1 2-30
1 "2
0
_ 1 •200 2
0
9 ,(0 )
7*, (0 ,1 )
1 200 2
9 (0 ,1 )
1 100 2
0
1 2
0.1 2-30
0
0
1 2
_ o .i 2 10
0
0
1 2
0
0.1 2 10
92(0 ,2 )
_ 1 100 2
skąd <7, (0) =7500, 7 , (0,1) = 175, 72 (0,1) = 175 (por. wzór (9.41)), ^(0,1)=7500 oraz q2(0,2)=7500. Temperaturę we wnętrzu pierwszego obszaru oblicza się z zależności £ 6 ( 0 , 0,1) :
7 .(£ ) = —-200 + —• 175 + -0 -7500 - —L _ •7500 , 1 2 2 2-30 2-30
371 natomiast we wnętrzu drugiego ę 6 (0 ,1 , 0 ,2 ) :
7 , ( 0 = i -175 + - - 1 0 0 22 2
+ ° ‘2 * -7500 - ■*- ° -- -7500 . 2 10 2 • 10
Przykładowo: 7, (0,05) = 187,5, 72(0,15) = 137,5.
9.2. MEB dla stanów ustalonych (zadania 2D) Dwuwymiarowe, ustalone pole temperatury w obszarze zorientowanym we współrzędnych prostokątnych opisuje równanie Poissona w postaci xeQ :
(9.44)
XV2 7 (x ) + Q( x) = 0 ,
gdzie X [W/mK] jest współczynnikiem przewodzenia ciepła, 7 (jc) oznacza temperaturę, Q [W/m2 ] - funkcję źródła, a c = ( x , , x 2 ) jest punktem z obszaru 0, natomiast V2T
(x)
=
+ ^ 0 0
(9.45)
dx: Równanie (9.44) uzupełniają następujące warunki brzegowe xeT , :
T( x ) = Tb >
xeT2 :
q( x) = - i a r w dn
x eT 3 :
q{x) = - X
dn
(9.46)
b - a\T 1
gdzie r = r , u r 2u r , jest brzegiem rozpatrywanego obszaru fi - rys. 9.3, Tb - znaną temperaturą na fragmencie brzegu T,, qb - znanym strumieniem ciepła na fragmencie brzegu r 2, a [W/m2 K] - współczynnikiem wymiany ciepła, TM - temperaturą otoczenia, dT/dn - pochodną w kierunku normalnym do brzegu 57
dT 3x,
dT 1 d x2
,Q
— = ----- COSCC.+----- cos a , ,(9.47)
dn
Rys. 9.3. Rozważany obszar 0
2
przy czym cosa,, cosa2 są cosmusami kierunkowymi wersora normalnego do brzegu. Algorytm metody elementów brzego wych wyprowadzimy, korzystając (po dobnie jak w podrozdziale 9.1) z metody odchyłek ważonych.
Kryterium metody odchyłek ważonych dla równania (9.44) przyjmuje postać
śeQ :
| / [ X V 27(x) + < ?( x) ]7 * ( 0 x ) d Q = 0 ,
(9.48)
Q gdzie 7 ’ (£, x) jest rozwiązaniem fundamentalnym (podstawowym), £= (£ ,, obserwacji (punktem, w którym przyłożono skupione źródło ciepła). fundamentalne dla omawianego zadania ma postać [1, 2, 3] T 'U ,x
) =—
2 nk
) ~ punktem Rozwiązanie
hi- ,
(9A9)
r
przy czym r jest odległością między punktem obserwacji £ a rozpatrywanym punktem a: (9.50)
r = ^(jc,-?,)2 + (x2 - i 2f .
Można sprawdzić, że funkcja 7 "(£ , x) jest rozwiązaniem równania (9.51)
\ V 2T - U , x ) = - i a . r ) ,
gdzie Ó(£, ac)jest funkcją delta Diraca (por. wzór (9.10)) i ma ona następującą własność f [ T ( x ) 6 U , x )d Q = 7 ( 0 . o
(9.52)
Na potrzeby dalszych rozważań definiuje się funkcję wynikającą z rozwiązania funda mentalnego
.
.dT'U ,x)
Ja7*(OJc)
A 3 7 ,( ( ,r )
q (O x) = - X ------- — — - = -A. ------— —^coscc, + ------— — ^ c o sa 5x, dn dx,
, (9-53)
czyli (9.54)
q'U ,x) = 2n r‘ gdzie
(9.55)
= ( ac, - ^j) cos a, + (Ar2- £ 2)c o sa 2
Całkę występującą po lewej stronie równania (9.48) zastępujemy sumą dwóch całek i do pierwszej z nich stosujemy formułę Greena [3] / f XV27 * ( 0 x ) T ( x ) d Q * f
X 7 * ( 0 a: ) - — —- - X T( x ) d T '(Z> x )
ffQ(x)T'(Z,x)dQ =0
5/i
dr + (9.56)
373 lub po wprowadzeniu q (*) oraz ą (£, jc) I f A.V2r - a , x )T (x )d Q - / [ ? ( * ) 7 * u , o r
X)
- r(jc )^ ‘ (ę , * )]d r (9.57)
f f Q ( x ) T ' ( i , x ) dQ = 0 . Q Własność (9.51) rozwiązania podstawowego pozwala zapisać równanie (9.57) w postaci :
T U ) + / q ( x ) T \ l , x)dT = r
(9.58)
f T ( x ) q - U , x ) d r + [ [ Q ( x ) T - U , x ) dCl . r q Zmierzając z punktem £ do brzegu obszaru, otrzymujemy następujące brzegowe równanie całkowe [1, 2, 3] Śe r :
B U )T U ) * fq ( x ) T \Z , x)dr =
r
(9.59)
f T ( x ) q • (Z, x) d r * f f < ? ( x ) T ' ( Z , x ) d fi , r o gdzie B(£) jest współczynnikiem zależnym od kształtu brzegu, np. dla gładkiego fragmentu brzegu B (£) = 1/2. Jeśli rozpatrujemy bezźródłowe pole temperatury ((2=0), to równania (9.58) i (9.59) przyjmują prostszą postać, ponieważ zawierają tylko całki po brzegu obszaru, a mianowicie ZeQ :
7 ( 0 + f q ( x ) T ‘ ( Z, x ) d r = f T ( x ) q ’ (Z, x ) d T r r
(9.60)
oraz 5 er:
5 (0 7 (0
+ f q ( x ) T ‘ ( Z, x) d r = f T ( x ) q ‘ ( O x ) d r . r r
(9.61)
W pierwszej kolejności rozpatrywać będziemy bezźródłowe pole temperatury, a do rozwiązania równania (9.61) wykorzystamy metody numeryczne. W tym celu dokonujemy podziału brzegu rozpatrywanego obszaru na N części r y, j = 1, 2, .... N nazywanych elementami brzegowymi (iV, elementów należy do brzegu F,, elementy od (V, +1 do N2 - do brzegu T2 oraz elementy od yv2+ l do (V - do r 3). Rozróżnia się przy tym elementy stałe, liniowe i paraboliczne (kwadratowe) - rys. 9.4. Punkty nazywane węzłami, w których poszukuje się nieznanych wartości brzegowych (temperatury lub strumieni ciepła), położone są albo w środkach elementów (rys. 9.4a), na krańcach elementów (rys. 9.4b), albo też na krańcach i w środkach elementów (rys. 9.4c). W tym ostatnim przypadku elementy nie muszą być prostoliniowe.
374 Całki występujące w równaniu (9.61) zastępuje się sumą całek po elementach brzegowych i dla ustalonego węzła brzegowego £ 1otrzymuje się N
N
B{V)nV) +E
( q ( x ) T - ( V , x) dTj = £ [ T ( x ) q ' U ‘, x ) d r j . r, Jml r,
(9.62)
Równanie (9.62) przedstawia w dyskretnej postaci związek między temperaturą w węźle brzegowym £', w którym umieszczono punktowe źródło ciepła, a wszystkimi wartościami brzegowymi (tempera turami i strumieniami ciepła) łącznie z wartościami brzegowymi w rozpatrywanym punkcie 7 \£') i W przypadku elementów stałych (a tylko takie tutaj prezentujemy) zakłada się, że wartości temperatury i strumieni ciepła są stałe w obrębie każdego elementu i równe wartościom w węzłach centralnych tych elementów, czyli { r u > - n * ') - T j, J
(963)
|
Przy powyższym założeniu równanie (9.62) można zapisać w postaci 1
N
~ T ( V )
+ £
2
g j f
J -1 E >-i
r
T \ v ,
'
X )Ó T '
=
(9.64) x)dT
r,
Dla elementów stałych brzeg obszaru w otoczeniu punktu £' jest zawsze gładki i dlatego współczynnik fl(£ ') jest tożsamościowo równy 1/2.
fly*. 9.4. Elementy stałe, liniowe i paraboliczne Wprowadzamy następujące oznaczenia
iry
(9.65)
Wł;. = f q ^ a i, x ) d r j .
(9.66)
■> oraz
Tak więc (9.67) z
/- i
/*i
375 Ostatnie równanie określa zależność między temperaturą T (£ ') w punkcie centralnym elementu T, a temperaturą 7} i strumieniami ciepła qt w węzłach pozostałych, a dla i —j również w węźle rozpatrywanym. Wzór (9.67) można zapisać następująco (9.68) gdzie S n jest deltą Kroneckera
6.y -
' 1 ,
V = xJ ,
0 ,
Z1 * x J
(9.69)
lub
•
Oit
.
O lM] 4,
•
•[^1
■
. .
(9.70)
Ńn - " 2
.
•
tn
Równania typu (9.68) rozpisane dla wszystkich węzłów brzegowych tworzą układ /V równań algebraicznych, a mianowicie N
= x ‘ (i = l, 2, .... N)
N
E s « / = e K( V - - », u ) j ; .
y-t
y-i
(9.71)
i - 1 . 2 ........ n .
V*
Układ (9.71) można również przedstawić w postaci macierzowej g
i2 . ' .
•
^2/V
•
g n n
=
T /,,-0 .5
H.2
#2.
tf 22- 0 . 5
T,
•
.
•
^2Af
t
2
(9.72)
.
A«
U\
•
f
G a/ i
1 O
1
g 22
?!
Tn
lub krócej (9.73)
G q = H T , przy czym
HU =
A (J .
i *j ,
Ą y -0 .5 ,
i =j .
(9.74)
I 376
r=r,ur2ur3,
Ponieważ brzeg obszaru jest sumą trzech jego fragmentów na których zadane są warunki I, II i III rodzaju (por. wzór (9.46)), więc powyższy układ równań zapiszemy następująco "i
£
Ni i
N
Gij
J ’ N {*\
W,
Gu
+
£
j
Wj
E HtJ i
-
y-i
Gu =
* n 2*\
(9.75)
N
E H„ Ti * y=>/vi I Wył}
albo w postaci macierzowej
T, G1
G2
G,] q 2 ■ i".
h
2
h
(9.76)
3] T2 T3
q3 gdzie
21
G 1A/,
.-
G 2N{
G i =
G
" u
• •
*1N ,
*21
*-
* 2 W,
* * .
• •
* * * ,
"
' •
G 2Nj •
G w w,*i
A
v *
* 2 N ,* 1
• •
G nn2
•”
* 1 „2
’ •
*2N j
II
G /vw,
T
i
• •
m
G 1W2
G 2 =
b
H
G 2W,*1 .
•
-
G 1W2*1
• * G IW
G 2Wj *1
’ '
G 2A/
G WA/j *1
' •
Gnn
•-
* 1 *
* 2 A /j» l
*. .
/ J 2A,
*
•-
G 3 "
A
V I
II
g
. •
W
G .i
V
w a /2 » i
,(9.77)
(9.78)
oraz qs ^ \
Qn2+1
fy .2 9. =
»
Ti -
» T
q2 “
T*2 =
Qn2*2 •
q3 =
.V
qN .
V
T
T •'W,*2 » T
T1 3 =
T XNZ*2 r
(9.79)
(9.80)
377 Uwzględniając warunki brzegowe (9.46), otrzymujemy Nl
"i
E
J~ 1
Gij 4j +
N
E
J‘ Nt*l
Gij
H
a ,l <‘ (T, - T« ) =
E
(9.81)
Nl
Ni « „ T> +
E
J-l
N
E
»
j ‘Nr i
u tj
*
Hn Ti
E
J‘Nt *1
lub w zapisie macierzowym T/ [G,
G2
G a]
= [H.
H2
H 3]
, “ (T 3- T w)
t2
(9.82)
T 3
Po przeniesieniu niewiadomych na lewą stronę mamy Ni E
Ni G« « y -
N
E
h u tj
w, E
]*\
*
E
w, H u
Tt
-
T: -
(9.83)
w
E
y-AT, -1
< V » *
E
/ =Wj*1
a 0 „ T«
albo
Jd
-H 2
V II
G,
9i a G 3 - H 3] Tł 2
-
G 2
T* 3
t t G 3]
9* T Of
(9.84)
Ostatecznie dochodzimy do układu A Y = F ,
(9.85)
gdzie A = [G,
-H 2
« G 3 - H 3]
(9.86)
jest jego macierzą główną, natomiast F
= H l T fc '
G 2 9 fc + a G 3 T or
(9.87)
wektorem prawej strony. W metodzie elementów brzegowych macierz główna A jest macierzą pełną i w związku z tym układ (9.85) rozwiązuje się najczęściej, stosując metodę eliminacji Gaussa (lub jej ulepszony wariant z wyborem elementu dominującego).
378 Z układu (9.85) wyznacza się strumienie ciepła w węzłach brzegowych należących do T, oraz temperaturę w węzłach należących do r 2 i r 3, natomiast strumienie ciepła w węzłach j c '€ r 3 oblicza się z następującej zależności qr
Jt'e r,:
*.(Tr
T„).
(9.88)
Znajomość brzegowych temperatur i strumieni ciepła w wyróżnionych węzłach pozwala na ostatnim etapie realizacji obliczeń nume rycznych wyznaczyć temperatury w węzłach wewnętrznych (rys. 9.5) (9.89) 7-1
7-1
Jak widać, temperatura T (£' ) w punkcie wewnętrznym zależy od wartości temperatury i strumieni ciepła we wszystkich węzłach brzegowych x i, j = 1, 2, .... N. Omówimy jeszcze sposób obliczania całek (9.65) i (9.66). Na rysunku 9.6 pokazano wyróżniony element brzegowy Tj. Współrzędne początku i końca tego elementu oznaczono przez x p oraz at*. Wprowadzimy następujące podstawienie 1 -Tl
«I
1
x = (x p x2) e T . :
2
X2 =
"1 1 1
1 + Tl
*
j
2
(9.90)
1 - Tl p 1 +T] k j LjC2 = *2 2 H + ----2 2 2
przy czym r j G [ - l , 1],
Rys. 9.6. Stały element brzegowy Jak łatwo sprawdzić
iTj -
+
dx2 , dri ,
2
dri
gdzie / jest długością elementu brzegowego r ).
M U ;
(9.91)
379 Sposób obliczania cosinusów kierunkowych wersora normalnego do brzegu wynika z nas tępujących rozważań. Wektor równoległy do prostej przechodzącej przez punkty x p i x* ma współrzędne [x,*-x,p, x 2 —x2p], czyli wektor do niego prostopadły jest postaci [x2k—x 2p, —(jc,*—jc,p )], co wynika natychmiast z ich iloczynu skalarnego. Ostatecznie i ii x } -x f
n = [cosec,, c o sa 2] = • v‘tV
X? -
’
Z
X*
(9.92)
^2 J ll Z [/ ’
Z
.
Tak więc całki (9.65) i (9.66) można zapisać w postaci
dr. =
0|y =/r-»<, r/ -— f ln1 J 4 nrr X /
/ ( * , - 5 i ) 2 +(x2- { i ) 2 (9.93)
1 .
/
ri
Z
N
\2 /
- d Tl
i
/V
ł2 Z
oraz
H,
r
.
/? •« '.
*>ar.
r,
i
f ( x ,- ^ '.je o s a . + ( x ,- l ^ j c o s a ,
- -L /
1
1----------------
2 ” r,
i dr
=
* (x2 - { ‘ )2
(9.94)
„y . *l _ r/ _ ( y l2 n _ri •Xl +"TT1 M *2 jc2 +TTt1 >2 -L / 4 n ■»,
dr| . Z
)2
/
\2
Powyższe całki najczęściej oblicza się numerycznie stosując kwadratury Gaussa (por. rozdział 4), chociaż dla stałych elementów brzegowych można je również wyznaczyć analitycznie [3]. Wyjątek stanowią całki osobliwe dla i= j, które wyznacza się w sposób dokładny, a mianowicie [2, 3] G., = —— f l + ln —) , łl 2**1 l)
(9.95)
Ńn = 0 .
o- Przykład 9 . 4
Wyznaczymy ustalone, bezźródłowe pole temperatury w obszarze kwadratu o boku 4. Na bokach x2 = 0 oraz x 2 = 4 przyjęto q = 0, natomiast boki x, = 0 i x, = 4 utrzymywane są w temperaturze 7= 200 i 7 = 0 odpowiednio. Przyjęto \ = 1. Funkcja 7(x,, x 2) spełnia równanie Laplace’a (x,, x2) e Q :
d 1 T(^xv x 2 )
dx
+
d 27 ( x , , x 2)
—
dxi
=0 ,
380 z warunkami brzegowymi 0 <
< 4 : q ( x j, 0) = 0 ,
0 < x2 < 4 :
r(0,
Xj) = 200 ,
Brzeg obszaru podzielono na 8 stałych elementów brzegowych, przy czym ograniczono się do tak niewielkiej liczby elementów, aby dokładnie przedstawić sposób tworzenia układu rozwiązującego. Wewnątrz obszaru wyróżniono 5 węzłów wewnętrznych (rys. 9.7).
Rys. 9 .7. Dyskretyzacja brzegu i węzły wewnętrzne W pierwszej kolejności obliczamy elementy macierzy G oraz H. Na podstawie wzorów (9.95), (9.74) mamy Gfl - 0,31831 ,
H„ = - 0 ,5 ,
i « l , 2, .... 8 .
h
21
= *36
= *4.
-
G 58 = G «3
= *58
K>
-
36 = G 4I
W
*.4
g
ii
= G 27 =
a?
G |4
u
Pozostałe elementy tych macierzy obliczamy numerycznie stosując 6-punktowe kwadratury Gaussa. Na przykład, na rysunku 9.8 pokazano położenie punktów £' oraz elementów brzegowych dla których całki GtJ, H(j są takie same, a mianowicie
= *72
= G 85 =
-0,4601
»
0,0540 .
= *85
Kolejnym etapem algorytmu jest utworzenie układu rozwiązującego. Biorąc pod uwagę rodzaj warunków brzegowych zadanych w węzłach 1, 2, .... 8, macierz główna tego układu przyjmuje postać
A,
-H a
- H a
a n
G „j
381 lub po wstawieniu wartości liczbowych
—
0,500
0,000
-0,371
-0 ,4 6 0
-0,063
-0 ,0 7 8
-0 ,3 6 2
-0 ,1 1 4
0,000
0,500
-0 ,1 1 4
-0 ,3 6 2
-0 ,0 7 8
-0,063
-0 ,4 6 0
-0 ,3 7 1
-0 ,0 3 5
-0 ,1 7 6
0,318
-0 ,2 0 6
-0 ,0 9 4
-0 ,0 5 4
-0 ,4 7 8
-0 ,4 4 5
-0 ,0 5 4
-0 ,0 9 4
-0 ,2 0 6
0,318
-0 ,1 7 6
-0,035
-0 ,4 4 5
-0 ,4 7 8
-0 ,0 6 3
-0 ,0 7 8
-0 ,3 6 2
-0 ,1 1 4
0,500
0,000
-0 ,3 7 1
-0 ,4 6 0
-0 ,0 7 8
-0 ,0 6 3
-0 ,4 6 0 -0,371
0,000
0,500
-0 ,1 1 4
-0 ,3 6 2
-0 ,1 7 6
0,318
-0 ,2 0 6
-0 ,0 9 4
-0 ,2 0 6
0,318
-0 ,0 9 4
-0 ,0 5 4
-0 ,4 7 8
-0,445
-0,035
-0 ,1 7 6
-0 ,0 3 5
-0 ,4 4 5
-0,478
-0 ,0 5 4
Rys. 9.8. Całkowanie po elementach brzegowych Z kolei elementy wektora prawej strony oblicza się następująco (/= 1 , 2, .... 8) F, - - G „ « , - 0,-29, ♦
H. HiĄ Tt - G„ 9, - a i6qt *
♦ H „T, .
Wykorzystując zadane warunki brzegowe, mamy F, = - Gn O - G „ - 0 + / / (3 0 + / / i4 0 - Gj5•O - Gt6 O + // i7 200 + / / j8-200 i ostatecznie '
42,2021' 29.5167 28,2812
F =
28,2812 29.5167 42,2021 -100,0000 -100,0000
Po rozwiązaniu układu równań A Y = F , otrzymujemy 151,7170 T2
48,2830
52,9286
<1*
52,9286
T*
48,2830
t6
151,7170 -52,9286 -52,9286
Tak więc, znane są wartości temperatury i strumieni ciepła we wszystkich węzłach brzegowych (ograniczono się do jednego miejsca po przecinku) 7, = 151,7 , T2 = 48,3 ,
q2 = 0 ,
r3 =
0 ,
T4 =
0,
52.9 , 52.9 ,
= 0 , $6 = 0 , -5 2 ,9 ,
Ts = 48,3 , T6 = 151,7 , r 7 = 200 , T% = 200 ,
Ostatni etap polega na wyznaczeniu wartości temperatury w węzłach wewnętrznych obszaru wzór (9.89). Dla węzła 9 otrzymujemy '91 = G9g = -0 ,0 4 2 0 , G92 = G97 = - 0 ,2 5 , G „ = G 96 = - ° ’3554 ’ G94 = ^ 9J - -0,4099 , H9l = ff98 = 0,25 , H92 = H94 = H „ = H 91 = 0,0738 , ff93 = H 96 = 0,1024 , skąd 8
m
9) = £
8
H 9J Tj - £
J -l
Gv q>
= 150,4 .
J-1
Postępując podobnie, obliczamy
T(V°) - 49,6 ,
7 U 11) = 150,4 ,
T ( ^ lJ) s 49 ,6 '
= 100,0 ’
383 Podsumowując, w algorytmie metody elementów brzegowych dla równania Laplace’a można wyróżnić następujące etapy: przedstawienie opisu matematycznego ustalonego, bezźródłowego przepływu ciepła w postaci równania całkowego, dyskretyzacja brzegu rozpatrywanego obszaru, utworzenie dyskretnej postaci równania całkowego, obliczenie całek Gt] oraz Htj (elementów macierzy G i H), utworzenie układu równań zawierającego niewiadome temperatury lub strumienie ciepła w węzłach brzegowych, rozwiązanie układu równań (wyznaczenie „brakujących” wartości brzegowych temperatur lub strumieni ciepła), obliczenie wartości temperatury w punktach należących do wnętrza obszaru. Q Algorytm Poniżej przedstawiono jedynie dwa fragmenty algorytmu pozwalającego wyznaczyć ustalone pole temperatury w obszarze płaskim. Pierwszy z nich dotyczy sposobu tworzenia końcowego układu równań (9.85) uwzględniającego zadane warunki brzegowe. W tym celu wygodnie jest wprowadzić dwa wektory np. rodź oraz p o długości n odpowiadającej liczbie elementów brzegowych. Do pierwszego z nich wpisujemy 1, jeżeli na rozpatrywanym elemencie brzegowym mamy warunek pierwszego rodzaju, 2 dla warunku drugiego rodzaju lub 3 dla warunku trzeciego rodzaju. W wektorze p wpisujemy wartość temperatury Tb (tam, gdzie zadany jest warunek pierwszego rodzaju), wartość strumienia ciepła qb (tam, gdzie zadany jest warunek drugiego rodzaju) lub wartość współczynnika wymiany ciepła a (tam, gdzie zadany jest warunek trzeciego rodzaju). Elementy wektora F prawej strony układu równań zapiszemy w n + \ kolumnie macierzy A. Macierz A zawierającą n wierszy i n+1 kolumn można więc otrzymać wykonując ciąg instrukcji
Dla i : * 1, 2,
n
Podstaw At n ł| : = 0 D la ; : = 1, 2,
n
Jeżeli rodzj = 1 to
( Podstaw
A (J : = Gi}
Oblicz
nfj : = A.
+ Hij P .
Jeżeli rodzj = 2 to
( Podstaw
A {j : = - H ij
Oblicz A i n t l : = A l ntl - Gij Pj Jeżeli rodzj = 3 to Oblicz A u : = Gi} ■Pj - HiJ
(Oblicz A iHtl : - A i n ^ + Gij Pj Tot
384 Po zastosowaniu metody eliminacji Gaussa (por. rozdział 1), rozwiązanie układu równań znajduje sie w n + l-szej kolumnie macierzy A. „Odszyfrowanie” uzyskanego rozwiązania, czyli określenie, które elementy Aj „+1 odpowiadają brzegowym wartościom temperaratury Tj, a które wartościom q}, można zrealizować w następujący sposób
Dla j : = 1 , 2 ,
n
Jeżeli rodzj = 1 to f Podstaw Tj := Pj [Podstaw ą ., : = AJ n ^ Jeżeli rodZj = 2 to
( Podstaw
qj : = Pj
Podstaw Tj • ~ A j Jeżeli rodzj = 3 to f Podstaw Tj : = Aj [ Oblicz qj : = P} (Tj - Tot)
Jeśli rozpatruje się źródłowe pole temperatury (Q(x) j^O), to w brzegowym równaniu całkowym oprócz całek po brzegu obszaru występuje całka związana z jego wnętrzem - wzór (9.59). W takim przypadku dokonuje się dyskretyzacji nie tylko brzegu, ale również wnętrza obszaru. Najczęściej obszar U dzieli się na elementy będące trójkątami lub czworokątami, przy czym rozróżnia się elementy wewnętrzne stałe, liniowe albo kwadratowe. Najprostszym sposobem dyskretyzacji wnętrza obszaru fl jest jego podział na stałe elementy wewnętrzne (trójkątne lub czworokątne) 0, , Z = l, 2, L - rys. 9.9.
Rys. 9.9. Stałe elementy brzegowe i wewnętrzne Węzły wewnętrzne x '= ( x /, ) umieszczone są w środkach masy elementów, funkcja Q (x) jest stała w obrębie każdego elementu wewnętrznego, czyli
x e G , :
=
Q ,
.
natomiast (9.96)
Aproksymacja równania (9.59) przyjmuje wówczas postać
(9.97) 7-«
y-i
r-i
gdzie />„ - / / T ' a ‘, * )d O , - X— f / l n - d Q , . D( Z ,lA 0( r
(9.98)
Całki (9.98) oblicza się numerycznie stosując kubatury Gaussa - por. rozdział 4. Równania typu (9.97) rozpisane dla wszystkich węzłów brzegowych £' = x ‘ ( i = l , 2, ..., /V) tworzą układ N równań algebraicznych, który można przedstawić w postaci macierzowej G q = H T +W ,
(9.99)
gdzie W = P Q. Należy w tym miejscu zwrócić uwagę na fakt, że całki po elementach wewnętrznych nie zawierają niewiadomych, znany jest również wektor Q, tak więc iloczyn W =P Q występuje zawsze po prawej stronie układu rozwiązującego A Y = F p
(9.100)
czyli F, = F + W . Po rozwiązaniu układu (9.100) znane są brzegowe temperatury i strumienie ciepła w wyróżnionych węzłach, co pozwala wyznaczyć temperaturę w węzłach wew nętrznych obszaru (dla i= N + 1, N+2, .... N + L)
r <£'> ■ E H„ Tj - E Ou 7-1
(9101)
7-1
o* Przykład 9.5 Wyznaczyć pole temperatury w obszarze kwadratu o boku 4. Na bokach x2 = 0 oraz x2 =4 przyjęto q = 0, natomiast boki = 0 i x, = 4 utrzymywane są w temperaturze 7"=200 i 7’=0, odpowiednio. Przyjęto X = l. W obszarze działają wewnętrzne źródła ciepła o wydajności C = 10 W /m 3. Funkcja T (x,, x 2) spełnia równanie Poissona (*,, J:2) e Q :
d T ( x p x2) ^ d T ( x lt x2) + dx\
_ q
dx%
Brzeg obszaru podzielimy na 8 stałych elementów brzegowych. Jak można zauważyć, warunki geometryczne oraz brzegowe są takie same, jak w przykładzie 9.4, w związku z tym macierze G, H, A oraz F zostały już wyznaczone. Ze względu na niezerową wartość funkcji źródła należy dokonać również dyskretyzacji wnętrza obszaru. W pierwszym przypadku wnętrze podzielono na cztery stałe elementy kwadraty (rys. 9.10), natomiast w drugim - na osiem stałych elementów trójkątnych (rys. 9.11).
386
Rys. 9.10. Elementy wewnętrzne - kwadraty
Rys. 9.11. Elementy wewnętrzne - trójkąty
Elementy macierzy P obliczono za pomocą 6-punktowych kubatur Gaussa. Macierz P dla wewnętrznych elementów kwadratowych ma postać -0,0338
-0,511 9 -0 ,6 9 9 9 -0,8163
-0,5119
-0,033 8
-0,8 1 6 3
-0,6999
-0,6999
-0,033 8
-0,8163
-0,5119
-0,8163
-0,5119 -0 ,6 9 9 9 -0,0338
-0,8163
-0,699 9 -0 ,5 1 1 9 -0,0338
-0,6999
-0,8163
-0,0338
-0,5 1 1 9
-0,5119
-0,8163
-0,0338
-0,6 9 9 9
-0,0338
-0,699 9
-0,5 1 1 9 -0,8163
Na przykład, na rysunku 9.12 pokazano położenie punktów /'= 1, 2, 8 oraz elementów wewnętrznych fi„ dla których całki PlĄ, PUl P„, P41, PiU P62, Pn , PM są takie same. V
A A /■ A
• M
A ii
A
.
- A
-
A
Rys. 9.12. Całkowanie po elementach wewnętrznych
387 Wektor Q = [10, 10, 10, 10]T, czyli W = P Q = [-20,6182, -20,6182, -20,6182, -20,6182, -20,6182, -20,6182, -20,6182, -20,6182]T, skąd F, = F + W = [21,5838 8,8985 7,6629 7,6629 8,8985 21,5838 -120,6182 -1 2 0,6182]T . Po rozwiązaniu układu równań A • Y = F i otrzymujemy 165,1864 ' 61,7524
T*
72,4000 72,4000 Ts
61,7524
t6
165,1864
-33,4573 -33,4573
q»
Przejdziemy do wyznaczenia wartości temperatury w węzłach wewnętrznych obszaru wzór (9.101). Dla węzła 9 o współrzędnych (1, 1) mamy P91 = 0,2209 , P92 = P „ = -0,4438 , P94 = -0,6 6 1 2 ,
skąd 8
T a 9)
8
4
= E H*j TJ - E G9jqj + E p9,Q, = 1 6 4 .4 . /- i
;-i
/-i
Postępując podobnie, obliczamy 7 ( ę 10) = 63,6 ,
P C i" ) = 164,4 ,
P ( 5 ‘2) = 63,6 .
W przypadku dyskretyzacji obszaru za pomocą elementów trójkątnych (rys. 9.11) macierz P ma postać (w metodzie kubatur Gaussa wykorzystano 7 punktów) 0,1010 -0,1923 -0,1923
0,1010
-0,3146
-0 ,1 1 3 7
-0,3196
-0,4000
-0,4163
-0,3853
-0,3 1 4 6 -0,1137
-0,1137 -0,3146
-0,3853
-0,4163
-0,4000
-0,3196
-0,1923
-0,3196
-0,4000 -0,4163
-0,3853
-0,3146 -0,3853
-0,4163
-0,1923
-0,3196
-0,4000
0,1010
-0,4000
-0,3 1 9 6
-0,1923
0,1010
-0,1137
-0,4163
-0,3853
-0,3146
-0,1137
0,1010
-0,3853
-0,4163
-0,4000 -0,3196
-0,1923
0,1010
-0,1137
-0,3146
-0,3196
-0 ,4 0 0 0
-0,4163
-0,3853
-0,3146
-0,1137
0,1010
-0,1923
-0,1137
-0,3 1 4 6
-0,3853
-0,4163
-0,4000 -0,3196 -0.1923
0,1010
388 natomiast wektor prawej strony Fj =[21,7946 9,1092 7,8737 7,8737 9,1092 21,7946 -120,4075 -1 2 0 ,4 0 7 5 )T . Rozwiązanie układu równań A • Y = F , prowadzi do następujących wyników T,
165,0488 '
T
61,6147
72,2010
%
72,2010
T,
61,6147 165,0488
-33,6563
qi
-33,6563
Jak można zauważyć, różnice między obydwoma otrzymanymi rozwiązaniami są niewielkie. Temperatura w wyróżnionych węzłach wewnętrznych jest równa T U 9) = T (Ę 14) = 151,3 , 7 ( ś u ) = T ( V 2) = 43,4 ,
7 ( ś 10) = 7 (C 13) = 80,4 , 7 ( ś 15) = T ( V 6) = 177,1,
przy czym dla tych węzłów zastosowano 3-punktowe kubatury Gaussa.
9.3. MEB dla stanów nieustalonych (zadania ID) W niniejszym podrozdziale rozważamy jednowymiarowe, nieustalone i źródłowe pole temperatury w obszarze płyty o grubości L, opisane równaniem 0 < x
c d T ( x , t ) _ x d 2T( x , t ) +
(9.102)
gdzie X[W/mK] jest współczynnikiem przewodzenia ciepła, c [J/m3K] - ciepłem właściwym odniesionym do jednostki objętości, Q(x, t) - wydajnością wewnętrznych źródeł ciepła, T, x, i oznaczają temperaturę, współrzędną przestrzenną i czas. Równanie (9.102) można również zapisać w następujący sposób 0
d 7^ - dt
dx2
Q i xjJ ). t c
(9.103)
gdzie a = X/c jest współczynnikiem wyrównywania temperatury (dyfuzyjnością cieplną).
389 Dla jc=0 oraz x= L zadane sa warunki brzegowe x =0 :
F. T(x, r),
dT(x, t) dx
=0 ,
x = L :
dT(x, t) F. T( x , t). dx
=0 .
(9.104)
Warunki (9.104) zapisano w postaci ogólnej, w praktyce sprowadzają się one do warunków brzegowych pierwszego, drugiego i trzeciego rodzaju. Powyższy opis matematyczny uzupełnia warunek początkowy t = 0 : T( x , t) =
r 0(x)
.
(9.105)
Algorytm metody elementów brzegowych wyprowadzimy korzystając - tak jak w poprzed nich podrozdziałach - z kryterium metody odchyłek ważonych, które dla równania (9.103) przyjmuje następującą postać
//
a d 2T( x , t) dx2
dT(x, t) dt
Q(x, t) T'(Ę., x , t F, t ) d x d t = 0 , c
(9.106)
gdzie [r°, t F ] jest analizowanym przedziałem czasu, r ' (£, x, t F, t) - rozwiązaniem podstawowym (fundamentalnym), natomiast £ - punktem obserwacji. Wyrażenie w nawiasie kwadratowym (defekt rozwiązania) jest różnicą między prawą a lewą stroną równania różniczkowego i dla rozwiązania przybliżonego T (x, t) przyjmuje wartość różną od zera. Kryterium metody odchyłek ważonych sprowadza się do postulatu, aby defekt rozwiązania pomnożony przez funkcję wagi (rozwiązanie podstawowe) i scałkowany po obszarze czasoporzestrzennym był równy zero. Rozwiązanie fundamentalne dla rozważanego zadania jest postaci [2, 3] T ’ a , x, t F, t )
1
exp
2 \ ] n a ( t F- t )
(*-Q 2
(9.107)
4 a ( t F- t )
Można sprawdzić, że funkcja 7” (£, x, t F, t) spełnia równanie a Ł 2.T/ S L . ^ i . tFL Jl + d T ' U> x >t F> dx2
= - 6 ( ?> x ) 6 ( t F, t) ,
(9.108)
dt
gdzie 6(£, x), 5 ( t F, t) są funkcjami delta Diraca. Ponadto granica funkcji 7’’ (£, x, t F, t) dla t -* t F wynosi lim T ' U , x, t F, t) = 6 ( 5 , x) . t-tr
(9.109)
Strumień ciepła wynikający z rozwiązania fundamentalnego definiuje się następująco q * a , x, t F, t) = - \ d T - ( ł , x, t F, t ) / dx ,
<911
TĘ 391
390 Z kolei na podstawie (9.109) mamy
czyli Hx~t)
q ‘ U , x , t F, t) =
exp
4 ^ [ a ( t F- t ) Y 12
(X -O 2 4 a ( t F- t )
t*fr-t
L
(9.111)
lim
f
t - 0
o
T * U , x, t F, t )T(x, t ) dx
Kryterium (9.106) zapiszemy w postaci
f f ,o o
a d-2--^ ^ T ’ U , x , t F, r)d x d r - f f 3 7 ( * ł r)- T ‘ U , x, t F, t ) d x d t 3* 2 ,o o dt
lim f T ’ U , x, t F, t F- e) T( x> t F- c ) d x - f T ' U , x, t F, t 0) T ( x , r°)d * = (9117) «- 0 o L
(9.112)
0 - f T ‘ U , x, t F, t ° ) T ( x , t ° ) d x .
tF L
- f f Q ( x , t ) T ' U , x, t F, t ) d x d t = O . C r° O
Całkując dwukrotnie przez części względem zmiennej x pierwszy składnik równania (9.112) otrzymuje się (dla uproszczenia zapisów pominięto argumenty funkcji)
Wzory (9.116) oraz (9.117) wprowadzamy do równania (9.115) i ostatecznie otrzymujemy następująca zależność t’
x*L ro o
fr d2T'
f
°x
f j ° dx2
T U , t F) + - f T ’ U , x, t F, t ) q( x, O dr r J
T dx =
jr-0
(9.113) .r L t'
f ± f ( T q ' - T ‘q ) d t
!f°
ó 2t
‘
tF
L
- j 'q ’tt, Tdxdt .
X,
t F, o n * . r ) d r
C ‘°
dx2
+ l,- o
f T ‘ (Z> x . t r .
t ° ) T ( x , r ° ) dx *
(9<118)
0
t FL
Z kolei drugi składnik równania (9.112) całkuje się przez części względem zmiennej t ,.,f
/ / f r 'd*d , = f
tf L
(9.114)
T ’ Tdx
Tak więc, równanie (9.112) przyjmuje postać
l h
I -f(Tq-~T'q)dt
st
(9.115) T ’ Tdx
+
- f f
Q T ’d x d t = 0 .
Z własności (9.108) wynika, że t FL L / 2 * 1 L f f L i X . i Z - T(fi, t ) i x i t = - f f 6 ( ( , x ) i ( t F, t ) T ( x , t ) d x d t y 0 ( Sx2 St J tF
~
f
6 ( t F, t ) T U , r )d r = - T U ,
t F)
.
W ten sposób model matematyczny (9.103), (9.104), (9.105) opisujący nieustalone źródłowe pole temperatury w obszarze [0, L] został zastąpiony równaniem (9.118), przy czym warunek początkowy T(x, r ° ), jak również część warunków brzegowych (np. temperatura T dla x = 0 i strumień ciepła q dla x= L) są znane. Do rozważań wprowadzamy siatkę czasu 0 = r° < r 1 < t 2 < ... < tf ’ x < tf < ... < t F < «>,
tFL
f
- f f Q( x , t ) T ’ U , *, t F, O d x d r .
(9.116)
(9.119)
gdzie Ar = jest jej krokiem. W literaturze, np. [2, 3], opisane są dwa warianty metody elementów brzegowych, różniące się sposobem dyskretyzacji po czasie równania (9.118). Pierwszy schemat MEB pozwala traktować przejście t f~' -* r f jako odrębne zadanie z odpowiednim warunkiem początkowym (dla / = 1) lub pseudopoczątkowym (dla / = 2, 3, ..., F ) . Dla zadań nieustalonego przepływu ciepła wykorzystanie tego wariantu wymaga obliczania całek po wnętrzu rozpatrywanego obszaru (związanych z warunkiem pseudopoczątkowym i funkcją źródła). Drugi schemat MEB jest szczególnie efektywny dla zadań z zerowym warunkiem początkowym i bezźródłowych pól temperatury. W praktyce każdy warunek początkowy typu T (x, 0) = r 0 można sprowadzić do warunku zerowego poprzez przyjęcie odpowiedniego poziomu odniesienia dla temperatury. Drugi schemat MEB pozwala uniknąć w takim przypadku całkowania po wnętrzu obszaru, wymaga natomiast „pamiętania” brzegowych wartości temperatur i strumieni ciepła z wszystkich poprzednich chwil czasu t°, t \ .... t f~'.
1 392 9.3.1. I schemat MEB W przypadku pierwszego schematu MEB równanie (9.118) zapisuje się w postaci
W realizacji numerycznej stosuje się różne sposoby aproksymacji funkcji T(x, t) oraz q(x, t) na odcinku [tf ~ \ t f ], np. aproksymację funkcja stałą, liniową czy też kwadratową. Zastosowanie tzw. stałych elementów po czasie, a takie elementy są najczęściej stosowane, jest równoważne przyjęciu następujących założeń (9.121)
Z kolei funkcję źródła Q (x, t) dla aproksymuje się wartością Q(x, tf~') (takie podejście będzie dalej rozpatrywane) lub zakłada się, że funkcja Q odpowiada chwili t 1 . W takim przypadku podstawowy algorytm MEB należy uzupełnić pewną procedurą iteracyjnego wyznaczania wartości Q (x, t r ) w każdym kroku czasu [3]. Tak więc równanie (9.120) można zapisać w postaci
Wprowadzamy oznaczenia (9.123)
393 oraz t'
gu,x)
=
(9.124)
- f T - a , x , t',t)dt
i wówczas równanie (9.122) przedstawimy następująco x mL
r a , tf) *
h( Z, x ) T ( x , t f )
g ( ś , *) q( x , t f )
(9.125)
Jt-O
p a , r 7 ' 1) + z a , t f - x) ,
czyli T a , t f ) + g a , L ) q ( L, t f ) - g a , 0)
A(5, L ) T ( L , t f ) - h a , 0 ) 7 ( 0 , tf)
*
(9126)
P(5, r'* 1) + z a , t f -«) ,
gdzie m , f 7' 1) = / r * a , X, t f , t f - ' ) T ( x , t f - l ) d x =
(9.127) — " / exP 2 \J n a ^ t o
( * - Q * 7 (x , r/_1)dx , 4 a Az
natomiast L z a , t f - ' ) = - /
(9.128) /< ? ( * , f / - l ) g ( ę , x ) d x . Należy w tym miejscu zwrócić uwagę na fakt, że we wzorach (9.123), (9.124) całkowanie po czasie wykonuje się analitycznie. I tak
h a , x) =
f exp 4 / ^ J - , ( t f - t ) 3' 2
Podstawiając z = t f - t , a w dalszej kolejności
V®
( x - i ) a dr . 4a(tf-t)
u =|x -ę \i2jaz, / « p (-.* )d ., U-tl 2 \/a 4 ł
(9.129)
otrzymujemy (9.130)
394 czyli h u , x ) - 5 e < Ł j ) erfc( j £ l i i ) ,
2
(9.131)
2\[aXt
przy czym funkcja erfc^) jest dopełnieniem do jedności funkcji błędów erffv) e r f ( v ) = — f e x p ( - u 2)du ,
e rf c (v ) = 1 - e r f ( v ) ,
(9.132)
natomiast s g n ( x -|) jest funkcją znaku - por. wzór (9.8). Podobnie oblicza się całkę
a następnie u = | x - £ |/ 2 y/az)
g ( i , x) = i f T- ( Z, x, t ' , r) dr = — L _ f _ L _ exp
dr 4 (9.133)
— —— f — e x p ( - u 2)du , 2 X\/n | Ą | u 2 2v'aAr czyli
g ( Ł . *)
l * - £ l ■ —exp( -K 2) - 2 y e x p ( - u 2)du u 2A/rc J fiii -lilii 2y/aAt 2y/aAt
.
(9.134)
Ostatecznie zależność (9.134) przyjmuje postać g ( t . x)
/A r bfi
(x -O 2 4aA r
------exp - -------H -
\x~i\ 2 A.
(9.135) 2 /a A r
gdzie b =y/Yc jest współczynnikiem akumulacji ciepła. Z kolei całki (9.127), (9.128) oblicza się numerycznie. Rozpatrywany obszar [0, L] dzieli się na elementy wewnętrzne, przy czym można tu wyróżnić elementy stałe, liniowe lub paraboliczne. Całki w granicach od 0 do L zastępuje się sumą całek po elementach. W przypadku elementów liniowych (rys. 9.13) sposób wyznaczenia całki (9.127) jest następujący. Dla x E [jcy_,, jcy] zakładamy liniową zależność temperatury od współrzędnej z, a mianowicie , . x ,; - x T ( x , r ' - 1) = — L----- T ( x . . ,
' 1
) + X - XL± T (x ., r /-1 ) . r - r
'
(9.136)
395 Wzór (9.127) przyjmuje wiec postać PU; t
=
1 2 v/ tTo A1 (9.137)
N
xi
X, - X
1 /
*/
>■«;
, .
x - X,
7 — Ttv*. (Xj_,, r 7’ 1) + ~— Z L ± T {x n t f ' x) exp * /" *>-» >-i
( * - Q 2 dx .
4a At
Całki po kolejnych elementach wewnętrznych oblicza sie stosując kwadratury Gaussa. Podobnie wyznaczamy całkę (9.128) związaną z funkcją źródła.
Rys. 9.13. Wyróżniony element liniowy Zmierzając w równaniu (9.126) z punktem £ do krańców płyty, czyli biorąc £ -* 0 + oraz £ -* 7 ", uzyskuje sie równania brzegowe 7 ( 0 , r 7) + g (0 , 7 ) 9 ( 7 , r 7 ) - * ( 0 , 0 )9 (0 , r7) = * ( 0 \ 7 ) 7 ( 7 , t f ) - h ( 0 \ 0 ) 7 ( 0 , f7)+ 7 ( 0 , f 7 1 ) +Z (0, f 7‘ l ) , (9.138) T( L, r 7) + g ( 7 , 7 ) 9 ( 7 , t f ) - g ( L, 0 )9 (0 , r7) = A ( 7 \ 7 ) 7 ( 1 , / / ) - h ( L ' , 0 ) 7 ( 0 , f 7) + 7 ( 7 , r 7' 1) + Z (7 , f 7' 1) . Układ rozwiązujący (9.138) można zapisać również w postaci macierzowej - * ( 0 , 0) g ( 0 , 7)
9 (0 , f 7)
~h(0\ 0 ) -l
- g U , 0) g U , 7)
qU, tf)
- K L \ 0)
/ i ( 0 \ 7)
7 (0 , r7)
h(L~> 7) - 1 7 ( 7 , f 7).
7 ( 0 , r 7" 1)
Z (0 , r 7’ 1)
7 ( 7 , r 7' 1).
2 ( 7 , r 7’ 1)
lub G ll
G 12
G 21
G 22.
q U , t 7)
A l
A »
A l
V
7 ( 0 , r 7)
7 ( 0 , r 7*1)
2 ( 0 , r 7 ' 1)
.7 ( 7 , t f )
7 ( 7 , r 7' 1)
2 ( 7 , r 7 ‘)
397
396
Ponieważ L = 0,02, a = 10 6, b = 1000, więc możemy przyjąć
Jak łatwo sprawdzić Gn =
G22
\fE~t
erfc
~ 0 ,
L2 4a A t
exp -
v2 Ja At
b\pH
=0 ,
(9.141)
Ł* | Gi2 " - G 2. = - ^ ^ e x p k 4 a A t t 2 bfi
L 2 A.
a następnie
\
[ 2jaAt t
G n = " G22 = b\ftt
oraz
= -----------------= -1 .2 6 1 5 7 -1 0 '3 , 1000 y/u
G 12 = " G2l = 0 » oraz
H n = H n = "° -5 ( H .2 -
L
(9.142)
\
k2 Ja A t j
h
Z układu równań (9.140) wyznacza się „brakujące” wartości temperatury lub strumieni ciepła na brzegu obszaru (d lax = 0 i x=L) i uzyskana w ten sposób pełna informacja o warun kach brzegowych na granicy rozpatrywanego obszaru kończy pierwszy etap realizacji algorytmu MEB. Następny krok obliczeń polega na wyznaczeniu wartości temperatury w węzłach wewnętrznych rozpatrywanego obszaru, innymi słowy, znajduje się temperaturę 7(£, t f ) w wybranych punktach wewnętrznych £G (0, L). Do tego celu wykorzystuje się równanie (9.126), które można zapisać w postaci m , tf) = h a ,
H n = H22 = - 0 ,5 ,
l
)
t
(l , t f) - h a , o r n o , tf) -
(9143)
12 = h 2 1 * 0 .
Układ równań (9.140) ma więc postać - 1,26157•1 0 '3
0
9 ( 0 ,5 )
1,26157-1 0 '3 .9 (0 ,0 2 , 5)
0
- 0 ,5
0
0
0
- 0 ,5
100
skąd q ( 0, 5) = 0 , q ( 0,02, 5) = -3,963316-104. Wykorzystując zależność (9.143) wyznaczymy wartości temperatury w 9 węzłach wew nętrznych o współrzędnych £, =i h, gdzie h =L/ 10 = 0,002, natomiast i = 1, .... 9. Na przykład, dla = 0,01, na podstawie wzorów (9.131), (9.135) mamy
ga, L)qa ,tf) + ga, 0 ) 9 (0 , tf)*pa, tf-1)*za, tf- ' ) .
0,01
>
/j(0 ,0 1 , 0) = - —erfcf• 2 V2 v/1 0 '6 -5/
Symbole występujące w równaniu (9.143) wynikają ze wzorów (9.131), (9.135), (9.127) i (9.128). Otrzymany rozkład temperatury dla chwili t = t f stanowi warunek pseudopoczątkowy do następnego kroku obliczeń, czyli przejścia t f ~* t f+l.
r
-7 ,8 3 • 1 0 '4 ,
0,01
/j(0 ,0 1 , 0,02) = -e rfc = 7 ,8 3 • 1 0 '4 2 , 2 V/ 10"6*5 / oraz
«■ Przykład 9.6 Zilustrować dwa pierwsze kroki algorytmu dla następującego zadania brzegowopoczątkowego 0 < x < 0,02 :
d T ( x , t) = 1q. 6 d 2T( x , t) dt dx2
x = 0 :
T (0, r ) = 0 ,
x = 0,02 :
7 (0 ,0 2 , t) = 100 ,
t =0 :
T( x , 0) = 0 ,
a
- 1) ,
przyjmując At = 5. Zerowy warunek początkowy pozwala uniknąć całkowania względem zmiennej x (tylko dla pierwszego kroku / 0 -*• r 1, czyli 0 -* At = 5) i został przyjęty w celu uproszczenia obliczeń.
S (0,01, 0) =
fS 1000
£ (0 ,0 1 , 0,02) =
exp fs
1000 Vrc
<
0,01 2
0,01 M ł erf c ' = 6 ,7 3 -10"7 , ,2 T ł o 7* ! ,
f ( _ o .o i2 - 0,01 erfc 2 ( 4 • 1 0 '6 -5 J
0,01
'I
= 6 ,7 3 - 10’7 ,
czyli (por. wzór (9.143)) 7 (0 ,0 1 , 5) = A (0,01, 0,02 ) 7(0 ,0 2 , 5) - h{0 ,01, 0) 7 ( 0 , 5) g (0 ,0 1 , 0,02) q (0,02, 5) + * (0 ,0 1 , 0)
398 Otrzymano: 7(0,002, 5) =7X0,004, 5) =0,000, 7(0,006, 5) =0,001, 7(0,008, 5) =0,0096, 7(0,01, 5) = 0,105 , 7(0,012, 5) = 0,7995 , 7(0,014, 5) = 4,284 , 7(0,016, 5) = 16,440, 7(0,018, 5) = 46,401. Dla drugiego kroku algorytmu, czyli przejścia od chwili r 1 = 5 do chwili t 2 = 2A/ = 10 układ równań (9.140) ma postać A l
G12 <7(0, r 2)
A l H 12 7 ( 0 , t 2 )
A .
G*2 q ( L, t 2)
A i A2
•f
7 ( 0 , r l) 7 (L , t
r a , 12>
Jak można zauważyć, elementy macierzy G i H nie zmieniają się w trakcie obliczeń. Biorąc pod uwagę warunki brzegowe, układ ten zapiszemy następująco -1,26157- lO '3 0
0
9 (0 , 10)
1,26157-1 0 '3 g(0,02, 10)
- 0 ,5
0
0
0
- 0 ,5
100
Pozostały do wyznaczenia wartości 7(0, 5) i 7(0,02, 5). W tym celu rozpatrywany obszar podzielimy na 10 elementów liniowych o stałej długości /; = xj —Xj_l = 0,002 [m] - por. rys. 9.13. Wartości temperatury 7 (xJf 5) w wyróżnionych punktach Xj = j-h zostały już obliczone. Wzór (9.137) przyjmuje więc postać p a , 5) =
■ 2yjn - 1 0 '6- 5 -0 ,0 0 2
10 x) £ / [ (* /- x ) T (xj-i> 5) + a -* ,_ ,) T(xjt 5] eXP /■l xi-l , J
(x-i)2
dx .
4 • 10~6-5
Kolejne całki występujące w tym wzorze wyznacza się stosując np. 6-punktowe kwadratury Gaussa. Dla £ = 0 mamy 7 (0 , 5) = 0,0007, natomiast dla £ = 0,02: 7(0,02, 5) =23,7098. Rozwiązujemy układ równań -1 ,2 6 1 5 7 -10’3 0
0
0, 10)
1,26157•10‘3 .9(0,02, 10)
- 0 ,5
0
0
0,0007
0
- 0 ,5
100
23,7098
z którego otrzymujemy <7(0, 10) = -0 ,5 5 5 , <7(0,02, 10) = -2,08393-104. Wykorzystując zależność (9.143) obliczamy wartości temperatury wewnętrznych obszaru. Na przykład, dla £s = 0,01 mamy
w
punktach
7 (0 ,0 1 , 10) = A (0,01, 0,02) 7(0 ,0 2 , 10) - A(0,01, 0 ) 7 ( 0 , 10) * (0 ,0 1 , 0,0 2 ) q (0,02, 10) + g (0 ,0 1 , 0 ) ^ ( 0 , 10) + 7 ( 0 ,0 1 , 5) = 7,83 • 1 0 '4( 100 * 0) - 6 ,7 3 -10‘7( -2,08393-104 +0,555) + 2,169 = 2,261 . Wartości temperatury w pozostałych punktach wewnętrznych są równe: 7(0,002, 10) = 0,005 , 7(0,004, 10) = 0,031, 7(0,006, 10) =0,155 , 7(0,008, 10)=0,646 , 7(0,012, 10) = 6,673, 7(0,014, 10) = 16,633, 7(0,016, 10) = 35,145, 7(0,018, 10) = 63,523.
399
9.3.2. II schemat MEB Jak wspomniano wcześniej, drugi schemat metody elementów brzegowych jest stosowany głównie do wyznaczania bezźródłowych pól temperatury (Q ( x , 0 = 0 ) • tylko dla takiego przypadku będzie tutaj prezentowany. W drugim schemacie MEB przyjmuje się następującą aproksymację po czasie równania (9.118)
x-0
(9.144)
Jak widać, ostatnia całka związana jest jedynie z warunkiem początkowym T(x, t °) i dla zerowego warunku początkowego jest również równa zero, co pozwala uniknąć dyskretyzacji wnętrza rozpatrywanego obszaru. Jak wspomniano poprzednio, jest to niezwykle cenna zaleta tego wariantu MEB. Dla jednorodnego warunku początkowego T (x, t ° ) = T0 = const przyjmujemy dla temperatury nowy poziom odniesienia ? ( * , t) = T ( x , t) - T0
(9.145)
i nadal ostatnia całka w równaniu (9.144) jest równa zero. W tym przypadku otrzymane wyniki transformuje się do ,,rzeczywistej” temperatury poprzez dodanie do rozwiązania wartości T0 TOt, O = T ( x , t) + T0 .
(9.146)
Zerowanie się całki po wnętrzu obszaru jest niekwestionowaną zaletą tego schematu MEB, z drugiej jednak strony (jak wynika z równania (9.144)), w celu znalezienia rozwiązania dla czasu t = tf , należy „pamiętać” wartości brzegowe temperatury i strumieni ciepła ze wszyst kich poprzednich chwil czasu, to znaczy dla t°, t \ .... t f~'. W rozważaniach prezentowanych w dalszej części tego rozdziału założymy zerowy warunek początkowy. Dla pierwszego kroku obliczeń, czyli przejścia t° -* t 1 ( f = 1) mamy
(9.147)
Jak można zauważyć, krok ten jest taki sam jak w I schemacie MEB (por. podrozdział 9.3.1) i nie wymaga powtórnego omawiania.
'T 401
400 Dla następnych kroków, czyli przejść t f~x -* t f ( f = 2, 3, F) , w równaniu (9.144) wyodrębnimy ostatnie składniki sum związane z całkowaniem w granicach od l f ~l do tf (s = / ) , czyli r + - f r * ( 4 , X, tf, t ) q { x , O dr
ra,
czyli / sgn(x - ę) j£ lii ferff IX:Ł 1— 1 -erf 2 2 \ j a [ f - { s -1 )] A r ( 2. \ Ja( f - s ) At )
h * t t , x) =
x-I
W podobny sposób obliczamy drugą całkę t1 g sa , x ) = -i / 7” ( ś f x, tf, r ) dr = V '
x*0
x-L
■ <' i f c **
* • ( ? , X, t f , t ) T ( x ,
f*
r)dr +E Ic Jf j -1
/- i
E
q ' a , x , t f , t ) T { x , t)
dr
_(9.148)
r '1
x-0
(9.152)
(x -O 2
exp
f I f r * U , x, t f , t ) q( x, O dr
4a(r/ -r)
2b
(9.153)
dr
l i mamy
Tak jak w poprzednio, przyjmujemy stałe elementy po czasie, czyli dla rG [rx ', r*j: T(x, t) = T(x, t s ) oraz q(x, t) = q(x, t 1), s = 1, 2, ...,/( p o r . równanie (9.121)) i wówczas
, > /[/-(* -1 )] Ar £ (Ś ,* ) = — exp b\fn
x*L
^
r a , tf) +
[ T - U , x, tf,
r)dr
J(f-s)At
j q - ( z t X, tf, r)d r
+52
^
5*1
7 (*’
J q ' a , X, t f , r ) dr
- (9.149)
/ I *-ei erf [ — ■- ^ ^ I — | - erf V2 / a [ / - ( s - l ) ] A r > l 2\A* ( / - j ) Ar
2X
r
Oznaczenia (9.150), (9.153) wprowadzamy do równania (9.149)
/-i
£
(9.154)
(x -O 2 4 a ( / - s ) Ar
exp
b \fń
x*0
4 a [(/-(s -l)]A r
9 { X' °
/ T ' U , x, t f, r)dr
x*L
5-1
T a , t f ) * [8 a , X) q ( x , t f )}
4/tĆIŻ
exp f — ( t f ~t ) 3/2
f ,- i
Podstawiając z = r / - r , a następnie
u =\ x - Z \ / 2 j a ż
/- i
x-0
E l * ' ( t ■ * )« < * •» ')] 1=1
. x*0
T a , t f ) * g a , L ) q ( L , t f ) - g a . 0 ) q ( 0 , tf ) =
dr
h a , L ) T ( L , t f ) - h a , 0 )T (0 , t f ) +
4 a(tf -t)
/-I
E [* '< * .
*') -
E [ s J(*. i ) * ( i ,
t s) - g * a , 0) q ( 0, r ' ) ] .
J *1 /-I
otrzymujemy
sg n (x -0 i* - « i i -e rff. L *-Ł I )1 , erf r 2 l 2 \Z a(r/ - r J' 1) j j 12 M t f - n j
f*>]
(9.155)
/ . ij /-
x-L
E [* '(? . * m * . s‘ l
+ 5-0
czyli (9.150)
( x - H)
[ h a , x)T(x, r O ]
x*0
Całkowanie po czasie wykonujemy analitycznie, przy czym całki w granicach od t r~1 do t f zostały już obliczone w poprzednim podrozdziale (wzory (9.123), (9.124) i (9.131), (9.135)). Pozostały do wyznaczenia całki od t ‘~x do t ‘. I tak t• h sa , X) = - f q - a , x, tf, t ) d t = r J
x*L =
(9.151)
0 ) 7 ( 0 , r J)] -
(9.156)
402 Dla £ -* 0 + i £ -* L otrzymuje się układ dwóch równań, a mianowicie T (0 , r 7) + g ( 0 , L ) q ( L , t f ) - g ( 0 , 0 ) 9 ( 0 , t7) = f c ( 0 \ 1 ) 7 ( 1 , r 7) - A ( 0 \ 0 ) T ( 0 , t f ) + /- i
(9.157)
52 [ft#( 0 \ L )T (L , r ł ) - * ' ( 0 \ 0 )T (0 , t*)] /- i
E k f (0, L)9(L, r ł ) - g ł (0, 0 ) 9 ( 0 , * ') ] oraz T ( L , t f ) + g(L , L )9 (L . r7) ~ g(L , 0 ) 9 ( 0 , r7) =
/» (£ ', L ) T ( L t t f ) - /»(/.', 0 ) T ( 0 , r7) + 52 [ h s ( L ~ , L ) T ( L , n
(9.158)
- h s ( L ~ t 0 ) 7 ( 0 , *')] -
i “1
52 [ g ' ( I , L ) q ( L , t s ) - g * ( L , 0 ) 9 ( 0 , i') ] . i-i
Układ ten można zapisać w postaci macierzowej
- g ( 0 , 0) g ( 0 , L)
4(0, t ' )
-/I(0 * ,0 )-1
- g ( i , 0) g ( 7 , I )
4 (Ł , ' O
-/i(L -, 0)
T (0. t ' )
/i(0*, L) /i(L ", L )
-
1
r ( L , (/)
(9.159) /-1
E ł*i
- / t ł (0 * ,0 )
h s( 0 \ L )
7 ( 0 , r f)
/-»
-E r J)
- h s ( L ~ , 0) h s ( L \ L ) T (L ,
- g ł (0, 0) g ' ( 0 , L)
q ( 0 , t 1)
. - g ł (L, 0) g 5(L, L)
t s)
lub krócej
G jj ^12 4 (0 , G2j
g 22
/-i
E j»i
Hu
<>)
,4(Ł. »')
H
ff/i
Bil.
T(L,
/ ’)
-
T (0 , r ')
2! H 2J r ( Ł , ( /)
/ 'I
T(0,
H n
E JT*1
Gn G '2
(9.160)
9 (0 , *0
9 ? i G2j2
Jak łatwo sprawdzić Hu =
= 0 ,
(9.161 H n - f i u - " erf
flv2 y a ( /L 1 -5)A rJ
erf
L
11
403
= y f/-(j-l)]A i _ vKf~s)At ^
- G u - O'
b\fn
b /n .
G s2 __
.
L2
y / [ / - ( * - l ) ]A l exp
4 a [/-(s-l)]A r yJ(f-s)At
exp
b\Jn L
ferff
2X
l
1
]
(9.162)
k 4a(f-s)At) erff
L
|
2 ja (f-s)A t)
Fo rozwiązaniu układu (9.160) znane są wartości brzegowe temperatury i strumieni ciepła dla x = 0 oraz x = L. W drugim kroku algorytmu temperaturę w punktach wewnętrznych £ € (0 , L) wyznacza się na podstawie zależności (por. wzór (9.156)) 7 (£ , t f ) = h U , L)T(L, t f ) - h a , 0 )7 (0 , t f ) -
ga, L ) q ( L , tf) + g ( £ , 0 ) g ( 0 , r 7) + £
[* * (5 , 7 ) 7 ( 1 , f ') - h sa , 0 ) 7 ( 0 , r f )] -
(9163)
s -1
/-I 5Z U " ( 5 , 7 ) 9 ( 7 . f ') - g ' ( « , 0)
0
0
9(0, 5)
1,26157-1 0 '3 .9(0,02, 5)
0
o
-1 ,2 6 1 5 7 -1 0 '3
i o
Wyznaczyć brzegowe wartości temperatury i strumieni ciepła dla / 1 = 5 i / 2 = 1 0 oraz temperaturę 7 (7/2, t 2) z wykorzystaniem II schematu MEB dla problemu brzegowo-początkowego przedstawionego w przykładzie 9.6. Jak wspomniano wcześniej, pierwszy krok algorytmu jest taki sam jak w przypadku I schematu. Tak więc, układ równań dla przejścia t° = 0 -►f 1 = 5 ma postać
0
-0 ,5
100
skąd <7(0, 5) = 0, <7 (0,02, 5) = -3,963316-10 \ natomiast temperatura w punkcie wewnętrznym £ = 7 /2 = 0 ,0 1 w chwili t ' jest równa 0,105. Macierze G oraz H są takie same dla kolejnych kroków algorytmu, natomiast zmienia się wektor prawej strony, który zawiera między innymi informacje o brzegowych temperaturach i strumieniach ciepła z poprzednich chwil czasu. Dla przejścia i 1 = 5 -* f 2 = 1 0 mamy (por. wzory (9.161), (9.162)) H\ x = H\ x = 0 ,
1 *12 « *21 " ~
fcr f f . ^ 1 -eif( \ ( 2 / l 0 ' 6 -5
l i = 3,872-10'6
°«“ .
2 / 2 • 1 0 ' 6 - 5j
oraz ~ Gu = G22 =
J F 5 - -------= 5,226-10 1000/i t 1000/it
{ e,p , { 1000/it
0,022
v/5
4 • 1 0 '6 -2 -5 ,
1000/it
G n = -G 21 = - ^
(_
0,022 \
{ 4 • 1 0 '6 -5 J
0,02 f o,o 2 y ferff- °*°2 -1 - erf 2 2 / l 0 '6-2-5 J U / l 0 ' 6-5 J Dla przejścia t ' -* t 1 otrzymujemy układ równań (por. wzór (9.160))
-1,26157 1 0 '3 0
-0 ,5
0
4(0, 10) 4(0,02,10) 1,26157-10’3
0
3,872-10-6
3,872-1 0 '6
0
0
0
-5 ,2 2 6 -10*4
100
0
0
0
- ° ,5
100 0
0
5,226-1 0 4 -3,963316-104
czyli
-1,26157-1 0 '3 0
0
4 ( 0 , 10)
1,26157-1 0 '3 4(0.02,10)
3,872-10 4 -29,288
skąd q( 0, 10) = -0 ,3 0 7 , <7(0,02, 10) = -2,3 2 1 5 5 2 -1 0 \ Temperaturę w punkcie wewnętrznym £ = 0.01 [m] w chwili t 1 = 10 wyznaczamy z za leżności (por. wzór (9.163)) H O ,01, 10) = A (0,01, 0 .0 2 )7 (0 ,0 2 , 10) - A (0,01, 0 ) 7 ( 0 , 10) g (0 ,0 1 , 0 ,0 2 )4 (0 ,0 2 , 10) + * (0 ,0 1 , 0 ) 4 ( 0 , 10) + Al (0 ,0 1 , 0 ,0 2 )7 (0 ,0 2 , 10) - A‘(0 ,0 1 , 0 ) 7 ( 0 , 10) g '( 0 ,0 1 , 0 ,0 2 )4 (0 ,0 2 , 10) + g l (0 ,0 1 , 0 ) 4 ( 0 , 10) . Wartości g(0,01, 0), g(0,01, 0,02), A (0,01, 0), A (0,01, 0,02) zostały określone w przy kładzie 9.6, natomiast pozostałe należy obliczyć. Tak więc (wzory (9.152), (9.154)) A’CO.Ol, 0) = - A '( 0 ,0 1 , 0 ,0 2 ) =
f
)
1 0,01 ferff ° ’01 1 -e rf 2 U / l 0 - 6-5 l 2 / 2 - 1 0 '6-5j
J
$ '( 0 ,0 1 , 0) = g l (0 ,0 1 , 0,02) = - f i 7* exp 1000y ń y/5 1 0 0 0 /^
f exp -
\
0,01 2 2 -4 -1 0 "6 ,5
0,01 2 4 - 10'6 ,5 ,
0,01 f 0,01 ) f 0,01 V = 1 ,9 0 4 1 0 erf - erf 2 t 2v^l0"6*5 ( 2 ^ 2 - 1 0 '6-5 J
-5
skad
7(0,01, 10) = 7,83• 1 0 '4(100 + 0) - 6,73• 1 0 '7( -2,321552• 104 + 0,307) + 0,0119(100 - 0) - 1,904 10 5( - 3,963316 104 - 0) = 2,038 . W podobny sposób wyznaczono 7(0,002, 10) = 0,004, 7(0,004, 10) = 0,025, 7(0,006, 10) =0,1296, 7(0,008, 10)=0,562, 7(0,012, 10) = 6,189, 7(0,014, 10) = 15,789, 7(0,016, 10) = 33,993, 7(0,018, 10) = 62,465. W przypadku drugiego schematu MEB obliczanie temperatury we wnętrzu obszaru (przy zerowym warunku początkowym) nie jest konieczne, ponieważ wartości te nie są wykorzystywane w następnym kroku obliczeń.
9.3.3. MEB z dyskretyzacją czasu Algorytm metody elementów brzegowych z dyskretyzacją czasu (metody kombinowanej) zostanie przedstawiony dla problemu brzegowo-początkowego opisanego równaniami (9.103), (9.104), (9.105). Do rozważań wprowadza się siatkę czasu (wzór (9.119)) ze stałym krokiem Ai. W roz patrywanym przedziale [tf ~ \ t f ] dokonuje się aproksymacji pochodnej po czasie występującej w równaniu (9.103) odpowiednim ilorazem różnicowym r e f f / " 1, f / ] :
7 ( x > t ' ) - 7 (x , t ' - ' ) _ a d 2T( x , t ' ) + Q ( x , t f - x) At dx2 C
(9 164)
i w ten sposób zamiast równania parabolicznego analizuje się prostsze równanie eliptyczne. Ten fragment algorytmu, tzn. zastąpienie pochodnej ilorazem różnicowym, jest charak terystyczny dla metody różnic skończonych (MRS). Równanie (9.164) można również zapisać następująco d 2T( x , t f ) dx2
— 7 ( x , t f ) + —— T( x , t f ~l) * aAt aAt
f/ X
= 0 . (9.165)
Drugi etap metody kombinowanej polega na wykorzystaniu kryterium odchyłek ważonych dla równania eliptycznego (9.164), w którym temperatura zależna jest tylko od współrzędnej geometrycznej, czyli defekt rozwiązania przybliżonego (lewa strona równania) pomnożony
406 przez funkcję wagi należy scałkować jedynie po wnętrzu rozpatrywanego obszaru
/
d 2T(x, t f ) gx 2
+ aAt
t f - 1) +
Q ( x , t f ' x)
aAt
T ' ( Z , x ) d x = 0 ,(9.166)
X
gdzie 7” (£, jc) jest rozwiązaniem fundamentalnym (podstawowym) i dla omawianego zadania ma postać r*
/c . y/aAi ' (£. x) = x— ~ exp
lu ll) \[oA~t ) ’
(9.167)
przy czym £ G (0, L) jest punktem, w którym umieszczono skupione źródło ciepła. Etap ten jest charakterystyczny dla metody elementów brzegowych. W przeciwieństwie do klasycznych wariantów MEB omówionych w poprzednich podrozdziałach, rozwiązanie fundamentalne jest niezależne od czasu, co znacznie upraszcza przekształcenia matematyczne kryterium (9.166). Rozwiązanie fundamentalne spełnia równanie
dx2
'
aAt
T ' u , X) = - & ( £ , * ) ,
(9.168)
przy czym 5(£, x) jest funkcją delta Diraca. Kryterium metody odchyłek ważonych (9.166) zapiszemy następująco
o
L — f T(x, t ' ) T ’U , x)dx * aAt{
dx 2
(9.169)
Całkując dwukrotnie przez części pierwszy jego składnik, mamy
/
d 2T( x , dx2
x)dx =
T'(Z,x)
dT(x, t f ) dx
T ( x t t f ) ~ T ^ ' x) + / a 2 r ‘ ( ^» X ) T( x , t ' ) d x dx Jo dx2 x-0 i po wstawieniu do (9.169): x ~L
- q ‘a , x ) T ( x , tf) X jt«0
/
d ZT ‘ U , x ) dx2
_1 aAt
x*i ± T - U , x ) q ( x , tf) X x*0 x) T( x , t f ) d x +
(9.170)
407
— . [ T ‘ ( Z , x ) T ( x , t f ' 1) dx + ± [ Q ( x , t f - l ) T ' U , x ) dx = 0
(9.171)
W powyższym równaniu wykorzystano definicje strumieni ciepła q( x, t f ) = - X
dTg, tf)
q •(£ , x) = - X
dx
d T - g , x) dx
(9.172)
Strumień ciepła wynikający z rozwiązania fundamentalnego (9.167) można obliczyć analitycznie q 'U ,
X)
i 5 S f c l l = , p ( - \ * z l _f 2 \ Ja A t j
(9.173)
gdzie sgn(;t-£) jest funkcją znaku (por. wzór (9.8)). Ponieważ
/
dx2 -
/
t > „ T g , t f ) dx =
aA t
(9.174)
t >g, x ) T g , t f ) d x = - T g , t f ) ,
o więc równanie (9.171) przyjmuje postać r g , tf)
i q_♦* g , x ) T g , t f )
j - T ' g , x ) q g , tf)
+
L L — [ T - g , x ) T g , t f - l ) dx + i f ę g , t ^ l ) T * g , x ) d x aAti Xi
(9.175)
lub T g , t f ) * | r * ( £ , L) q ( L, t f ) A
-
\ T ' g , o)q(o, t f ) = A
- ? ’ ( ( • L ) T ( L , t f ) - {(£, f/-*) + Z (£ , r '* 1) ,
gdzie L
p g , t f - 1) =
aAti
T - g , x ) T g , tf-')dx =
(9.176)
408
409 lub
2 \fa A t o
k i l l ' r ( x , r ' * 1)dx { \Ja A t (
(9.177) G l\
G \2
-7 (0 , t f )
*1. ff12
7 (0 , r7)
7 (0 , r7' 1)
Z(0, r7' 1)
G2\
G22 . 9 ( 7 , r 7 )
7^2I 7^22
7 (7 , r 7)
7 (7 , t f -')
Z(7, r7' 1)
(9.182)
oraz gdzie
L
= I /< ? ( * , X0
za , t
r 7 - 1^ - ^ ,
M ) Q( x , r 7' 1)exp 2b {
* )d x = Gn = - G 22 = 11 22
(9.178)
2b
(9.183) /a A t
k k i ' dx , v/a Ar , " .2 = w2t = T exP
" .1 “ "2 przy czym b =\/kc
y/Al }\2 = ~G2l = JZTleXP 26
jest współczynnikiem akumulacji ciepła.
(9.184) v/
Po rozwiązaniu układu równań (9.182), znane są wszystkie wartości brzegowe (temperatury i strumienie ciepła dla x = 0 oraz x = 7 ). Wartości temperatury w wewnętrznych punktach obszaru dla £ £ ( 0 , 7) wyznacza się na podstawie równania (9.176), czyli
Dla £ -» 0 + mamy 7 (0 , t 7) * - 7 * ( 0 , 7 ) 9 ( 7 , t ' ) - - 7 * ( 0 , 0 ) 9 (0 , r 7) =
T U , tf) = j q * U , 7 )7 (7 , t f ) - V ( ( , 0 )7 (0 , tf) X X
(9.179) — q '(0 " , 7 ) 7 ( 7 , t f ) - - q ’ ( 0 \ 0 ) 7 ( 0 , r7) + 7 ( 0 , r 7"1) + Z (0 , r 7"1) , A A.
— T m( f
i\n(i
+
i r v ;
(9.185)
n u m
natomiast dla £ -*■ L~ lub 7 (7 , r 7) + | 7 - ( I , 7 ) 9 ( 7 , r 7) - - 7 ’ (7 , 0 )9 (0 , r7) = * A - 9 ’ ( 7 - , 7 ) 7 ( 7 , f 0 - j « ‘ ( 7 - , 0 ) 7 ( 0 , r 7) + 7 ( 7 , r 7' 1) + Z (7 , r 7' 1) . A
A
y/Af exp 2/2 ,
Równania (9.179) oraz (9.180) tworzą układ, w którym nieznanymi wartościami są temperatura lub strumień ciepła dla x = 0 i x = 7 . Powyższy układ równań wygodnie jest zapisać w postaci macierzowej - - 7 * ( 0 , 0) | 7 ‘ (0, 7)
4 (0 .
V ( 0 * . 7)
7(0, tf )
t>)
- y 9 * ( 7 ’ , 0) A
y A
9 * ( 7 " , 7 ) - 1 7 ( 7 , r 7)
/ a Ar
26
exp
5
(9.186)
^9 ( 0 , r 7) + v y/flAt J
7 ( 5 , t 7' 1) + Z (£ , r 7’ 1) .
Z(0, t f - 1) +
7 ( 7 , f 7' 1).
9 (7
«■ Przykład 9.8 Zilustrować dwa pierwsze kroki algorytmu dla zadania brzegowo-początkowego sformułowanego w przykładzie 9.6, przyjmując jak poprzednio At = 5. Na podstawie wzorów (9.183), (9.184) mamy
7 ( 0 , r7*1) +
LU
Całki opisane wzorami (9.177), (9.178) oblicza się najczęściej numerycznie, stosując kwadratury Gaussa.
- - 7 ‘ (7 , 0) - 7 * ( 7 , 7) 4 ( i , <0. - ~ 9 * ( 0 \ 0) - 1
5 ] 7 (0 , tf) 'Ja A t )
[ - " i i ) 7 (7 , t f ) + -ex p r 2 l
(9.180)
G11 = " C22 = "
fs = -0,001118 , 2 1000
Z( L, t f ' 1). /5 G. j = ~Gj , - ---------exp 12 21 2-1000
0,02 •/
- 1 ,4 5 9 1 0
410
H n - H 22
0,02
^12 “ H 21
6,5241 10 '5 .
/lo ^
Układ równań (6.92) przyjmuje więc postać -0,001118
1,459 • 1 0 '7
^ (0 , 5)
-0 ,5
6,5241 lO-3
0
- 1,459 *1 0 '7
0,001118
<7(0,02, 5).
6,5241 *10’3
-0 .5
100
skąd <7(0, 5) = -11,672, <7(0,02, 5) = -4,472272-104. Wartość temperatury w punkcie £ = 0,01 wynosi (por. wzór (9.186)) 7(0,01, 5) = ^ e x p f - Q'— ~- - i Q1 |. i o o + v/l0‘6-5 eXpf 2-1000
) -4,472272 • 104 - — ^ /W
2*1000
-6
l expf
0,01
-
•0 +
v/l0*6-5 0,01
exp -
•11,672 = 1,142 .
v/l0*6-5
W podobny sposób wyznaczono 7(0,002, 5) =0,027, 7 (0,004, 5) = 0,076, 7(0,006, 5) =0,190, 7(0,008, 5) =0,467, 7(0,012, 5) = 2,794, 7(0,014, 5) = 6,834, 7(0,016, 5) = 16,715, 7(0,018, 5) =40,885. Dla przejścia (' =5 -*■ t 2 = 10 otrzymujemy układ równań -0,001118
1,459 1 0 '7
-1,459 • 10~7 0,001118 -0 ,5
6,5241-1 0 '5
6,5241 lO '5
-0 .5
<7(0, 10) <7(0,02, 10)
0,059 + f° [100 26,543.
skąd <7(0, 10) = -6 1 ,3 4 6 , q ( 0,02, 5) = -2 ,0 9 8 1 2 2 -1 0 4. Wartości temperatury w punktach wewnętrznych są równe: 7(0,002, 10) = 0,136, 7(0,004, 10) = 0 ,3 6 2 , 7(0,006, 10) =0,823 , 7(0,008, 10) = 1,803 , 7(0,010, 10)=3,870, 7(0,012, 10) = 8,134, 7(0,0 1 4 , 10) = 16,630, 7 (0 ,0 1 6 , 10) = 32,689, 7(0,018, 10) = 60,421. ■ Analizując kolejne rozwiązania uzyskane I i II schematem MEB, jak i metodą kombinowaną można zauważyć, że różnice między obliczonymi wartościami temperatury w punktach z wnętrza obszaru są nie większe niż 2 K. Porównanie wyników dla dalszych kroków czasu pokazuje, że różnice te zacierają się i bez względu na wykorzystaną odmianę MEB, wyznaczone temperatury są prawie takie same. W celu zwiększenia dokładności metody można przyjąć „lepszą” aproksymację pochodnej po czasie, która wynika między innymi z drugiego wzoru interpolacyjnego Newtona. Opis algorytmu metody elementów brzegowych z dyskretyzacją czasu dla takiego przypadku można znaleźć między innymi w [3].
411
9.4. MEB dla stanów nieustalonych (zadania 2D) Dwuwymiarowe, nieustalone pole temperatury w obszarze zorientowanym we współrzęd nych prostokątnych opisuje równanie Fouriera w postaci xeQ :
dt
0 =
x V 2T(x,
t) * Q( x , t) ,
(9.187)
gdzie X [W/mK] jest współczynnikiem przewodzenia ciepła, c [J/m3K] - ciepłem właściwym odniesionym do jednostki objętości, T(x, t) oznacza temperaturę, Q(x, t) [W/m2] - funkcję źródła, x= (x]t x2) jest punktem z obszaru fl, / - czasem, natomiast V 2T(x, 0 =
+ 02 dx*
0. .
(9.188)
dx\
Jak można zauważyć, założono stałe wartości parametrów termofizycznych X oraz c. Równanie (9.187) uzupełniają następujące warunki brzegowe x ert : xer2 :
T ( x , t) = Tb , dT q( x, *) = - * — = 4b >
(9.189)
x e r 3 : q( x, f) = -A. -— = a [ 7 ( x , r) - 7W] , gdzie r=r|Ur2ur3jest brzegiem rozpatrywanego obszaru 0 — por. rys. 9.3, Tb - zadaną temperaturą na fragmencie brzegu T,, qb - zadanym strumieniem ciepła na fragmencie brzegu r 2, a [W/m2 K] - współczynnikiem wymiany ciepła, TM - temperaturą otoczenia, dT/dn pochodną w kierunku normalnym do brzegu (por. wzór (9.47)). Dany jest również warunek początkowy w postaci f =0 :
T( x, 0) = T0 (x) ,
(9.190)
przy czym T0 (x) jest temperaturą wewnątrz rozpatrywanego obszaru w chwili r = 0. Równanie (9.187) zapiszemy następująco xeCl :
dT('X’ r) = a V2 T( x , t ) + g(jc> r) , dt c
(9.191)
gdzie a = \Jc jest współczynnikiem dyfuzji. Algorytm metody elementów brzegowych wyprowadzimy, korzystając (podobnie jak w podrozdziałach poprzednich) z metody odchyłek ważonych.
412 Kryterium MOW dla równania (9.191) przyjmuje postać
///
<,V*T(x, r) - dT {x• 11 . O i i i l l T * ($ , x, t F, /)d Q d r = 0 , dt c
(9192)
gdzie [r°, t F] jest analizowanym przedziałem czasu (najczęściej przyjmuje się, że t° = 0), natomiast T ' (£, x, t F, t) - rozwiązaniem fundamentalnym (podstawowym), £ = (£,, £2) punktem obserwacji (punktem, w którym przyłożono skupione źródło ciepła). Rozwiązanie fundamentalne dla omawianego zadania jest następujące T ' U , x, t F, t ) =
1
(9.193)
exp
4 n a ( t F- t )
4 a ( t F- t )
przy czym r jest odległością między punktem obserwacji £ a rozpatrywanym punktem x (wzór (9.50)). Można sprawdzić, że funkcja 7~*(£, x, t F, t) spełnia równanie a V 2T ' U t x, t F, t) + d T '(Z> *. *F>O = - 6 ( ( , x ) 6 ( r f , f ) , dt
(9194)
gdzie 5 (£, x) jest funkcją delta Diraca. Dla potrzeb dalszych rozważań definiuje się funkcję wynikającą z rozwiązania fundamentalnego .
f
.X
,
d T ' a ,
x , t F, t )
J d T ’
d T '
q ( £ , x, t , r) = - X------ — : i—i = - X ----------cos a , + ------ cos a dn y dx. dx2
(9.195)
Po wykonaniu odpowiednich przeliczeń otrzymuje się Xd
x, t t )
(9.196)
exp
8 7t a 2( t F- t ) 2
4 a ( t F- t )
gdzie d zdefiniowano wzorem (9.55). Kryterium (9.192) można zapisać w postaci sumy całek l
t’
[ f f a V 2 T( x , t ) T ' U , x, t F, t ) d Q d t - f f f d T ^ ’ ° T ’ ( ^ x , t F, r)d Q d r nr\ Ul r°n r\ O
(9.197)
r - / / / < ? ( * , t ) T - U , x , t F, t) d Q d t = 0 . Zastosujemy drugą formułę Greena [3] do pierwszego składnika po lewej stronie równania (9.197) (w celu uproszczenia zapisów pominięto argumenty funkcji) r r f j j
f
tr a ( V 2T ' ) T d Q d t - - f f ( T ‘ q - T q ' ) d T d t , (9198> Q c ,« r
gdzie q = q{x, t) = - \ d T ( x , t)/dn.
413 Drugi składnik równania (9.197) całkuje się przez części (całkowanie po czasie)
f f f — T 'd Qd t = [ / / T T - d o l ' ' ' ' - f f f — TdCldt too dt [o ,.,o ,oq dt
(9.199)
Zależności (9.198), (9.199) wprowadzamy do (9.197) i otrzymujemy
Iff
Ird Q d r - f f T T ' d C l dt / 0
a V 2r *
,°Q
(9.200)
r f - f f ( T ‘q - 7 V ) d r d r + - f f f Q T ' d Q d t = O .
Ze wzoru (9.194) wynika, że i' / < f f f L v 27 ‘ + ^ T( x , r)d £ )d t = ,0 O V dt
-
tr t ) T ( x , r )d ( łd r ,oq
f' / ó (rf , t ) m , O dr
(9.201)
= - T a , t F) .
Z kolei (por. wzór (9.109)) lim f [ T ' a , x, t F, t ) T ( x , r)d fi e-Oo lim f f T ' a , *"0 o
t F, t F- e ) T ( x , t F- e )dD -
(9.202)
f f r - a , x , t F, t ° ) T ( x , t ° ) d n = 0 - J f T ‘ a , x , t F, t ° ) T ( x , r°)d Q . o o Ostatecznie otrzymuje się następujące równanie całkowe (£ G fl) ,r
T a , t F) * - f f T * a , x, t F, t) q( x, r ) d r d r = c ,o r ,r
- f f q ' a , x , t F, t ) T ( x , r) d r dr + / / T *(^, c ,o r o
t F, t ° ) T ( x , r°)d Q + (9.203)
tF - / / / < ? ( * , t ) T ' a , x , t F, r ) d Q d r , C ,0 0
414 które dla £ G T przekształca się w brzegowe równanie całkowe [1, 2, 3] t' B U ) T ( l , t F) * i f f T ' U , x , t F, t ) q ( x , t ) d T d t = r c
- f f c
x, t F, t ) T ( x , r ) d T d r + / / 7 ” ( ś , z , t F, t ° ) T ( x , t ° ) d Q + (9-204)
,or
Q ,F
~ f f f Q( x ’ O T m( Z , x , t F, t ) d Q d t , gdzie B (()G (0 , 1). Wartość współczynnika B(£) związana jest z położeniem rozpatrywanego punktu brzegowego £ i np. dla gładkiego fragmentu brzegu B( ( ) = 0,5. Należy przy tym podkreślić, że dla ( GO: B( ( ) = 1. Brzegowe równanie całkowe (9.204) jest odpowiednikiem problemu brzegowo-początkowego nieustalonej dyfuzji ciepła w obecności źródeł wewnętrznych (równania (9.191), (9.189), (9.190)). Równanie (9.204) rozwiązuje się metodami numerycznymi. W pierwszej kolejności dokonuje się, podobnie jak w zadaniach ID, dyskretyzacji rozpatrywanego przedziału czasu [0, r f j, wprowadzając siatkę (9.119) ze stałym krokiem Al. Jak wiadomo (por. podrozdział 9.3), ze względu na sposób aproksymacji po czasie brzegowego równania całkowego (9.204), można rozpatrywać pierwszy i drugi schemat MEB.
9.4.1. I schemat MEB W przypadku pierwszego schematu MEB równanie (9.204) przyjmuje następującą postać tf B ( Z ) T U , f /) + ! / / T ' t t , x, t f , t ) q ( x , t) dT dr = c r - f
f q - ( Ę,
c ,/-i r
X,
tf, t) T ( x , t) d T d r + f f T ' ( Z , x, t f , tf - ' ) T ( x , r '- 'j d Q
+ (9-205)
n
tr - f f f Q ( x , t ) T ’ ( ( , x, tf, O d Q d r . ,/-l D Stosując stałe elementy po czasie - wzór (9.121) otrzymujemy l' B U ) T U , t f ) + f q ( x , t f ) - f T ‘U , x , tf, r)d r
dr =
i' / T{x, t f ) - / q ’ U , x, tf, f )d r d r + f f T - ( Z , x , tf, t f - ' ) T ( x , t f ' 1)d Q
415
- f ff
(9.206)
tf, t )dQdt
Wprowadzimy oznaczenia
f
hU ,x) = -
(9.207)
q 'C Z . x , t f , t)dt
r g U , x) = - f J * ( £ , x, t f , r)d r .
(9.208)
Przy założeniu, że w rozważanym interwale czasu Q(x, t) = Q(x, t f~' ), zależność (9.206) można zapisać w następujący sposób
BU)Ta,
+ f q ( x,
tf)
tf)g{l, x)dr =
r
ff T'a,
f
T( x , t f ) h ( ( , x ) d r +
r
x, t f , t f ' l ) T ( x , t f ' 1) dQ ♦
ff
(9.209)
Q{ x , t f - ' ) g U , x) d Q .
Całkowanie względem zmiennej t (wzory (9.207), (9.208)) można wykonać analitycznie. Biorąc pod uwagę (9.193), (9.196), mamy
*) = — - f ——— -exp 8 n a J-, ( t f ~t ) 2
dt
(9.210)
4a ( t f -t)
i’ g ( Z , x) =
— / -JL exp i tf-t
dr
(9.211)
4 a (r^ -r)
Stosujemy podstawienie z = t f —t, a następnie u = r 2l(4az) i wówczas At
k a , x) = —— f — exp 8 n a { z2
r dz = 4 az (9.212)
d ~ f
2n r
e x p ( - u )d u = —^ e x p | - r Aa A t 2nr2
416 natomiast
4 a At
dz = (9.213)
gdzie (9.214)
jest eksponencjalną funkcją całkową, np. [3]. Obliczenie całek po brzegu V oraz obszarze fl wiąże się z koniecznością dyskretyzacji brzegu oraz wnętrza analizowanego obszaru. Tak więc, brzeg obszaru T dzieli się na N elementów brzegowych Tj , j — 1, 2, .... N. Można tutaj stosować elementy stałe, liniowe lub kwadratowe. Wnętrze obszaru O dzieli się na L elementów wewnętrznych (najczęściej trójkątnych lub czworokątnych) 0„ / = 1, 2, .... L. Podobnie jak w przypadku elementów brzegowych, można rozpatrywać elementy stałe, liniowe lub kwadratowe. W przypadku elementów stałych zakłada się, że wartości temperatury i strumieni ciepła są stałe w obrębie każdego elementu i równe wartościom w węzłach centralnych tych elementów w chwili t f , czyli
(9.215)
Z kolei węzły wewnętrzne x ' = (*/, x2‘ ) umieszcza się w środkach masy elementów, a funkcje T(x, t f~{) oraz Q(x, t f ~ ' ) przyjmuje się jako stałe w obrębie każdego elementu wewnętrznego, czyli
(9.216)
T( x , r ' - ‘) = T ( x l, t f ~l ) = t / ~ 1 . Przy powyższych założeniach równanie (9.209) aproksymuje się w następujący sposób
417 Wprowadzamy oznaczenia r
Hu = / W , * ) d r y = — f —~cxp
4a A Z
271 r, y ■* r/ r<
(9.218)
d r ,,
f 2 j ru - / * ( « * . x j d r , - ^ J/f Ei { Aa At ) d r ; ■ r,
(9.219)
2
r', »/-')dQ, - — I — / / exp
oUi
4 n a A r £Q. J
ni
k 4a A Z
dO, ,
<9-22°>
2
2,1
ril dQ, //E i Aa A t
- / / « ( ? ' , x)d£J, - —
(9.221)
Tak więc
1
♦ E
z
< W
- E
y'*l
♦ E
;-i
ł * ,,V " * E z , , * ? / 1
Z-l
<9-222>
/-l
lub
E g««/ ■y-i E U, -z V
y-i
)
t/
*E i- i
J>„J f' *z£-1 z„
<9-223>
gdzie 6,j jest deltą Kroneckera. Równania typu (9.223) rozpisane dla wszystkich węzłów brzegowych £' = x ‘ (i = 1, 2, .... N) tworzą układ /V równań algebraicznych, a mianowicie
zv E
y-i
< W
- E
y*i
L
Hu Tf ł IE
* E
;-i
Z-ł
z ,z * ? /'1 .
(9-224)
przy czym
Hjj >
i *j »
H.,-0.5,
i-
H, j
(9.225)
.
Układ ten odpowiadający przejściu z/-1 -* t ! można również zapisać w postaci macierzowej G - q / = H T 7 + P ' f ' 1 + Z Q 7*1 .
(9.226)
418 Po wyznaczeniu nieznanych brzegowych temperatur i strumieni ciepła, wartości temperatury w punktach wewnętrznych obszaru 0 w chwili t r oblicza się z następującego równania (i = N + l , N + 2 ....... N+L) N
t!
- iE -1
T Hi ) 1)
-E-1
E
J
/- i
/-1
E
(9.227)
l-l
Całki występujące we wzorach (9.218)-(9.221) wyznacza się numerycznie, stosując najczęściej kwadratury i kubatury Gaussa. Współczynniki Gu oraz H,j dla i = j należy wyznaczać analitycznie [2, 3], ponieważ odpowiednie funkcje podcałkowe nie są ciągłe dla r,j -* 0. Taka sytuacja występuje, jeśli brzegowy punkt x J pokrywa się z punktem £', w któ rym umieszczono skupione źródło ciepła. w Przykład 9.9 Wyznaczyć nieustalone pole temperatury w obszarze kwadratu o boku 0,01 m. Dla x2= 0 oraz x ] = 0 przyjęto ą - 0, natomiast boki x , = 0,01 m i x2 = 0.01 m są utrzymywane w temperaturze T = 200° C. Temperatura początkowa obszaru wynosi T0 = 0°C. Przyjęto a = 10 ”6 m2/s (X = 1 W/mK). Funkcja 7(jc,, x2, t ) spełnia następujące równanie
( x . , Xl) e Q : 1 ^
d T ( x . , x7, t) 1 2 dt
, d 2T ( x lt x2, t) =10-6 dxl
d 2T ( x lt x2, O dxi
z warunkami brzegowo-początkowymi 0 <
.X,< 0,01 : q ( x ,, 0 , t ) =
7 ( x p 0 ,0 1 , /) = 200 ,
0 <
x2< 0,01 : q ( 0, x2, t) = i
7 (0 ,0 1 , x2, t) = 200 ,
0 <
x, < 0,01 , 0 < x2 < 0,01
7 ( x ,, x2, 0) = 0 .
Brzeg obszaru podzielono na 8 stałych elementów brzegowych, natomiast wnętrze na 4 stałe elementy wewnętrzne (kwadraty). Ograniczono się do tak niewielkiej liczby elementów, aby umożliwić dokładne prześledzenie algorytmu metody. Przyjęto krok czasu At =10 [s].
Rys. 9.14. Dyskretyzacja brzegu i wnętrza obszaru
419 Dla pierwszego kroku obliczeń (przejście r° = 0 -» t 1 = 10) i założonego zerowego warunku początkowego, układ równań (9.226) ma postać G ql = H Tl . Jak wynika z przyjętej dyskretyzacji brzegu, macierze G oraz H są macierzami o wymiarach 8 x 8 . Elementy Gu oraz Hti wyznaczamy analitycznie [3], natomiast pozostałe obliczamy na podstawie (9.218) i (9.219), stosując 6-punktowe kwadratury Gaussa. Otrzymujemy następującą macierz H -0,50000 0,00000 0,01929 0,00387 0,00292 0,00609 0,00936 0,13432 0,00000 0,50000 0,13432 0,00936 0,00609 0,00292 0,00387 0,01929 0,00936 0,13432- 0,50000 0,00000 0,01929 0,00387 0,00292 0,00609 0,00387 0,01929 0,00000 -0,50000 0,13432 0,00936 0,00609 0,00292 0,00292 0,00609 0,00936 0,13432- 0,50000 0,00000 0,01929 0,00387 0,00609 0,00292 0,00387 0,01929 0,00000 0,50000 0,13432 0,00936 0,01929 0,00387 0,00292 0,00609 0,00936 0,13432- 0,50000 0,00000 0,13432 0,00936 0,00609 0,00292 0,00387 0,01929 0 , 00000 - 0,50000 oraz macierz G 0,00132 0,00021 0,00003 0,00001
0,00000 0,00001 0,00005 0,00035
0,00021 0,00132 0,00035 0,00005 0,00001 0,00005 0,00035
0,00000 0,00001 0,00003
0,00132 0,00021 0,00003 0,00001 0,00000 0,00001
0,00001 0,00003 0,00021
0,00132 0,00035 0,00005 0,00001 0,00000
0,00000 0,00001 0,00005
0,00035
0,00001 0,00000 0,00001
0,00003 0,00021
0,00003 0,00001 0,00000 0,00001 0,00035 0,00005 0,00001
0,00132 0,00021 0,00003 0,00001 0,00132 0,00035 0,00005
0,00005 0,00035 0,00132 0,00021
0,00000 0,00001 0,00003 0,00021 0,00132
Uwzględniając warunki brzegowe 0
Tl
0 1
Tl
1 <74 <751 I <76
200 ,
T1
0 0 układ równań sprowadzamy do postaci A -Y 1 = F.
=
200 200 200 t]
t *81
420 Tak więc (por. podrozdział 9.2) '* u
" " .2
G ,3
G U
G .5
G t6
- * ,7
- * .8
"*2,
~*22
g
23
G 24
G 25
G 26
~ *27
—* 2 8
"*3!
-* 3 2
g
33
G 34
G 35
G 36
~ *37
-* 3 8
-^ 4 ,
” *42
G 43
G 44
G 45
G 46
-* 4 7
—* 4 8
~*5.
—* 5 2
G 53
G 54
G 55
G 56
-* 5 7
—* 5 8
"*6!
~ *62
G 63
G 64
G 65
G 66
—* 6 7
~ *68
-* 7 t
—* 7 2
G 73
G 74
G 75
G 76
—* 7 7
—* 7 8
-* 8 2
G 83
G 84
G 85
G 86
—* 8 7
—* 8 8
natomiast " G U
—G 12
* .3
* .4
* ,5
* .6
—G t7
—G 18
0
6.43422
—G 21
—G 22
*23
*24
*25
*26
~ G 27
“ G 28
0
30.53821
- G 31
—G 32
*33
*34
*35
*36
—G 37
- G 38
200
-95,36793
—G 4 1
—G 42
*43
*44
*45
*46
' G 47
~ G 48
200
-71,26394
- G 51
- G 52
*53
*54
*55
*56
~ G 57
" G 58
200
-71,26394
~ G 6,
—G 62
*63
*64
*65
*66
—G 67
- G 68
200
-95,53821
- G 71
~ G 72
*73
*74
*75
*76
- G 77
~ G 78
0
30.53821
—G 8 1
—G 82
*83
*84
*85
*86
—G 87
OO 00 0 1
0
6.43422
T{ Ti
9« Tj T 781 Otrzymujemy następujące rozwiązanie: 7j' = 7V = 27,958, T2‘ = 7V = 105,536, <731= -54315,608, qĄl = ę5' = -32277,245.
421 Temperaturę w wyróżnionych węzłach wewnętrznych obliczamy z zależności (9.227), czyli
Ti - E «ijTjX - E y-1
G ljq} .
y-«
Tak więc 7 ,1 = 7(0,0025, 0,0025, 10) = 39,371, 710' = 7(0,0075, 0,0025, 10) = 113,741, 7,,' = 7(0,0025, 0,0075, 10) = 113,741, 7 12‘ = 7(0,0075, 0,0075, 10) = 150,857. W drugim kroku obliczeń (przejście / 1 = 10 -* t 2 = 2 0 ) rozpatrujemy układ równań (por. wzór (9.226)) G q2 = H T2 + P T 1, który zapiszemy w postaci A Y 2 = F + P T* . Jak widać, macierze G, H (a więc również macierz A) oraz F nie zmieniają się, natomiast należy wyznaczyć macierz P związaną z dyskretyzacją wnętrza obszaru (zależność (9.220)). W rozważanym zadaniu jest to macierz o wymiarach 8 x 4 , której elementy obliczymy stosując 6-punktowe kubatury Gaussa: 0,15607 0,08886 0,05048 0,02874 0,08886 0,15607 0,02874 0,05048 0,05048 0,15607 0,02874 0,08886 0,02874 0,08886 0,05048 0,15607 0,02874 0,05048 0,08886 0,15607 0,05048 0,02874 0,15607 0,08886 0,08886 0,02874 0,15607 0,05048 0,15607 0,05048 0,08886 0,02874 Macierz tę należy pomnożyć przez wektor 7 1 zawierający temperaturę w węzłach wewnętrznych w chwili t 1 = 1 0 : 39,371 T1
113.741 113.741
’
150,857 a uzyskany wynik dodać do wektora F prawej strony. Otrzymamy następujące rozwiązanie układu równań: 7,2 = 7g2 = 96,908, 722 = 7V2 = 149,834, q 2 = q 2 = -25493,569, q? = q$2 = -11681,072. Temperaturę w węzłach wewnętrznych wyznaczamy na podstawie zależności (por. wzór (9.227)) Ti
= E
y*i
HijTj2 ~ E
y-i
<
w
+ E
/-i
PiiTi
czyli: 7,2 = 7(0,0025, 0,0025, 20) = 107,014 , 7 102 = 7(0,0075, 0,0025, 20) = 155,731, 7n2 = 7(0,0025, 0,0075, 20) = 155,731, Tn2 = 7(0,0075, 0,0075, 20) = 178,550. ■
422 9.4.2.
II schemat MEB
Jak wspomniano w podrozdziale 9.3, drugi schemat metody elementów brzegowych jest stosowany głównie do wyznaczania bezźródłowych pól temperatury (Q(x, r)=0) i tylko dla takiego przypadku będzie również tutaj prezentowany. Drugi schemat metody elementów brzegowych prowadzi do następującego równania aproksymującego zależność (9.204) / *' B U ) T U , t ' ) + £ i / / r * a , x, t ' , t) q( x, t ) d T d t = i-1 c | p * / E
~
»* f f
c
r
x • t f >O H * ,
0 d r dr ♦ U T ’ U , x ,
t',
(9.228)
t ° ) T ( x , t° )d Q .
o
W rozważaniach prezentowanych w dalszej części tego rozdziału założymy zerowy warunek początkowy, czyli T(x, t ° ) = 0, co powoduje zerowanie się ostatniej całki wystę pującej w równaniu (9.228). Dla pierwszego kroku obliczeń, czyli przejścia t° -* t l ( / = 1), mamy i1 B ( O r a , t 1) * ± l f T - ( Z ,
X,
t \ t ) q ( x , r) d T d f =
c ,o r
' i1 - / [ q - U , x , t \ t ) T ( x , t) d r dr .
(9.229)
Jak można zauważyć, otrzymaliśmy równanie całkowe (9.205) dla/ = 1, czyli krok ten jest taki sam, jak w I schemacie MEB i nie wymaga powtórnego omawiania. Dla następnych kroków, czyli przejść t f~1 -* f/ ( / = 2 , 3 ......... F), w równaniu (9.229) wyodrębnimy ostatnie składniki sum związane z całkowaniem w granicach od r/ " 1 do /1 (s = / ) , czyli t'
t' - I f q ' U , x t t', t ) T ( x , t ) d T d t + (9.230) / j V ( Ś . x, t ' , t ) T ( x , t ) d T d t •-»r
t*
f fT-U,x, »-i r
t', t)q(x, t ) d T d t .
423 Tak jak poprzednio, przyjmujemy stałe elementy po czasie, czyli dla t(=.[t‘~ \ t s]: T(x, t) = T(x, t ‘ ) oraz q(x, t) = q(x, t ‘ ), s = 1, 2, . . . , / i wówczas
t ' ) + fq ( .x ,
B U ) T ( Z ,
tf)
r / T(x,
- /
t')
- f T ’ (Z, x, tf , r)d r c f'-1
dr =
r
(9.231)
fp T ( x < '*>
E
j*ł
- / ? * (« , r , r ' O dr
»* I / r * (C , x, t f , r)dr E / « < * . » ') ł»i
dr -
V 1
dr .
p
Całkowanie po czasie wykonujemy analitycznie, przy czym całki w granicach od tf~x do i f zostały już obliczone w podrozdziale 9.4.1 (wzory (9.207), (9.208) i (9.212), (9.213)). Pozostały do wyznaczenia całki od t ‘~l do r*. Mamy
’(£> x) = c
t‘ i‘ exp f q ’ ( i , x, t f , r)dr = - — f — 1 . 8rca (tf - t) 2
dr , (9-232) 4a(tf-t)
natomiast
:*(Ę,
X)
t* = i f T-a, cJ
X,
t' t f , O dr = — - f - L exp 471 A. ti.l t f - t
d r . (9.233) 4 a (r/ -r)
Podobnie jak poprzednio, stosujemy podstawienie z — i r—t , a następnie u = r 2 /(4az). Otrzymujemy
j exp
h sa , x ) = 2h r7
r2
- exp
f.
4 a ( r / - r * '1)
^ 1} 4 a ( r / - r f) j]
(9.234)
oraz 1 4k X
* * (« , x) =
Ponieważ t f —t s = ( f - s ) A t ,
h * a , x) =
d
2 itr'
i I exp
L
r2
4 a ( r / - r , - ‘)
- Ei
(9.235)
4 a ( r / - r*)
= 1 / (■* 0]A/, więc r2 4 n [ ( / - ( 5 - 1)] Ar
- exp f -
4 a ( / -^s ) A r J l! J
(9.236)
424
g sa , x ) =
4 u A.
r2 4 a [/-(s -l)]A r
(« [
11
- Ei
(9.237)
4 a ( f - s ) A t jj
Zależność (9.231) przyjmuje postać B U ) T U , tf ) *
f q ( x ,
t')g(Ę,x) d r =
(9.238)
/-1
E
T( x , t ' ) h ( Z , x ) d r
f
x)dr
f r ( x ,
-
f q (x,
t* ) g sa , x
)dr
j *i
Równanie (9.238) rozwiązuje się metodami numerycznymi. Obliczenie całek po brzegu T wiąże się z koniecznością jego dyskrętyzacji, przy czym wybór rodzaju elementów brzegowych (stałe, liniowe, kwadratowe) zależy od użytkownika metody. Jeżeli, dla przykładu, założymy stałe elementy brzegowe, to otrzymamy następującą aproksymację równania (9.238) (/ = 1 , 2, . . . . N ) \
t!
/-1
* E « / / « ( « '. 7”1 r,
E
7*i
T/f r.
- E r,
7*i
x)dr. -
E
7*i
h
x) d r t (9.239)
*)dr,
r,
Wykorzystamy oznaczenia (9.218), (9.219), (9.225) i wprowadzimy dodatkowe, a mianowicie Htj = j h \ V , * ) d r , = P/ > , - exp 4 fl[(/-(5 -l)]A r
r, r.
4 a ( / - . s ) Ar
(9.240)
dr,
oraz
o ; , - / * ' ( £ ' , x)drt . (9.241) (
4n X
2 ru -E i Ei 1 4 a [ / - ( s - l ) ] Ar
2 ru d r.. 4 a ( f - s ) Ar JJ
Wówczas N
N
/-I
E < W * E * < /tf * E 7-1 j *1
7*1
(9.242)
7*1
7*1
425
F)
Układ ten można również zapisać w postaci macierzowej ( / = 2, 3,
G ą f = H T/ + £ s
- Gs q s) .
(9.2A3)
-1
Po jego rozwiązaniu, wartości w dowolnych punktach wewnętrznych obszaru o b lic z a s ię z z a leżności
?! -
Enlt ?! - Eo,qf /e[e k t ' - f
j-i
j -i
ł-i [j-i
y-i
J
Całki (9.240), (9.241) wyznacza się, stosując kwadratury Gaussa, z wyjątkiem c a łe k osobliwych Hus, G,/, które podobnie jak całki Ą ( , Gn, oblicza się analitycznie [3]. Przykład 9.10 Wyznaczyć brzegowe wartości temperatury i strumieni ciepła dla t 1 = 1 0 i t 2 = 2 0 o r a z temperaturę w wyróżnionych węzłach wewnętrznych z wykorzystaniem I I schematu M E B d l a problemu brzegowo-początkowego przedstawionego w przykładzie 9.10. Jak wspomniano wcześniej, pierwszy krok algorytmu jest taki sam, j a k w p r z y p a d k u 1 schematu. Rozwiązując zadanie przedstawione w przykładzie 9 . 9 , d l a r ' = 1 0 o t r z y m a n o następujące brzegowe wartości temperatury i strumieni ciepła ’ 2 7 ,9 5 8
0
105,536
0
200
-5 4 3 1 5 ,6 0 8
200 200
-3 2 2 7 7 ,2 4 5 .
9 1 =
-3 2 2 7 7 ,2 4 5
200
-5 4 3 1 5 ,6 0 8
105,536
0
27,958
o
I
Dla kroku drugiego (przejście r 1 = 10 -♦ r 2 = 20) układ równań (9.243) przyjm uje postać G q 2 = H T 2 + H 1 T ' - G '- T 1 . Układ ten można również zapisać jako A •Y2 = F + H 1 T 1 - G 1 T 1 . Macierze G oraz H są takie same dla kolejnych kroków algorytmu (a więc także macierz A oraz wektor F), natomiast należy obliczyć macierze G 1 oraz H Elementy G/,, H,\ wyznaczamy analitycznie [3], z kolei na podstawie wzorów (9.240), (9.241) mamy
JL fil Hu -
2 n Jr, rt -2
exp
r‘J
4a(2M)
exp
i *J i
- j .
,
426
oraz dla i & j
Gtj 1
=
f 4n X l\
E i
'U 4 a (2 Ar)
- E i
'U 4a Ar
d r .
Wykorzystując 6-punktowe kwadratury Gaussa otrzymujemy 0,00000 0,00000 0,02304 0,01016 0,01050 0,01569 0,00821 0,01913 0,00000 0,00000 0,01913 0,00821 0,01569 0,01050 0,01016 0,02304 0,00821 0,01913 0,00000 0,00000 0,02304 0,01016 0,01050 0,01569 U Jri 1=
0,01016 0,02304 0,00000 0,00000 0,01913 0,00821 0,01569 0,01050 0,01050 0,01569 0,00821
0,01913
0,00000 0,00000 0,02304 0,01016
0,01569 0,01050 0,01016 0,02304 0,00000 0,00000 0,01913 0,00821 0,02304 0,01016 0,01050 0,01569 0,00821
0,01913 0,00000 0,00000
0,01913 0,00821 0,01569 0,01050 0,01016 0,02304 0,00000 0,00000
0,00027 0,00018 0,00009 0,00004 0,00003 0,00005 0,00009 0,00021 0,00018 0,00027 0,00021 0,00009 0,00021 rVJ i --
0,00009 0,00005 0,00003 0,00004 0,00009
0,00027 0,00018 0,00009 0,00004 0,00003 0,00005
0,00004 0,00009 0,00018
0,00027 0,00021
0,00003 0,00005 0,00009 0,00021
0,00009 0,00005 0,00003
0,00027 0,00018 0,00009 0,00004
0,00005 0,00003 0,00004 0,00009 0,00018
0,00027 0,00021 0,00009
0,00009 0,00004 0,00003 0,00005 0,00009 0,00021 0,00027 0,00018 0,00021 0,00009 0,00005 0,00003 0,00004 0,00009 0,00018 0,00027 Po obliczeniu H 1 T 1- G 1 q 1 i dodaniu do wektora F uzyskujemy układ równań w postaci A Y 2 = F|, którego rozwiązanie jest następujące T\ = 87,801 T l = 146,616 2
427 Temperaturę w węzłach wewnętrznych obliczamy z zależności (por. wzór (9.244))
2=/•Ei Hi l TJ2~ >-i E
Ti
Hij tj 1 ~ E
E
y-i
Gij qj •
Otrzymujemy: 792 = 7(0,0025, 0,0025 , 20) = 100,063, 7 I02 = 7(0,0075 , 0,0025, 20) = 153,889, 7 „ 2 = 7(0,0025, 0,0075, 20) = 153,889, 7,22 = 7(0,0075, 0,0075, 20) = 178,746.
■ Jak można zauważyć, różnice między rozwiązaniami uzyskanymi za pomocą I i II schematu MEB w niektórych węzłach są dość duże. Wynika to z faktu, że liczba elementów brzegowych (a w przypadku I schematu również elementów wewnętrznych) jest za mała, aby otrzymane wyniki traktować jako w pełni zadowalające.
9.4.3. MEB z dyskretyzacją czasu Algorytm MEB z dyskretyzacją czasu przedstawimy dla problemu brzegowo-początkowego opisanego równaniami (9.191), (9.189), (9.190). Jak wiadomo z podrozdziału 9.3.3, pierwszy etap metody kombinowanej polega na wprowadzeniu siatki czasu (9.119) ze stałym krokiem Ar. W rozpatrywanym przedziale [tf ~ \ t f ] dokonuje się aproksymacji pochodnej po czasie występującej w równaniu (9.191) i dla aproksymacji liniowej mamy t e [ t f ~l , t f ] :
t f ) ~ T {x >/ / _1) = f lv 27 ( r , tf ) + ^ ^ X’- f/- ^ Ar c
(9.245)
lub V27 (* , t f ) ----- — T ( x , t f ) + — T( x , t f ' x) + - < ? ( x , t f ' x) = 0 . (9.246) akt akt X Wykorzystując kryterium metody odchyłek ważonych, otrzymujemy /Y [ v 27 (* , t f ) - — 7 (x , t f ) + iJ akt akt -
t f ' x) + (9.247)
Q ( x , t f - ' ) T ' U , x)dQ = 0 ,
gdzie 7 ’ (£, x) jest rozwiązaniem fundamentalnym i dla obszaru zorientowanego we współrzędnych prostokątnych ma postać T - U , x) =
2n
i ,----{ y/akt
(9.248)
przy czym £= (£, , £2 ) jest punktem, w którym umieszczono skupione źródło ciepła, natomiast r - odległością między punktami £ oraz x. Występująca w zależności (9.248) funkcja Ko oznacza zmodyfikowaną funkcję Bessela drugiego rodzaju, rzędu zerowego, np. [3]. Strumień ciepła wynikający z rozwiązania fundamentalnego wyraża się zależnością q'U ,x) =
Xd 2 Ti r\Ja k t
(9.249)
K, .Jakt,
428 gdzie d zdefiniowane jest wzorem (9.55), natomiast K, jest zmodyfikowaną funkcją Bessela drugiego rodzaju, rzędu pierwszego, np. [3], W realizacji numerycznej funkcje Kq i K, można aproksymować odpowiednimi wyrażeniami [3]. Można sprawdzić, że rozwiązanie fundamentalne (9.248) spełnia następujące równanie V 2T ’ U> x) - - L - T ' U , x ) = - 6 ( ( , r ) , a At
(9.250)
gdzie 5(£, x) jest funkcją delta Diraca. Kryterium metody odchyłek ważonych (9.247) zapiszemy w postaci f f V 2T ( x , t ' ) T ‘ U , x )dQ - - ± - [ [ T ( x , t ' ) T ' t f , x ) d C l a aAta
(9.251)
- L f [ T ( x , t ' - l ) T ‘ U , x ) d fl + ± [ [ Q ( x , t f - l ) T ' U , x ) dQ = 0 . aAtJ XJ Z drugiej formuły Greena [3] wynika, że pierwszy składnik równania (9.251) jest równy f f v 2T(x, t ' ) T - ( Z , x ) d Q = | / V 2r * ( ś , x ) T ( x , t ') d Q + o a dT( x, tf ) dn
(9.252)
t (x ,
dn
czyli f f v 2T( x , t ' ) T ‘ ( t , x ) d Q = f f n a
- / q * U . x ) T ( x , t ^) d r Ar
v 2T ' U ,
Ap
x ) T( x , t ' ) d Q + (9.253)
T-(Ę, x)q(x, t ' ) d r .
Wstawiając (9.253) do (9.251) mamy
//
V 2T ' ( Z , x) - — T - ( Z , x) T( x , tf ) d Q + a At
| f q * U , x) T ( x , tf) d r - - f T ’U , x) q( x, t f ) dT * Ar Ar
(9.254)
— ~ f f T ( x , t f - ' ) T - ( Z , x ) d Q * ~ f [ Q ( x , t f ~l ) T ’ U , x )d Q = 0 . aAtiJ Xi J Wykorzystując własność (9.250) w odniesieniu do pierwszego składnika równania (9.254):
/ / v2r*(£, x )
-
a At
T ' U , x ) T{ x, r ') d Q =
- f f 6 U , x ) T ( x , t f ) dD = - T U , t f ) , Q
(9.255)
429 otrzymuje się m , tf) + ± f T ' U , x)q(x, t f ) d r = i f q ' ( Z , x) T(x, t f ) d r * X r Xr
(9.256)
- i - f f T ( x , t f - l ) T ‘ U , x)dQ + ~ f f < ? ( x , t f - x) T ' ( l , x )d Q . aAtJJ Dla ( G T dochodzimy do następującego brzegowego równania całkowego t f ) ^ - f T ’ U , X)q{x, / ' ) d r = j f q ’ U , x ) T ( x , t f ) d T + A r
A r
(9.257)
— f f T ( x , t f - l ) T ' ( Z , x) d O * i f f Q ( x , t f - ' ) T ‘ ( Ę , x ) dQ . a A t JJ X JJ gdzie B (£ )£ (0 , 1). Równanie (9.257) rozwiązuje się metodami numerycznymi. W przypadku stałych elemen tów brzegowych i wewnętrznych otrzymujemy następujący układ równań (t = 1, 2 ....... N)
- T U \ I>) * Ą e « / / 7 - • ( £ ', * ) d r, - Ą e T l f g - a ‘, x ) d r J * r;
/•i
r,
(9.258)
— E T ! \ \ T ' U i, x ) d Q l + Q r f f T - U ‘, x ) dQ, **t,.i tf A ,., " Wprowadzamy następujące oznaczenia (9.259)
d l). r;
‘W A r>
= 4a A-t J/n J/ r
r ,-- —
/ ^
2 n v « A r r>
l \/a"Al,
k
. k/o A r
d r) »
d ^ ' * ) dQ , = — r -tf i/ JK o 2naA , y óA r,
dQ , ,y/aAt/
,
(9.260)
(9.261)
(9.262)
430 Układ rozwiązujący (9.258) można więc zapisać następująco E < W /-1
■E
b
„ t! * E
* E z hQ ! ' ■ /-l/•!
y-1
(9.263)
przy czym i *j
V 1
» * /-
2
(9.264) i =j ,
•
lub stosując zapis macierzowy (9.265)
■Tf + P T 7' 1 + Z Q /-
Po rozwiązaniu układu (9.265), temperaturę w punktach {'GO wyznacza się z zależności r ! - E H„ Ti - E ° i f l ’ - E y*1 y-1 ł-1
* E z ,,< ? /'' • /-I
<9'266>
Przykład 9.11 Wyznaczyć nieustalone pole temperatury w obszarze kwadratu o boku 0,01 m. Boki x x = 0,01 m oraz xl = 0 utrzymywane są w stałej temperaturze T = 100 °C, natomiast na bokach a:, = 0 i x 2 = 0,01 m założono warunek brzegowy Robina (a = 10 W/m2K, Ta = 20° C). Temperatura początkowa wynosi T0 = 0 °C . Przyjęto a = 10 "6 m2/s (X = 1 W/mK). Funkcja T (x lt x2) spełnia następujące równanie
(■*,, x2) e f i :
d T ( x j, x2, t ) dt
1 0 '6
d 1T { x v x2, t) + a 2T (x 1> x2, t ) dxf
BĄ
z warunkami brzegowo-początkowymi 0 < x. < 0,01 : 1
( T { x x, 0, O = 100 , < (
g ( 0 , x 2, t ) = 10[T(0, x 2, t) - 3 0 ] , 0 < x2 < 0,01 :
0 <
< 0,01 ,
T (0 ,0 1 , x2, r) = 100 , 0 < x2 < 0,01 :
r ( x ,, X2, 0) = 0 .
Jak można zauważyć, powyższe zadanie różni się od problemu opisanego w przykładzie 9.9 jedynie warunkami brzegowymi, w związku z tym wykorzystamy sposób dyskretyzacji brzegu i wnętrza obszaru przedstawiony na rysunku 9.14. Obliczenia przeprowadzimy z kro kiem czasu At = 10 s.
431 Pokażemy pierwszy krok algorytmu r° = 0 -* r ‘ = 10. Biorąc pod uwagę, że Q(x, t) = 0 oraz T(x, t° ) = 0, układ równań (9.265) przyjmuje postać G q1 = H T1. Elementy macierzy G i H wyznaczamy na podstawie wzorów (9.259), (9.260), (9.264), stosując 6-punktowe kwadratury Gaussa. Otrzymujemy macierz H -0,50000 0,00000 0,01708 0,00515 0,00485 0,00794 0,00767 0,10490 ' 0,0 0 000-0,50000 0,10490 0,00767 0,00794 0,00485 0,00515 0,01708 0,00767 0,10490-0,50000 0,00000 0,01708 0,00515 0,00485 0,00794 0,00515 0,01708 0,00000-0,50000 0,10490 0,00767 0,00794 0,00485 0,00485 0,00794 0,00767 0,10490-0,50000 0,00000 0,01708
0,00515
0,00794 0,00485 0,00515 0,01708 0,00000-0,50000 0,10490
0,00767
0,01708 0,00515 0,00485 0,00794 0,00767 0,10490-0,50000
0,00000
0,10490 0,00767 0,00794 0,00485 0,00515 0,01708 0,00000-0,50000 oraz macierz G 0,00101 0,00019 0,00005 0,00002 0,00001
0,00002 0,00006 0,00029
0,00019 0,00101 0,00029 0,00006 0,00002 0,00001 0,00002 0.00005 0,00006 0,00029 0,00101 0,00019 0,00005 0,00002 0,00001 0.00002 0,00002 0,00005 0,00019
0,00101 0,00029 0,00006 0,00002 0.00001
0,00001 0,00002 0,00006 0,00029 0,00101 0,00019 0,00005 0.00002 0,00002 0,00001 0,00002 0,00005 0,00019 0,00101 0,00029 0.00006 0,00005 0,00002 0,00001
0,00002 0,00006 0,00029 0,00101 0.00019
0,00029 0,00006 0,00002 0,00001
0,00002 0,00005 0,00019 0.00101
Po uwzględnieniu warunków brzegowych, układ równań można zapisać następująco
<*4, <*42 <*43 <*44 <*45 <*46 <*47 <*48
1 9i 1 92 1 ?3 1 94
<*51 <*52 <*53 <*54 <*55 <*56 <*57 <*58
•(Tj-TJ
<*61 <*62 <*63 <*64 <*65 <*66 <*67 <*68
‘ (ti-T J
<*7, <*72 <*73 <*74 <*75 <*76 <*77 <*78
* (T ł-T ")
<*.l <*82 <*83 <*84 <*85 <*86 <*87 <*88
“( Ą - T J
<*n <*!» <*13 <*14 <*15 <*16 <*17 <*18 <*2. <*22 <*23 <*24 <*25 <*26 <*27 <*28 <*31 <*32 <*33 <*34 <*35 <*36 <*37 <*38
432
#13 ".4 #15 #16 #17 #18
100
#21 #22 #23 #24 #25 #26 #27 #28
100
#33 #34 #35 #36 #37 #38
100
#4, #42 #43 #44 #45 #46 #47 #48
100
#u
#31
#12
#32
#51 #52 #53 #54 #55 #56 #57 #58 "6. #62 #63 #64 #65 #66 #67 #68
Ti
#7, #72 #73 #74 #75 #76 #77 #78
Tj
#81 #82 #83 #84 #85 #86 #87 #88
Ti
a po przeniesieniu niewiadomych na lewą stronę: Gu G 12 G 13 G 14 “ ( Gi5~#is) 8 ( Gjg- / / jć) a ( G j 7 ~ H X1) cc(G l g - / f j g)
G 2, G 22 G 23 G 24 “ ( G25 ~ #25 ^ “ ( G26~#26) a ( G 2-j - H21) a ( G 2S- H 2g) G*x G 32 G 33 G 34 a ( G 3 J - / / 3 j ) a ( G 36 - / / 36) g 4,
G42 G 43 G 44 « (G 45 - / / 45) oc(G46 - / / 46)
G 51 G 52 G 53 G 54
a ( G 5 J - / / J5)
cc(G 22~ H 31)
a ( G 3g- / / 3g)
a ( G 47 - / / 47) « ( G 4g- f f 4g)
“ ( G 56- / / J6) a ( G 57 - / / 57) « ( G 5g- / / 5g)
G 61 G62 G 63 G 64 “ ( G65~#6s) a (G66~H66) “ ( G67~#67) “ ( G68- #68) G71 G72 G 73 G 74 “ ( G75~#75) a (G76~H16) a ( G 21~ H21) a ( G 7g- / / 7g) G 81 G 82 G 83 G 84
a ( G g J - / / gs)
oc(Gg6- / / g6) “ ( G87~#87)
a ( G gg- i / gg)
# 1 . #12 #13 #14 a #i5 “ #16 a #.7 “ #18
100
# 2 . #22 #23 #24 a H2S “ #26 a / / 27 “ #28
100
#31 #32 #33 #34 “ #35 “ #36 a #37 a //3g
100
#41 #42 #43 #44 t t #45 “ #46 “ #47 “ #48
100
#51 #52 #53 #54 “ #55 “ #56 “ #57 a #58
T ■*or
# 6 . #62 #63 #64 tt#65 “ #66 “ #67 “ #68
r■*O f
#75 “ #76 a # 77 a / / 7g
T 1 ot
#81 #82 #83 #84 a f /gJ “ #86 a f /g7 “ #88
T1 ot
#71 #72 #73 #74
433 Wstawiamy odpowiednie wartości liczbowe (a = 10, T„ =20, obliczone elementy GiJt Htj). Otrzymujemy następujące rozwiązanie: <7/ = —35706,838, q2 = —21998,271, q3' = -21998,271, qĄ' = -35706,838, 7sl = 50,838, T6' = 17,989, 77* = 17,989, 78‘ =50,838. Strumienie ciepła w węzłach j — 5, 6, 7, 8 wyznaczamy z zależności
9} Mamy: = 308,378, g6' = -20,111, ę7' = -20,111, fc' = 308,378. Z kolei temperatury w węzłach wewnętrznych obliczamy na podstawie wzoru (por. (9.266))
*>'* i :
>-l
- e g v« ; .
przy czym G(/ oraz HtJ są zdefiniowane zależnościami (9.259), (9.260) (do ich określenia również wykorzystano 6-punktowe kwadratury Gaussa). Dla wyróżnionych na rysunku 9.14 węzłów wewnętrznych otrzymujemy T9' = 51,135, 7,o1 = 67,667 , 7 n ‘ = 20,338, 7,2' = 51,135. W drugim kroku algorytmu (przejście t 1 = 10 -*• t 1 = 20) wektor prawej strony układu równań należy uzupełnić o składnik P T ', czyli 17,993
0,23200 0,06721 0,03180 0,01828
21,133
0,06721 0,23200 0,01828 0,03180 0,03180 0,23200 0,01828 0,06721
51,13523
21,133
0,01828 0,06721 0,03180 0,23200
67,66683
17,993
0,01828 0,03180 0,06721 0,23200
20,33796
16,317
0,03180 0,01828 0,23200 0,06721
51,13523
11,018
0,06721 0,01828 0,23200 0,03180
11,018
0,23200 0,03180 0,06721 0,01828
16,317
przy czym elementy macierzy P obliczono na podstawie (9.261), stosując 6-punktowe kubatury Gaussa. Otrzymujemy następujące rozwiązanie układu: q{1 = -18898,331, q2 = q* = -8346,801, q? = -18898,331, 7S2 = 71,535, 762 = 772 = 41,209, 782 = 71,535 oraz 9j2 = 515,349, q> = 212,095, ^82 = 515,349. Temperaturę w węzłach wewnętrznych obliczamy na podstawie zależności (por. (9.266))
Ti2 - E V ? /• i
- E Gijq 2 + E >*t /*i
,
Mamy: 792 = 72,759, 7 102 = 86,138, 7 „2 = 44,162, 7 I2‘ = 72,759. Kolejne kroki algorytmu (przejścia r/-1 -* r; dla/ = 3, 4, .... F) realizuje się w podobny sposób, jak krok t 1 -* / 2. ■ Podobnie jak w przypadku zadań ID, dla zwiększenia dokładności metody można przyjąć „lepszą" aproksymację pochodnej po czasie [3].
L iteratura 1. Banerjee P.K.: Boundary element methods in engineering, McGraw-Hill Company, London 1994. 2. Brebbia C.A ., Dominguez J.: Boundary elements, an introductory course, Computational Mechanics Publications, McGraw-Hill Book Company, London 1992. 3. Majchrzak E.: Metoda elementów brzegowych w przepływie ciepła, Wyd. Politechniki Częstochowskiej, Częstochowa 2001.
10. WYBRANE ZAGADNIENIA MODELOWANIA KRZYWYCH PŁASKICH
W rozdziale niniejszym zajmiemy się pewnymi problemami związanymi z graficzną prezentacją krzywych płaskich [1, 2] (w tym krzywych zamkniętych). Narzędzia tego typu wykorzystuje się coraz powszechniej w grafice komputerowej do wizualizacji wyników obliczeń lub eksperymentów fizycznych. W obszernej literaturze dotyczącej omawianej problematyki opisuje się wiele bardzo złożonych algorytmów realizujących rysowanie krzywych i powierzchni (problemy 3D), przy czym najbardziej efektywnym narzędziem są tzw. krzywe i powierzchnie Beziera oraz krzywe i powierzchnie NURBS. Tutaj ograniczymy się do przedstawienia jedynie najważniejszych informacji z tej dziedziny.
10.1. Zadanie interpolacyjne Lagrange’a Dany jest ciąg liczb (nazywamy je również węzłami interpolacji) r0 < r, < . . . <
t{ < r , . , < . . . < tn
( 10. 1)
oraz zbiór punktów P0, P „ . .. . P„ Pi+1........ P„. Należy znaleźć krzywą wielomianową C(r) stopnia nie większego niż n, taką że
C(f.) = P, ,
i = 0, 1........n .
( 10. 2 )
Jeśli rozpatrujemy krzywe w przestrzeni, to x (t) C (0
=
y(t) z(r)
.
p .=
y,
(10.3)
V
natomiast dla krzywych płaskich (a tylko takimi będziemy się zajmować w dalszej części niniejszego podrozdziału) x(t) C(t) =
y(t)
(10.4)
436 Jak widać, wykorzystujemy tutaj postać parametryczną krzywej. Warunek interpolacji (10.2) można zapisać w następujący sposób * (fj) -
, i
?(',) - y, .
(10.5)
0, 1, ..., n .
Sformułowane zadanie ma dokładnie jedno rozwiązanie. Wykorzystując wzór interpolacyjny Lagrange’a (2.18) otrzymujemy rn
n
H
II
X ( t )
i-0
i- 0
n
n
( y ( 0
n
• ' E y ,
i-0
h
0
\j-t
10. 6)
l i ~ lJ
lub
c«)
"
- £
i *0
t~t,
p,
(10.7) \ j *i
Na przykład, dla n = 1 mamy C
t-t.
t-tn
ro " ri
*l-*0
( 10. 8)
( 0 = P0 ------i- + P , ----- ±
dla n =2
C (r) = Pn
( r - r , ) ( r - r 2) +
( r - r 0) ( r - r 2) +
( ^0 ~ *1) (?0 ~ ^2 ^
~
( r - r 0) ( g - r , )
“ ^2 )
(10.9)
( *2 ~ ^0 ) ( f i ~ *1)
dla n =3
C( f) = p
( t - W - h K t - t , )
(^0 ^1) (^0
^2^ ^0
+p
*3^
( r - r 0) ( r - r 2) ( r - r 3) (^1
^3) ( 10. 10)
*2 77 (fj
7777 q
1 )^ 2
7777 77 + *3 ) C^2
^3 )
(^3
^q)t2)
Należy w tym miejscu zwrócić uwagę na fakt, że wybór węzłów interpolacji r0. *i» •••»*« jest w zasadzie dowolny, ale kształt krzywej istotnie zależy od wartości f,. W przypadku krzywych wysokiego stopnia, umiejętnie dobierając węzły można doprowadzić do zmniejszenia „zafalować” krzywej.
437 Przykład 10.1 Narysować krzywe interpolacyjne przyjmując następujące punkty a) (0, 0), (2, 2), (3, 1), b) <1, 2), (2, 5), (4, 6), (6, 1). W przypadku a) przyjmiemy /0 = 0, r, =1/2, t2 = 1. Ponieważ n = 2 , więc stosujemy wzór (10.9)
cm
_ p
(£ ~ 0,5)(r - 1) + p 0 ( 0 - 0 ,5 ) ( 0 - 1)
(>-0)0-1) 1 ( 0 , 5 - 0 ) ( 0 ,5 - 1)
+ p (> - 0 ) 0 -0, 5) 2 (1 - 0 ) ( 1 - 0 ,5 ) ’
czyli I x ( r) - 0 - ( 2 f 2 - 3t + 1) + 2 -4 > (l - f ) + 3 - r ( 2 f - l ) } y (r) = 0 (2 r2 - 3r +1) + 2 -4 r ( l - 1) + l r ( 2 f - l ) . W przypadku b) przyjmiemy t0 = 0, /, = 1/3, t2 =2/3, >3 = 1. Ponieważ n = 3, więc stosujemy wzór (10.10) C O ) = - - P 0( 3 r - l ) ( 3 > - 2 ) ( r - l ) + |p , r ( 3 > - 2 ) ( r - l ) |
p 2> ( 3 > - 1 ) 0 - 1 )
+ |
p 30 3 > - 1 ) ( 3 > - 2 )
.
Na rysunkach 10.1 i 10.2 przedstawiono otrzymane krzywe. Wartości parametru t zmieniano od 0 do 1 z krokiem 0,01, czyli wyznaczono współrzędne 101 punktów leżących na krzywej.
Rys. 10.2. Krzywa wielomianowa b) Zastosowany w powyższym przykładzie sposób wyznaczania współrzędnych punktów leżących na krzywej C (t) dla ustalonej wartości parametru t nie jest optymalny. W tym celu (zwłaszcza w przypadku krzywych wyższego stopnia) wykorzystuje się algorytm Aitkena [1].
438 Algorytm Aitkena, dla ustalonej wartości parametru t =t \ pozwala wyznaczyć współrzędne punktu leżącego na krzywej C (t) stopnia n. Oznaczmy przez P 0 i wyjściowy zbiór węzłów (P 0j = P it i = 0, 1, .... ri). Wartości P*.,( / ’ ) (są to współrzędne punktu leżącego na krzywej wielomianowej stopnia k) oblicza się na podstawie wzoru rekurencyjnego
(
10. 11)
skąd C (r *) = P„ 0. ,,Działanie” wzoru rekurencyjnego zilustrujemy dla przypadku n = 3. W pierwszej kolejności wyznaczamy (k = 1) P i.o ( 10. 12)
P l.i
Są to współrzędne punktów leżące na prostych przechodzących odpowiednio przez punkty P0 . P , ; P t, P2 oraz P2, P3. Dla k = 2 mamy 1 ~ to ■ 2, 0
h ~ *o
i.i (10.13)
Są to współrzędne punktów leżące na prostych przechodzących odpowiednio punkty P, 0 , P, [ oraz P, ,, P, 2 (por. wzór (10.8)). Wprowadzając zależności (10.12) do (10.13), po przekształceniach otrzymuje się (r* - r,) ( f ' - t2) 2-°
( f - * 0) ( r ’ - r 2)
(t0 - t x) ( t 0 - t 2)
°-°
0 1 -« i)(« i-% )
0,1
*<,)(*,-*2)
, ( f , - ro ) ( f , - fi ) p 0i1
(10.14) 0>2
oraz (10.15) 2,1
° '2
(r3 - r 1) ( r 3 - r 2)
°-3
439 co oznacza, że punkt P2 0 leży na krzywej stopnia drugiego łączącej punkty P0 0 , P0 1 , P0. 2, natomiast punkt P 2 , leży na krzywej stopnia drugiego łączącej punkty P0 , , P0 2, P0 3 (por. wzór (10.9)). Dla k = 3 mamy (10.16)
P 3,0
Są to współrzędne punktu leżącego na prostej przechodzącej przez punkty P2 0 i P2 ,. Wprowadzając zależności (10.14), (10.15) do (10.16), po przekształceniach otrzymuje się p
=
" * 3) p
(t 0 - t l )(t 0 - t 2)(t 0 - t 3)
3,0 "
+ p
0’°
~ *3 ) p
(*
* <*,-*>)<*, - % ) « ! - % )
+
M (10.17)
(f
- t 0) ( t ‘ - r t ) ( r - - r 3)
(r2 - r 0) ( r 2 - r , ) ( r 2 - r 3)
+ °-2 +
(f
- r0) ( r < - r1) ( r > - r2)
(r3 - r0) ( r 3 - r , ) ( r 3 - r2)
° '3
co oznacza, że punkt P3 0 leży na krzywej stopnia trzeciego łączącej punkty P0,o. Po. 1 » P0. 2 , P0 3 (por. wzór (io. 10)). **• Przykład 10.2 Dla krzywej b) z przykładu 10.1 obliczyć wartość C (/’ ), przyjmując r* =1/2. Do wyznaczenia wartości C (1/2) zastosujemy algorytm Aitkena, przy czym założymy (tak jak w przykładzie poprzednim), że r0 = 0, t, = 1/3, t2 =2/3, t3 —1. Wykorzystujemy wzory (10.12) - por. rys. 10.3 a) 1 /3 - 1 /2 p .1 /2 -0 1 /3 -0 0t0 1 /3 -0
_ 0l1
1 1 2 2
3 2 + — 2 [5
2 / 3 - 1/2 p ^ 1 /2 - 1 /3 p _ 1 2 + — 1 4 2 /3 - 1 /3 0>l 2 /3 - 1 /3 °’2 2 [5 2 6
P 1. 2
1 - 1/2 p 1 -2 /3
0,2
1 /2 - 2 /3 1 -2 /3
°’3
3 4 2 6
1 6 2 1
2,5 6,5 3 5,5 3 8,5
następnie wzory (10.13) - por. rys. 10.3 b)
2.°
1
1 /2 - 0 „ 2 / 3 - 0 1,1
1 2,5 4 6,5
+ 3 3 4 5,5
- 1 - l/2 o + 1/2 ~ 1/3 n 1 - 1 / 3 1,1 1 - 1 /3 1,2
3
1 3 4 8,5
_ 2/3 - 1/2 p 2 /3 -0 łl°
3 4 5,5
2,875 5,75 3 6,25
440 oraz wzór (10.16) - por. rys. 10.3 c) ( 11 . p . « U J
‘ - w J P1 0 ł 1 - 0 2,0
1' 2 - ° 1 -0
p!1
2,1
=
1 2,875 2 5,75
3 + —1 2 [ó,25j
2,9375 6
Punkt P3 o leży na krzywej C(r) stopnia trzeciego.
Rys. 10.3. Algorytm Aitkena (przykład 10.2)
[ } Algorytm Sposób obliczenia wartości C(/’ ) dla krzywej wielomianowej stopnia n, podanych współrzędnych punktów P„ węzłów r, (i = 0, 1, .... n) oraz parametru r*€E[r0, /„] może być następujący.
441 Lista zm iennych: całkowite: n, i, k rzeczywiste: t * tablice: x [ 0 .. n , 0 ..n ] , y [ 0 .. n, 0 .. n ] , t [ 0 ,. .n ] Podaj n , t* Dla i : = 0, 1,
n
Podaj tit x0 i , y 0 i Dla k : = 1 , 2 , ..., n Dla i : = 0, 1, ... , n - k Oblicz x k i : =
x k_l i li*k
1i
'l.k-h
Kk- 1,/♦!
t ‘ ~t, Oblicz y k i : = — —- y * _ , + ------- ‘- y k -i . n li*k
D rukuj xni0, yn 0
‘i
'
Powyższy algorytm wykorzystano do konstrukcji krzywej wielomianowej stopnia n = 11. Przyjęto =i/n dla i = 0, 1, n oraz następujące współrzędne punktów: (0, 4), (0, 7), (3, 8), (5, 9), (7, 10), (9, 9), (10, 7), (9, 4), (8, 2), (6, 0), (4, - 1 ) , (2, 0). Wyznaczono 300 punktów leżących na tej krzywej. Otrzymaną krzywą przedstawiono na rys. 10.4. Jak widać, ,,zafalowania” krzywej są bardzo duże, zwłaszcza między punktami P0 i P, oraz P l0 i P M.
Rys. 10.4. Krzywa wielomianowa dla n — 11
442
10.2. Wielomiany Bernsteina, krzywe Beziera W niniejszym podrozdziale przedstawimy najważniejsze informacje dotyczące krzywych Beziera. Ze względu na swoje własności są one zdecydowanie częściej wykorzystywane w praktyce inżynierskiej niż krzywe wielomianowe. Rozpoczniemy od wprowadzenia wielomianów Bernsteina, które są funkcjami bazowymi krzywych Beziera. Wielomiany Bernsteina stopnia n definiuje się następująco
r e[ 0, 1] :
B i n (r) = -----—-----r ł ( l - r ) " - ł , il(n -i)!
(10.18)
przy czym i = 0, 1, .... n. Na przykład, dla n = 0 mamy
(10.19)
B0 M ) = 1 , dla n = 1 B0 , ( 0 = l - r ,
( 10.20)
B, ,(r) = t ,
dla n =2 * 0 .2 (0 = (1 - O 2 ,
* li2( 0 = 2 f ( i - O ,
b2
2 = t2 ,
( 10.21)
oraz dla n = 3 (rys. 10.5) *o.3 ( 0
= (1-0* .
* 213( 0 = 3r2( l - r) ,
* I>3( 0
=
3 r d - r ) 2,
* 3>3(r) = r3 .
Rys. 10.5. Wielomiany Bernsteina (n=3)
(
10. 22)
443 Funkcje (10.18) maja następujące własności: 1. Są nieujemne, czyli dla każdych i, n oraz r€ [0 , Ij: Bj.«(0 * 0 .
(10.23)
2. Dla ustalonego n i dla każdego r€i[0, 1] suma tych funkcji jest równa 1: E
-1 .
(10 24>
i-0
3.
co wynika z dwumianu Newtona. Wartości wielomianów B0 „(0) i B„ „(1) są równe 1: (10.25)
4. Funkcja B, „(/) osiąga w przedziale [0, 1] tylko jedno maksimum, dla t =i/n. 5. Dla każdego n, zbiór wielomianów {B, „(t)} jest symetryczny względem prostej t =1/2. 6. Wielomiany Bernsteina można również wyznaczać stosując wzór rekurencyjny B. n(t) 2 0 ,
dla i < 0 lub i > n ,
fi,„ < 0 - u 7.
+
(10.26)
.« - t( 0 •
Pochodne wielomianów oblicza się z zależności /
dB, „(O
(10.27)
przy czym o -
* 0 .
(10 28)
Niżej pokażemy ,,działanie” wzoru rekurencyjnego (10.26) wyznaczając wielomiany Bernsteina stopnia pierwszego i drugiego. I tak = o - o f i 0(0( o + ^ - i . o ( o = 1
>
f i | . , ( 0 = (1 - t ) B l 0 (t ) * t B 0 0( t ) = r ,
fi0>2( 0 = ( l - t ) B 0t, ( 0 + rfi_u (r) = (1 - r)2 5 , ,2 ( 0 = O -O B j.jC O + ffi0>1( 0 = 2 f ( l - / ) ,
fi2.2( 0 = ( l - f ) f i 2>l( 0 + *fiM ( 0 = r 2 Na tej podstawie wyznaczymy jeszcze wielomiany stopnia trzeciego fi0|3( O = (1 - f ) f i 0l 2( 0
+ ffi.i.2 ( 0 = ( l - o 3 ,
f i , i 3 ( 0 = (1 - 0 f i , . 2 ( 0 + t B 0 2(t ) = 3 r ( l - O 2 ,
(10-29)
444 * 2,3(O = (1 - 0 * 2 , 2( 0 + * * łl2 ( 0 = 3 r2 ( l - t ) , (10.30)
*3,3 (0 = (1 - 0 * 3i2( 0 + l B
2 2(t)
=
t
3.
Jak widać, otrzymano takie same funkcje, jak poprzednio. Pochodne tych wielomianów obliczone w sposób bezpośredni wynoszą
< , ( 0 = -1 ,
*1.1(0 = i ,
< 2( 0
2 (1 -2 0 ,
=
< 2(0 = - 2 ( 1 - 0
(10.31)
*2.2<0 * 2r
oraz (rys. 10.6) < 3( 0 = - 3 ( 1 - O 2 ,
* I .3( 0 = 3 ( 1 - 0 ( 1 - 3 0
< 3 (O = 3 r ( 2 - 3 0 ,
* 3l3( 0 = 3 r2 .
(10.32)
Wyznaczymy z kolei pochodne wielomianów (10.29), (10.30) wykorzystując wzór (10.27). Tak więc * 0 .i(O = l [ *
1
,o (
- \o « > ] - -
0
* ; , i ( o -: * [* 0 , 0 (O * 0.2
( 0
=:
* 1,2
( 0
== 2 [*o.
* 2 ,2
( 0
=
2
[* ., , t (
2 [* 1
,!t (
0
1
,
,
-■ BC,l ( 0 I = - 2 ( 1
0
1 ( 0
=
1
-
=
-
=2 r ,
2 ( 1
(10.33)
- 0
-r-o
=
2 (1
-
2
r) ,
oraz *0,3(0 :' 3 [* i .2 < 3 ( 0 = 3 l B o, 2
( 0
( 0
3(1 - 0 * 2 .3
( 0
- 3 [*,. 2
( 1
( 0
- * 0 ,2
( 0
] = -3 (1 -O 2 >
- * . , 2 ( 0 ] - 3[(1 - O2 - 2 < d -■30 , - * 2 , 2 ( 0 ] = 3 [ 2 f(l ~t)
0
) (10.34)
- > ! 1
=
3r(2 - 3 0 , *3,3 ( 0 = 3[*2. 2
( 0
- * 3 . 2 ( 0 ] = 3r 2 .
Jak widać, otrzymano takie same funkcje, jak poprzednio. Własność szósta, czyli wzór (10.26), stanowi podstawę algorytmu obliczania wartości wielomianów Bernsteina dla t = t ’ , przy czym jest to możliwe tylko w przypadku znajomości wartości wzystkich wielomianów stopni niższych.
445
Rys. 10.6. Pochodne wielomianów Bernsteina (n=3) □ Algorytm Sposób obliczenia wartości wielomianów Bernsteina stopnia n dla zadanej wartości / ' G[0, 1] może być następujący. Lista zm iennych: całkowite : n, i, j rzeczywiste: t * tablice: B [ - l . . n , 0 ..n ] > > >
Podaj n, t ' Dla i : = - 1 , 0........n '
f Dla j := 0, 1, .... n Podstaw B .j := 0
Podstaw B0 0 : = 1 Dla j : = 1 , 2 ........n [ Dla i : = 0, 1, ... , j + 2 \ Dla i
Oblicz £ i7 := (1 0, 1, ..., n
D rukuj Bt n
>> >
I I
446 W powyższym algorytmie wyzerowano macierz B, a następnie elementowi 5 0 0 nadano wartość 1. Po wykonaniu obliczeń, drukowana jest zawartość ostatniej kolumny (za wyjątkiem jej pierwszego elementu), w której znajdują się wartości wielomianów Bernsteina stopnia n wyznaczone dla zadanej wartości / ’ G[0, 1]. Przejdziemy teraz do omówienia krzywych Beziera. Krzywą Beziera stopnia n definiuje się następująco n
C(r)
E
0 s t ś 1,
(10.35)
gdzie B, „ są wielomianami Bernsteina stopnia n, natomiast P, nazywa się punktami kontrolnymi. Zależność (10.35), w przypadku krzywych płaskich, można zapisać w postaci
*(<) - E /-o
.
> « ) - E « ,„ « ) i-0
■
(10.36)
Na przykład, dla n =1 (por. wzór (10.20)) mamy C ( r ) = (1 - r ) P 0 ♦ rP , .
(10.37)
Jest to odcinek o początku w punkcie P0 = C (0) i końcu w punkcie P, = C (1). Dla n = 2 (por. wzór (10.21)) mamy C (r) = (1 - r ) 2 P0 + 2 r ( l - r) P, + t 2 P2 .
( 10-38)
Dla n = 3 (por. wzór (10.22)) mamy C (r) = (1 - r ) 3 P0 + 3 r (l - t ) 2 P, + 3 r 2( l - t ) P2 + r3 P3 .
(10.39)
Przykład 10.3 Narysować krzywe Beziera przyjmując następujące punkty kontrolne a) (0, 0), (2, 2), (3, 1), b) (1, 2), (2, 5), (4, 6), (6, 1), c) (1, 2), (4, 6), (2, 5), (6, 1), d) (1, 2), (4, 6), (6, 1), (1, 2). W pierwszym przypadku n = 2, czyli krzywa Beziera opisana jest zależnością (10.38). Dla zadanych punktów kontrolnych otrzymujemy | x ( t ) = (1 - r ) 2 0 + 2 r ( l - r ) - 2 + r 2 -3 = 4 r ( l - t ) * 3 t 2 , | y( t ) = (1 - r)2*0 + 2 r ( l - 1)-2 * t 2 - 1 = 4 r ( l - t ) + t 2 . W drugim przypadku n = 3, czyli krzywa Beziera opisana jest zależnością (10.39). Dla zadanych punktów kontrolnych otrzymujemy
x(r) = (1 - r ) 3 -l + 3r(l - r ) 2-2 + 3r2( l - r ) - 4 + r3-6 , y(r) = (1 - r)3-2 + 3r(l - r ) 2-5 + 3r2( l - r ) - 6 + r3 l .
447 W przykładach c) i d) należy jedynie zmienić wartości współrzędnych odpowiednich punktów kontrolnych. Na rysunkach 10.7, 10.8, 10.9 i 10.10 pokazano otrzymane krzywe.
Rys. 10.9. Krzywa Beziera c)
Rys. 10.10. Krzywa Beziera d)
Jak można zauważyć, krzywe przedstawione na rysunkach 10.8 i 10.9 różnią się kolejnoś cią punktów kontrolnych, co powoduje zmianę ich przebiegu. Jeśli z kolei pierwszy punkt kontrolny pokrywa się z ostatnim (rys. 10.10), to otrzymujemy krzywą zamkniętą. ■ Krzywe Beziera mają następujące własności 1. Początek krzywej pokrywa się z punktem P0, koniec krzywej pokrywa się z punktem P„, czyli (10.40) P0 = C ( 0 ) , P„ = C (1) . 2. Krzywa Beziera zawiera się w wieloboku o wierzchołkach P0, P,. .... P„.
3. Styczna do krzywej Beziera w punkcie P0 jest równoległa do odcinka P,P0, styczna do krzywej Beziera w punkcie P„ jest równoległa do odcinka PnP„_t. 4. Zmiana kolejności numeracji punktów kontrolnych może prowadzić do krzywych typu ,.pętla” - por. rys. 10.11. 5. Dla P 0 = P„ otrzymuje się krzywą zamkniętą. Krzywa ta jest gładka w punkcie C (0) = C (1), jeżeli odcinek P,P0 jest równoległy do odcinka P„PB_,. 6. Krzywe Beziera są niezmiennicze względem takich przekształceń, jak translacja, rotacja, zmiana skali. Przekształcenia krzywej dokonuje się poddając przekształceniu jej punkty kontrolne - por. przykład 10.4.
Rys. 10.11. Krzywe Beziera dla różnej kolejności punktów kontrolnych Przykład 10.4 Dokonać następujących przekształceń krzywej b) z przykładu 10.3: a) translacji o wektor [ - 4 , - 5 ] , b) rotacji o kąt 7r/2, wykorzystując macierz 0 1
-1 0 '
Wykonujemy translację punktów kontrolnych o zadany wektor, czyli dla punktów (1, 2), (2, 5), (4, 6), (6, 1) otrzymujemy ( - 3 , - 3 ) , ( - 2 , 0), (0, 1), (2, - 4 ) . Wykonujemy rotację krzywej wyznaczając nowe współrzędne punktów kontrolnych, czyli
0 -1 1 1 0 2
-2 0 -1 2 > 1 1 0 5
-5 2
0 -1 4 1 0 6
-6 0 -1 6 4 J 1 o. 1
-1 6
Na rysunkach 10.12, 10.13 pokazano krzywą wyjściową oraz krzywe po translacji i rotacji.
449
Przejdziemy teraz do omówienia algorytmu deCasteljau [2], który pozwala obliczyć wartość C (r) dla zadanej wartości parametru t = t' G[0, 1], Krzywą Beziera stopnia drugiego (wzór (10.38)) zapiszemy następująco C ( 0 = (1 - r ) 2 P0 + 2 f ( l - 1) P, + t2 P2 =
(1 - r ) [ ( 1 - r ) P 0 + t Pj ] + r [ ( l - t ) P, + r P 2] . Jak można zauważyć, krzywą tę przedstawiliśmy w postaci liniowej kombinacji dwóch krzywych stopnia pierwszego (por. wzór (10.37)), których punktami kontrolnymi są odpowiednio P0, P, i P ,, P2. Ustalamy t = t ’ i wprowadzamy oznaczenia p l>0 = o - o p 0 - r P , , P ,A = (1 - r * ) P f + t ‘ P2 , **2,0
(1
(10.42)
)P,.o + * **1,1 *
Otrzymujemy C (D
= (1 - r * ) P , 0
P ,, = P 2 0 ,
00.43)
czyli wartość C(r*) jest równa P2 0 - rys. 10.14. Dla krzywej stopnia trzeciego (wzór (10.39)) mamy
C(r) = (1 - r ) 3P0 + 3r(1 - 1) 2 P, + 3 r 2( l - r ) P 2 + r3 P3 = (1 - f ) [ ( l - 1) 2 P0 + 2 r( 1 - f ) P , + r 2 P2] + r[(l - O2 P, + 2 t ( l - 1) P2 + r 2P 3]
(10.44)
450 Krzywą tę przedstawiliśmy w postaci liniowej kombinacji dwóch krzywych stopnia drugiego, których punktami kontrolnymi są odpowiednio P0l Pt, P2 i P,, P2, P3. Można ją również zapisać w sposób następujący C O ) = (1 -<){(1 -<)[(! - O P 0 ♦
(1045)
rj(l - < ) [ ( • - < ) P , *
P lf2 = d - O P 2 * r p 3 , p 2>ł = ( i - f ) P M + r p ł>2,
.
P 3 0 = (1 - r * ) P 2 o ♦ r ’ P21 , mamy
C ( , - ) = (1 - ( • ) [ ( ! - « ' ) P l>0 * C P , . , ] * >•[(! - » - ) P , . , * <-P,.2] (1
(1047)
) P 2.0 + * P2,l = P3,0 »
czyli wartość C (r*) jest równa P3 0 - rys. 10.14.
Rys. 10.14. Ilustracja algorytmu deCasteljau dla n= 2 i n= 3 (t ’ =1/2) Powtarzając powyższe rozumowanie, dochodzi się do krzywej stopnia n, dla której C (r’ ) = P„ 0. Oznaczmy przez P 0 , =P,. Wartości P^ t (t *) oblicza się na podstawie wzoru
u
o
* = 1, 2, .
n (10.48)
n-k = ( 1 - 0 P * - M( 0
+
.
451 Można sprawdzić, że dla n = 2 otrzymuje się zależności (10.42), natomiast dla n = 3 wzory (10.42) i (10.46). er Przykład 10.5 Dla krzywych a) i b) z przykładu 10.3 obliczyć wartości C (/*), przyjmując /* =1/2. W pierwszym przypadku (krzywa a) z przykładu 10.3) stosujemy wzory (10.48) dla n = 2. Dla zadanych punktów kontrolnych mamy (k = 1)
0 P 10 = (1 - O P0 o + r*P0l, = O “ O
+ r*
0
2
2/*
2
2/*
9
2 +/ *
3 2 P,.i = O - » ' ) P 0,i ♦ / * P q.2 = O - ' * ) 2 + / ’ 1
2 -/*
a następnie (k = 2) 2r*
P2 0 - O “ **)Pj.o + f P i.i
+ /*
2/*
2+ t'
4/* - r*2
2 -r
4 /* -3 /* 2
Dla / ' =1/2 otrzymujemy (por. rys. 10.14) 7 4
5 lT 4
W drugim przypadku (krzywa b) z przykładu 10.3) stosujemy wzory (10.48) dla n = 3. Dla zadanych punktów kontrolnych mamy (k = 1) P 1.0
( l - r * ) P 00 + /* P0 , = ( 1 - 0
P 1.1
(1 - O P 0 , + f* P 0 J = (1 - O
P 1.2
( 1 - t ‘ ) P0 2 + f P 0t3 = ( 1 - 0
1 2 2 5
+ t*
+ /*
4 6
+ t'
2
1 + /*
5
2 + 3 /*
4
2 + 2 /*
6
5 + /*
6
4 + 2r *
1
6 - 5 /*
oraz (k = 2)
P 2,
U - O P . . 0 + r P i.i M
P2.
( l - n p M +rp
1+ f i-n
2 + 3 f\ 2 + 2 /*
1.2
+ r*
=(1 -0 5+ 0
2 + 2 z* 5 + /*
+ r*
4 +2 r' 6 -5 /*
=
1 +2/* + r*2 2 + 6 /* - 2 /*2
=
2 + 4 /* 5 + 2 /* - 6 / * 2
452 a następnie (k = 3)
3. 0
1 + 2r* + r*2
« (1 - f ) P 20 + C P 2il = (1 - 1’ )
+ r*
2 + 6f * - 2 f 2
2 + 4r* 5 + 2 r * - 6 1’2
1 + 3 r ’ +3r*2 - t * 3 2 + 9 r ' - 6f *2 - 4 t* 3 Dla I * =1/2 otrzymujemy (por. rys. 10.14) 25
8
C
Q Algorytm Sposób obliczenia wartości C(t *) / ’ G [0, 1] może być następujący:
3, 0
9 2
dla krzywej Beziera stopnia n oraz parametru
Lista zm iennych: całkow ite: n, i, k rzeczywiste: t * tablice: jr [ 0 ..n , 0 ..n ] , y [ 0 .. n, 0 .. n] > > > > > >
Podaj n, t ‘ ( Dla i : = 0, 1, ..., n (
l
Podai xo ,i. y0,i Dla k : = 1 , 2 ........n Dla i : = 0, 1, ... , n - k Oblicz xk i := (1 - O •**.,.! +
Oblicz ykti:» (1 -t') yk. u * r'-y*.,.,.. D rukuj xB>0, y„ o
> > >
Powyższy algorytm wykorzystano do konstrukcji krzywej Beziera stopnia siódmego. Przyjęto następujące punkty kontrolne: (5, 1), (3, 1), (0, 5), (3, 10), (8, 8), (10, 3), (7, 1), (5, 1). Wartości parametru t zmieniano od 0 do 1 z krokiem 0,01, czyli wyznaczono współrzędne 101 punktów leżących na tej krzywej. Otrzymaną krzywą wraz z punktami kontrolnymi przedstawiono na rys. 10.15. Jak widać, krzywa jest gładka, ponieważ odcinek P,P0 jest równoległy do odcinka P7P6 (por. własność 5. krzywych Beziera).
453
Wielomianowe krzywe Beziera, mimo licznych zalet, maja również wady. Jedna z nich jest niemożność dokładnego reprezentowania różnych ważnych w praktyce inżynierskiej krzywych, na przykład okręgów i elips. Ponadto obrazem krzywej wielomianowej w rzucie perspektywicznym nie musi być krzywa wielomianowa. Z tych powodów często w grafice komputerowej stosuje się tzw. wymierne krzywe Beziera. Wymierną krzywa Beziera stopnia n definiuje się następująco n
E
w ,p, 0 ś t ś 1 ,
C (r) =
(10.49)
E /•o gdzie P, są punktami kontrolnymi, fi, „ (f) - wielomianami Bernsteina, w, - wagami. Najczęściej przyjmuje się, że w, > 0, / = 0, 1, .... n. Takie założenie powoduje, że dla każdego r£ [0 , 1] mianownik we wzorze (10.49) jest większy od zera. Zależność (10.49) zapiszemy w postaci C (0 « E
O s r s l ,
(10-50)
i-0
gdzie (10.51)
i j ‘
0
454 Na przykład, dla n = O mamy * 0l0(O w0
(10.52)
*o,o (O dla n =1 *o,i(Qh>o *0.1 (O
*,.i
_
(1 - t ) w o
5 0 ,( /) w 0 + 5 , jCOw,
(1 -I)W 0 + iw , ’
Bo.,(O w 0 + £ , , , ( / ) * ,
( l - /) w 0 + /w , ’
(10.53)
dla n =2 * o .2( 0 w0
*0,2 (O
*0. 2 ( 0 w0 + flj 2( f ) w , + * 2. 2 ( 0 w2 (1 - O 2 w0 (1 - O 2w0, + 2 r (1 - r ) w , + / 2 W2
* , . 2( 0
* 1. 2 ( 0 Wi *0. 2( O w 0 + B li2( f ) w , + *2,2 ( 0 ^ 2
(10.54)
2 /(1 - / ) w , (1 - O 2 w0 + 2 / ( 1 - /) w , + / 2 w2
*2>2(0
* 2 .2( 0 w2 *0, ,2( O w 0 + * , . 2( O w , + *2 2( / ) w2 r 2 w2 (1 - 0 2w0 + 2 / ( 1 - / ) w , + / 2 w2
oraz dla « = 3 __________________ ( 1 - O 3 M>0__________________ *0,3 (O =
(1 - / ) 3w0 + 3 /(1 - / ) 2 w, + 3 /2( l - / ) w 2 + / 3w3 3 r( 1 - f ) 2 w 1
* 1 ,3(0 -
( l - / ) 3w0 + 3 r( 1 - / ) 2w, + 3 r 2( 1 - r ) w 2 + r 3w3 3f 2( 1 - t ) w 2
* 2 .3 (0 «
(1 - f ) 3 w0 + 3 r (1 - i ) 2w, + 3 / 2( l - t ) w 2 + f 3w3 / 3 W3
* 3 .3 ( 0 »
(1 - / ) 3w0 + 3 r (1 - f ) 2wi + 3 /2( l - /) w 2 + / 3w3
(10.55)
455 Na rysunku 10.16 pokazano bazowe funkcje wymierne R, „ (r) dla n = 3 i wag w0 = 1, w, = 3, w 2 = 6 , w3 = 1. Jeżeli w, = 1 dla i = 0, 1, n, to Rt „ (t) = B, „ (0 (por. wzór (10.51)), czyli wielomianowe krzywe Beziera są szczególnym przypadkiem krzywych wymiernych. Należy zwrócić uwagę na fakt, że wymierne krzywe Beziera zachowują wszystkie własności wielomianowych krzywych Beziera. Rysunek 10.17 ilustruje wymierną krzywą Beziera dla punktów kontrolnych (1, 2), (2, 5), (4, 6), (6, 1) oraz wag 1 - w0 = 1, w, = 3, w 2 = 6, w3 = 1, 2 - w0 = 1, w, = 6 , w 2 = 3, w3 = 1. Jak łatwo zauważyć, dobierając odpowiednio wagi punktów kontrolnych, można „sterować" odległością krzywej od tych punktów.
Rys. 10.16. Bazowe funkcje wymierne (n —3)
Rys. 10.17. Wymierne krzywe Beziera (n=3) dla różnych wag
456 •a* Przykład 10.6 Przedstawić 1/4 okręgu (pierwsza ćwiartka) o środku w punkcie (0, 0) i promieniu 1 za pomocą wymiernej krzywej Beziera. Okrąg x 2+ y 2 = 1 można zapisać w postaci parametrycznej
( x ( u ) = cos u , y ( u) = sin« , przy czym jeśli rozpatrujemy pierwszą ćwiartkę, to [0, 7r/2]. Wykorzystując znane z try gonometrii wzory wyrażające funkcje kąta u przez tg(u /2) mamy '
, 1 - tg 2(u /2 ) x ( u ) = ------- 6 ' , 1 + tg2(u /2 )
' y (l0 = „ 2 t Ł ( « / 2 ) _ . 1 + tg 2(u /2 ) Podstawiając / = tg (u /2 ) otrzymujemy inną postać parametryczną, a mianowicie x(t) =
1 - t2 1 + r2
y (0 =
21 1 + t2
gdzie rG [0, 1J. Ćwiartkę okręgu przedstawimy za pomocą wymiernej krzywej Beziera stopnia drugiego. Przyjmiemy P0 = (1, 0), P, = (1, 1), P2 = (0, 1). Mianownik w definicji (10.49) wymiernej funkcji Beziera jest równy 2
]C Bj 2(O wy = (1 - r ) 2 w0 + 2r( l -r)W j + r2w2 . /•o Porównując go z mianownikiem występującym w postaci parametrycznej okręgu otrzymujemy (1 - r)2 w0 + 2r( 1 - r)w, + t 2 w2 = 1 + r 2 . Podstawiając t = 0 mamy w0 = 1, dla t =1: w2 = 2, dla f =1/2: w, =1. Ostatecznie wymierna krzywa Beziera opisująca ćwiartkę okręgu ma postać (/E [0 , 1]) C ( r ) = d - O 2P0 + 2 t ( l - ż)P t + 2 r2P2
(1 - o 2 + 2t ( 1-0 + 2r2 ■ Wielomianowe i wymierne krzywe Beziera nie pozwalają na wprowadzanie lokalnych zmian, ponieważ przesunięcie nawet jednego punktu kontrolnego powoduje zmianę kształtu całej krzywej. Ponadto modelowanie skomplikowanych kształtów jest możliwe tylko za pomocą krzywych wysokiego stopnia. Powyższych wad nie posiadają krzywe złożone z wielu łuków stosunkowo niskiego stopnia, czyli krzywe sklejane albo splajny.
457
10.3. Funkcje B-sklejane, krzywe B-sklejane Dany jest ciąg liczb (węzłów) T = {fi, fi, fi....... fi, } spełniających warunek a = r0 i r, 5 ... s fi <; fi., * ... * tm • b .
(10.56)
Funkcje B-sklejane (basis spline functions) stopnia n definiujemy następująco [2]:
1>
' i * t < '.*1 »
0 ,
dla pozost. t ,
t-t
*«.,(*> = 7— V ^ - i( 0 + t ‘l-D *i
(10.57)
f i ..., - t
•
‘*r ' t
N»1
1, 2, .... n . Oczywiście, stosowanie tej definicji wymaga przyjęcia stopnia wielomianu n oraz zbioru węzłów fi, /' = 0, 1, .... m. Na przykład, niech T = {fi, r,, fi, fi, fi, t5, t6, r7, fi, fi, / 10} oraz n = 3. Stosując pierwszą zależność we wzorach (10.57), wyznaczamy funkcje Ni 0(t), czyli 1•
'i * ' <
0 ,
dla pozost. t ,
.
» = 0 ,1 , ..., 9 .
(10.58)
Drugą zależność we wzorach (10.57) zapiszemy dla p = 1, czyli - 7— *<♦1
^ . 0 (O + - - - - */
A ^ 1|0( 0 ,
i - 0, 1, .... 8 .
(10.59)
*i«2
Drugą zależność we wzorach (10.57) zapiszemy dla p = 2, czyli * u < 0 - -— N*2
7 ^ .( 0 r/
+ 7 ^ — r <*3
^ i . i (0 .
< - 0.
(10.60)
*i« 1
Drugą zależność we wzorach (10.57) zapiszemy dla p =n = 3, czyli r -fi fi., - t N 3 ( 0 = ------- - N l 2 (t ) * — ^ -------------t f , M 2 (f) ,
i = 0 , 1, . . . , 6.
(10.61)
» Przykład 10.7 Niech T = { 0 , 0 , 0 , 0 , 1/4, 1/2, 3/4, 1, 1, 1 , 1} i n = 3. Wyznaczyć funkcje bazowe. Mamy fi = fi 2 = ^3 = 0 , fi = 1/4, fi = 1/2, fi = 3/4, fi = fi = fi —fio = 1. W celu uproszczenia zapisów opuścimy argument funkcji B-sklejanych.
458 Stosując wzory (10.58) otrzymujemy *0.0 = *1.0 = *2.0 = 0 • 3. 0
N 5. 0
-«*
1,
0 s r < 1 /4 ,
0 ,
dla pozost. t ,
I1' |o ,
dla pozost. t ,
[i .
1/4 s f < 1/2
[o ,
dla pozost. t ,
i . [o ,
dla pozost. t ,
*44, 0A = 1
1/2 s r < 3/4 ,
* ,6, 0_ =
3/4 s f < 1 ,
co < t < oo
*7,0 ~ *8,0 " *9.0 “ ® >
Na podstawie wzorów (10.59) mamy (rys. 10.18) *0.1 = *1.1 = 0 »
< t < oo ,
(1-4 t , 1/4 - r N,3, 0n 1 /4 -0 lo .
N,
dla pozost. t , 4r ,
3.i
f-0 1 /4 - 0
1/2 - t a/, „ + * 4>0 3l° 1 /2 -1 /4
*4 i = f - Na 0 4>1 1 / 2 - 1 / 4 4>0
.-3_Zi _--L v
3/4 - 1/2
0 s t < 1/4 ,
1 2(1 - 2 0 , 1 / 4 5 r < 1/2 ,
5>0
0 ,
dla pozost. t ,
4f - 1 ,
1/4 $ I < 1/2 ,
= i 3 - 4r 1
,
0 ,
1/2 ś
t < 3 /4 ,
dla pozost. f ,
2 (2 f - 1 ) , 1/2 ^ r < 3 /4 . *5.1
t - 1/2 N< 3 /4 - 1/2 5,0
< r <
0 ,
3 /4 i t < 1 , dla pozost. r ,
3/4 ^ t < 1 ,
0 , -oo
4(1 - 0 ,
6>0
4r - 3 ,
t - 3 /4 N, * 6.1 6 i = 1-3/4 6 .0 *7 1 = *8 1 = 0 ,
1 -f 1 -3 /4
dla pozost. t , co
.
Na podstawie wzorów (10.60) mamy (rys. 10.18) *0.2 = 0 > /V 1,2
-"o < t < oo ,
1/4 - r N. 1 / 4 - 0 2,1
(1 - 4 0 2 ,
0 i t < 1/4 ,
0 ,
dla pozost. t , 8 r(l - 3 0 ,
N
2' 2
' " ° / v , .+
0 ś t < 1/4 ,
2 (1 - 2 0 2 ,
1/4 s ( <
0 ,
dla pozost. t ,
1/2 ,
459 8, 2 ,
N
3 /4 - r 3/4 - 1/4 N *.i =
t-0
1/ 2 - 0 *3.1
3*2
--^ (3 2 ,2 - 2 4 , +3) ,
1/4
|( 3 - 4 , ) 2 •
1/2 ś t < 3 /4
0 ,
1 (4 ,-D 2 ,
A /, 2 = — ----- * 4
4-2
1
3 /4 - 1/4
1 -, * 1 - 1/2
4,1
5.1
=
0 ,
N 5.2
1/2 /V, 1 - 1 / 2 5l‘
1 -r N,6.1 1 -3 /4
k,
■fL
6>2
r-3 /4 1 -3 /4
N, 2 = 0 ,
_ J (4 f - 3 )2 ,
/V ^
S
’
10 ,
t < 1/2 .
dla pozost. , ,
1/4 s , < 1/2
3 /4 s , < 1 , dla pozost. ,
2 ( 2 ,- l ) 2 ,
1/2 s , < 3/4
8(1 - , ) ( 3 , - 2 ) .
3 /4 s , < 1 ,
0,
*v £ T “
ś
- —( 3 2 ,2 - 4 0 ,+ 11) ,, 1/2 s , < 3/4 2 8 (1 - ,) 2 ,
. ,-
0 s , < 1/4
dla pozost. ,
3/4 <; , < 1 , dla pozost. t ,
-oo < f < oo .
Ttys. 70./<§. Niezerowe funkcje B-sklejane pierwszego i drugiego stopnia dla T={0, 0, 0, 0, 1/4, 1/2, 3/4, 1, 1, 1, 1}
460 Ostatecznie, wykorzystując wzory (10.61) uzyskujemy poszukiwane funkcje bazowe (w celu uproszczenia zapisów podano tylko przedziały, w których funkcje są niezerowe) (rys. 10.19)
*
( 1
r-0
'
0s,<1/4>
4 ' ) 5 ’
1/2 - t
l' 3 ~ 1 / 4 - 0
l' 2 +
1 4 r ( 2 8 r 2 - 18r + 3) ,
1 /2 -0
2' 2 " | 2 ( l - 2 0 3 ,
0 <. t < 1/4 , 1/4 s f < 1/2 ,
N2 3 = ‘ ~ ° N2 2 + 3 /4 " * A(3 2 = 2' 3 1 / 2 - 0 2' 2 3 /4 - 0 3,2 | r 2( 9 - 2 2 r ) ,
0 s t < 1/4 ,
4 r ( l - 2 r)2 + - ( 3 - 4 r ) ( - 3 2 r 2 + 24r - 3) 6
1/4 s t <
-(3 -4 r)3 ,
1/2 i f < 3/4 ,
6
N
3,3
t -0 1 -r N* , + --------------- 2 = 3 /4 - 0 3,2 1 - 1/4 ^ r 3 3
0 i l < 1/4 ,
|r ( - 3 2 r 2 +2 4 r-3 ) + |( 1 - r ) ( 4 r - l) 2 ,
1/4 ^ r < 1/2 ,
| r ( 3 - 4 r ) 2 + | ( 1 - f ) ( - 3 2 r 2 + 40r - 11) ,
1/2 s t < 3/4 ,
f o - o 3,
3 /4 ^ t < 1 ,
yy = *~ /y + ^ 1 4-3 1 - 1 / 4 4’2 1 -1 /2
k/
5’2
~ (4 r -l)3 , O
1/4 s r < 1/2 ,
- ( 4 r - l ) ( - 3 2 r 2 + 4 0 r - 11) + 4(1 - r)(2 r - l ) 2 ,
1/2 <; r < 3 /4 ,
| ( 1 - r ) 2(22r - 13) ,
3/4 ^ t < 1 ,
6
N
= 1~
5-3 yv,6.3
1/2 ,
1-1/2
A/
5'2
_ t - 3/4 N, 1 - 3 / 4 6. 2
+
-
2 (2 r - l ) 3 ,
* W
1-1/4 (4 r - 3)3 ,
.2
1/2 s r < 3/4 ,
4(1 - 1) (2 8 r2 - 38r + 13) , 3 /4 s t < 1 , 3/4 s t < 1 ,
461
Rys. 10.19. Funkcje bazowe dla n= 3 oraz T={0, O, O, O, 1/4, 1/2, 3/4, 1, 1, 1, 1}
■ Funkcje B-sklejane stopnia n mają następujące własności 1. Jeśli i jest spoza przedziału [f/( r<+n+1), to N, n(t) = 0. 2. W każdym przedziale [/„ /,+ ,) (oczywiście takim, ż e / , co najwyżej n + 1 funkcji jest niezerowych, a mianowicie .... NKn(t). 3. Funkcje N, „ (/) są nieujemne, czyli dla każdych i, n oraz t : N( „(t) ^ 0. 4 Dla ustalonego przedziału [/„ r<+1) (oczywiście takiego, że /,?*/,+ ,) i dla każdego / należącego do tego przedziału spełniona jest równość
E "/.„«> - 1•
(10.62)
j *i - n
5. Z wyjątkiem n = 0, każda funkcja N, „(r) ma dokładnie jedno maksimum. 6. Pochodną funkcji N, „(/) w przedziale [t„ /i+fl+1) oblicza się z zależności < n(t) = — —
^ , „ . , ( 0 - ------ 2—
N i.^it) ,
(10.63)
natomiast pochodne dowolnego rzędu t~t - n "- k V‘i »n *i
-/ *i*n *1
,(*)
(10.64)
<♦1
gdzie k = 0, 1, .... n —1. 7. Dla zbioru węzłów U = {0, 0, .... 0, 1, 1, .... 1} ,
(10.65)
przy czym wartości 0 i 1 występują po n + 1 razy, funkcje B-sklejane są wielomianami Bernsteina stopnia n. Innymi słowy, wielomiany Bernsteina są szczególnym przypadkiem lunkcji B-sklejanych.
462 Niektóre z wymienionych wyżej własności (ich dowody można znaleźć w [2]) wymagają szerszego komentarza. Odwołamy się przy tym do przykładu 10.7, w którym zdefiniowano funkcje B-sklejane. Na przykład z własności 2 wynika, że dla n = 1, w każdym przedziale [/„ t(+1) istnieją co najwyżej dwie funkcje niezerowe, natomiast dla n = 2 trzy funkcje niezerowe, a dla n= 3 cztery funkcje niezerowe. Rysunki 10.18, 10.19 potwierdzają tę prawidłowość. Własność czwartą zilustujemy przyjmując n = 2 oraz przedział [r3, tA) = [0, 1/4). Tak więc
E w,.„co ■ E
j *l
j-i-n
2
Biorąc pod uwagę postać funkcji Nj 2(/) mamy N \ a( 0 + N2.2(O + ^ 3f2( 0 = (1 - 4 0 2 + 8r( 1 - 3 t ) + 8 r2 = 1 .
(10.67)
Dla przykładu, własność szóstą, czyli wzór (10.63), wykorzystamy do wyznaczenia pochodnej funkcji N2 2(t) < 2 (O
* 3. , ( 0 «
^2.1 (O -
0 s r < 1/4 ,
0 ^ t < 1/4 ,
4r ,
dla pozost. r , - 4• 2(1 - 2 r ) , 8(1 - 6 1) , - 8 (1 - 2 0 , 0 ,
1/4 $ t < 1/2 , =
( 10. 68)
dla pozost. t ,
0 ,
0 ^ t < 1/4 , 1/4 £ f < 1/2 , dla pozost. t .
Można sprawdzić, że pochodna funkcji N2i2(t) wyznaczona ze wzoru (10.64) dla k = 1, jak i obliczona w sposób bezpośredni jest taka sama. Własność siódmą dla n — 3 wykazano w przykładzie 10.8. Przykład 10.8 Niech T = {0, 0, 0, 0, 1, 1, 1, 1} i n = 3. Wyznaczyć funkcje B-sklejane. Mamy t0 = r, =t 2 =i3 = 0, t4 = t} =t6 =t7 = 1. Stosując pierwszą zależność we wzorach (10.57) otrzymujemy ^ o .o (0 = t f li0<0 = ^ 2 ,o (0 - 0 • N3.0(O \
1,
0 Ś t < 1,
0 ,
pozost. ,
0(t) = Ns o(t) = N6 O( 0 = 0 ,
—oo < l < ca J
—oo < X < 00 ,
Stosując drugą zależność we wzorach (10.57) dla p = 1 otrzymujemy * o . i ( 0 - * 1 ,1 < 0 - ° .
463 ,
[H
1- 1
^2. 1 (O
dla pozost. r ,
[o ,
Vt O
If t >
r -0
*3.1 (O
0 s t < 1,
r < 1 ,
dla pozost. r , [0 . -■ OO < Jf < oo .
*4.. ( 0 = N5 ł ( f ) = 0 ,
8
A
A
1 8
II 0
o N>
Stosując drugą zależność we wzorach (10.57) dla p = 2 otrzymujemy
(1 - O2 »
0 s t< 1 ,
0 ,
dla pozost. t , 0 s t < 1
w ,.2( o -
ł 1 -0
" ,.,( 0 = —
- •
N4 2 (t) = 0 ,
3-ł
- I 2' 0 ’ 0 ' [O,
t2 ,
0 <: t < 1 ,
0 ,
dla pozost. t ,
dla pozost.
-oo < r < oo .
Stosując drugą zależność N,
, t. _
1 ~t N
.
.
| ( 1 - O3 ,
,!< ° • l - ( A l ( ) " j o .
Oi t
t-0 v 1 - t .. /#. ♦ — jv2,2( o = - N , , ( l ) 1 - 0 1,2 1 -0
3 r (l - r ) 2 ,
N. ,<() - — ‘•3
N, , ( 0 =
23
0 ,
/ -0 /Vk 1-t Af- , (f) + + T - ^ ^N33, 2 ( 0 = 1 - o 2,2 1 - 0 3’
3 v 33(0 = — N3 2 ( 0 - ( '* * 1 -0 ’ [0 ,
3 ż2(1 - t ) 0 ,
0 i t < l , dla pozost. t , 0 2S t < 1 , dla pozost. t ,
o i r< i , 0 śł< 1 ' dla pozost. ł
Jak można zauważyć, jeśli ograniczymy się do przedziału rG [0, 1], to funkcje NL , (/), Nit 2 (0, ty. 3 (0 są wielomianami Bernsteina odpowiednio stopnia pierwszego, drugiego i trzeciego. ■ Ze względu na praktyczne zastosowania funkcji B-sklejanych, które zostaną omówione w dalszej części niniejszego podrozdziału, rozpatrywać będziemy następujący zbiór węzłów T = Ia> * ........................./nł2, .... r„_„_p fc, b ........&} ,
(10.69)
przy czym wartości a i b występują po n + 1 razy. Niech m + 1 jest liczbą węzłów. Wówczas mamy r+ 1 niezerowych funkcji bazowych Nt „(r), przy czym r =m - n - 1,
(10.70)
464 ponadto *<,..<«> = 1 •
Nr.n(b) - 1 •
(10.71)
Z własności tej wynika, że dla 11 węzłów, czyli m = 10 oraz n = 3: r = 1 0 -3 —1 = 6. Tak więc mamy 7 funkcji bazowych ty 3(f), co potwierdza przykład 10.7. Sposób obliczenia wartości funkcji B-sklejanych stopnia n dla zadanej wartości / ’ £ (a, b] jest trudniejszy niż w przypadku wyznaczania wartości wielomianów Bernsteina. W pierwszej kolejności należy zidentyfikować przedział [łf, ti+l) zawierający parametr /*. Algorytm [2] sprowadza się do określenia wskaźnika i należącego do zbioru wskaźników {n, n + 1, .... m - n - 1} jednoznacznie określających lewe końce przedziału, w których funkcje bazowe są niezerowe. Jeżeli i ’ — b (szczególny przypadek), to i = m —n —\. □ Algorytm Dla zadanej wartości t ' € [ a , b] sposób określenia wskaźnika i takiego, że / ’ G [r,, ti+[) może być następujący: Lista zmiennych: całkowite: m, n, i, d, g, j rzeczywiste: t * tablice: t [0 .. m ] >> >
Podaj m, n , t ’ I Dla j : = 0, 1, .... m Podaj tj Jeżeli t * = tm_m to i : = m - n - 1 w przeciwnym razie Podstaw d : = n Oblicz g : = m - n Oblicz i : = Int^— -^ j . Dopóki (r* < f.) lub ( r ' ^ t.t l ) to Jeżeli t * < ti to Podstaw g := i w przeciwnym razie Podstaw d : = i Oblicz i : = Int Drukuj i
> >>
Zastosowano tutaj funkcję Int, która „obcina" część ułamkową liczby rzeczywistej, np. Int( 10.5) = 10, wartościami tej funkcji są liczby całkowite.
465 Działanie algorytmu zilustrujemy dla zbioru węzłów z przykładu 10.7, czyli m = 10, krzywej B-sklejanej trzeciego stopnia oraz wartości t * =0,4. W pierwszym kroku obliczeń d =3 i g = 7, skąd i =(d+g)l2 = 5. Ponieważ r *< fs = 1/2, więc g = 5 i obliczamy nową wartość wskaźnika i = (3 + 5 )/2 = 4. Ponieważ t * ^ r4 = 1/4 i t * < 15 = 1/2, więc warunek w instrukcji Dopóki nie jest spełniony i następuje przejście do następnej instrukcji, czyli wydrukowanie wskaźnika i, który jest równy 4. Oczywiście, t ’ należy do przedziału [/4, t5). Kolejny algorytm dotyczy wyznaczenia dla zadanej wartości / = / * € [r„ r,+I) niezerowych wartości funkcji B-sklejanych, czyli funkcji ty _ „ „(r)....... ty,„(O (por. własność 2). Sposób postępowania wyjaśnimy dla n = 3. W takim przypadku, w przedziale [/„ r<+1) niezerowymi funkcjami są ty_3 3(f), ty_2.3(0. ty - i,j(0 oraz ty 3(ż). Wracając do przykładu 10.7, w prze dziale [r4, f5) = [1/4, 1/2) niezerowe wartości przyjmują funkcje ty 3(r), ty 3(r), ty 3(r) oraz ty. 3W ' por. rys- 10.19. Wzór (10.61) zapiszemy dla wskaźników t - 3 , / - 2 , i - 1 , i, a mianowicie t-t, t y . 3 .3 (0 -
*<-3
ty -3 .2 (0 * T —
- t y - 2 l2( 0 ,
w,.».»(») * ty l
f«-2
t y . l(3(0 = 7—
w„,; ( o . *i»2"f/-l
- t y . ll2 (0 - 7 ^ - 7
*2 *i-l
ty 3 *<
ty,2(O
(10.72) .
A/ .3(0 - 7 — 7 ty ,2(O - — V ty * ,.2(O • *3 " *i *i *4 ' V l Wprowadzimy następujące oznaczenia u; ~ *~*i*\-) >
vy = *t*j ~ * * J ~ 0» 1» 2, 3 ,
(10.73)
i wówczas '-* 7 -3 " M4 >
* 'ł-2
W3 ’ '
ty 1 = “2 •
'/ ~ *1-3 ~ tt - 1 + t - t(_3 = v0 + U4 > ty 2 ~ ty l = V2 + U2 •
' “
,
ty 1 - t y 2 = v, + u3 ,
ty 3 “ 17 = V3 + “ l .1
(10.74)
'<*4 “ ty l = V4 + U0 >
czyli wzory (10.72) przedstawimy w postaci u
(10.75)
466 Z kolei wzór (10.60) zapiszemy dla wskaźników i - 2, i - 1 , i: - r.
t
*U a< 0 =
‘i
t,., - f V
*f-2
*,-..a« = T— *!♦>
* « < * > - T—
*i*2
fi*l
. , (r> *
+ — “ ^uW •
*i-l
*1
‘i-1
‘i *2
* , .|< 0 +
‘i *3 *i»l
(10.76)
‘i
WM .» W ’
Wykorzystując oznaczenia (10.73) mamy W ,.,2( 0 = — # , . „ ( » ) +— —— W- j t ( 0 , V0 + U3 ' vj + «2 2(0 -
Vj + Uj
^ łl2( 0 = —
•
i ( 0 + — —— Nt t ( 0 , V2 + «, *
(10.77)
W , , ( 0 + — — N ,.i | ( 0 .
V2 + W l
’
V3 + U 0
Następnie, wzór (10.59) zapiszemy dla wskaźników i —1, i, czyli
^i.iCO -
t~t
t,^ - r
*i
*i*l“ ‘i
*i»1
fi-l
:^.o(0 ♦ *i ‘i *2 “ ri*l
(10.78)
N».i.o(0 .
Wykorzystując oznaczenia (10.73) mamy W2
(10.79)
Oczywiście, część z funkcji po prawej stronie wzorów (10.75), (10.77), (10.79) dla iG r,+1) jest równa zeru. I tak, w zależnościach (10.79) funkcja N( 0 (() == 1, natomiast A U o W = 0, A U o ( 0 = 0. We wzorach (10.77): A^_2 , (r) = 0, /V;+li, (/) = 0, z kolei we wzorach (10.75): N{_3 2(t) = 0 , /V1+1 2(r) = 0. Wracając do przykładu 10.7, w przedziale [/4 , t5) = [1/4, 1/2) niezerowe wartości przyjmują funkcje /V2 2(f), /V3 2(t), /V4 2 (/) oraz N3t i (0. W«. i (r) - por. rys. 10.18. Tak więc
1 ( 0 = — — Nl 0 (t) , V,
+ u,
•
N( j ( r ) = - ^ - i V 2 0 ( 0 , * V, + u.
(10.80)
467 oraz vi * ł - 2 .2 M
V, + “2
*1-1,2 (*)
V, + «2
tfł>2( 0 =
*1-1.1 ( 0 . Nu ( 0 ,
*1-1.1 ( 0 +
(10.81)
U ( O .
V2 + “ l natomiast V1
W ,.3 .3 ( 0
* ,.2 .3 (0 .
v l1 + M 3 “3 * l- 2 . 3 < 0
*<-2,2( 0 +
v l1 + M 3
V2 +U2
«2 *1-1.3 W
* 1.3 C O
V2 + “2
-
v3 + h,
*1-1.2 <0 +
v3 + u,
*1-1.2 W . (10.82) tfii2( 0 ,
i,2 (O •
Poniżej przedstawimy algorytm wyznaczania niezerowych wartości funkcji B-sklejanych stopnia n dla argumentu z przedziału [r„ *i+t )> a następnie wykorzystując wzory (10.80), (10.81), (10.82) wyjaśnimy jego działanie na przykładzie funkcji stopnia trzeciego (n = 3). Q Algorytm Dla zadanej wartości t = t ' € [r„ /<+1) sposób wyznaczenia niezerowych wartości funkcji B-sklejanych WK l ((), •••. ty, „(i) może być następujący: Lista zm iennych: całkowite : m, n, i, j , p rzeczywiste : t ‘ , s, z tablice: r [ 0 . . m ] , N [ 0 . . n ] , u [ l . . n ] , v [ l . . n ] > > > > > >
Podaj m, n, t \ i [ Dla j : = 0 , 1, ( Podaj tj
m
D lay : = 1, 2, .... n ,
Oblicz Uj := t* - r N1 Oblicz vj : = t, ,j - t*
468 Podstaw N0 : = 1 Dla p : = 1 , 2 ,
n
Podstaw s : = 0 Dla k : = 0, 1, .... p - 1
,
N.
Oblicz z : = ------- -----V*-1+ V * Oblicz : = 5 + vłH -z Oblicz s : = uP-k'z Podstaw NP : - s
> > > Idea algorytmu dla n = 3 jest następująca. Definiujemy wektor iV o4 elementach, w któ rym zapiszemy niezerowe wartości funkcji wyznaczone dla t = /* € [ r (, f/+, ). Na początku przyjmujemy N0 =1 (jest to wartość funkcji 0 (r*) występującej we wzorze (10.80)). Wprowadzamy dwie zmienne pomocnicze, np. z i s. Dla p = 1 (wzór (10.80)) przyjmujemy k = 0, obliczamy wielkość z = N0 /( v ,+ u ,), następnie N0 = s + v, z (przy czym w pierwszym kroku 5 = 0), s = u {-z i na końcu podstawiamy N { =s. Jak widać, N0 zawiera wartość funkcji /V,_, ,(? '). natomiast - wartość funkcji jV, , (r*) - wzór (10.80). W drugim kroku obliczeń (p = 2, wzór (10.81)) zerujemy zmienną j i dla k =0 wyznaczamy z = N0 /(v,+m2), A/0 = 5 + v,-z (jest to wartość ftinkcji N,_2 2 0 * )), s = «2 Z, a następnie dla A: =1: z = N, /(v2+ w ,), /V, = s + v2 z (jest to wartość funkcji ,2( t ’ )), 5 = w,-z i podstawiamy A^2 = 5 (jest to wartość funkcji 2(/ *)). W trzecim kroku obliczeń (p = 3, wzór (10.82)) zerujemy zmienną 5 i dla k = 0 wyznaczamy z = N0 /(v, + « 3), N0 = 5+v, z 0 est t0 wartość ftmkcji Nt_3 3 (/ ’ )), s = u yz, a następnie dla k = 1: z = N\ /(v2+ n 2), Ń, = s + v2-z 0est t0 wartość funkcji A(-2. 30 *)). s = u2 z oraz dla = 2: z = /V2 / ( v 3 + m , ) , N 2 = s + v3-z (jest to wartość funkcji f y _ , 3 ( / * ) ) , s = U\'Z i podstawiamy N2 = s (jest to wartość funkcji N, 3(r *)). Przedstawiony algorytm jest nie tylko efektywny, ale pozwala również ominąć trudności związane z bezpośrednim stosowaniem definicji (10.57) funkcji B-sklejanych, np. pojawiający się w przypadku węzłów podwójnych symbol 0/0, dla którego należy przyjąć wartość definiowanej funkcji równą zeru [2]. Omówione wyżej algorytmy wykorzystano do sporządzenia wykresów funkcji bazowych czwartego stopnia. Przyjęto następujący zbiór węzłów (10.83)
przy czym zgodnie ze wzorem (10.69) liczby 0 i 1 powtarzają się po 5 razy. Liczba niezerowych funkcji bazowych wynosi sześć (por. zależność (10.70)) - rys. 10.20. Wykresy funkcji otrzymano zmieniając wartość parametru t ‘ od 0 do 1 co 0,01.
469
Rys. 10.20. Funkcje bazowe dla n = 4 oraz T={0, 0. O, O, O, 1/2, 1, 1, 1, 1, 1} Przejdziemy teraz do omówienia krzywych B-sklejanych. Krzywą B-skiejaną stopnia n definiujemy następująco [2] r
C (f) « £
Nj n ( t ) V j ,
a m
b ,
(10.84)
7-0
gdzie P; są punktami kontrolnymi, Nj n(t) - funkcjami B-sklejanymi stopnia n zdefiniowanymi dla następującego zbioru węzłów T = { a , .... a, rn łl,
rm. „ . p b , .... b ) ,
(10.85)
przy czym wartości a i b występują w tym ciągu po n + 1 razy. Liczba punktów kontrolnych wynosi r+ 1 i jest równa liczbie funkcji bazowych. Obliczenie wartości C (r) dla zadanej wartości parametru t =t ‘ £ [a, b] wymaga wykonania następujących kroków: - znalezienia wskaźnika i takiego, że parametr /,+,) (algorytm pierwszy), - wyznaczenia wartości niezerowych funkcji bazowych dla f,+I) (algorytm drugi), - pomnożenia tych wartości przez odpowiednie punkty kontrolne. «■ Przykład 10.9 Obliczyć C (/*) dla n =3 i t ' = 0,6. Przyjąć punkty kontrolne (0, 5), (4, 5), (4, 10), (7, 10), (10, 4), (6, 0), (4, 3) oraz węzły T = {0, 0, 0, 0, 1/4, 1/2, 3/4, 1, 1, 1, 1}. Wykorzystując pierwszy z algorytmów omówionych w niniejszym podrodziale otrzymujemy i = 5, czyli r*G [r5, t 6 ). Drugi algorytm pozwala wyznaczyć niezerowe wartości funkcji bazowych dla t ' = 0,6, czyli N2 3 (t *), NJ%3 (t *), NĄ 3 (/ ’ ) i Ny 3 (t ’ ) (por. rys. 10.19). Wartości te należy pomnożyć przez odpowiednie punkty kontrolne, a mianowicie C ( f ) = N2' 3 ( f ) P2 + Af3i3( f ) p 3 + Włi3 ( f ) P 4 + JV5, , ( n P5 •
470 Tak więc C (0 ,6 ) = 0,0360
□
4
+ 0,5387
10
7 10
+ 0,4093
10 4
♦ 0,0160
6
8,104
0
7,384
‘
A lgorytm
Niżej przedstawiono sposób obliczenia wartości C(t *) dla krzywej B-sklejanej stopnia n oraz parametru t ’ € [a, b] i punktów kontronych P„ i = 0, 1, .... r. Wskaźnik i określający przedział, dla którego t * £ [/,, tl+l) oraz elementy wektora N odpowiadające wartościom niezerowych funkcji bazowych w tym przedziale należy wyznaczyć stosując omówione poprzednio algorytmy. Lista zmiennych: całkowite: n, i, r rzeczywiste : r*. x , y tablice: x k [ Q . . r ] , y f c [ 0 .. r ] , N [ 0 .. /i] A
A A
> > >
> > >
Podaj n, r*, i , r Dla j : = 0, 1, .... n Podaj Nj Dla ;' : = 0, 1........r Podaj xkj , ykj Podstaw x : = 0 Podstaw y : = 0 Dla j : = 0, 1, .... n Oblicz x : = x + NJ,-xk.i - n . Oblicz y : = y * N j - y k - . ^ j Drukuj x, y
>>>
P rzykład 10.10
Narysować krzywą B-sklejaną a) trzeciego stopnia dla danych z przykładu 10.9, b) dla danych z przykładu 10.9, przyjmując nowe współrzędne punktu kontrolnego P4, a mianowicie (8, 4), c) drugiego stopnia dla zbioru węzłów T ={0, 0, 0, 1/4, 1/2, 3/4, 1, 1, 1} oraz punktów kontrolnych (0, 3), (1, 9), (5, 10), (4, 0), (8, 0), (6, 7), (10, 8). Na rysunku 10.21 pokazano krzywą a) oraz krzywą b) dla przesuniętego punktu kontrolnego. Zmiana przebiegu krzywej nastąpiła w przedziale [r4, /g) = [1/4, 1). Końce tego przedziału odpowiadają punktom (4,5, 8,75) i (4, 3) leżącym na obu krzywych. Rysunek 10.22 ilustruje przebieg funkcji bazowych dla zadania c) oraz funkcję B-sklejaną stopnia drugiego otrzymaną dla zadanych punktów kontrolnych. Obliczenia przeprowadzono wykorzystując algorytmy omówione w niniejszym podrozdziale.
471
Rys. 10.21. Krzywe a) i b) stopnia trzeciego
Rys. 10.22. Funkcje bazowe dla n= 2 i T={0, O, O, 1/5, 2/5, 3/5, 4/5, 1 , 1 , 1 } oraz krzywa c) stopnia drugiego
■ Krzywe B-sklejane n-tego stopnia mają następujące własności 1. Jeżeli r = n oraz ciąg węzłów wykorzystany do określenia krzywej składa się tylko z dwóch węzłów n+1-krotnych, czyli T = {0, 0 .......0, 1, 1, .... 1}, to C(t) jest krzywą Beziera. 2. Ponieważ funkcje NL„ są wielomianami stopnia n w określonych przedziałach, więc C (r) jest krzywą przedziałami wielomianową stopnia n, zdefiniowaną dla m + 1 węzłów i r + 1 punktów kontrolnych, przy czym m =r +n + 1 .
(
10. 86)
472 3. Początek krzywej pokrywa się z punktem P0, koniec krzywej pokrywa się z punktem P„ czyli P0 = C ( a ) ,
P r = C( f c ) .
(10.87)
4. Krzywe B-sklejane są niezmiennicze względem takich przekształceń jak translacja, rotacja, zmiana skali. Przekształcenia krzywej dokonuje się poddając przekształceniu jej punkty kontrolne. 5. Fragment krzywej B-sklejanej dla f € [/„ *i+i) oraz wskaźnika i spełniającego warunek n <> i < m - n —1 zawiera się w wieloboku o wierzchołkach P|_„, P,. Na przykład, d la n = 3 , m = 10, zbioru węzłów przyjętych w przykładzie 10.9 oraz fE [r3,r 4), fragment krzywej zawiera się w wieloboku utworzonym przez węzły P0, P,, P3, P2 - rys. 10.21. 6. Zmiana współrzędnych punktu kontrolnego P) powoduje zmianę przebiegu krzywej C (t) jedynie w przedziale [r;, tJ+n+i) - por. rys. 10.21. Pozostałe własności krzywych B-sklejanych można znaleźć między innymi w [2].
10.4. Krzywe NURBS Krzywą NURBS (NonUniform Rational B-Spline) stopnia n definiujemy następująco [2]
E *,..«> C ( r ) = t ! . -----------------
a z t £ b ,
(
10. 88)
E gdzie P, są punktami kontrolnymi, wy - wagami punktów kontrolnych, Nj n (t) - funkcjami B-sklejanymi stopnia n zdefiniowanymi dla następującego zbioru węzłów ........o .
..........b ........................
.
(10.89)
przy czym wartości a i b występują w tym ciągu po n + 1 razy. Liczba punktów kontrolnych wynosi r+ 1 i jest równa liczbie funkcji bazowych. Oczywiście, należy zachować związek (10.86) między liczbą węzłów m + 1, punktów kontrolnych r+ 1 i stopniem krzywej n. Najczęściej przyjmuje się a = 0, b = 1 oraz dodatnie wagi punktów kontrolnych, czyli Wj > 0 dla j = 0, 1, .... r. Zależność (10.88) zapiszemy w postaci C (0 = £
* , B(O P y ,
0 * r s 1 ,
(10.90)
j -o
gdzie N J . n W Wj
(10.91) i =0
Funkcje Rj n(t) są wymiernymi funkcjami bazowymi krzywych NURBS.
473 1.
Funkcje /?,„(/) mają następujące własności: Są nieujemne, czyli dla każdych j , n oraz rG [0, 1]: RjJt) z
2.
0
.
(10.92)
Dla ustalonego n i dla każdego /G [0, 1] suma tych funkcji jest równa 1: (10.93)
3. Wartości funkcji /?„,„(0) i /?„ „(1) są równe 1:
^O.n(O) " *„.„(1) " 1 •
(10.94)
4. Dla n > 0 każda funkcja Rj n (t) osiąga w przedziale [0, 1] tylko jedno maksimum. 5. Jeśli/jest spoza przedziału [ry, t/+n+1), to/?y>n(/) = 0. W każdym przedziale [/;,/,+,) co najwyżej n+ 1 funkcji jest niezerowych, a mianowicie /?,_„ „(/), .... Rj „(/). 6. Istnieją pochodne dowolnego rzędu funkcji /?, „(/) dla / G [tjt /,+„+,). Funkcja „(/) jest n-/:-krotnie różniczkowalna w węźle / = tJy gdzie A:jest krotnością tego węzła. 7. Jeżeli Wj = 1 dla każdego j , to Rj „ (/) = Nj „(/), czyli funkcje B-sklejane są szczególnym przypadkiem funkcji wymiernych Rj „(/). Z własności 4, 5, 6, 7 funkcji Rj n {t) wynikają następujące własności krzywych NURBS: 1. Początek krzywej pokrywa się z punktem P0, koniec krzywej pokrywa się z punktem PM czyli P0 = C ( 0 ) ,
P r = C (1) .
(10.95)
2. Krzywe NURBS są niezmiennicze względem takich przekształceń, jak translacja, rotacja, zmiana skali. Przekształcenia krzywej dokonuje się poddając przekształceniu jej punkty kontrolne. Krzywe te są również niezmiennicze przy zastosowaniu rzutu perspektywicz nego, co jest niezwykle istotne w grafice komputerowej. 3. Fragment krzywej NURBS dla t G [tjy Zy+1) oraz wskaźnika j spełniającego warunek n <, j < m —n - 1 zawiera się w wieloboku o wierzchołkach P ..., P). 4. Istnieją pochodne dowolnego rzędu krzywej C (/) dla / G [/,, /;+n+1) oraz krzywa C(/) jest n - k krotnie różniczkowalna w węźle / = /; o krotności k. 5. Krzywa NURBS zdefiniowana dla zbioru bez węzłów wewnętrznych - por. wzór (10.88) jest krzywą wymierną Beziera, ponieważ w takim przypadku funkcje Rj „(/) redukują się do funkcji Nj n(t) (porównaj definicje (10.49) i (10.88)). Biorąc dodatkowo pod uwagę własność siódmą funkcji wymiernych Rl n (t), krzywe NURBS są więc uogólnieniem krzywych Beziera i krzywych wymiernych Beziera oraz krzywych B-sklejanych. 6. Jeżeli zmienimy położenie punktu kontrolnego P) lub wartość wagi w;i to przebieg krzywej NURBS zmieni się jedynie dla /G [ry, tj+n+i). Ostatnia własność krzywych NURBS jest szczególnie ważna w tzw. interaktywnym projektowaniu kształtu. Jednoczesna zmiana położenia punktu kontrolnego i odpowiadającej mu wagi pozwala na lokalną przebudowę kształtu krzywej. W zastosowaniach praktycznych wygodnie jest zmieniać jedynie wartość wagi Wj punktu kontrolnego P; , ponieważ obowiązuje tu reguła, że dla / G [tjy tJ+n+,) im większa wartość wJt tym bliżej punktu kontrolnego P; znajduje się krzywa C(/) i odwrotnie - por. przykład 10.11.
474 «• Przykład 10.11 Narysować krzywe NURBS trzeciego stopnia dla punktów kontrolnych (0, 5), (2, 5), (2, 10), (8, 10), (10, 4), (5, 0), (1, 0) oraz następującego zbioru węzłów T = {0, 0, 0, 0, 1/4, 1/2, 3/4, 1, 1, 1, 1}. Przyjąć a) wagi wszystkich punktów równe 1, b) wagę w3 = 0, pozostałe Wji = l , c) wagę w3 = 3, pozostałe Wj—1, d) wagę vv3 = 5, pozostałe wy = 1. Na rysunku 10.23 pokazano otrzymane krzywe. Jak widać, zmiana wagi punktu kontrolnego P 3 powoduje lokalną zmianę przebiegu krzywej NURBS.
L iteratura 1. P.Kiciak: Podstawy modelowania krzywych i powierzchni. Zastosowania w grafice komputerowej, WNT, Warszawa 2000. 2. L.Piegi, W .Tiller: The NURBS book, Springer, Berlin 1995.