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

Написание моделирования турбулентности в Julia

Machine Learning & Simulation

0:00 / 0:00

Написание моделирования турбулентности в Julia

8 320 просмотров · 4 г. назад
Machine Learning & Simulation
34,6 тыс. подписчиков
8 320 просмотров · 4 г. назад
Большинство инженерных гидродинамических симуляций в вычислительной гидродинамике являются турбулентными. Турбулентность — сложное явление, вызванное нелинейностью уравнений Навье-Стокса. Тем не менее, она также очень красиво выглядит. Давайте напишем простой решатель на Julia: https://github.com/Ceyron/machine-lea... Мы используем подход, основанный на алгоритме Stable Fluids (Стабильные жидкости) Йоса Стэма, который вы, возможно, видели в одном из других видео на канале: Реализация классического алгоритма Stable Fluids на Python с использованием NumPy:    • Stable Fluids implemented in Python/NumPy   Модификация решателя, использующая БПФ для периодических областей в Julia:    • Stable Fluids using the FFT in Julia | Flu...   Расширение решателя БПФ на Julia для трёхмерного пространства:    • Extending the Stable Fluids Algorithm with...   Течение Колмогорова определяется стратифицированной силой, которая создаёт движение жидкости в противоположных направлениях по слоям. Эти слои создают высокие сдвиговые напряжения на границах раздела, что приводит к разрушению турбулентности в определённой точке. С этого момента жидкость ведёт себя в соответствии с изотропной турбулентностью. Настройка и цветовая гамма вдохновлены этой потрясающей статьей: https://www.pnas.org/doi/10.1073/pnas... ------- 📝: Загляните в репозиторий канала на GitHub, куда я выкладываю все рукописные заметки и файлы исходного кода (вклад очень приветствуется): https://github.com/Ceyron/machine-lea... 📢: Подписывайтесь на меня в LinkedIn или Twitter, чтобы быть в курсе новостей канала и других интересных материалов о машинном обучении и моделировании:   / felix-koehler   и   / felix_m_koehler   💸: Если вы хотите поддержать мою работу над каналом, вы можете стать спонсором Patreon здесь:   / mlsim   ------- Временные метки: 00:00 Введение 01:21 Моделирование течения по Колмогорову 02:50 Подробности моделирования устойчивых жидкостей 04:01 Совет по FFMPEG 04:17 Импорт 04:51 Определение констант 06:20 Создание сетки 08:51 Подготовка волновых чисел 12:51 Предварительный расчёт диффузионного затухания 13:32 Предварительный расчёт нормализованных волновых чисел 14:43 Предварительный расчёт массива сил 15:37 Предварительное выделение массивов 17:54 Подготовка временного цикла 18:17 (1) Применение сил 18:35 (2) Обратный след по линии тока 21:00 (2) Интерполяция с обратным следом Координаты 23:20 (3) Первая стабилизация 24:12 (4.1) Преобразование в область Фурье 24:38 (4.2) Диффузия в области Фурье 25:31 (4.3) Вычисление давления по дивергенции в области Фурье 26:24 (4.4) Проекция скоростей на несжимаемость 26:56 (4.5) Преобразование обратно в пространственную область 28:16 (5) Другая стабилизация 28:17 (6) Продвижение во времени 28:52 Вычисление вихря в области Фурье 29:55 Подготовка визуализации с помощью Plots.jl 33:33 Усиление вихря 34:45 Исправление ошибок 37:33 Запуск моделирования 39:09 Создание фильма с помощью FFMPEG 40:18 Обсуждение фильма моделирования 41:08 Коррекция приложения силы 41:58 Не стесняйтесь вносить свой вклад. 42:26 Заключение