260 likes | 461 Views
Skyt ikkje spurv med kanon! - Bruk adaptiv grid-forfining!. Ragnhild Blikberg Parallab/ Institutt for informatikk Universitet i Bergen. Oversikt. Kva er adaptiv gridforfining (AMR)? AMR-algoritme AMRCLAW SWE + AMRCLAW på 2 testeksempel Effektivitet og kostnader ved AMR Konklusjon
E N D
Skyt ikkje spurv med kanon! - Bruk adaptiv grid-forfining! Ragnhild Blikberg Parallab/ Institutt for informatikk Universitet i Bergen
Oversikt • Kva er adaptiv gridforfining (AMR)? • AMR-algoritme • AMRCLAW • SWE + AMRCLAW på 2 testeksempel • Effektivitet og kostnader ved AMR • Konklusjon • Framtidig arbeid
Kva er adaptiv gridforfining (AMR)? • Når ein løyser PDL numerisk, kan trongen etter fin oppløysing variere frå delområde til delområde. • For å oppnå høg nøyaktigheit ved eit uniformt grid, er det difor nødvendig å ha den finaste oppløysinga som trengst i heile området. • Dette krev mykje reknearbeid!
Kva er adaptiv gridforfining (AMR)? • I AMR vert cellene i områda som treng det forfina og nye gridpunkt vert gruppert saman i mindre rektangulære gridlappar. • Etter som tida går, vert nye gridlappar generert eller fjerna alt etter kvar det er nødvendig med fin oppløysing. • På denne måten kan reknearbeidet reduserast samstundes som nøyaktigheita vert tatt vare på.
AMR-algoritmen • For grid på nivå L = 1 : LN • Kvart K-te tidssteg • Viss Feil(celle) > Tol, Flagg(celle) • Flagg(buffersone rundt flagga celler) • Organiser flagga celler i gridlappar • Forfin i x- og y-retn. med faktor R(L+1)
AMR-algoritmen • Integrer griddet på nivå L = 1 over 1 tidssteg dt • For alle grid på nivå L = 2 : LN • Integrer over RL tidssteg dt/RL • Oppdater grovt grid
AMR-algoritmen • FVM er nytta for å propagere løysinga i tid på alle grid-nivå. • Kvar variabel vert oppdatert av ein fluks-differanse algoritme. • Spesielle omsyn vert teke på grensa mellom fint og grovt grid for å framleis ha konservering.
AMRCLAW • Fritt tilgjengeleg softwarepakke i Fortran 77 som gjer AMR for ditt problem. • Resultat av Marsha Berger sine AMR-algoritmar og Randy LeVeque sin CLAWPACK.
Kva må ein sjølv gjera i AMRCLAW? • Gje input parameter • Initialisering • Spesifisera randkrav • Skriva Riemann-løysar • ...
AMRCLAW på gruntvasslikningane (SWE) • 20km x 20km kvadratisk basseng fylt med vatn • Faste veggar med ”no-slip” vilkår • Flat botn utan friksjon • Jamvektsdjupn = 200m
Test 1: Skrå bølgje • Ville samanlikna uniformt fint grid der nx = ny = 128 med 3-nivå forfina grid der nx = ny = 32 på det grovaste nivået. • Tol = 0.01, RL = 2, K = 3, b = 2
Test 1: Skrå bølgje AMR oppførte seg rimeleg, men • Gridlappane vart ikkje nødvendigvis symmetriske om diagonalen fordi om strøyminga var det. • Etter at bølgja vart returnert, vart anten alt eller ingenting forfina. • I slike tilfeller er ikkje AMR tenleg!
Test 2: Rett bølgje • Samanliknar uniformt fint grid der nx = ny 120 med 3-nivå forfina grid der nx = ny = 30 på det grovaste nivået. • Tol = 0.01, K = 3, RL = 2, b = 2
Test 2: Rett bølgje Varierer så Tol og K og samanliknar ved t = 3600s. Observasjonar • Inga faseforskyving • Diffusiviteten aukar med Tol • Tilsynelatande ingen oscillasjonar • Volum er konservert
Test 2: Rett bølgje Lærte dette: • Speedupen aukar når K aukar • Ingen skilnad i nøyaktigheit for K = 1, 2, 3 • Nøyaktigheita varierer veldig med Tol
Effektivitet Totalt antall gridpunkt AMR Eff = CPU-tid AMR . Totalt antall gridpunkt uni CPU-tid uni
Kostnader med AMR • Storparten av ekstra-arbeidet med AMR går med til å generere og fjerne gridlappar.
Andre metodar • FEM+implisitt i tid: slepp å approksimere randkrav på fint grid • Moving mesh: Fast antall gridpunkt som flyttast etter behov
Konklusjon • AMR gir gevinst for dei rette problema • Korrekt val av parameter er viktig for nøyaktigheit og effektivitet • Arbeidet ved å bruka AMRCLAW ligg i å laga Riemann-løysar
Framtidig arbeid • Parallellisere AMRCLAW ved hjelp av eigenutvikla nesteteknikkar og OpenMP.