TMA226 datorlaboration

Relevanta dokument
TAIU07 Matematiska beräkningar med Matlab

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

TANA17 Matematiska beräkningar med Matlab

Projekt Finit Element-lösare

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 6. Ordinära differentialekvationer och glesa system

Laboration 3. Funktioner, vektorer, integraler och felskattning

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

TAIU07 Matematiska beräkningar med Matlab

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Egenvärdesproblem för matriser och differentialekvationer

FYSIKENS MATEMATISKA METODER

f(x + h) f(x) h f(x) f(x h) h

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

Sammanfattning (Nummedelen)

Numeriska metoder för fysiker Lördag , kl 10-14

Tentamen i Beräkningsvetenskap II, 5.0 hp,

LABORATION cos (3x 2 ) dx I =

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

2D1212 NumProg för P1, VT2006 PROJEKTUPPGIFT

1. Låt u 0 och v 0 vara tvåvektorer i ett linjärt rum med skalärprodukt. Antag att följande relation gäller mellan längder av vektorer: u = 2 v = 2 3

Tentamen del 1 SF1511, , kl , Numeriska metoder och grundläggande programmering

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Tentamen i Teknisk-Vetenskapliga Beräkningar

2 Matrisfaktorisering och lösning till ekvationssystem

1. Använd Laplacetransformen för att lösa differentialekvationen (5p) y (t) + 3y (t) + 2y(t) = 1, t > 0 y(0) = 1, y (0) = 1

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

Föreläsning 5. Approximationsteori

Interpolation Modellfunktioner som satisfierar givna punkter

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

FEM1: Randvärdesproblem och finita elementmetoden i en variabel.

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Omtentamen i DV & TDV

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Ordinära differentialekvationer,

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Interpolation. 8 december 2014 Sida 1 / 20

9.3. Egenvärdesproblem

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

5B1134 Matematik och modeller Lösningsförslag till tentamen den 13 januari T = 1 ab sin γ. b sin β = , 956 0, 695 0, 891

Rapportexempel, Datorer och datoranvändning

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Konvergens för iterativa metoder

3 Deriveringsregler. Vi ska nu bestämma derivatan för dessa fyra funktioner med hjälp av derivatans definition

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

CHALMERS Finit Elementmetod M3 Institutionen för tillämpad mekanik. Teorifrågor

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.

Sammanfattninga av kursens block inför tentan

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

Del I: Lösningsförslag till Numerisk analys,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Laboration 1 i SF1544: Öva på Matlab och konstruera en optimal balk Avsikten med denna laboration är att:

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

Numeriska metoder för ODE: Teori

Matlab övningsuppgifter

DN1212 Numeriska Metoder och Grundläggande Programmering DN1214 Numeriska Metoder för S Lördag , kl 9-12

Laboration 2 Ordinära differentialekvationer

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Partiella differentialekvationer: Koppling Diskret - Kontinuum och Finita Elementmetoden

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

Ordinära differentialekvationer (ODE) 1 1

Envariabelanalys 5B1147 MATLAB-laboration Derivator

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 16 januari 2009 TID:

Projekt om Finita Elementmetoden i kursen PDE F, TMA690, HT 2012

Numerisk Analys, MMG410. Lecture 13. 1/58

Sekantens riktningskoefficient (lutning) kan vi enkelt bestämma genom. k = Men hur ska vi kunna bestämma tangentens riktningskoefficient (lutning)?

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 13 jan 2014

Samtliga deluppgifter i denna uppgift använder följande differentialekvation. Deluppgift a görs för hand

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

Transkript:

