K2/Bt2 - TMK: Tillämpad matematik K (TMA 682) - 2003/2004
Datorstudioövning 4: Kvadratur i 2D. Massmatris.
I denna laboration skall du komplettera en Matlabkod, som assemblerar
en massmatris i 2D. Starta laborationen med att ladda hem filen
MassMatrix2D.m till din hemkatalog. Starta sedan Matlab.
En triangulering av enhetskvadraten kan t.ex. ges enligt: >> p = [0 .5 1 0 .5 1 0 .5 1; 0 0 0 .5 .5 .5 1 1 1]; >> t = [1 2 1 2 4 5 5 4; 2 3 5 6 5 6 9 8; 5 6 4 5 8 9 8 7; 1 1 1 1 1 1 1 1]; >> pdemesh(p,[],t);Uppgiften är att assemblera en massmatris i 2D på denna triangulering m.h.a. det givna programskalet. Du behöver färdigställa en rutin som beräknar elementmassmatrisen. Tips: räkna ut massmatrisens integraler på ett referenselement med hörn i (0,0), (h,0) och (0,h) först. Börja med att skriva upp analytiska uttryck för de linjära basfunktionerna, som finns på detta element. Beräkna sedan analytiskt de integraler som ingår i massmatrisen. OBS: detta kunde lika gärna gjorts med mittpunktskvadratur i 2D. Assemblering i 2D fungerar i princip på samma sätt som i 1D. Varje triangel ger integralbidrag, vilka adderas till den globala massmatrisen, genom sk. assemblering. De matriselement, som får bidrag från en given triangel, är naturligvis de vilka motsvarar triangelns noder. Efter att ha kompleterat koden assembleras massmatrisen med: >> M = MassMatris2D(p,t,h)där h = 0.5 är trianglarnas sidlängder. Kontrollera om M(5,5) = 1/8 och M(1,2) = 1/96, vilket är de exakta värdena.
Lycka till!
|
Editor: Georgios Foufas Last modified: 2002-09-27 |