Kontinuerliga system, Datorövning 3

Relevanta dokument
Datorövning 2. För att få tillgång till några mer avancerade ritkommandon kör

Kontinuerliga system, Datorövning 3

Kontinuerliga system, Datorövning 3

Datorövning 2. - Tag med lärobok och övningshäfte till övningen. - Fyll före övningenen i svaren på frågorna på sidan 5 i denna handledning.

Numerisk lösning av PDE: Comsol Multiphysics

Fouriers metod, egenfunktionsutvecklingar.

Rita även upp grafen till Fourierseriens summa på intervallet [ 2π, 3π], samt ange summans värde i punkterna π, 0, π, 2π. (5) S(t) = c n e int,

Rita även grafen till Fourierserien på intervallet [ 2π, 4π]. (5) 1 + cos(2t),

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

Institutionen för matematik KTH. Tentamensskrivning, , kl B1202/2 Diff och Trans 2 del 2, för F och T.

= 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.

Användarmanual till Maple

Tentamen i tmv036c och tmv035c, Analys och linjär algebra C för K, Kf och Bt A =, = det(a λi) = e 2t + c 2. x(t) = c 1. = c 1.

SF1625 Envariabelanalys Lösningsförslag till tentamen

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

TMA226 datorlaboration

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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

Institutionen för Matematik. SF1625 Envariabelanalys. Lars Filipsson. Modul 1

Datorövning 2 med Maple

Egenvärdesproblem för matriser och differentialekvationer

Läsanvisningar till kapitel 4 i Naturlig matematik

Kontinuerliga system, Datorövning 2

Lösningsförslag, preliminär version 0.1, 23 januari 2018

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

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.

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

Funktionsteori Datorlaboration 1

1. (a) Bestäm lösningen u = u(x, y) till Laplaces ekvation u = 0 inom rektangeln 0 < x < a och 0 < y < b med följande randvillkor 1

Tentamen i matematik. f(x) = ln(ln(x)),

v0.2, Högskolan i Skövde Tentamen i matematik

R AKNE OVNING VECKA 2 David Heintz, 13 november 2002

MAPLE MIKAEL STENLUND

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna

3. Analytiska funktioner.

Blixtkurs i komplex integration

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

TMV036 Analys och linjär algebra K Kf Bt, del C

Extra datorövning med Maple, vt2 2014

1. (a) Bestäm funktionen u = u(x, y), 0 < x < a och 0 < y < a, som uppfyller u xx (x, y) + u yy (x, y) = 0

Introduktion till Sturm-Liouvilleteori och generaliserade Fourierserier

FYSIKENS MATEMATISKA METODER

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I.

Studio 6: Dubbelintegral.

Kontrollskrivning KS1T

Matematiska Institutionen, K T H. B. Krakus. Matematik 1. Maplelaboration 2.

Sidor i boken f(x) = a x 2 +b x+c

Flervariabelanlys och Matlab Kapitel 3

Gamla tentemensuppgifter

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

Tentamen i matematik. f(x) = 1 + e x.

Tentamen i Matematisk analys, HF1905 exempel 1 Datum: xxxxxx Skrivtid: 4 timmar Examinator: Armin Halilovic

Moment Viktiga exempel Övningsuppgifter Ö , Ö1.25, Ö1.55, Ö1.59

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).

TNA001- Matematisk grundkurs Tentamen Lösningsskiss

4. Bestäm eventuella extrempunkter, inflexionspunkter samt horisontella och vertikala asymptoter till y = 1 x 1 + x, och rita funktionens graf.

MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp

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

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A. 1. En svängningsrörelse beskrivs av

Laboration: Grunderna i Matlab

Dubbelintegraler och volymberäkning

KTH Fysik Tentamen i 5A1301/5A1304 Fysikens matematiska metoder Onsdagen den 24 augusti 2004 kl

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

TAIU07 Matematiska beräkningar med Matlab

Laboration 3. Funktioner, vektorer, integraler och felskattning

y y 1 = k(x x 1 ) f(x) = 3 x

Flervariabelanalys och Matlab Kapitel 3

Talmängder. Målet med första föreläsningen:

Datorlaboration 1. 1 Komplexa funktioner som avbildningar (kan göras i slutet av läsvecka 1)

SIMULERINGAR MED FINITA-ELEMENT-METODEN inom ELEKTROMAGNETISM

Envariabelanalys 5B1147 MATLAB-laboration Derivator

MMA127 Differential och integralkalkyl II

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

Fouriers metod, egenfunktionsutvecklingar.

Introduktionskurs i matematik LÄSANVISNINGAR

1.1 Den komplexa exponentialfunktionen

Några saker att tänka på inför dugga 2