TMA226 Matematisk fördjupning, Kf 2019 Tobias Gebäck Matematiska vetenskaper, Calmers & GU Syfte TMA226 datorlaboration Syftet med denna laboration är att du skall öva formuleringen av en Finita element-metod, dess implementering oc lösning i Matlab, samt analys av resultaten. Föroppningen är att du genom att göra detta bättre skall förstå ur Finita elementmetoden fungerar. Upplägg Laborationen består av två uppgifter, indelade i flera deluppgifter. Laborationen är godkänd när alla uppgifter ar lösts oc därefter redovisats oc godkänts framför datorn vid något lektionstillfälle, samt en rapport med lösningar på alla uppgifter ar lämnats in. En rapport per grupp skall lämnas in via PingPong oc laborationen skall genomföras i grupper om 2-3 studenter. Varje deluppgift kan godkännas framför datorn för sig oc för att alla skall inna redovisa i tid är det viktigt att inte alla uppgifter sparas till slutet. Vid redovisningen av en uppgift framför datorn skall alla relevanta grafer, uträkningar oc datorprogram finnas tillgängliga. Rapporten skall inneålla detaljerade svar på alla delfrågor samt relevanta grafer, men skall inte inneålla programkod. Delar av rapporten kan vara andskrivna, men skall skickas in i pdf-format. Glöm inte att skriva namn oc personnummer på alla gruppmedlemmar i rapporten. Uppgiften är ganska tidskrävande, så räkna inte med att kunna göra allt arbete under lektionstid. Notera också att uppgift 2 är ganska lik uppgift 1, så mer än älften av arbetet är gjort då uppgift 1 är löst. Rapporten skall vara inlämnad senast 31/5 oc sista tillfället att bli godkänd framför datorn är 28/5 (men vänta inte till sista tillfället om ni är klara tidigare). Uppgift 1 Vi betraktar den stationära diffusions-reaktions-ekvationen Du (x) + αu(x) = f(x), x (0, 1) (1) där D är diffusionskonstanten, α > 0 är nedbrytningsastigeten oc f(x) är en produktionsterm. I denna ekvation kan lösningen u(x) till exempel beskriva den stationära koncentrationsfördelningen av ett ämne inuti en tunn film, där molekylerna diffunderar i filmen med 1

TMA226 datorlaboration 2 diffusionskonstant D, bryts ned med astiget α samt produceras i filmen med astiget f(x). På båda sidor av filmen ålls koncentrationen konstant lika med 0. 1 Om vi för enkelets skull sätter D = 1 oc dessutom väljer f(x) = βx, så får vi ekvationen u (x) + αu(x) = βx x (0, 1) (2) Det är nu er uppgift att lösa denna ekvation numeriskt med Finita element-metoden oc analysera lösningens noggrannet. Uppgift 1 a) Tag fram den analytiska lösningen till ekvation (2) oc plotta den i Matlab för några värden på α oc β (börja med α = β = 1). Vad är effekten av att ändra parametrarna α oc β? Fundera oc diskutera kring om detta är rimligt utifrån ekvationens utseende oc det som den modellerar. Uppgift 1 b) Härled variationsformuleringen för ekvation (2). Glöm inte ange testfunktionsrummet. Se exempel 7.1 i kursboken för ledning, men notera att randvillkoren är annorlunda. Uppgift 1 c) Dela in intervallet [0, 1] i N delintervall av längden = 1/N oc låt V (0) vara rummet av styckvis linjära funktioner v(x) som är linjära på varje delintervall, oc som uppfyller v(0) = v(1) = 0. Formulera Finita element-problemet för (2) på rummet V (0). Se återigen exempel 7.1 i kursboken för ledning. Uppgift 1 d) Ansätt en styckvis linjär approximativ lösning u (x) = N 1 j=1 ξ jϕ j (x), där ϕ j, j = 1,..., N 1 är attfunktioner med ϕ j (x i ) = δ ij oc x j = j, j = 1,..., N 1. Härled matriserna oc ögerledsvektorn som svarar mot Finita element-problemet oc formulera det linjära ekvationssystemet för koefficienterna ξ j, j = 1,..., N 1. Beräkna alla element i matriserna oc ögerledsvektorn analytiskt. Tips: För att t.ex. beräkna x j+1 x j βx (x j+1 x) dx, använd partiell integration oc notera att 1 2 (x j+1 x) 2 är en primitiv funktion till 1 (x j+1 x). Se även beräkningen av m j,j+1 på sid 172 i kursboken. Uppgift 1 e) Skriv ett Matlab-program som skapar matriserna ovan, löser matrisproblemet oc beräknar koefficienterna ξ j, j = 1,..., N 1. Plotta lösningen u (x) i samma figur som den analytiska lösningen för några olika val av N oc diskutera vad som änder. Glöm inte att ta med randvillkoren för u, så att u (x) ritas på ela intervallet [0, 1]. För att beskriva noggranneten oc konvergensastigeten os en numerisk metod brukar man undersöka ur felet i approximationen minskar med steglängden. Detta leder oftast till ett beroende av typen E() u u = B p (3) 1 En annan modell är att u(x) beskriver temperaturfördelningen i en vägg som värms/kyls inifrån oc där temperaturen ålls konstant lika med 0 på båda sidor. 2

