Pseudo-spektralna metoda Fouriera i rozpraszanie numeryczne


9

Przeprowadzanie bezpośredniej symulacji numerycznej turbulencji izotropowej metodą pseudo-spektralną Fouriera (Orzag i Patterson, PRL, 1972) z wykorzystaniem FFT. Dla tła metody, która jest szeroko stosowana w społeczności turbulencji, możesz zobaczyć ten kurs: http://www.math.ualberta.ca/~bowman/m655/lab3d.pdf

Korzystanie z tak zwanych reguł do odwzajemnienia, które polega na wykonaniu gdzie to czas, \ mathbf {k} to numer fali, k_ {MAX} to maksymalna liczba fali i \ hat {u} to amplituda widmowa prędkości.2)/3)

u^(k,t)=0              jafa   k>2)3)kM.ZAX
tkkM.ZAXu^

Czy dealiasing działa jak rozproszenie liczbowe? Innymi słowy, czy z powodu dealiasingu jest wyciek energii?


Nie jest jasne, jakie jest twoje pytanie. Czy możesz to wyjaśnić?
Geoff Oxberry

co teraz ?
ucsky

Odpowiedzi:


6

Odwrócenie splotu nie działa jak rozproszenie liczbowe. W rzeczywistości energia jest oszczędzana tylko wtedy, gdy wyrzucisz aliasy.

Ideą odwracania splotów opartych na FFT jest pozbycie się dodatkowych terminów dodawanych przez FFT. Splot to tylko suma, którą można obliczyć, po prostu obliczając sumę. Jest to jednak bardzo powolne, więc lepiej przekształcić Fouriera na dane wejściowe i pomnożyć wynik, a następnie odwrócić transformatę Fouriera, która według twierdzenia o splotie jest tym samym co splot.

Twierdzenie o konwolucji działa jednak tylko wtedy, gdy dane wejściowe są nieskończonej długości; dla danych wejściowych o skończonej długości pojawiają się dodatkowe terminy (aliasy), które nie są fizyczne. Chodzi o odzyskanie pierwotnego równania, które próbujesz obliczyć, a jednocześnie pozwala ci użyć FFT do przyspieszenia obliczeń.


Malcolm nie wspominał o bibliotece FFTW ++, której jest współautorem, ale pomaga to w szybkim wykonywaniu rozkręconych splotów poprzez pośrednie obchodzenie się z dopełnieniem (między innymi). Zobacz fftwpp.sourceforge.net .
Matthew Emmett

O tak, dzięki Matt! Procedury splotu w FFTW ++ naprawdę zmniejszają koszty obliczania zdemontowanych splotów. Odnośnik znajduje się na stronie sourceforge i więcej na mojej stronie internetowej. Pracowałem nad nimi z Johnem Bowmanem, którego laboratorium turbulencji 3D jest powiązane w OP.
Malcolm,

4

Zrozumienie, co robi dealiasing, wymaga przede wszystkim zrozumienia, dlaczego bierzesz FFT. Dla mnie metoda ważonych reszt zapewnia najprostsze ramy:

  1. Rozwijasz rozwiązanie jako sumę trybów Fouriera i upuszczasz je do równań Naviera - Stokesa. Twoje funkcje testowe są również podstawą Fouriera.
  2. Kiedy pomnożymy funkcje testową i testową razem i weźmy iloczyn wewnętrzny (tj. Zintegrujemy z odpowiednią koniugacją), zobaczysz, że masz jedną całkę, której nie możesz po prostu ocenić, ponieważ jest ona nieliniowa.
  3. Całkę można przybliżyć w przybliżeniu za pomocą schematu jednolitej kwadratury, w którym po prostu sumuje się wartość w jednolitych punktach kolokacji.
  4. Zauważ, że twoja kwadratura jest dokładna dla nieliniowości kwadratowej, jeśli użyjesz 1,5 razy więcej punktów kwadratury niż w trybach Fouriera. Jest to współczynnik trzech połówek.
  5. Na koniec zauważ, że kwadraturę można skutecznie obliczyć jako FFT.