Innehåll 1. Kapitel 6: Separation of Variables 1

Läsanvisningar till kapitel

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

Tentamen i Envariabelanalys 2

Tillämpningar av komplex analys på spektralteori

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A. e 50k = k = ln 1 2. k = ln = ln 2

Undersökande arbetssätt i matematik 1 och 2

Uppgiftshäfte Matteproppen

Edwin Langmann (Epost: x u(x, t); f (x) = df(x)

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Laboration 3. Funktioner, vektorer, integraler och felskattning

Tentamensuppgifter, Matematik 1 α

Lösningar till Matematisk analys

SF1646 Analys i flera variabler Tentamen 18 augusti 2011, Svar och lösningsförslag

Dugga 2 i Matematisk grundkurs

MMA127 Differential och integralkalkyl II

Transkript:

2010 Kontinuerliga system, Datorövning 3 Inledning Syftet med denna datorlaboration är att du skall dels med hjälp av Maple, dels med hjälp av COMSOL Multiphysics få ökad förståelse för speciella funktioner med hjälp av COMSOL få ökad förståelse för egenvärden och egenfunktioner med hjälp av COMSOL få viss känsla för vissa numeriska problem i anslutning till exempelvis Poissons ekvation I både Maple- och COMSOL-delen finns extra uppgifter, som du kan göra i mån av tid och intresse. Dessa uppgifter kan göras i valfri ordning. Obligatoriska uppgifter är: 1 4, 6, 7, 9, 12 och 15. Till vissa av uppgifterna finns hjälpfiler, som kan hämtas från kursens hemsida, adress http://www.maths.lth.se/ ~ lv/ks10.html I texten nedan finns några frågor att besvara. Tänk själv ut svaren på dessa, men be handledaren förklara om du inte känner dig säker på att du förstår poängen med frågan. Förberedelser: Tag med lärobok och övningshäfte till laborationen, ty vissa exempel är hämtade därur. Läs igenom denna handledning, studera sats S.4 sidan 340, exempel S.3 sidan 334, exempel 3.14 sidan 108 och exempel S.4 sidan 335 337 i läroboken. Fyll i svaren på frågorna på de två sista sidorna i denna handledning. Var också beredd att under laborationen motivera dina svar. Även om ni laborerar i par så ska var och en individuellt ha fyllt i svaren på frågorna och kunna motivera sina svar. 1 Skalärprodukter (repetition från lab2) StartaMaple.(Classic Worksheet Maple 11) Vi kommer att beräkna många skalärprodukter och det är därför lämpligt att definiera skalärprodukten som en funktion av två variabler f och g. Låt oss kalla denna skal. Skriv skal:=(f,g)->int(f*g*w,x=x0..x1); Innan denna används måste du specificera viktsfunktionen w och integrationsgränserna x 0 och x 1. Notera att variabeln betecknas med x iskal. 1

2 Ortogonalpolynom I lab2 kom du i kontakt med några olika ortogonalpolynom. Här ska vi öka dina erfarenheter genom att studera begränsade egenfunktioner till Legendres differentialoperator. 1. Du ska kontrollera att Legendrepolynomen är egenfunktioner till Legendres differentialoperator d dx (1 x2 ) d. Skriv först with(orthopoly); och sedan dx d:=n->-diff((1-x^2)*diff(p(n,x),x),x)/p(n,x); (Här betecknar P(n,x) Legendrepolynomet av grad n.) Skriv sedan exempelvis d(5); och förenkla därefter med simplify(%); Pröva med några olika värden på n, t ex 6, 7, 8, 10, 20. Vad har detta med egenvärden att göra? Vad är egenvärdena uttryckta i n? Stämmer detta med teorin? (Jämför med dina förberedelser av fråga 2 på sidan 12 i denna handledning.) 3 Besselfunktioner 2. Besselfunktionerna J ν och Y ν finns naturligtvis i Maple, där de anropas medbesselj(n,x); respbessely(n,x);, se?bessel. Även nollställena till Besselfunktionena finns i Maple. De fås med kommandot BesselJZeros(n,k);. För att slippa skriva så mycket kan det vara praktiskt att införa kortare beteckningar, t ex alias(j=besselj, Y=BesselY, alpha=besseljzeros); Rita några grafer, tex medplot([j(n,x)$n=0..5],x=0..15);. Man kan också uppfatta J ν (x) som en funktion av ν och x och rita en tredimensionell bild med plot3d(j(v,x),x=0..10,v=0..5, axes=normal); och vrida och vända på denna. Lägg in lämpliga axlar. Med kommandot matrix(10,9,(k,n)->evalf(alpha(n-1,k))); genereras en massa nollställen. Jämför med tabellen i formelsamlingen. I formelsamlingen finns även en tabell med nollställen till derivatorna J ν. Dessa nollställen är inte direkt åtkomliga i Maple men kan dock beräknas. Tryckreturn efter varje kommando i Maplefilen nollsttilljprim.mws, som kan hämtas på kursens hemsida och öppnas i Maple. (Det går också att klicka på Edit och sedan välja Execute och Worksheet. Då utför Maple alla kommandona automatiskt.) Jämför med tabellen i formelsamlingen. Titta på graferna på sidan 331 i boken och förklara vad som händer i kommandot fsolve i slutet av filen. 2

3. Pröva om Maple klarar övning S.11 a). (Här behöver man använda simplify.) Resultat: 4. Maple kan många formler för Besselfunktioner. Pröva att beräkna J ν(x). Pröva också att uttrycka J 1/2 (x), J 3/2 (x), Y 1/2 (x) med elementära funktioner. Tänk på att skriva J(3/2,x), inte J(1.5,x). 5. Extrauppgift. Lös Bessels differentialekvation u (x)+ 1 x u (x)+(λ ν2 x 2 )u(x) = 0 med dsolve. Här måste du själv tänka på att undersöka fallen λ = 0 och λ = 0,ν = 0. (Jämför lemma S.1 (sid 333) och övn S.13.) Lös även differentialekvationen u (x)+ 2 x u (x)+(λ l(l+1) x 2 )u(x) = 0. (Jämför (20) sid 340 och övning S.18.) Pröva speciellt l = 0. Glöm inte fallet λ = 0. 6. Enligt exempel S.3, sidan 334 i boken är Besselfunktionerna J 0 (α 0k r) egenfunktioner till den singulära Sturm-Liouvilleoperatorn A u = 1 r (ru ) D A = { u C 2 [0,1] u begränsad nära 0, u(1) = 0 }. Ange en skalärprodukt i vilken funktionerna J 0 (α 0k r) är ortogonala. Skriv in rätt viktsfunktion och intervallgränser. (Tänk på att variabeln heter x i kommandot skal.) Kontrollera ortogonaliteten mellan J 0 (α 0k r) för några olika k-värden med hjälp avskal. Integralerna i skal behöver beräknas numeriskt. Använd därför evalf. Plotta också produkten J 0 (α 0k r)j 0 (α 0m r)w(r), där w är viktsfunktionen, över intervallet [0,1]. Gör motsvarande undersökning för några Besselfunktioner J n med n > 0. Slutsats? 7. Titta på tredimensionella bilder av egenfunktionerna J n (α nk r)cos(nθ) till Laplaceoperatorn med Dirichletvillkor i polära koordinater (exempel S.4 sid 335 337) för några olika värden på n och k. För n = 2, k = 1 kan man skriva plot3d([r*cos(v),r*sin(v),j(2,alpha(2,1)*r)*cos(2*v)],r=0..1,v=0..2*pi); Fast inspända cirkulära membran (se exempel 3.14 sid 108) har svängningsmoder av typ u nk = J n (α nk r)cos nθsin cα nk t. Sådana svängningsmoder kan man se röra sig i Maple med hjälp av kommandot animate3d. Detta får man tillgång till om man skriver with(plots); För att se membranet svänga i fallet n = 2,k = 1, och med c vald så att cα nk = 1, kan man skriva 3

