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.
Börja med att triangulera området [0,1]x[0,1]. Trianguleringen består i Matlab av två matriser, p och t, vilka beskriver nodernas koordinater och konnektiviteten i meshen. I punkt-matrisen p står nodernas x- och y-koordinater i första och andra raden. I triangel-matrisen t innehåller de första tre raderna indexen till trianglarnas noder eller hörnpunkter, ordande moturs, och den fjärde raden ett domännummer.

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!

Tillbaka till kurshemsidan.


Editor: Georgios Foufas
Last modified: 2002-09-27