schnelles multipolverfahren { algorithmus · pdf fileschnelles multipolverfahren fast...
Post on 07-Feb-2018
220 Views
Preview:
TRANSCRIPT
Schnelles Multipolverfahren Raumunterteilung
Statische Unterteilung
Nahfeld: alle direkt angrenzenden Wurfel (Nachbarn) an den WurfelX (weiß).
Fernfeld: Kinder der Nachbarn des Vaters von X (rot). Bis zu 189Wurfel in 3D.
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 2 / 13
Schnelles Multipolverfahren Raumunterteilung
Adaptive Unterteilung:
Liste 1: Nahfeld, falls X kinderlos (weiß).
Liste 2: Interaktionsliste von X (rot).
Liste 3: Kinder von Nachbarn von X ohne gemeinsamen Punkt mitX (blau).
Liste 4: kinderlose Nachbarn des Vaters von X , nicht an Xangrenzend (gelb).
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 3 / 13
Schnelles Multipolverfahren Adaptive Listenbestimmung
Adaptive ListenbestimmungGegeben der Wurfel X .if X ist aus Level 0
Fuge X zur eigenen Nachbarnliste hinzu.else (d.h. wir sind mind. in Level 1)
do fur alle Nachbarn Y des Vaters von Xif Y ist ein Blatt
if X ist angrenzend an YFuge Y zu X ’s Nachbarnliste hinzu.if X ist ein Blatt
Fuge Y zu X ’s Liste 1 hinzu.end if
elseFuge Y zu X ’s Liste 4 hinzu.
end ifelse (d.h. Y ist nicht kinderlos)
do fur alle Kinder Z von Yif X ist wohlsepariert von Z
Fuge Z zu X ’s Liste 2 hinzu.else
Fuge Z zu X ’s Nachbarn hinzu.Prufe, ob Z oder Z ’s Kinder (falls existent)zu Liste 1 oder 3 von X gehoren (Testen, ob angrenzend).
end ifend do
end ifend do
end if
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 4 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
Fast Multipole Algorithmus –Initialisierung
Gegeben: Punktemenge xi ∈ S2R,ext, i = 1, . . . ,N; Koeffizienten ai ,i = 1, . . . ,N; Parameter h des Singularity-Kerns, Radius R.Berechnet werden soll die Summe
F =N∑i=1
aiKH(xi , ·).
An einer weiteren Menge von Punkten yj ∈ S2R,ext, j = 1, . . . ,M, soll dieSumme ausgewertet werden.Festgesetzt wird der Grad der Multipolentwicklung p, die maximale AnzahlPunkte s pro Wurfel bei adaptiver Zerlegung oder der maximale Level Lim statischen Fall.
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 5 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
Berechne die Zielpunkte, d.h. die Kelvin transformierten Punkte mit demFaktor h:
hyKTj = h
R2
|yj |2yj , j = 1, . . . ,M
Suche Bounding Box, die alle Punkte und Zielpunkte enthaltErstelle Octtree (Adaptiv/statisch) und sortiere alle Punkte sowieZielpunkte ein.Setze L als maximalen Level (falls nicht bereits vorgeschrieben).Eliminiere alle leeren Wurfel.Bestimme Nachbarn und Interackionsliste bzw. Liste 1 bis Liste 4.Reserviere Speicher fur die verschiedenen Entwicklungskoeffizeinten einesjeden Wurfels X : Multipolentwicklung mit Koeffizientenvektor MX , lokaleEntwicklung mit Koeffizientenvektor LX .do fur alle Level l = 0, . . . , L
Erstelle Liste aller Wurfel des Levels l .end do
Sammle alle Blatter in einer Liste.
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 6 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
Fast Multipole Durchlauf
do for level l = 0, . . . , Ldo for each cube X of level l
Setze MX , LX auf 0.end do
end doSetze Ergebnisvektor F auf 0.
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 7 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
1. Generieren der Multipol-Koeffizienten(P2M) und M2M
do fur alle Blatter XBerechne die Multipol-Koeffizienten MX der Multipol-Entwicklungbis zum Grad p mit dem Zentrum von X als Entwicklungspunkt ausden Punkten in X .
end dodo fur Level l = L− 1, . . . , 2
do fur alle Wurfel X des Levels lVerschiebe die Multipol-Koeffizienten der Kinder von X nach Xselbst durch Rotieren der Entwicklung auf die ε3-Achse,dann Verschieben und schließlich die Anwendung der inversenRotation.
end doend do
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 8 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
2. Interaktionsphase fur Liste 4 (P2L)
do fur Level l = 2, . . . , Ldo fur alle Wurfel X des Levels l
do fur alle Wurfel Y der Liste 4 von Xif die Anzahl der Zielpunkte in X ≤ p2 und X ist ein Blatt
Benutze die direkte Kernauswertung fur den Anteil derPunkte in Y und addiere das Ergebnis an denZielpunkten in X zu F .
elseBerechne die Entwicklungskoeffizienten einer innerharmonics Entwiccklung um das Zentrum von X ausden Punkten in Y und addiere sie zu LX .
end ifend do
end doend do
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 9 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
3. Multipol zu Lokal Translation (M2L)
do fur Level l = 2, . . . , Ldo fur alle Wurfel X des Levels l
do fur alle Wurfel Y der Liste 2 von XBenutze die M2L-Translation mit Hilfe von Rotationen umdie Koeffizienten MX nach Y zu verschieben,addiere die Resultate zu LY .
end doend do
end do
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 10 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
4. Translation der inner harmonicEntwicklungen (L2L)
do for level l = 2, . . . , L− 1do fur alle Wurfel X des Levels l
Verschiebe die lokalen Koeffizienten LX in die Kinder von X(falls vorhanden) durch Rotation der Entwicklung auf dieε3-Achse, dann Translation und inverse Rotation.Addiere the resultierenden Koeffizienten zu LZ , wobeiZ das zugehorige Kind von X ist.
end doend do
M. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 11 / 13
Schnelles Multipolverfahren Fast Multipole Algorithmus
5. Auswertung der Entwicklungen (L2T,M2T)/direkte Interaktion (P2T)
do fur alle Blatter XWerte die inner harmonics Entwicklung von X an allen Zielpunkten in X aus.Speichere das Resultat in F .do fur alle Wurfel Y in Liste 1 von X
Addiere die direkte Auswertung des Kernsummenanteils derPunkte in Y an den Zielpunkten in X zu F .
end dodo fur alle Wurfel Y in Liste 3 von X
if Anzahl der Punkte in Y ≤ p2 und Y ist ein BlattBenutze die direkte Kernauswertung fur den Anteil derPunkte in Y und addiere das Ergebnis an den Zielpunkten in X zu F .
elseWerte die Multipol-Entwicklung um das Zentrum von Y (mit denKoeffizienten MY ) an den Zielpunkten in X aus.Addiere das Ergebnis zu F .
end ifend do
end doM. Gutting (Uni Siegen) FMM Algorithmus Dezember 2016 12 / 13
top related