Tillämpade Numeriska II, Lab 6 Josef Arvidsson, F99 7882-244 f99-jar@f.kth.se Tomas Almberger, F99 836- f99-tal@f.kth.se 25 november 23
Partiella differentialekvationer. Värmeledningsekvationen.. Del a. Vi ska nu studera värmeledningsekvationen med givna randvilkor och givet begynnelsevärde med framåt Euler till tiden t =.25. Vi diskretiserar ekvationen och får att Euler framåt ser ut som: u k+ =(I + ta)u k + tf Där A är en tridiagonal matris med värdena (; 2; )= x 2. f är den vektor som man får från funktionen f (x) för de aktuella x. u är lösningen i varje tidssteg och u begynnelsevärdena. När vi plotar lösningen får vi:.8.6.4.2 5 2 5 5 5 Värmeekvationen löst med framåt Euler 25..2 Del b. och c. För att få ett fel under. så får vi för framåt Euler, 2
dx =.63 dt = :4 Λ 5 time = 24.88 Metoden är stabil för t < K ( x)2 där K = 2 i vårt fall. Vi plottar felet mot steglängden och för följande plot: Felgraf 2 Fel 3 4 2 3 Antal steg Antal steg mot felet ( x) Det ser ut som att metoden konvergerar linjärt. Och för bakåt Euler, dx =.36 dt = 8:28 Λ 4 time = 3.9 Metoden är stabil för alla t och x. Vilket stämmer med teorin. Vi plottar felet mot antal steg och får att euler bakåt konvergerar på följande sätt: 3
Felgraf 2 Fel 3 4 5 2 3 Antal steg Antal steg mot felet ( x) Som ser ut att bli kvadratiskt, vilket stämmer med teorin. Man ser också att tidsåtgången är ungefär hälften av för Euler framåt..3 Del d. Lösningen konvergerar till ett steady state tillstånd. Vi plotar steady state lösningen tillsammans med lösningar från uppgift a. Vi ser att lösningarna från uppgift a. går mot steady state lösningen. Steady state lösningen är den lägsta linjen i plotten..9.8.7.6.5.4.3.2...2.3.4.5.6.7.8.9 Steady state lösning tillsammans med olika lösningar från a. 4
..4 Del e. Eftersom värmeledningsekvationen baklänges, inte är ett rättställt problem får vi inte fram stabila lösningar med framåt Euler eller med bakåt Euler. 2 Vi har den hyperboliska differtialekvationen u t + u x = u(t; ) = u(t; ) u(;x)=u (x) 2. Vi har här att N = 48 dvs antalet steg i x-led är 48, vi har också CFL-talet =:5 och u = exp( (x =2) 2 ).Viska lösa problemet i området» x»» t» mha av de tre metoderna Lax-Friedrich ((3.39) i Num.Math., Lax-Wendroff ((3.4) i Num.Math.) samt ((3.4) i Num.math.). I lösningen har vi användt oss utav de spökpunkter som finns i uppgiftslydelsen för att kunna beräkna den u och u N. Vi får när vi löser dem följande plottar.2 exakt Lax,Friedrich.8.6.4.2.2..2.3.4.5.6.7.8.9 5
Man ser att Lax-Friedrich är mer utsmetad än dom andra vilket var förväntat då Lax-Friedrich endast beror på vad man har för lösning i samma x-punkt vi den tidigare lösning utan endast tar hänsyn till punkten före och punkten efter. Om sedan plottar samma sak fast för N = 256 och med u =när jx =2j > :5 och u =annars så får vi.4.2 Kurvor vid t= exakt.8.6 u.4.2.2.4..2.3.4.5.6.7.8.9 x Vi ser det fortfarande är Lax-Friedrich är den mest osäkra, vi ser och att Lax- Wendroff svänger kraftigt i kanterna för att dämpas in mot mitten. Ett försök förklaring till detta kommer i 2.5. Varierar man CFL-talet (vi har tex i följande plot =:) så ser man tydligt att lösningen är stabil) 6
.9.8 Kurvor vid t= exakt.7.6 u.5.4.3.2...2.3.4.5.6.7.8.9 x Med CFL =.5 så ser man att att all stabilitet är borta 5 x 276 Kurvor vid t= 4 exakt 3 2 u 2 3 4 5..2.3.4.5.6.7.8.9 x 2.2 Vi har i denna uppgift att =:75, u = cos(2ßx) och N =32; 64; 28. Viska ta reda på det maximala felet vi t =för alla tre metoder. Vi får följande tabell Vi ser att alla konverger mot fel, och Lax-Friedrich går långsammast vilket överenstämmer det vi sett tidigare. 7
Maximaltfel beroedne på funktion och N Metod N=32 N=64 N=28 Lax-Wendroff.277.7.7 Lax-Friedrich.36.236.85.43.742.378 Tabell : 2.3 Vi har i denna uppgift att = :75, N = 32 och u = cos(kx) där k = ; 2ß; 4ß; :::; 2ßN=2. Viska lösa problemet i området» x»» t» :5 När vi plottar hur varje metod dämpar (hur felet minskar) som en funktion av frekvensen får vi följande..4.2.8.6.4.2 2 4 6 8 2 Där vi ser att Lax-Friedrich dämpar mest men att den speglas. Vilket beror på det vi skrev ovan om Lax-Friedrich, dvs att den inte tar hänsyn till samma punkt en tidsperiod tidigare. Tydligt är också att Lax-Wendroff dämpar minst vilket överenstämmer med det vi så ovan. Plottar vi sedan Lax-Friedrich med en plott av jfl k j n (som vi tog fram i hemuppgift 4.b) så får vi följande. 8
.9 jamnfort med metodberoende dampfaktor Metodberoende dampfaktor.8.7.6.5.4.3.2. 2 4 6 8 2 Vilket visar enn exakt överenstämmelse samma sak gäller för uppvind och dess gamma..9 jamnfort med metodberoende dampfaktor Metodberoende dampfaktor.8.7.6.5.4.3.2. 2 4 6 8 2. Vilket verkar rimligt. Om vi sedan fixerar k =6ß och varier så får vi hur felet beror på CFL-talet, dvs hur metoderna dämpar som funktion av. 9
.4.2.2.4.6.8..2.3.4.5.6.7.8.9 Man ser att alla metoder närmare sig fel= när CFL-talet ökar, är tydligt den som dämpar bäst, vilket överenstämmer med de tidigare saker vi fått fram. Intressant är att se att Lax-Wendroff får en förstärkning av felet vid riktigt små CFL-tal, vad det beror på är vi inte riktigt säkra men tror att det beror på att man i Lax-Wendroff till skillnad från de andra metoderna har en term som multipliceras med CFL-talet i kvadrat vilket medför att för små CFL-tal så kommer inte den termen att påverka nämnvärt. 2.4 Vi har här att N =64, =:75 och u = cos(kx) där k =2ßl där l =3; 5; 7. Vi ska lösa problemet i området» x»» t» :75 I denna uppgit ska vi undersöka hur den numeriska disperionen ger ett fasfel i lösningen. För att ta reda på den numeriska dispersionen dividerar vi den artificella (dvs den metodberoende som vi räknade ut i 2.4) med maxnormen. Och vi plottar sedan allting varvid vi får
.5.5.5.5.2.4.6.8.2.4.6.8.5.5.2.4.6.8 Vi ser att för l =3så liggar alla metoder ungfär en halv period före, vid l =5 så Lax-Friedrich nästan fas medans de andra två fortfarande är en halvperiode före. Däremot vid l =7så är Lax-Friedrich helt ur fas, uppvind är i fas, medans Lax-Wendroff fortfarande ligger en halv period före. Dessa tre plottar visar på att Lax-Friedrich har störst dispersions fel då den des fasskillnad gentemot den exakta ökar med l, bäst är Lax-Wendroff vars fasskillnad gentemot den exakta inte ändras nämnvärt när l ökar. Vilket överenstämmer med de fig 3.7 i Num.Math. 2.5 I 2. fick vi fram att Lax-Wendroff var mest exakt med mest svängig av alla metoderna, Lax-Friedrich var minst exakt men den var också minst svängig. Tittar vi sedan på 2.3 så fick vi fram att Lax-Wendroff var den minst dämpade. Och tvärtom för Lax-Friedrich. Det dispertiva felet som vi tittade på i 2.4 ser man att det dispetiva felet beror av frekvensen och att ett lågt dispertivt värde för höga frekvenser kommer att ge en lösning som svänger kraftigt, då disertivteten är kopplad till dämpningen. Och våra resultat pekar ju på att Lax-Wendroff har ett lågt dispertivt värde vi höga frekvenser vilket i sådana fall skulle förklara dess svängiga beteende i 2.. Och tvärtom för Lax-Friedrich, därför lämpar sig Lax-Friedrich synnerligen väl för problem med diskontinuiteter. Lax-Wendroff är däremot att föredra om har låga frekvenser. Slutligen så kan man säga att uppvind är ett mellanting mellan dessa metoder, dvs det fungerar hyggligt för låga frekvenser och hyggligt vid diskontinuiteter.