Тип работы:
Предмет:
Язык работы:


Создание эффективных алгоритмов морской гидродинамики с использованием OpenGL

Работа №129304

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы31
Год сдачи2020
Стоимость4375 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
54
Не подходит работа?

Узнай цену на написание


Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Описание OpenGL 8
1.1. Графический конвейер OpenGL 8
1.2. Дополнительные библиотеки 10
1.3. Описание GLSL 10
Глава 2. Реализация алгоритма на основе метода конечных объемов 13
2.1. Описание алгоритма SIMPLE 13
2.2. Численная схема для алгоритма SIMPLE 14
2.3. Описание реализации 16
Глава 3. Реализация алгоритма на основе метода сглаженных частиц 19
3.1. Описание алгоритма SPH 19
3.2. Численная схема для алгоритма SPH 20
3.3. Описание реализации 21
Выводы 25
Заключение 26
Список литературы 27
Приложение А 29
Приложение Б 32


Производительность вычислительных устройств растет с каждым годом. Программное обеспечение тоже нуждается в регулярных обновлениях для повышения эффективности использования новых вычислительных ресурсов. В процессе разработки программист или исследователь должен иметь доступ к использованию тех технологий которые используются в приложении. Это приводит к тому что десктопные системы обладают достаточно высокими показателями вычислительной эффективности или хотя бы могут эмулировать необходимые интерфейсы.
При подготовке численного эксперимента важно иметь возможность отслеживать качество и корректность работы каждого составляющего эле-мента, алгоритма и компоненты. Определение правильности решения некоторых частей задачи может значительно упростится если при подготовке эксперимента была подготовлена или адаптирована одна из существующих систем визуализации, кроме того грамотная визуализация результатов эксперимента может увеличить количество и понятность полученных данных.
Одним из самых распространенных стандартов, которые используются в научной среде является OpenGl. На его основе создано огромное количество средств по представлению графики. Он поддерживается на linux, windows и macOS, также существует программная реализация данного стандарта Messa, что позволяет назвать его одним из самых кроссплатформенных в мире.
GPGPU на данный момент крайне популярная концепция. Для ее реализации созданы стандарты и фреймворки такие как CUDA или OзenCL. С версии 4.6 OpenGL тоже стал обладать механизмом для проведения расчетов общего назначения. Если к существующей реализации фреймворка по визуализации эксперимента добавить ускорение расчетов с использованием той же памяти видеокарты которая уже используется при отрисовки, то можно получить значительный прирост производительности.
Кроме того быстро развивается стандарт WebGL обеспечивающий поддержку механизмов OpenGL для web технологий. WebGL в данный момент уже поддерживает возможность запуска шейдеров общего назначения на некоторых платформах. После реализации этого стандарта большинством современных браузеров, системы ускоренные с помощью вычислительных шейдеров общего назначения могут стать одними из самых легко распространяемых.
Постановка задачи
Целью данной работы является повысить эффективность расчетов при помощи современных методов OpenGL по созданию высокопроизводительных программ связанных с нахождением численных решений в задачах морской гидродинамики. Для решения поставленной задачи предлагается провести оптимизацию 2-х алгоритмов на основе различных подходов: метода сглаженных частиц и метода конечных объемов.
Решение данной задачи требует реализации следующих этапов:
1. Обзор способов проведения расчетов общего назначения с использованием OpenGL;
2. Реализация алгоритма на основе метода конечного объема;
3. Реализация алгоритма на основе метода гладких частиц.

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В ходе работы:
1. Изучен механизм OpenGl по предоставлению возможности проводить вычисления на видеокарте,
2. Реализован алгоритм SIMPLE,
3. Реализован алгоритм SPH,
Дальнейшие направления развития:
1. Сравнение ускорения на базе технологии OpenGl с CUDA и OpenCL
2. Создание управляющего хост процесса на базе технологии WebGL и проверка портируемости полученного решения.
3. Реализовать алгоритм с использованием метаричных операций размером не более чем 4 элемента и рассмотреть возможность ускорения. Данные операции являются базовыми в терминах компьютерной графики.



[1] Guha S. Computer graphics through OpenGL from theory to experiments. 3 изд. Boca Raton: CRC Press, 2019.
[2] Rendering Pipeline Overview // The Industry’s Foundation for High Performance Graphics URL: https://www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview(дата обращения: 31.05.2020).
[3] The OpenGL Extension Wrangler Library URL: http://glew.sourceforge.net/(дата обращения: 31.05.2020).
[4] OpenGL Mathematics URL: https://glm.g-truc.net/0.9.9/index.html(дата обращения: 31.05.2020).
[5] The freeglut project URL: http://freeglut.sourceforge.net/(дата обращения: 31.05.2020).
[6] GLFW - An OpenGL library URL: https://www.glfw.org/(дата обращения: 31.05.2020).
[7] The OpenGL® Shading Language URL:
https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.40.pdf(дата обращения: 31.05.2020).
[8] Moukalled F., Darwish M.A. A unified formulation of the segregated class of algorithms for fluid flow at all speeds // Numer. Heat Tr. B-Fund. - 2000. -Vol. 37, no. 1. - P. 103-139.
[9] Д.В. Деги, А.В. Старченко Численное решение уравнений Навье Стокса на компьютерах с параллельной архитектурой // Вестник Томского государственного университета. Математика и механика. 2012. №18. С. 68-74.
[10] Суравикин А.Ю. Реализация метода SPH на CUDA для моделирования несжимаемых жидкостей // Наука и образование: научное издание МГТУ им. Н.Э. Баумана. 2012. №7.
[11] Паршиков А. Н. Численный метод SPH, использующий соотношения распада разрывов, и его применение в механике деформируемых гетерогенных сред: автореф. дис. ... канд. физ. мат. наук: 01.02.04. М., 2013.
[12] Simple and Fast Fluids. // HAL URL: https://hal.inria.fr/inria- 00596050/document(дата обращения: 31.05.2020).
[13] Стояновская О.П., Снытников Н.В., Снытников В.Н. Алгоритм для решения нестационарных задач гравиатационной газовой динамики: комбинация метода SPH и сеточного метода вычисления гравитационного потенциала // вычислительные методы и программирование: новые вычислительные технологии. 2015. №16. С. 52-60.
[14] Qt | Cross=platform software development for embedded & destop URL: https://www.qt.io/(дата обращения: 31.05.2020).
[15] Stam, J. Stable Fluids // ACM SIGGRAPH 99. 2001.
[16] Лашкин С. В., Козелков А. С., Ялозо А. В., Герасимов В. Ю., Зеленский Д. К. Исследование эффективности параллельной реализации алгоритма simple на многопроцессорных ЭВМ // Вычислительная механика сплошных сред. 2016. №3 . С. 298-315.
[17] ПАТАНКАР С. Численные методы решения задач теплообмена и динамики жидкости. M.: ЭНЕРГОАТОМИЗДАТ, 1984.
[18] Diego M., Colagrossi A. A simple procedure to improve the pressure evaluation in hydrodynamic context using the SPH // Computer Physics Communications.. 2009.


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