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

Relevanta dokument
TMA226 datorlaboration

Egenvärdesproblem för matriser och differentialekvationer

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

Projekt Finit Element-lösare

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

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

Fouriers metod, egenfunktionsutvecklingar.

FYSIKENS MATEMATISKA METODER

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 11-14, 16/11-28/

Inledande matematik M+TD

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

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

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

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005

Partiella differentialekvationer: Koppling Diskret - Kontinuum och Finita Elementmetoden

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

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

Lösningar av uppgifter hörande till övning nr 5.

2D1250 Tillämpade numeriska metoder II vt 06 Nada, J.Op p 1 (5) Om Verlet s metod

TMV166 Linjär Algebra för M. Tentamen

Strukturdynamiska simuleringar och PDE

FFM234, Datoruppgift 2: Värmeledning

Hjälpmedel: Det för kursen ociella formelbladet samt TeFyMa. 0 x < 0

Fysikens matematiska metoder hösten 2006

Matematik och Kemi på Chalmers

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

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.

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Måndag 14 januari 2002 TID:

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

TANA17 Matematiska beräkningar med Matlab

Lennart Edsberg Nada,KTH Mars 2003 LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 02/03. Laboration 3 4. Elmotor med resonant dämpare

Vektorgeometri för gymnasister

9.3. Egenvärdesproblem

Beräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Kapitel 9. Partiella differentialekvationer

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 15 mars 2010 kl

Ordinära differentialekvationer (ODE) 1 1

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

Vetenskapliga beräkningar III 139

SKRIVNING I VEKTORGEOMETRI

Numerisk lösning till den tidsberoende Schrödingerekvationen.

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

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Gripenberg. Mat Grundkurs i matematik 1 Tentamen och mellanförhörsomtagning,

Studio 6: Dubbelintegral.

= e 2x. Integrering ger ye 2x = e 2x /2 + C, vilket kan skrivas y = 1/2 + Ce 2x. Här är C en godtycklig konstant.

1. Lös ut p som funktion av de andra variablerna ur sambandet

SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER

Exempel :: Spegling i godtycklig linje.

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 17 april 2010 kl

Föreläsning 5. Approximationsteori

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Oändligtdimensionella vektorrum

Lösningsskiss för tentamen Vektorfält och klassisk fysik (FFM232)

Vi skalla främst utnyttja omskrivning av en matris för att löas ett system av differentialekvaioner. 2? Det är komplicerat att

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Torsdag 28 aug 2008 TID:

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

= 1, fallet x > 0 behandlas pga villkoret. x:x > 1

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

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

Exempel :: Spegling i godtycklig linje.

Bose-Einsteinkondensation. Lars Gislén, Malin Sjödahl, Patrik Sahlin

TMA 671 Linjär Algebra och Numerisk Analys. x x2 2 1.

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

6. Temperaturen u(x) i positionen x av en stav uppfyller värmeledningsekvationen. u (x) + u(x) = f(x), 0 x 2, u(0) = 0 u(2) = 1,

Konvergens för iterativa metoder

Uppgifter till kurs: Geometriska analys och designmetoder för olinjära system

Numerisk lösning av PDE: Comsol Multiphysics

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

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

Egenvärden och egenvektorer

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Tentamen i Teknisk-Vetenskapliga Beräkningar

SF1624 Algebra och geometri Tentamen Torsdag, 17 mars 2016

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

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

Partiella differentialekvationer och randvärdesproblem Separabla PDE Klassiska ekvationer och randvärdesproblem

Omtentamen i DV & TDV

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

Omtentamen i DV & TDV

Atom- och kärnfysik med tillämpningar -

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

Atom- och kärnfysik med tillämpningar -

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

= y(0) för vilka lim y(t) är ändligt.

Rangordning av internetsidor - ett egenvärdesproblem för positiva matriser

Lösning till tentamen i SF1633 Differentialekvationer I för BD, M och P, , kl

Tentamen SF1633, Differentialekvationer I, den 23 oktober 2017 kl

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

Partiella differentialekvationer (TATA27)

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng.

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