TMA226 datorlaboration 3 för några tal B oc p, där är någon norm, oftast L 2 -norm eller L -norm. För att itta värdet på p brukar man ta logaritmen av båda sidor av (3) oc får då log ( u u ) = log B + p log (4) Genom att anpassa en rät linje till punkterna (log, log ( u u )) för några olika kan man sedan lätt få värdet på p (oc B). Om p 1 ar man en metod av första ordningen, medan om p 2 är metoden av andra ordningen, vilket man oftast strävar efter. Uppgift 1 f) Beräkna FEM-lösningen med några olika värden på. Plotta felet e (x) = u (x) u(x) oc se ur det varierar med. Beräkna för varje normen av felet E() = e L 2 (0,1), där integralen i normen kan beräknas approximativt ma trapetsmetoden enligt ekvation (5.3.15) på sid 124 i kursboken, dvs ( 1 1/2 ( N ) 1/2 e L 2 (0,1) = e dx) 2 2 (e (y k ) 2 + e (y k 1 ) 2 ), (5) 0 Gör en log-log-plot med E() = u u som funktion av (se kommandot loglog) oc anpassa en rät linje för att beräkna värdet på p enligt (4) Använd Matlab-kommandot >> polyfit ( log (v), log (E), 1) k=1 för att få koefficienterna för den räta linjen (om v är en vektor med -värden oc E motsvarande felnormer). Diskutera resultatet! Jämför speciellt med a priori-feluppskattningen i kapitel 7.3 i kursboken. Säger de samma sak? Motsäger de varandra? 3

TMA226 datorlaboration 4 Uppgift 2 I denna uppgift betraktar vi den stationära konvektions-diffusions-reaktions-ekvationen Du (x) + γu (x) = f(x), x (0, 1) (6) I denna ekvation kan u(x) t.ex. återigen beskriva koncentrationsfördelningen av ett ämne som diffunderar med diffusionskonstant D i en tunn film. I detta fall transporteras dock ämnet också med ett flöde med astiget γ (positiv för transport i positiv x-riktning, oc negativ för det omvända), så kallad konvektion (eller advektion). Högerledet f(x) är som tidigare produktionsastigeten. Om vi sätter D = 1 oc f(x) = (x 1) 2 (x 1) 4, får vi u (x) + γu (x) = (x 1) 2 (x 1) 4, x (0, 1) (7) I detta fallet är den analytiska lösningen besvärlig att ta fram. Vi oppar därför över det steget. Uppgift 2 a) Härled variationsformulering, finita element-problem oc linjärt ekvationssystem för ekvation (7) som i uppgift 1 b)-d) ovan. Högerledsvektorn b beöver ej beräknas analytiskt. Se exempel 7.2 på sid 173 oc framåt i kursboken för viss ledning. Uppgift 2 b) Utgå från Matlab-programmet i uppgift 1 oc skriv ett program som beräknar en finita element-lösning till (7). Den är gången är det komplicerat att beräkna ögerledsvektorn analytiskt, så därför får vi göra det numeriskt med jälp av trapetsformeln. Beräkna därför varje integral b j = 1 f(x)ϕ j (x)dx = xj+1 0 x j 1 f(x)ϕ j (x)dx 2 ( f(xj 1 )ϕ j (x j 1 ) + 2f(x j )ϕ j (x j ) + f(x j+1 )ϕ j (x j+1 ) ) = f(x j ) (8) Uppgift 2 c) Plotta lösningen för några olika (positiva oc negativa) värden på γ (t.ex 0, ±1, ±10) oc några olika. Stämmer utseendet på lösningen med modellbeskrivningen ovan? För stora γ kan man få oscillationer i lösningen som försvinner då man minskar. Anledningen till detta är intressant i sig, men är inget vi undersöker mer i denna labb. Uppgift 2 d) Eftersom vi inte ar den analytiska lösningen kan vi inte göra samma konvergensanalys som i uppgift 1. Men istället för den analytiska lösningen kan vi beräkna den numeriska lösningen med ett väldigt litet (t.ex. 1/500) oc sedan beräkna felet som skillnaden mot denna noggranna numeriska lösning ũ u. Gör detta för något val av γ oc presentera samma typ av resultat som i uppgift 1 f). Tips: För att beräkna värdet på ũ i punkterna x k kan man använda kommandot 4

TMA226 datorlaboration 5 >> utilde1 = interp1 ( xtilde, utilde, x, linear ); om utilde ger den noggranna lösningens värden i punkterna xtilde oc lösningen med större ar värden i punkterna x. Kommandot utför linjär interpolation enligt vad vi lärt oss i kursen. 5