animate3d([r*cos(v),r*sin(v),j(2,alpha(2,1)*r)*cos(2*v)*sin(t)], r=0..1,v=0..2*pi,t=0..2*pi); Filmen startas och styrs från menyraden (starta genom att klicka på rutan märkt ). Genom att klicka på lämplig knapp kan man få den att gå oavbrutet. Titta på svängningsmoder för några andra värden på n och k. Man kan få en jämnare rörelse genom att öka antalet indelningspunkter i tids- eller rumsled, se?animate. Vill man titta på ett membran som inte är fast inspänt, utan kan röra sig fritt på randen, på så sätt att det uppfyller ett homogent Neumannvillkor, så kan man byta α nk mot α nk (nollställen till J n ). Dessa nollställen beräknade du ovan i problem 2. 8. Extrauppgift. Utveckla funktionen f(x) = x, 0 < x < 1 i den ortogonala basen J 0 (α 0k x). Plotta delsummor S N och funktionen f i samma diagram för några olika värden på N. Gör sedan samma sak med f(x) = 1 x. Märks någon skillnad? Vad kan det bero på? Stäng Maple! 4 Approximationsegenskaper 9. Vi skall nu betrakta ett enkelt modellproblem, där vi känner det analytiska uttrycket för lösningen, och studera hur noggrannheten hos finita elementlösningen varierar med antalet element, som vi delar in området i. Det problem vi betraktar är { u = 1 i Ω : x 2 + y 2 < 1 u = 0 på Ω I detta fall känner vi lösningen analytiskt: u exakt (x,y) = (1 x 2 y 2 )/4, jämför övning 0.4 b) i övningshäftet. Starta COMSOL 3.5 with MATLAB. Klicka sedan på+comsol Multiphysics,+PDE Modes,+Classical PDEs,Poisson s Equation och OK. När du konstruerar området bör du använda Draw,SpecifyObjects,Circle ochok. Det blir då säkert en cirkel med medelpunkt i origo och radie 1. En kontroll via Physics, Boundary Settings visar att vi redan tilldelats homogena Dirichletvillkor på randen. Physics, Subdomain Settings visar att högerledet i Poissons ekvation standardmässigt satts till 1. Vi kan nu gå över till triangelindelning. Välj Mesh, Free Mesh Parameters... Vid sidan avpredefinedmeshsizes ändrar dunormal till Extremly Coarse. Klicka sedan på OK och på ikonen förinitialize Mesh. Hur mångaelement erhöll du? Lös problemet (klicka på=) och gör en 3D-plot. Bestäm det absoluta felet genom att Klicka på knappen Plot Parameters. Fortsätt med fliken Surface 4