KTH Matematik Tentamensskrivning i Differentialekvationer och transformer III, SF1637.

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

SKRIVNING I VEKTORGEOMETRI

y(0) = e + C e 1 = 1

Transkript:

Projekt om Finita Elementmetoden i kursen PDE F, TMA690, HT 2012 Hermann Douanla, Fredrik Lindgren, Matteo Molteni 6 november 2012 Innehåll 1 Syfte och mål 2 2 Generella riktlinjer 2 3 Projekt 3 3.1 Värmeledning i en vattenslang.................. 4 3.2 Egenvärdesproblem........................ 5 3.3 Vågrörelse i ett badkar...................... 8 3.4 Eget projekt............................ 8 4 Tips, trix och varningar 9 5 Och sen då? 9 1

1 Syfte och mål Projektets syfte är att du ska träna dig i implementering av Finita ElementMetoden, FEM. Efter avslutat projekt ska du förhoppningsvis ha fått kunskaper i hur man diskretiserar partiella differentialekvationer med hjälp av finita elementrum. Projektet syftar också till att ge en fördjupad kunskap i modellering av tekniska/fysikaliska system med hjälp av differentialekvationer och insikt i olika geometriers respektive rand- och begynnelsevillkors betydelse. En inte oviktig del är att öva sig i att skriva större och mer komplexa program i MATLAB. 2 Generella riktlinjer Du skall antingen genomföra ett av projekten som är beskrivna i detta dokument eller formulera ett eget (se nedan). Följande skall göras i alla projekt: 1. Hitta en och endast en till person att genomföra ditt projekt tillsammans med. Hittar du ingen så ska du skicka mig ett mail till handledaren så parar denne ihop dig med andra ensamma. 2. Ni ska träffa handledaren minst en gång under de fyra första läsveckorna och presentera vad ni tänker göra. Dessa möten är en del i examinationen så tillvida att det ska framgå att båda deltar i projekten. Boka tid via mail i god tid. Om ni formulerar er egen uppgift ska en kort beskrivning (ekvation, geometri och randvärden) skickas in senast en dag innan handledning. Ni skall vara förberedda och kunna presentera detta på ett klart sätt och/eller kunna ställa väl genomtänkta frågor. Det är bra om du vid det första handledningstillfället kan presentera uppgifterna i punkterna 3-5 eller åtminstone diskutera dessa på ett någorlunda initierat sätt. 3. Variationsformulera er differentialekvation. 4. Skriv ned den diskreta variationsformuleringen 5. Formulera det diskreta problemet på matrisform. 6. Ni ska med hjälp av det ofärdiga programskalet MyPoissonSolver.m på kurshemsidan [4] skriva en lösare som löser aktuell partiell differentialekvation med randvillkor utifrån variationsformuleringen av problemet. FEM skall användas. 2

7. Skriva en mycket kortfattad (men ej innehållslös) rapport (i pdf-format) över projektet som innehåller: Differentialekvationen och dess variationsformulering. Den diskreta variationsformuleringen. Resulterande matrisekvation. Lösningen/lösningarna redovisade i snygga och tydliga figurer. Ett väl kommenterat matlabprogram = lösaren. Beskrivning av använda algoritmer. Slutsater och resonemang runt såväl matematiken/numeriken som runt det fysikaliska i problemet ifråga. Övrigt av relevans i projektet. Namn och personnummer på gruppmedlemmarna. 8. Rapporten ska mailas i form av en pdf-fil till handledaren senast det datum som är angivet på kurshemsidan. Bifoga också en körbar m-fil som fungerar med matlabs mesh-variabler p,t,e som ENDA inargument. 3 Projekt Vi har konstruerat tre projekt, ett elliptiskt ickelinjärt, ett elliptiskt egenvärdesproblem med koppling till paraboliska problem och ett hyperboliskt linjärt problem. De återfinns nedan under rubrikerna Värmeledning i en vattenslang, Egenvärdesproblem respektive Vågrörelse i ett badkar. 1 Du får också, om du vill, under samråd med handledaren konstruera och lösa ett eget problem. 1 Det första och dets sista av projekten utvecklades ursprungligen av Christoffer Cromvik våren 2005 och har modifierats något av Fredrik Lindgren hösten 2007. Egenvärdesproblemet har utvecklats av Fredrik Lindgren hösten 2009. 3

