Решение уравнений Навье

advertisement
Методы интерактивной
визуализации динамики
жидких и газообразных сред
Костикова Елена Юрьевна, 521 гр.
Научный руководитель: Игнатенко Алексей Викторович
Введение в область
• Сфера применения – интерактивные
приложения:
–
–
–
–
Научная визуализация
Кинематограф
Компьютерные игры
Тренировочные симуляторы
2
Цель дипломной работы
• Провести сравнительный анализ алгоритмов
визуализации и методов моделирования
• Разработать алгоритмы интерактивного
моделирования жидких и газообразных сред, а
также визуализации этих процессов
• Реализовать программную библиотеку,
содержащую предложенные алгоритмы
3
Специфика задачи
• Задача разбивается на подзадачи:
– Построение граничных условий
– Физическое моделирование
– Визуализация
• Массивно-параллельная вычислительная задача:
– Применимость параллельных вычислительных
устройств в PC
4
Требования к решению
• К моделированию:
– Физическая точность
– Скорость
– Стабильность
• К визуализации:
– Визуальное качество
– Легко расширяемая и изменяемая архитектура
системы
5
Требования к решению
• К моделированию:
– Физическая точность
– Скорость
– Стабильность
• К визуализации:
– Визуальное качество
– Легко расширяемая и изменяемая архитектура
системы
6
Обзор существующих методов
I. Моделирование движения жидкостей и
газов
II. Визуализация результатов
7
Формальная математическая
постановка задачи
Моделирование



 1
V
  V   V V  P  f ,
t




  V  0,
Визуализация
L( x,  )  Le ( x,  ) 
'

(
x
,

,

)
L
(
x
, )( , n)d

x
8
Формальная математическая
постановка задачи
Моделирование



 1
V
  V   V V  P  f ,
t




  V  0,
Визуализация
L( x,  )  Le ( x,  ) 
'

(
x
,

,

)
L
(
x
, )( , n)d

x
9
Обзор существующих методов
Моделирование
• Метод Лагранжа
–
–
–
–
Среда моделируется системой частиц
Можно задать любой закон движения
Нет ограничений на пространство распространения
Сложная реализация граничных условий
• Метод Эйлера
– Рассматривается пространство с регулярным
разбиением
– Проще аналитически работать с пространственными
производными (градиент давления и вязкость)
– Ограниченный объем и ресурсоёмкость
10
Обзор существующих методов
Визуализация
• Метод меташаров
– Для метода Лагранжа (например, для визуализации
воды)
– Позволяет легко управлять соотношением
качество/быстродействие
– Эффект ртутных шариков
• Метод трассировки лучей
– Для метода Эйлера
– Универсальный механизм, позволяющий
реализовывать сложные оптические эффекты
– Артефакты сеточных методов
11
Реализованная система
12
Построение граничных условий
• Метод полей расстояний
– Для каждой ячейки ищется минимальное расстояние
проекции центра ячейки на каждый из треугольников
(с использованием трассировки лучей)
• Ускоряющая структура данных – иерархическое
дерево
• Ускорение с помощью CUDA
13
Методы моделирования
• Система уравнений Навье-Стокса
• Система частиц
• Гибридный подход
14
Методы визуализации
• Визуализация трехмерными текстурами
• Визуализация с помощью трассировки
лучей
• Визуализация системой частиц
15
Ускорения на CUDA
• Моделирование: от 2 до 10 раз
• Построение граничных условий: в 10 раз
• Генерация шума Перлина: до 70 раз
16
Сравнение с PhysX
• Преимущества перед PhysX:
– Бесплатная
– Есть готовые примеры по визуализации
объемных данных и систем частиц
– Два метода для моделирования
– Три метода для визуализации
17
Программная реализация
• Плагин к 3ds Max
• Программа на С/С++ CUDA
–
–
–
–
Математическая библиотека
Физическая симуляция на CPU и на GPU
Построение граничных условий на CPU и на GPU
Визуализация с помощью OpenGL GLSL
• Размер кода: > 8 000 строк
18
Результаты
• Проведен сравнительный анализ существующих
методов
• Разработана и реализована библиотека для
интерактивного моделирования и визуализации
движения жидких и газообразных сред
• Проведено сравнение с существующими
интерактивными библиотеками (PhysX)
19
20
Download