Псевдоспектральний метод Фур'є та чисельне розсіювання


9

Проведення прямого чисельного моделювання ізотропної турбулентності псевдоспектральним методом Фур'є (Orzag & Patterson, PRL, 1972) за допомогою FFT. Для ознайомлення з методом, який широко використовується в турбулентній спільноті, ви можете ознайомитись з цим курсом: http://www.math.ualberta.ca/~bowman/m655/lab3d.pdf

Використовуючи т. Зв 2/3 правила дезаліювання, які складаються з виконання

у^(к,т)=0              if   к>23кМАХ
де т час, к - число хвилі, кМАХ - максимальне число хвиль і у^ - спектральна амплітуда швидкості.

Чи діє дезаліювання як чисельне розсіювання? Іншими словами, чи є витік енергії через дезактивацію?


Незрозуміло, що задає ваше запитання. Не могли б ви уточнити?
Джефф Оксберрі

А зараз ?
ucsky

Відповіді:


6

Ослаблення згортки не діє як числове розсіювання. Насправді, енергія зберігається лише в тому випадку, якщо ви виганяєте з-поміж інших терміни.

Ідея ослаблення згортків на основі FFT полягає в тому, щоб позбутися зайвих термінів, які додає FFT. Звиток - це лише сума, і ви можете обчислити її, просто обчисливши суму. Однак це дійсно повільно, тому краще Фур’є перетворити входи і помножити результат, а потім перевернути перетворення Фур'є, що, за теоремою згортання, те саме, що і згортка.

Але теорема про згортання працює лише тоді, коли входи мають нескінченну довжину; для вводів кінцевої довжини відображаються додаткові терміни (псевдоніми), які не є фізичними. Сенс помилки - повернути початкове рівняння, яке ви намагалися обчислити, при цьому все ж дозволяючи використовувати FFT для прискорення обчислення.


Малкольм не згадував бібліотеку FFTW ++, яку він створив у співавторстві, але це допомагає вам швидко виконувати деаліазовані згортки, маніпулюючи неявкою (серед іншого). Дивіться fftwpp.sourceforge.net .
Меттью Емметт

О так, дякую Метт! Процедури згортки в FFTW ++ дійсно знижують витрати на обчислення віддалених згортків. Є посилання на сторінку sourceforge та інше на мою веб-сторінку. Я працював над ними з Джоном Боуманом, чия лабораторія 3D турбулентності пов'язана в ОП.
Малькольм

4

Розуміння того, що робить помилковим, вимагає розуміння того, чому ви приймаєте FFT в першу чергу. Для мене метод підходу зважених залишків забезпечує найпростіші рамки:

  1. Ви розширюєте рішення як суму режимів Фур'є і опускаєте його в рівняння Нав'є - Стокса. Ваші тестові функції також є основою Фур'є.
  2. Коли ви помножите пробні та тестові функції разом і візьмете внутрішній продукт (тобто інтегруєте з відповідною кон'югацією), ви побачите, що у вас є один інтеграл, який ви не можете просто оцінити, оскільки він нелінійний.
  3. Ви можете наблизити цей інтеграл, використовуючи єдину квадратурну схему, де ви просто підсумовуєте значення в рівномірних точках колокації.
  4. Зверніть увагу, що ваша квадратура є точною для квадратичної нелінійності, якщо ви використовуєте в 1,5 рази більше точок квадратури, ніж у режимах Фур'є. Це фактор три половини.
  5. Нарешті, зауважте, що квадратура може бути ефективно обчислена як FFT.

Всю магію FFT можна розглядати як ефективну, приблизну квадратурну схему, яку можна точно визначити для квадратичних нелінійностей. Інші химерні варіанти грають інші хитрощі, щоб зробити квадратуру точною для того ж класу нелінійностей.

Тож, щоб відповісти на ваше запитання, недооцінка не додає розсіювання. Це можна побачити, оскільки кожен крок процедури був точним.


1

@Malcolm дав експертне пояснення зменшення сум згортки на основі FFT. Однак моя інтуїція підказує, що це все ще не повна відповідь, яка потрібна, але я дам ще кілька речень, які відображають мою власну боротьбу за розуміння чисельних методів.

Відключення не діє як числове розсіювання, але воно робить те ж саме, що і числове розсіювання - заважає вашому моделюванню підірватися.

Як ваша імітація підірвана?

Відбувається нефізична передача енергії від високої до низької хвильових чисел, що спричиняє, спочатку нестабільність (часто супроводжується симптомом - 2х хвиль, відстань вузла h-сітки, найменші хвилі, які можуть бути представлені в сітці).

Причиною цього є зведення високих чисел хвиль до тих низьких хвиль чисел, які можуть бути представлені сіткою. Це викликає "спектральне блокування" - нефізичне збільшення амплітуд (енергії зчитування) високих хвиль чисел, що погіршується, коли ви наближаєтесь до верхньої межі представлених хвиль чисел.

Перший засіб захисту (Philips, 1959): відфільтруйте або зробіть рівну нулю верхню половину представленого спектру хвильового числа.

Другий засіб захисту (Orszag, 1971): Засіб, відомий як правило Дві третини Оршага. Стівен сказав, що "відфільтровувати половину хвиль чисел - це марно, ми повинні тримати 2 / 3N і відфільтрувати лише верхню 1/3".

Висновок.

Наші симуляції іноді мають тенденцію до вибуху. Якщо ви живете у другому порядку, всесвіті з кінцевим обсягом (як це робив автор цих рядків) і нічого не знаєте про Спектральні методи, вони говорять вам "О, як симуляція вибухає? Спробуйте скористатися вітром першого замовлення замість центральної схеми, або змішайте Ваша центральна схема з 10% вітрового вітру при відкладеному підході до виправлення. Це додасть розсіювання, але не дозволить вашому моделюванню підірватись! О, ви робите LES? Тоді вам не слід використовувати вітер, якщо ви не виконуєте ILES, використовуйте просто центральної схеми і Смагоринський буде моделювати фізичне розсіювання, що відбувається на найнижчих масштабах ". Якщо ви живете у Всесвіті Спектральних Методів, Ви дізнаєтесь, як відбувається нефізична передача енергії, і Ви знайдете засіб, що не дає змоги виконувати Правила Дві третини або "набивання".

Моє натхнення на цю посаду - чудова книга Дж. Бойда "Спектральні методи Чебишева та Фур'є", розділ 11.

Моя порада:

Дійте фізично чи спектрально, але думайте спектрально! (Перефразовуючи загальновідоме "Мисліть глобально, дійте локально".)


1

Немає витоку енергії, пов'язаного з "деалінізацією", але є витік енергії, пов'язаний із усіченням, який завжди виконується з ослабленням або без нього. Дозволь пояснити:

якщо у вас є дві функції f і g , обидві мають спектральний вміст до режиму k , продукт fg матиме спектральний вміст до режиму 2k . Однак ви не хочете, щоб спектральний вміст вашого представлення подвоювався на кожному етапі. Значить, ви хочете підрізати продукт fg до перших режимів k . Роблячи це, ви втрачаєте енергію, що міститься в режимах вище k .

Відключення (або антизбудження) гарантує, що режими до k є правильними у поданні fg , але не режими, більші за k , тому що в будь-якому випадку вони будуть відкинуті.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.