Тема: ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ ЧИСЛЕННОГО РЕШЕНИЯ ТРЕХМЕРНОГО УРАВНЕНИЯ ПЕРЕНОСА
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 3
Глава 1 Основные понятия теории разностных схем 6
Глава 2. Численное решение двумерного уравнения переноса 11
2.1 Физическая постановка задачи 11
2.2 Математическая постановка задачи 12
2.3 Дискретизация области исследования 13
2.4 Построение разностного аналога методом конечного объема 14
2.5 Аппроксимация 20
2.6 Устойчивость и сходимость 22
2.7 Сравнение полученного численного решения уравнения переноса с его
аналитическим решением 27
2.8 Моделирование распространения примеси над г. Томск 30
Глава 3. Физико-математическая постановка задачи и численный метод ее
решения для трехмерного случая 33
3.1 Физическая постановка задачи 33
3.2 Математическая постановка задачи 34
3.3 Дискретизация области исследования 35
3.4 Построение разностного аналога методом конечного объема 37
3.5 Моделирование распространения примеси над г. Томск 45
Глава 4. Программная реализация алгоритма и проведение вычислительных
экспериментов 48
4.1 Описание параллельной реализации построенного численного метода с
использованием библиотеки MPI 48
4.2 Описание параллельной реализации построенного численного метода с
использованием библиотеки OpenMP 54
Заключение 57
Список литературы 58
📖 Введение
Полученное решение системы алгебраических уравнений будет являться приближенным решением искомого дифференциального уравнения в узловых точках.
Процесс перехода от дифференциальной постановки задачи к конечноразностной постановке называют дискретизацией. Дискретизация в общем случае это представление непрерывной функции дискретной совокупностью её значений при разных наборах аргументов.
Для функции f (x) дискретизация это представление ее множеством значений f(x 1),f(x2)’---J(xn) на заданном дискретном множестве значений аргумента x 1,x 2 ’-,xn.
Для ускорение процесса получения численного решения дифференциальных уравнений используют современные многопроцессорные/многоядерные вычислительные системы и соответствующие им технологии программирования. Параллельные вычисления — это способ организации компьютерных вычислений, при котором программы разрабатываются как набор взаимодействующих вычислительных процессов, работающих параллельно (одновременно). Термин охватывает совокупность вопросов параллелизма в программировании, а также создание эффективно действующих аппаратных реализаций. Теория параллельных вычислений составляет раздел прикладной теории алгоритмов.
Существуют различные способы реализации параллельных вычислений. Например, каждый вычислительный процесс может быть реализован в виде процесса операционной системы, либо же вычислительные процессы могут представлять собой набор потоков выполнения внутри одного процесса ОС. Параллельные программы могут физически исполняться либо последовательно на единственном процессоре — перемежая по очереди шаги выполнения каждого вычислительного процесса, либо параллельно — выделяя каждому вычислительному процессу один или несколько процессоров (находящихся рядом или распределённых в компьютерную сеть).
Основная сложность при проектировании параллельных программ — обеспечить правильную последовательность взаимодействий между различными вычислительными процессами, а также координацию ресурсов, разделяемых между процессами.
С целью уменьшить сложность проектирования параллельных программ созданы специальные библиотеки для работы с разными схемами связи между процессорами и оперативной памятью.
OpenMP (от англ. Open Multi-Processing) — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Дает описание совокупности директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью.
OpenACC (от англ. Open Accelerators) — программный стандарт для параллельного программирования, разрабатываемый совместно компаниями Cray, CAPS, Nvidia и PGI. Стандарт описывает набор директив компилятора, предназначенных для упрощения создания гетерогенных параллельных программ, задействующих как центральный, так и графический процессор.
MPI (от англ. Message Passing Interface} — программный интерфейс (API) для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу. Разработан Уильямом Гроуппом, Эвином Ласком (англ.) и другими.
MPI является наиболее распространённым стандартом интерфейса обмена данными в параллельном программировании, существуют его реализации для большого числа компьютерных платформ. Используется при разработке программ для кластеров и суперкомпьютеров. Основным средством коммуникации между процессами в MPI является передача сообщений друг другу.
Стандартизацией MPI занимается MPI Forum. В стандарте MPI описан интерфейс передачи сообщений, который должен поддерживаться как на платформе, так и в приложениях пользователя. В настоящее время существует большое количество бесплатных и коммерческих реализаций MPI. Существуют реализации для языков Фортран 77/90, Java, Си и C++.
В первую очередь MPI ориентирован на системы с распределенной памятью, то есть когда затраты на передачу данных велики, в то время как OpenMP ориентирован на системы с общей памятью. Обе технологии могут использоваться совместно.
✅ Заключение
Тестирования построенного численного метода проведено на двумерной нестационарной задаче моделирования переноса примеси от мгновенного точечного источника.
Показано, что использование противопотоковой схемы не является оптимальным вариантом выбора схемы для аппроксимации конвективного слагаемого.
Проведен вычислительный эксперимент по моделированию распространения примеси над городом Томск с использованием реальных полей скорости.
Написаны последовательный и параллельный алгоритмы решения трехмерного уравнения переноса.
Выполнена оценка времени и ускорения работы параллельной программы на разных многопроцессорных машинах, а именно cyberia, tesl и thor.