Ändra Expression både under Surface data och under Height data till abs(u-(1-x^2-y^2)/4). Tryck påok. Maximala absoluta felet, dvs u u exakt, blev (Avläs i figuren.) Ändra under Mesh på Free Mesh Parameters..., Predefined mesh sizes till Normal. Tryck på Initialize Mesh. Förfina indelningen och lös problemet. Hur många element behövs för att absoluta felet ska bli mindre än 10 6?. Var i området tycks det absoluta felet bli störst? (Avvikelsen kan även mätas med L 2 (Ω)-normen. Det åstadkommer du på följande sätt: Klicka på rullgardinen Postprocessing följt avsubdomain Integration... Markera sedan 1 i Subdomain selection. Ändra Expression till (abs(u-(1-x^2-y^2)/4))^2. Avsluta med OK. I nedre vänstra hörnet kan du avläsa Value of integral:. Använd MATLAB och dra roten ur integralens värde. Det värde du då erhåller är u u exakt L2 (Ω). Eftersom arean av enhetscirkeln är π gäller att Gäller det i detta fall? ) u u exakt L2 (Ω) π u u exakt Lärdomen av detta är att även i mycket snälla situationer, med enkla geometrier och randvillkor, så behöver man lösa stora ekvationssystem. Vi ser också att lösandet ändå går ganska snabbt, om man inte har extrema krav. Betydligt värre blir det om det finns diskontinuiteter eller singulariteter hos koefficientfunktionerna. Vi kommer nedan att se några enkla exempel på detta. 10. Extrauppgift. Diskontinuerliga randvillkor I MATLAB finns en funktion atan2(y,x), som är arcustangens, utsträckt till fyra kvadranter. För denna funktion gäller π < atan2(y, x) < π. Betrakta nu problemet { u = 0 i Ω : x 2 + y 2 < 1 u = atan2(y, x) på Det gäller alltså att finna en harmonisk funktion med ett randvillkor som varierar mellan π och π, med en diskontinuitet i x = 1. Detta problem kan lösas exakt. För att inse detta observerar vi att funktionen atan2(y, x) kan beskrivas som principalgrenen av argumentet för det komplexa talet z = x + iy. Den är alltså imaginärdel till den analytiska funktionen log(z), z 0, principalgrenen. Detta medför att atan2(y, x) är harmonisk utanför origo. Vi påstår att funktionen Ω u(x,y) = 2atan2(y,x+1) = 2arg(1+z) löser randvärdesproblemet. Enligt vad vi sett ovan uppfyller den differentialekvationen u = 0 för z 1. Det återstår att undersöka randen Ω, där det gäller att z = e iθ, π < θ < π. Vi finner att 1+z = 1+e iθ = e iθ/2 (e iθ/2 + e iθ/2 ) = 2cos(θ/2)e iθ/2. 5

Härav följer att u(x,y) = 2arg(1+z) = θ = arg(z) på Ω. Alltså är u(x, y) = 2 atan2(y, x + 1) en harmonisk funktion som uppfyller randvillkoren. Presentera nu problemet för COMSOL på nästan samma sätt som i avsnitt 4.1 ovan. Välj inte Poisson s utan Laplace s Equation. För att skriva in randvillkoret välj först Physics och sedan Boundary Settings... Markera alla delar av randen i rutan Boundary selection. Avslutningsvis går du till rutan Boundary conditions och byter där värdet för r från 0 till atan2(y,x). Lös sedan randvärdesproblemet för indelningar av olika finhetsgrad. Plotta skilladen mellan den beräknade och den exakta lösningen genom att klicka på Plot Parameters, gå till fliken Surface och där fylla i u-2*atan2(y,x+1) som Expression både för Surface data och Height data. (Sätt vid behov först en bock i rutan framför Heightdata.) Ett tryck på OK och bilden genereras. Du kommer att finna att finita elementmetoden har svårigheter att korrekt beskriva lösningen i närheten av diskontinuitetspunkten på randen, även om du tar ett mycket stort antal indelningspunkter. I ett fall som detta är det oekonomiskt att förfina triangelindelningen lika mycket överallt. Tryck på Mesh, Initialize Mesh och Display Element Quality. Trianglarna är i stort sett lika stora överallt.klicka på knappen SolverParameters. Bocka föradaptive mesh refinement nere till vänster. Lös problemet igen via Solve-knappen. Nu känner programmet efter hur lösningen varierar, och anpassar indelningen efter det. Ju mer lösningen varierar inom ett visst område, desto tätare indelning gör man där. När denna option används görs automatiskt en följd av förfinade indelningar tills något stopp-kriterium uppfylls. Hur ser skillnaden mellan den numeriskt beräknade lösningen och den exakta lösningen ut? Ta en titt på den använda indelningen genom att välja Mesh följt av Mesh Mode. Vad har hänt? 11. Extrauppgift. Poissons ekvation med punktkälla En annan svårighet för rent numeriska metoder uppträder vid punktkällor, som när man försöker lösa { u = δ(a,b) i Ω : x 2 + y 2 < 1 (1) u = 0 på Ω med (a,b) = (0.5,0). Här står δ (a,b) för Diracs δ-funktion i två variabler, lokaliserad till punkten (a, b), dvs en punktkälla. Lösningen till detta problem kallas Greenfunktionen G(x, y; a, b) för Poissons ekvation med Dirichletvillkor för enhetscirkeln, se kapitel 5 i boken. En möjlighet är att i MATLAB använda en approximation av δ. En sådan är ((x-.5).^2+y.^2<5e-5)/(pi*5e-5) Sedan området är ritat förs punktkällan in som f under Physics, Subdomain Settings... Detta kan vara ett sätt att i MATLABs representera en funktion som har integralen = 1, är = 0 för (x.5) 2 + y 2 > r 2 och konstant för (x.5) 2 + y 2 < r 2 med r 2 = 5 10 5. Lös problemet med den triangulering som fås utan förfining. Vad händer och varför? Förfina sedan, lös problemet och titta på lösningen i 3D och 2D, i det senare fallet även med Contour Plot och Arrow Plot. Upprepa tills du får cirka 3000 element. 6

I detta fall är den exakta lösningen känd, nämligen 1 ( ln((x 0.5) 2 + y 2 ) ln((x 2) 2 + y 2 ) ln0.25 ). 4π Jämför den framräknade lösningen u med den exakta. Avvikelsen kan mätas med L 2 -norm. Klicka på Postprocessing och sedan Subdomain Integration... Markera området 1 inom ramen Subdomain selection. SomExpression skriver du in (u+0.25/pi*(log((x-0.5).^2+y.^2)-log((x-2).^2+y.^2)-log(0.25))).^2 Trycker på Apply. Läs av Value of integral. Använd MATLAB för att beräkna kvadratroten ur integralen. Värdet du nu får är L 2 -normen ( u 1 ( ln((x 0.5) 2 + y 2 ) ln((x 2) 2 + y 2 ) ln0.25 )) L2, 4π (Ω) där Ω är enhetscirkelskivan. I kapitel 5.3 i boken visas att lösningen närheten av punktkällan beter sig som K(x,y) = 1 4π ln((x 0.5)2 + y 2 ). Funktionen K(x, y) är den så kallade fundamentallösningen till Laplaceoperatorn.Vi kan förvänta oss att numeriska metoder har problem att ta fram sådana lösningar. Vi löser därför (1) på ett annat sätt, där vi utnyttjar kännedomen om fundamentallösningen. Ett sätt att lösa problemet är att utnyttja att vi känner fundamentallösningen. Bilda v(x,y) = u(x,y) K(x,y). Här gäller att v är lösning till ett snällare problem, där det är lätt att få en god numerisk approximation: { v = 0 i Ω v(x, y) = K(x, y) på För nu in detta problem i COMSOL. Ändra inte på meshen. Välj Physics, Boundary Settings... För in som värde på r uttrycket 0.25/pi*log((x-0.5).^2+y.^2). Under Physics, Subdomain Settings... ska f ändras till 0. Klicka på Plot Parameters och fliken Surface. Skriv in u - 0.25/pi*log((x-0.5).^2+y.^ som Expression både under Surface data och Height data. Klicka på OK och Solve Problem. En 3-D bild av lösningen träder fram. Jämför den beräknade lösningen med den exakta. Mät avvikelsen med L 2 -norm. Gör som ovan men skriv under Expression in Ω (u-0.25/pi*(log((x-2).^2+y.^2)+log(0.25))).^2 Vilken av de två metoderna har i detta fall givit bäst resultat? 5 Egenvärdesproblem 12. Vi ska nu använda COMSOL för att lösa egenvärdesproblemet { u = λu i Ω : x 2 + y 2 < 1 u = 0 på Ω 7

Här vet vi att lösningarna beskrivs av Besselfunktioner och trigonometriska funktioner, enligt exempel S.4 i boken. Jämför också dina förberedelsenoteringar i slutet av handledningen. Börja med kommandona File, New. Spara inte. Markera 2D. Klicka sedan på + i COMSOL Multiphysics. Fortsätt med en klick på +PDE Modes, +PDE Coefficient Form. Markera Eigenvalue analysis och avsluta med OK. Rita sedan som vanligt en enhetscirkel. Kontrollera så att homogena Dirichletvillkor gäller. Klicka också på Physics, Subdomain Settings... och markera området 1. De värden somc, a, f etc har passar oss. Tryck därför påok. Tryck påinitialize Mesh och Refine Mesh. Innan du löser problemet ska du trycka på snabbknappen Solver Parameters. Ändra Desired number of eigenvalues till 20. Tryck sedan på OK. Det är nu dags att lösa problemet. Tryck på=. När problemet lösts kommer det upp en plot som visar egenfunktionen som hör till det minsta egenvärdet. Välj3D Surfaces Plot Klicka påplot Parameters ochgeneral. Inom ramen Solution to use finns Eigenvalue:. Där står 5.783187. Detta är det minsta egenvärdet. Motsvarande egenfunktion är den som visades då du klickade på 3D Surface Plot. Genom att klicka på nedåtpilen efter egenvärdet visas ytterligare egenvärden. Markera något annat egenvärde och klicka sedan på OK eller Apply så visas motsvarnde egenfunktion. Försök nu besvara följande frågor. Hur stämmer de egenvärden som COMSOL beräknat med dem i tabellen som du gjort som förberedelseuppgift? Hur kan man i den följd av egenvärden som COMSOL räknat ut med en blick avgöra vilka som svarar mot vinkeloberoende egenfunktioner? Betrakta en svängningsrörelse som beskrivs av ekvationen u tt c 2 (u xx + u yy ) = 0. Låt vågens begynnelseform vara en egenfunktion svarande mot egenvärdet λ k. Vågens begynnelsehastighet antas vara 0. Vilken är svängningens vinkelfrekvens? Jämför ex. 3.14! Innan du besvarar nästa fråga kan det kanske vara bra med en animering. Klicka på 3D Surface Plot i vänstra delen av ritbrädan. Klicka sedan på Plot Parameters och välj fliken Animate. Ändra där Numbers of frames från 11 till 30. Det är nu dags att markera något egenvärde. Välj sedan Start Animation. Animera också samma egensvängning men tryck på Contour Plot. Lokalisera noderna för de stående svängningar som kan förekomma för olika värden på n och k (beteckningar enligt läroboken). (Observera att här används ordet nod i en annan betydelse än ovan.) Hur kan man från en bild av dessa noder (eller en 3D-bild av en egenfunktion) avgöra vilka värden parametrarna n och k har? För framtida behov (uppgift 13) exporterar du egenvärdena till MATLAB genom att välja File, Export, FEM Structure. I MATLAB skriver du sedan lambda12=fem.sol. lambda 8

(missa inte apostrofen). Därigenom har du i lambda12 sparat egenvärdena som du beräknat i uppgift 12. 13. Extrauppgift. Hur ändras egenfrekvenserna då man lägger trumpinnen på trumman? Vi skall undersöka hur egenvärdena ändras då man skär bort ett segment av cirkeln. Vi ska skapa området i den högra figuren nedan. Börja med kommandona File, New. Spara inte. Markera 2-D. Klicka sedan på PDE Modes, PDE,Coefficient Form,Eigenvalue analysis,ok. Fortsätt medoptions, Axes/Grid Settings... Fyll i x min = -2, x max = 2, y min= -1.5 och y max = 1.5. Klicka sedan pågrid. Ta bort bocken förauto och ange0.9 1.3 somextra x. Rita nu en cirkel (med radie 1) och en rektangel enligt vänstra figuren. Markera båda områdena medctrl a. Tryck sedan på Difference. Välj homogena Dirichletvillkor längs hela randen och beräkna 20 egenvärden och egenfunktioner som i uppgift 12. Titta på egenfunktionerna i 3D- och 2D-plottar. Exportera egenvärdena till MATLAB. Skriv i MATLABlambda13=fem.sol.lambda. Jämför med egenvärdena för hela cirkeln. Skriv i MATLAB förslagsvis [lambda12 lambda13]. Gör sedan motsvarande undersökning av en halvcirkel, en kvartscirkel och eventuellt en trekvartscirkel. Studera lösningen av övning S.15. Se även nedre halvan av sidan 313. Hur förändras egenvärdena då man skär av ett segment av cirkeln? Vilka samband finns mellan egenvärdena/egenfunktionerna för hel- och halvcirkeln, för hel-, kvarts- eller trekvartscirkeln? Är några egenvärden gemensamma? I så fall vilka? Anm: Problemet med det avskurna segmentet kan ses som en matematisk idealisering av ett svängande trumskinn, där man lagt trumpinnen på trumman. Att egenvärdena och därmed egenfrekvenserna ökar då man lägger på trumpinnen kan förklaras med Rayleighkvoten. Det minsta egenvärdet λ 1 är λ 1 = min u D A R A (u) = min u D A (u Au)/(u u). Då man lägger på trumpinnen inför man ytterligare bivillkor under pinnen. Detta innebär att definitionsmängden D A minskar och således att minimivärdet ökar. Samma sak gäller sen för det näst minsta egenvärdet osv. 9

14. Extrauppgift. Kan man lyssna sig till formen på en trumma? Vi tänker oss en trumma som ett membran Ω, inspänt i en plan ram av någon form Ω. Dess svängningsrörelse antas beskrivas av vågekvationen u tt c 2 u = 0 i Ω med randvillkoret u = 0 på Ω. Att bestämma u som uppfyller differentialekvation och randvillkor är exempel på ett direkt problem. Detta står i motsats till inversa problem, där modellen inte är fullständigt känd, men där man istället har information om lösningarna i olika situationer. Problemet kan sedan vara att ur sådan information dra slutsatser om modellen, tex koefficienter i differentialekvationen eller geometrin hos ett område. Kursen handlar bara om direkta problem, men inversa spelar en allt viktigare roll i praktiken (tex tomografi inom medicinen, icke-förstörande mätningar inom materialteknik, etc.) Ett exempel på ett inverst problem är det i rubriken. Genom spektralanalys av ljudet från en trumma kan man bestämma egenvärdena för Laplaceoperatorn med homogena Dirichletvillkor längs ränderna. Räcker denna information för att bestämma trummans form? Att svaret är nej visades relativt nyligen. Ett motexempel, bestående av två olika trumformer med samma egenvärden, finns i filerna trumma1.fl och trumma2.fl som du hämtat från kursens hemsida. I stället för att rita områdena klickar du på Open och väljer först trumma1.fl. Beräkna de 20 första egenvärdena. (Genom att klicka på knappen Solver Parameters öppnas ett fönster där du rekommenderas att bocka för Adaptive mesh refinement.) Exportera egenvärdena till MATLAB under lämpligt namn. Gör sedan samma sak med trumma2.fl. Välj ett annat namn vid exporten till MATLAB. Jämför egenvärdena i MATLAB. De stämmer inte exakt, men nästan. Förfina indelningen, och konstatera att man får allt bättre överensstämmelse. Titta också på några 3d-plottar, och se hur Naturen skapar egenfunktioner. 15. Akustiska resonansfrekvenser i ett rum. Vi ska räkna på det rum som förekommer i exempel 3.15 i boken. COMSOL bestämmer de första av de egenvärden som anges nederst på sidan 110. Dessa egenvärden räknar MATLAB ut med hjälp av filen eigenvalues.m som du har hämtat från kurshemsidan. Ge i MATLAB kommandot w=eigenvalues och du får de exakta egenvärdena att jämföra COMSOLs räkningar med. 10

Börja som vanligt med File, New. När COMSOL startat om väljer du 3D, +COMSOL Multiphysics, +PDE Modes, +PDE, Coefficient Form och Eigenvalue analysis. Gå vidare till OK. Klicka på ikonen Block och fyll i X = 4.7, Y = 4.1 och Z = 3.1. Jämför med rummet i exempel 3.15. Klicka sedan på Zoom Extents. Se till att du får homogena Neumannvillkor på alla randdelar (Physics, Boundary Settings..., markera områdena 1-6 och välj Neumann boundary conditions). Klicka sedan på Initialize Mesh och Solver Parameters. Inom ramen Eigenvalue fyller du i Desired number of eigenvalues: 15 Search for eigenvalues around: 1e-5 Avsluta med OK och lös nu problemet via =. Exportera egenvärdena till MATLAB via File, Export,FEMStructure. Skriv i MATLABlambda=fem.sol.lambda och [w(1:15) lambda]. Verkar COMSOL ha räknat rätt? Det kunde varit intressant att räkna på ett möblerat rum också. Men tiden räcker inte till. Om du vill läsa om vad som sker kan du klicka påhelp ochhelp Desk. VäljCOMSOL Multiphysics, Model Library, Acoustics Models och Eigenmodes of a Room. Läs där och du får kanske en aning om var högtalarna ska placeras. 6 Svängande sträng 16. Extrauppgift. Vi ska här använda COMSOL för att studera en svängande sträng utan yttre krafter. Se läroboken sidorna 17-19 och 32. För enkelhets skull förutsätter vi att strängen har längden 1 och att kvoten S ρ l mellan spännkraften och längddensiteten är 1. Vågekvationen blir då u tt u xx = 0, 0 < x < 1,t > 0 Som begynnelsevillkor använder vi { u(x,0) = (θ(x 0.4) θ(x 0.6))cos 2 5π(x 0.5), 0 < x < 1 u t (x,0) = 0, 0 < x < 1 Vi ska studera två typer av randvillkor nämligen de som förekommer i övningsuppgift 3.30. Strängen är fast inspänd i båda ändarna. I COMSOL börjar du med File, New och sparar ej. Klicka sedan på 1D, +COMSOL Multiphysics, +PDE Modes, +Classical PDEs, Wave Equation och OK. Ändra först området. Arbetsordning: Options,Axes/Grid Settings...,x min: -0.05 och x max: 1.05. Rita sedan intervallet 0 x 1 genom Draw, Draw Objects och Line. Klicka på x = 0 och för med vänster musknapp nedtryckt musen tillx = 1. Släpp där och linjen är klar. Vi ska nu ställa in de fysikaliska förutsättningarna. Börja med Physics, Subdomain Settings... Markera 1 under Subdomain selection. Välj först fliken Coefficients och ändra där f till 0. Klicka sedan på fliken Init. Markera området 1 och för u(t 0 ) anger du 11

((x>0.4)-(x>0.6)).*(cos(5*pi*(x-0.5))).^2 Hastigheten u t är redan klar. Ange sedan randvärdena. Arbetsordning: Physics, Boundary Settings..., markera både 1 och 2 i rutanboundary selection och väljdirichlet boundary condition. Avsluta medok. Dela nu in intervallet i småintervall. Klicka en gång på Initailize Mesh och fyra gånger pårefine Mesh. I nedre vänstra hörnet ser du att du har 240 element. Klicka på Solver Parameters. Inom rutan General ändrar du Times till 0:0.05:2. Tryck påok och sedan =. När lösningen är klar klickar du på Plot Parameters och väljer fliken Animate. Avsluta medstart Animation. Vänta och observera. Strängen är fast inspänd i vänstra ändpunkten men fri i den högra. Randvillkoren preciseras närmare i övning 3.30 b. I COMSOL behöver du bara ändra två saker. Först ändrar du till homogent Neumannvillkor då x = 1. Sedan ändrar du Times inom rutan Time stepping till 0:0.05:4. Annars får du bara se en halv period. Lös sedan problemet och animera lösningen som ovan. Förberedelser: Namn: 1. Skriv upp definitionen av egenvärde och egenfunktion till en differentialoperatora. 2. Skriv upp egenfunktioner och egenvärden till Legendres differentialoperator A u = d dx (1 x2 ) du dx, I = ( 1,1), D A = { u C 2 (I) u begränsad på I } 12

3. Repetera exempel S.3, sidan 334 i boken. Enligt detta exempel är Besselfunktionerna J 0 (α 0k r) egenfunktioner till den singulära Sturm-Liouvilleoperatorn A u = 1 r (ru ) D A = { u C 2 [0,1] u begränsad nära 0, u(1) = 0 }. Ange en skalärprodukt i vilken funktionerna J 0 (α 0k r) är ortogonala. 4. Skriv i tabellen in egenvärden och egenfunktioner enligt resultatet på sidan 337. Nollställen α nk hittar du antingen på sidan 6 i formelsamlingen eller på sidan 175 i övningsboken. Skriv in egenvärdena i växande ordning med det största längst ner. λ (numeriskt värde) n k Egenfunktioner 0 1 J 0 (α 01 r) J 1 (α 11 r) cos θ sinθ 13