Также смотрите другие статьи серии "Как визуализировать и анимировать (геофизические) модели":
- Вводная статья со списком используемого программного обеспечения
- Показываем исходные данные
- 3D анимация и визуализация 4D данных
- Информативность визуализации
- Воксельные модели и сетчатые поверхности
Для визуализации анимированных 3D результатов без симуляции реальных процессов используются различные эффекты прозрачности и движения. При выполнении 3D симуляции — моделировании динамических процессов — нам необходимо уметь показывать 4D результаты. Когда анимированный результат визуально достаточно близок к результату симуляции, его нередко так и называют; в любом случае, во избежание ошибочной трактовки результатов необходимо ясно указывать используемые для визуализации данные и методы.
Примеры
Симуляция потока воды (от разрушенной дамбы) с помощью фреймворка моделирования Mantaflow:
Симуляция затопления территории с учетом рельефа с помощью Mantaflow:
Анимация заполнения магмой камер вулкана встроенными средствами ParaView:
Видео с главной страницы проекта — симуляция торнадо в Mantaflow:
Увы, мне не удалось узнать подробностей реализации этой симуляции у автора проекта Mantaflow. По заголовку видео "Guided fluid simulation with mantaflow — hi-res tornado" понятно, что для воспроизведения этой симуляции нужно начинать с примеров guided hi-res симуляции (входят в состав фреймворка).
Подготовка исходных данных
Mantaflow использует моделирование уравнений Навье-Стокса вместо использования популярных аппроксимаций. Кроме того, поддерживается загрузка mesh-файлов в формате .obj — в свою очередь, ParaView умеет сохранять данные в этом формате.
Для симуляции создадим в ParaView конус, который сохраним в файл obj и загрузим в модель Mantaflow. Задавая источник жидкости на требуемой высоте, мы получаем возможность моделировать прорыв дамбы и обтекание конуса этим потоком.
Для более реалистичной симуляции нам необходим рельеф, который можно загрузить в ParaView средствами N-Cube ParaView plugin for 3D/4D GIS Data Visualization и сохранить в файл .obj. Этого достаточно для симуляции затопления территорий в случае наводнения или цунами.
Примечание: поскольку 4D датасеты имеют большой объем, нет возможности выложить их на GitHub.
Визуализация в ParaView
Чтобы показать результаты симуляции в ParaView, файлы данных должны быть сохранены с последовательной нумерацией вида ...0001.vtk (равно как 000001 и т.п.). Загрузив любой один из файлов серии в ParaView и выбрав в контекстном меню Reload Files -> Find New Files мы получаем готовый к использованию 4D датасет. Используйте Animation View в ParaView для выбора шага анимации и добавлении анимационных эффектов при необходимости.
Для анимации модели вулкана достаточно использовать Animation View в ParaView для задания временной функции прозрачности и заливки модели. Ссылка на GitHub репозиторий с исходными данными приведена в конце статьи.
Ссылки
ParaView project for Rinjani and Tambora volcanoes area, Indonesia — GitHub репозиторий с геологическими моделями вулканов Риджани и Тамбора.
God_root
Есть симуляция двигателя внутреннего сгорания? Чтобы по физике частицы бензина впрыскивались, от свечи взрывались и по физике толкали поршень туда сюда, а коленвал крутило тоже по физике. На выходе тоже частицы должны вылетать из выхлопной трубы. И всё это расширяется и сужается от перегревов и трений.
N-Cube Автор
Задаете в mantaflow внутреннюю конфигурацию цилиндра и симулируете процесс сгорания топлива, при этом двигая границу, соответствующую поршню. Коленвал и прочая механика к симуляции потоков вообще отношения не имеет.