Тема: Создание эффективных алгоритмов морской гидродинамики с использованием OpenGL
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Постановка задачи 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 элемента и рассмотреть возможность ускорения. Данные операции являются базовыми в терминах компьютерной графики.



