Перейти к содержимому

Решатель 3D псевдоспектральных уравнений Навье-Стокса на языке Julia

Machine Learning & Simulation

0:00 / 0:00

Решатель 3D псевдоспектральных уравнений Навье-Стокса на языке Julia

5 815 просмотров · 4 г. назад
Machine Learning & Simulation
34,6 тыс. подписчиков
5 815 просмотров · 4 г. назад
Это видео — перевод статьи Мортенсена и Лангтангена «Spectral-DNS in Python». Мы решим задачу моделирования турбулентности вихря Тейлора-Грина на языке Julia, используя трехмерный псевдоспектральный решатель с помощью быстрого преобразования Фурье (БПФ). Вот код: https://github.com/Ceyron/machine-lea... Быстрое преобразование Фурье позволяет очень эффективно вычислять уравнения Навье-Стокса движения жидкости при наличии периодических граничных условий. Это позволяет нам проводить прямое численное моделирование турбулентности для простых (искусственных) сценариев. Здесь мы рассмотрим хорошо известный случай в вычислительной гидродинамике: трехмерный вихрь Тейлора-Грина. В ходе моделирования мы увидим несколько стадий турбулентности. ------- 📝: Загляните в репозиторий канала на GitHub, где я выкладываю все рукописные заметки и файлы исходного кода (вклад приветствуется): https://github.com/Ceyron/machine-lea... 📢: Следите за обновлениями канала и другими интересными материалами по машинному обучению и моделированию в LinkedIn или Twitter:   / felix-koehler   и   / felix_m_koehler   💸: Если вы хотите поддержать мою работу над каналом, вы можете стать патроном здесь:   / mlsim   ------- Временные метки: 00:00 Вступление 01:01 Сценарий: 3D Тейлор-Грин Вихрь 01:45 Многоступенчатый процесс 02:37 Псевдоспектральный алгоритм 09:47 Ссылка на код Python 10:06 Импорт 10:45 Определение констант моделирования 12:00 Шаблон основной функции 12:12 Создание сетки 13:48 Определение волнового числа 17:21 Задание начальных условий 18:51 Предварительное планирование быстрого преобразования Фурье 19:47 Предварительное выделение массива 22:25 Предварительное вычисление диссоциации 24:51 Шаблон временного цикла 25:12 (1) Вычисление ротора в Фурье-пространстве 25:48 Функция для вычисления векторного произведения 29:30 (1) продолжение 30:40 (2) Преобразование ротора в пространственную область (обратное БПФ) 31:52 (3) Вычисление «конвекции» в пространственной области 32:57 (4) Преобразование «конвекции» в область Фурье 33:35 (5) Деалиасинг высокочастотных компонентов 34:47 (6) Вычисление «псевдодавления» в области Фурье 35:58 (7) Сборка правой части в систему ОДУ в области Фурье 37:26 (8) Явное обновление шага Эйлера 37:55 (9+10) Преобразование обновленной скорости в пространственную область (обратное БПФ) 39:05 Визуализация: Стандартное условное выражение 39:33 Визуализация: Вычисление величины ротора 40:38 Визуализация: Подготовка Makie.jl 44:22 Визуализация: Обновление Makie.jl Сюжет 46:18 Бег и обсуждение 49:35 Заключение