Całą magię FFT można traktować jako skuteczny, przybliżony schemat kwadraturowy, który może być dokładny dla kwadratowych nieliniowości. Inne warianty usuwania odgrywają inne lewy, aby kwadratura była dokładna dla tej samej klasy nieliniowości.

Tak więc, aby odpowiedzieć na twoje pytanie, dealiasing nie powoduje rozproszenia. Można to zobaczyć, ponieważ każdy krok procedury był dokładny.


1

@ Malcolm udzielił eksperckiego wyjaśnienia na temat rozliczania sum splotowych opartych na FFT. Moja intuicja podpowiada mi jednak, że wciąż nie jest to kompletna odpowiedź na @abberation, więc dam jeszcze kilka zdań, które odzwierciedlają moją walkę o zrozumienie metod numerycznych.

Dealiasing nie działa jak rozpraszanie numeryczne, ale działa tak samo jak rozpraszanie numeryczne - zapobiega wysadzeniu twojej symulacji.

Jak rozwija się twoja symulacja?

Istnieje niefizyczny transfer energii z wysokich do niskich liczb falowych, który powoduje najpierw niestabilność (często po nim objawia się - fale 2h, odległość węzłów h-grid, najmniejsze fale, które można przedstawić na siatce).

Powodem tego jest aliasing wysokich liczb falowych do tych niskich liczb falowych, które mogą być reprezentowane przez siatkę. Powoduje to „blokowanie spektralne” - niefizyczny wzrost amplitud (energii odczytu) wysokich liczb falowych, który pogarsza się w miarę zbliżania się do górnej granicy reprezentowanych fal falowych.

Pierwsze lekarstwo (Philips, 1959): odfiltruj lub zrównaj górną połowę reprezentowanego widma liczby.

Drugie lekarstwo (Orszag, 1971): Lekarstwo znane jako reguła dwóch trzecich Orszaga. Steven powiedział: „odfiltrowanie połowy liczb falowych jest marnotrawstwem, powinniśmy zatrzymać 2 / 3N i odfiltrować tylko górną 1 / 3N”.

Konkluzja.

Nasze symulacje czasami mają tendencję do wysadzenia w powietrze. Jeśli żyjesz we wszechświecie o skończonej objętości (podobnie jak autor tych linii) i nie wiesz nic o metodach spektralnych, powiedzą ci: „Och, twoja symulacja się rozwiewa? Spróbuj użyć wiatru wyższego rzędu zamiast schematu centralnego lub mieszać twój centralny schemat z 10% podmuchu wiatru w podejściu z odroczoną korektą. To doda rozproszenie, ale zapobiegnie wysadzeniu twojej symulacji! Och, robisz LES? Więc nie powinieneś używać podmuchu wiatru, chyba że wykonujesz ILES, użyj tylko centralny schemat, a Smagorinsky modeluje fizyczne rozproszenie, które zachodzi w najniższych skalach. ” Jeśli żyjesz we wszechświecie metod spektralnych, dowiadujesz się, jak zachodzi niefizyczny transfer energii, a lekarstwo na to można znaleźć w regule dwóch trzecich lub „wypełnianiu”.

Inspiracją do tego postu jest cudowna książka J. Boyda „Czebyshev and Fourier Spectral Methods”, część 11.

Moja rada to:

Działaj fizycznie lub spektralnie, ale myśl spektralnie! (Parafrazując dobrze znane „Myśl globalnie, działaj lokalnie”).


1

Nie ma wycieku energii związanego z „odwapnianiem” per se, ale występuje przeciek energii związany ze skracaniem, który zawsze jest wykonywany z odgazowaniem lub bez. Pozwól mi wyjaśnić:

jeśli masz dwie funkcje f i g , oba o zawartości spektralnej do trybu k , iloczyn fg będzie miał zawartość spektralną do trybu 2k . Jednak nie chcesz, aby zawartość widmowa twojej reprezentacji podwajała się na każdym kroku czasu. Dlatego chcesz skrócić produkt fg do pierwszych trybów k . W ten sposób tracisz energię zawartą w trybach wyższych niż k .

Dealiasing (lub antyaliasing) zapewnia, że ​​tryby do k są poprawne w reprezentacji fg , ale nie tryby większe niż k , ponieważ i tak zostaną odrzucone.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.