K2/Bt2 - TMK: Tillämpad matematik K (TMA 682) - 2003/2004
Datorstudioövning 3: 1DPoissonSolver.Dagens uppgift är att bygga ut programmet 1DPoissonSolver.m till en komplett FEM-lösare för stationära (dvs. tidsoberoende) reaktions-diffusionsproblem med Dirichlet- och Neumannrandvillkor i en rumsdimension:
Huvudmomenten i en FEM-kod är: 1. Meshgenerering dvs. skapa en partition av intervallet [a,b].Dessa steg är ofta implementerade på följande sätt: I. En meshgenerator delar in området i delintervall med längden h. I det endimensionella fallet är detta trivialt och görs i början av huvudprogrammet. Starta laborationen med att ladda hem filerna PoissonSolver1D.m och PoissonAssembler1D.m till ditt hembibliotek. Starta därefter Matlab.
Variationsformulera ekvation (1) tillsammans med homogena
Dirichletvillkor. Formulera FEM för denna ekvation.
Ansätt en lösningsapproximation
av styckvis linjära, kontinuerliga polynom. Härled det resulterande,
diskreta ekvationssystemet. Beräkna matriselementen för styvhets- och
massmatrisen i fallet med en uniform indelning av intervallet [a,b] i
steg med längden h.
Koden i PoissonSolver1D.m innehåller delar av rutiner för att assemblera och lösa det ekvationssystem du just härlett. Din uppgift är att, på de platser i koden där det står ???, komplettera denna så att problemet kan lösas fullständigt. Prova nu att lösa exemplet, som finns beskrivet i slutet av PoissonSolver1D.m. Det är mycket viktigt att testa ditt program genom att jämföra din beräknade lösning med den exakta lösningen, vilken är känd i detta fall.
Lycka till!
|
Editor: Fredrik Bengzon Last modified: 2003-09-11 |