3.1 Värmeledning i en vattenslang I detta projekt skall vi simulera värmeledning i en oisolerad vattenslang, fylld med stillastående vatten. Slangens omgivning har en temperatur på 300 K. Antag att vi bestrålar slangen med mikrovågor och att det därvid utvecklas värme inne i slangen när vågorna absorberas av vattnet. Denna värmeutveckling beskrivs av funktionen f(x) nedan. Vi betraktar ett tvärsnitt av slangen och förenklar problemet till stationärt. Följande differentialekvation kan beskriva temperaturfördelningen u. (a u) = f iω an u = c(u 0 u) påγ där u 0 är temperaturen utanför och n är normalen ut. Ett typiskt värde på a för vatten är 0.6 W/mK, och för c 100 W/mK. Er uppgift: Variationsformulera ekvationen och låt Ω vara en cirkelskiva med radie 1 dm. Skriv ett matlabprogram som beräknar temperaturen i slangen. Testa olika f och studera effekten. För att få en mer spännande simulering sätter vi yttertemperaturen till 250 K. Is har en annan värmeledningskoefficient, a is = 2.2 W/mK. Konstanten a kommer därför att vara beroende av u. (1) a(x,u) = { 2.2 u 273 0.6 u > 273 (2) Detta ger oss en icke-linjär partiell differentialekvation som vi kan lösa med t. ex. fixpunktsiteration. Hur mycket strålningseffekt behövs för att hälften av slangens tvärsnittsarea skall vara tinad om f är konstant? Extra: Antag att vi strålar in effekt rakt in i en oändligt lång slang (cylindrisk symmetri) och att den sprids och absorberas inne i slangen. Försök att modellera detta. Det borde resultera i ytterligare en elliptisk differentialekvation med Neumann-villkor på randen. Ställ upp denna ekvation och försök koppla den till (1) och (2). 4

3.2 Egenvärdesproblem Om A är en elliptisk operator på ett område i rummet Ω så säger egenfunktionerna och egenvärdena till denna väldigt mycket om egenskapen hos denna operator såväl som om lösningarna till motsvarande paraboliska ( u +Au = t f) och hyperboliska ( 2 u + Au = f) problem. Vi vet också att egenvärden t 2 spelar en viktig roll i både klassisk och modern fysik. Den här uppgiften går ut på att beräkna egenvärden hos ganska generella elliptiska operatorer numeriskt och undersöka hur de förändras när vi förändrar operatorn A eller eller området Ω. Vi passar på att jämföra med från kursen i Fourieranalys kända resultat. Uppgiften borde passa den som är intresserad av matematisk teori såväl som den som gillar numerisk analys eller programmering. Bakgrund Man kan visa att under ganska allmänna förutsättningar så har det paraboliska problemet u t den svaga lösningen u(x,t) = (a(x) u)+β(x) u+c(x)u = f i Ω, u = 0 på Γ, (3) u(0) = u 0 (e λnt n=1 Ω u 0 (x)e n (x)dx+ t 0 e (t s)λn Ω ) f(x)e n (x)dxds e n (x) (4) där {λ j,e j } j=1 är egenvärdena och egenfunktionerna till den elliptiska operatorn A definierad som Au := (a(x) u)+β(x) u+c(x)u, (5) med randvillkor, det vill säga de uppfyller Ae n = λ n e n eller, om du vill, de löser egenvärdesproblemet att hitta e och λ så att Ae = λe i Ω, e = 0 på Γ. (6) 5

Exempel. Vi har sett i kursen i Fourieranalys att om Ω är rektangeln (0,L) (0,M) och a = 1, c = 0 och β = 0 så har vi med lite annan notation att { ( ) } i {λ ij,e ij } 2 i,j=1 = π L + j2, sin(iπx/m) sin(jπy/l) 2 M 2 Några feluppskattningar.. i,j=1 Det går att approximera såväl egenfunktioner som egenvärden med finita elementmetoden. De approximativa egenvärdena λ n,h uppfyller då λ n λ n,h λ n (1+C(n,Ω)h 2 ) (7) om h är den största av alla triangelsidorna i finita elementnätet. Om egenvärdena är sorterade i växande ordning uppfyller den approximativa egenfunktionen e 1,h till det minsta egenvärdet olikheten e 1,h e 1 Ch 2. (8) Båda resultaten gäller om kontinuerliga och styckvis linjära funktioner används för att approximera lösningen [2, Kapitel 6]. Grunduppgift Grunduppgiften består av att Variationsformulera egenvärdesproblemet (6) med hela operatorn (5). Formulera den diskreta variationsformuleringen. Skriv upp det diskreta problemet på matrisform. Färdigställ FEM-lösaren MyPoissonSolver.m så att den assemblerar alla relevanta matriser och löser den diskreta motsvarigheten till (6) för β = 0 och a = 1 men godtycklig c(x) 0. Sätt först a = 1 och c = 0 och lös egenvärdesproblemet för kvadraterna Ω 1 = ( 1,1) ( 1,1) och Ω 2 = ( 3,3) ( 3,3) och jämför med de teoretiska lösningarna. Lös också för det L-formade området Ω 3 = {( 2, 1) ( 2,2) ( 2,2) (1,2)}. Avsluta med något lite mer konstigt område Ω 4 : Ω 1 Ω 4 Ω 2. Jämför egenvärdena mellan de olika fallen. Undersök också vad som händer om man istället använder en ickekonstant funktion c(x). 6

Extrauppgift För full poäng skall du dessutom göra någon av följande extrauppgifter: 1. Gör det ovanstående för β 0. Testa på ett cirkulärt område med β = ɛ(y, x), ɛ R \{0} som är divergensfritt respektive β = ɛ(x,y) där β = 2ɛ. Jämför! Matlabseig ger en matris med alla egenvektorer. Undersök dess determinant och konditionstal. Kommentarer? 2. Givet de approximativa egenfunktionerna {e j,h } j=0 och egenvärdena {λ j,h } j=0 skriv ett program som beräknar den approximativa lösningen till u +Au = 0 i Ω, t u = 0 på Γ, (9) u(0) = u 0 för godtyckligt u 0 genom att projicera u 0 på egenfunktionerna enligt (4). Notera att egenfunktionerna som ges i Matlab inte är L 2 (Ω)- normaliserade!det kan vara värt att påpeka att du ska skriva ett program som löser den rumsdiskretiserade varianten av (9) exakt upp till flyttalsnoggrannhet, se [1, Kapitel 8.3]. 3. Undersök i samråd med handledaren storleken på konstanterna och hur felet konvergerar mot noll då h går mot noll i någon av ekvationerna (7) eller (8). Det här är en typ av studie som ofta görs av forskare i numerisk analys och beräkningsmatematik. 4. Gör i samråd med handledaren något annat relaterat till egenvärdesproblem som är av ungefär samma svårighetsgrad som övriga uppgifter här. 7

3.3 Vågrörelse i ett badkar Vattenytans rörelse i ett badkar kan beskrivas av en partiell differentialekvation, vågekvationen. Låt oss kalla vattenytans område för Ω, som är ett tvådimensionellt område. Lösningen till följande differentialekvation ger rörelsen på vattenytan. Er uppgift är att: Variationsformulera ekvation (1). ü u = f i Ω n u = 0 på Γ u(x,0) = u 0 u (x,0) = v 0 (10) Diskretisera variationsformuleringen. Approximera tidsderivatan med Ü = (U n+1 2U n + U n 1 )/k 2, där k är tidssteget och U n = U(t n ). Den ambitiöse ansätter v = u och löser det erhållna kopplade systemet istället med tidsdiskretisering enligt [3]. Låt k < h, där h är elementlängden. Skapa ett matlabprogram som simulerar en vågrörelse på vattenytan. För att hantera startvärdet korrekt, räknar vi först ut accelerationen enligt Ma 0 = f 0 Su 0, där M är massmatrisen. Sen kan vi ersätta u 1 med u 1 = u 0 kv 0 + k2 2 a 0 Extra: Ändra randvillkoren till homogena Dirichlet-villkor, u = 0 på Γ. Vad för system kan tänkas beskrivas av denna ekvation? Jämför resultaten med de du fått i grunduppgiften. Vad händer till exempel med energin i respektive system? 3.4 Eget projekt Det egna projektet ska i princip följa samma upplägg som de färdigkonstruerade. I synnerhet ska det innehålla en partiell differentialekvation med geometri och randvillkor som ska variationsformuleras, diskretiseras och därefter lösas med hjälp av Finita Elementmetoden. Handledaren ska godkänna projektet innan du sätter igång. Har du en lös idé så kan du få hjälp med att konkretisera denna under handledningstillfälle. 8

4 Tips, trix och varningar Skapa geometrier och generera trianguleringen med hjälp av Matlabs pdetool. Tänk igenom hur man felsöker ett program på ett bra sätt. Diskutera detta med handledaren vid handledningstillfälle. Använd programskalet MyPoissonSolver.m att utgå ifrån när ni löser er ekvation. Det som fattas i programmet för att lösa Poissons ekvation är alla funktioner utom en för att räkna ut elementmatriser och -vektorer. Rutinen ElemDiffMatrix finns som exempel. Komplettera med de rutiner som fattas och anpassa sedan programmet till er tillämpning. Programmet MyPoissonSolver.m hanterar randvillkor på formen n u = k(g u). För att simulera Dirichlet-randvillkor låt k = 10000, det vill säga jättestort och sätt g till det värdet ni vill att u skall följa. För att evaluera integralerna i era elementmatriser är det lämpligt att använda kvadratur. För att skapa elementmassmatrisen kan det vara bra att välja mittpunkten på triangelns kanter för detta. I [1, avsnitt 12.2] finns beskrivningar av lite olika kvadraturmetoder. Fundera över hur exakta metoder som kan tänkas behövas. Diskutera saken med din handledare. För att snabba på beräkningarna spara matriserna som glesa matriser med hjälp av matlabs kommando sparse. Se Matlabs hjälpfunktion. Invertera aldrig matriser utan använd \. För mer information om implementation, se anteckningar på hemsidan [3], eller [1, sid. 43-47]. Observera att beräkningarna ska genomföras med hjälp av finita elementmetoden och inte något annat. Till exempel ska inte någon finit differensmetod användas. För full poäng krävs att även extrauppgift genomförs. 5 Och sen då? För den som tycker att det här är intressant så rekommenderar vi fortsättningskursen i PDE, TMA026 [5], som behandlar PDE-teori i Sobolev-rum 9

mer i detalj samt går djupare in på numerisk approximation av lösningar. Kursen är helt teoretisk. På matematiska institutionen ges också en projektkurs i PDE, TMA632 [6], där du får skriva FEM-lösare för lite svårare problem. Den behandlar även teori runt adaptivitet. Du hittar kursbeskrivningar via matematiska vetenskapers hemsida och via studieportalen. Prata gärna med handledarna om du undrar vad man gör när man doktorerar i beräkningsmatematik! Referenser [1] Claes Johnson, Numerical Solution of Partial Differential Equations by the Finite Element Method, Studentlitteratur, 1987. [2] Stig Larsson och Vidar Thomée Partial Differential Equations with Numerical Methods, Springer, 2003. [3] Christoffer Cromvik och Fredrik Lindgren, FEM Implementation, OHslides på kursens hemsida. [4] http://www.chalmers.se/math/sv/utbildning/grundutbildningchalmers/arkitekt-och/teknisk-fysik/tma690 [5] http://www.chalmers.se/math/sv/utbildning/grundutbildningchalmers/mastersutbildning/engineering-mathematics/tma026 [6] http://www.chalmers.se/math/sv/utbildning/grundutbildningchalmers/mastersutbildning/engineering-mathematics/tma632 10