Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 8 Faglig kontakt under eksamen: Syvert P. Nørsett 7 59 5 45 LØSNINGSFORSLAG TIL EKSAMEN I FAG SIF545 NUMERISK LØSNING AV DIFFERENSIALLIGNINGER Bokmål Tirsdag 7. mai Tid: 9-4 Hjelpemidler: Lærebøker, notater, kalkulator Sensuren faller i uke. Oppgave a) Ordensbetingelsene for en. ordens Runge-Kutta metoder er gitt ved: b i = i b i a i,j = i,j b i a ij a jk = i,j,k b i a ij a ik = i,j,k En kan lett sjekke at koeffisientene i Butcher tabellen tilfredstiller disse betingelsene, så metoden er av orden.
SIF545 Numerisk løsning av differensialligninger Side av 8 b) Vi ser at om vi velger velger metoden: som tilsvarer øvre venstre blokkmatrise av den oppgitte a matrisen. Den nye nivå metoden er ikke noe annet enn eksplisitt midtpunkt. Vi vet at denne har orden, noe vi også kan kontrollere ved å sjekke at de to første ordensbetingelsene gitt over er oppfylt. Det embeddede RK-paret blir da: 4 4 9 c) Når vi ser på stabilitetsfunksjonen til en metode anvender vi metoden på testligningen: 4 9 y = λy, y() = y, der λ er en konstant. Den eksakte løsningen er y = e λt y. Den numeriske approsimasjonen etter et skitt er gitt som y = r(z)y der z = hλ og h skrittlengden til metoden. r(z) er stabilitetsfunksjonen til metoden. Den eksakte løsningen i samme punkt er e z y. Siden metoden vår er eksplisitt så er r(z) et polynom. Fordi metoden er av orden, er polynomet identisk med e z opp til orden 4: r(z) = + z + z + z. Den andre måten vi kan finne stabilitetsfunksjonen på er å regne oss fram til den, med utgangspunkt i r(z) = + zb T (I za). Dette uttrykket er oppgitt i læreboka. Vi finner først I za: I za = z z 4 Vi løser så systemet (I za)ξ =, ved hjelp av for eksempel Cramers regel. Siden metoden vår er eksplisitt ser vi at det(i za) =. Vi får dermed at:
SIF545 Numerisk løsning av differensialligninger Side av 8 ξ = z = 4 ξ = z = + z ξ = z z = + 4 z + 8 z 4 Dermed kan vi skrive opp stabilitetsfunksjonen direkte: d) Nivå verdiene blir: r(z) = + zb T ξ = + z + z + z. k = f(t n, y n ) ( k = f t n + h, y n + ) hk ( k = f t n + 4 h, y n + ) 4 hk De to løsningene blir: yn+ = y n + hk ( yn+ = y n + h 9 k + k + 4 ) 9 k Ved å bruke uttrykket for ny skrittlengde fra notatet på hjemmesiden til faget får vi: h tol h ny =.9 h, κ der κ = yn+ yn+ og tol er ønsket toleranse.
SIF545 Numerisk løsning av differensialligninger Side 4 av 8 Oppgave Vi skal se på numeriske løsning av varmeledningsligningen: u t = u x + u y, på området Ω = [, ] [, ] for t > med initialbetingelse u(x, y, ) = g(x, y). Vi krever at løsningen er null på randen av området Ω. Vi diskretiserer i rom med lik skrittlengde både i x- og y-retning. Dvs. h = x = y. Som vanlig velger vi å bruke 5-punkt stensilen for å estimere Laplace operatoren. Vi får da den semidiskretiserte ligningen U = h (,x +,y)u. Her er U en løsningsvektor som inneholder den diskrete løsningen i de indre nodepunktene av området Ω. Vi tar så et skritt videre og diskretiserer i tid med forlengs Euler U n+ = U n + t h (,x +,y )U n. U n er nå den diskrete løsningen i tidspunktet t = t n = n t. La oss skrive µ = t h. a) Avbruddsfeilen T n for metoden er gitt ved: T n = u(x, y, t + t) u(x, y, t)+ t h ( u(x + h, y, t) u(x, y, t) + u(x h, y, t) u(x, y + h, t) u(x, y, t) + u(x, y h, t) ) Vi Taylor utvikler utrykkene på de tre linjene om (x, y, t): u(x, y, t + t) u(x, y, t) = tu t (x, y, t) + ( t) u tt (x, y, t) + O(( t) ) u(x + h, y, t) u(x, y, t) + u(x h, y, t) = h u xx (x, y, t) + h4 u xxxx (x, y, t) + O(h ) u(x, y + h, t) u(x, y, t) + u(x, y h, t) = h u yy (x, y, t) + h4 u yyyy (x, y, t) + O(h )
SIF545 Numerisk løsning av differensialligninger Side 5 av 8 Setter vi dette inn i uttrykket for avbruddsfeilen får vi, (der alle verdier skal evaluerers i punktet (x,y,t)): T n = t ( u t u xx u yy ) + + ( t) u tt + O(( t) )+ t h ( h4 u xxxx + ) h4 u yyyy + O(h ) = ( t) u tt th (u xxxx + u yyyy ) + O(h ). = Her har vi brukt at µ = t/h er konstant, som gir at T n = O(h 4 ). b) Når vi diskretiserer i rom og tid får vi uttrykket: U n+ = U n + µau n = (I + µa)u n, der A er matrisen for 5-punkt stensilen. Egenverdiene til denne matrisen er gitt i læreboka på side 7: [ ( ) απ λ α,β = 4 sin (m + ) ( )] βπ + sin, α, β =,..., m (m + ) Antal indre nodepunkter i hver retning i området er nå m. La B = (I + µa). Av teorem.4 (Lax ekvivalenstrorem) følger det at vi har konvergens dersom ordenen er større enn èn og metoden er stabil. Vi vet fra forrige deloppgave at metoden har orden høyere en, så det gjenstår å vise stabilitet. Siden A matrisen er symmetrisk blir også B matrisen symmetrisk. For en symmetrisk matrise gjelder B = ρ(b). For å oppnå stabilitet må vi kreve at ρ(b) = B. Dvs. alle egenverdier til B matrisen må være mindre enn. ρb + µρ(a) [ ( ) ( )] απ βπ 4µ sin + sin (m + ) (m + ) Vi ser at < µ /4 er lovlige verdier.
SIF545 Numerisk løsning av differensialligninger Side av 8 Oppgave Vi har fått oppgitt følgende Butcher tabellen til en kollokasjonsmetode a, a, a, 5 4 a, a) Det unike kollokasjonspolynomet er gitt av sine nullpunkter. Disse er de samme som c verdiene i Butcher tabellen. Dermed er kollokasjonspolynomet gitt ved N(t) = i (t c i ) = t(t )(t ) = t t + t. Når vi skal bestemme de a-verdiene som ikke er oppgitt i tabellen, slår vi bare opp uttrykket for dem gitt i læreboken. Koeffisientene i A matrisen for en kollokasjonsmetode er gitt ved a ij = ci q j (τ) dτ, i, j =,..., ν, q j (c j ) hvor q(t) = ν i (t c i) og q j (t) = q(t)/(t c j ). I vårt tilfelle er antall nivåer ν =. Vi ser umiddelbart at å bestemme første rad i A matrisen er veldig enkelt da a, er bestemt ved a j = c q j (τ) q j (c j ) dτ = q j (τ) dτ =, j =,...,. q j (c j ) a, = c q (τ) q (c ) dτ, når c = /, q (t) = (t c )(t c ) = t t/ og q (c ) = /. Innsatt gir dette: a, = (τ τ)dτ = [ τ 4 τ ] = 4.
SIF545 Numerisk løsning av differensialligninger Side 7 av 8 En mer elegant måte å finne a, er å bruke at c = j a j og få a, = / 5/4 / = /4. Dermed kan vi skrive den fullstendige Butcher tabellen. 5 4 4 b) Vi bruker notatet for kollokasjonsmetoder for å finne stabilitetsfunksjonen til metoden: r(z) = De derivert av N(t) finner vi lett: i= N ( i) () i= N ( i) () = = N () () + zn () () + z N () + z N() N () () + zn () () + z N () + z N(). N(t) = t t + t N (t) = t t + N (t) = t N () (t) = Vi setter inn uttrykkene for de derivert og får stabilitetsfunksjonen: c) Er metoden A-stabil? Vi ser på r(z) = + z + z + z z + z + z = z + z + z z +. r(iy) = ( y /) + iy/ ( y /) iy/ =. Polene til den rasjonale funksjonen r(z) er gitt ved nullpunktene til nevneren z z + =
SIF545 Numerisk løsning av differensialligninger Side 8 av 8 Dvs. z = ± 4 = ± 48 = ± i. Siden begge polene ligger i det høgre halvplanet og r(iy) = følger det av lemma 4. i læreboka at r(z), z C og dermed er metoden A-stabil. Eventuelt kan en merke seg at stabilitetsfunksjonen vi har fått står oppført på side i læreboka.