Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
ℹ️Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.
Введение 4
1 Постановка задачи 5
2 Последовательные методы решения задачи Дирихле 5
3 Организация параллельных вычислений для систем с общей памятью 10
3.1 Использование ОрепМР для организации параллелизма 10
3.2 Проблема синхронизации параллельных вычислений 12
3.3 Возможность неоднозначности вычислений в параллельных программах 16
3.4 Проблема взаимоблокировки 17
3.5 Волновые схемы параллельных вычислений 18
Заключение 23
Список литературы 24
ПРИЛОЖЕНИЕ А Листинг кода алгоритма 1 25
ПРИЛОЖЕНИЕ Б Листинг кода алгоритма 2 26
ПРИЛОЖЕНИЕ В Листинг кода алгоритма 3 27
ПРИЛОЖЕНИЕ Г Листинг кода схемы блокировки 28
ПРИЛОЖЕНИЕ Д Листинг кода волновой схемы 29
ПРИЛОЖЕНИЕ Е Листинг кода блочной волновой схемы
📖 Аннотация
Работа посвящена численному решению краевой задачи для уравнения Пуассона на языке C++. Актуальность исследования обусловлена тем, что аналитическое решение дифференциальных уравнений в частных производных возможно лишь в простейших случаях, а для сложных математических моделей, широко применяемых в науке и технике, требуются приближенные численные методы, реализация которых сопряжена с большим объемом вычислений и необходимостью использования мощных вычислительных систем. В работе рассматривается двумерная краевая задача с различными краевыми условиями и правыми частями. Численное решение получено с помощью одного последовательного и двух параллельных алгоритмов, реализованных на C++ с использованием библиотеки OpenMP в среде Visual Studio. В ходе исследования выявлено, что простая реализация параллельных вычислений для двумерных краевых задач может приводить к увеличению времени вычислений по сравнению с последовательным алгоритмом. В работе приведен пример доработанного параллельного метода, в котором время вычислений существенно уменьшается. Теоретическую основу составили труды Тихонова А.Н. и Самарского А.А. по уравнениям математической физики, а также работы Гергеля В.П. и Стронгина Р.Г. по основам параллельных вычислений. Практическая значимость результатов заключается в возможности их применения разработчиками программного обеспечения для моделирования физических процессов, требующих эффективного решения краевых задач на многопроцессорных системах.
📖 Введение
Дифференциальные уравнения в частных производных являются широко применяемым математическим аппаратом при разработке моделей в самых различных областях науки и техники. Плохо то, что явное решение этих уравнений в аналитическом виде получается возможным только в частных простых случаях, и, как итог, возможность исследования математических моделей, построенных на основе дифференциальных уравнений, обеспечивается при помощи приближенных численных методов решения. Объем выполняемых при этом вычислений обычно является большим и использование мощных вычислительных систем является обычным для данного раздела вычислительной математики. На сегодняшний день данная тема, то есть проблематика численного решения дифференциальных уравнений в частных производных, является местом больших, многочисленных исследований.
✅ Заключение
Исследовано численное решение краевой задачи для уравнения Пуассона. Рассмотрена двумерная краевая задача с разными краевыми условиями и разной правой частью. Численное решение получено с помощью одного последовательного и двух параллельных алгоритмов на языка С++. Параллельные вычисления проведены с помощью библиотеки OpenMP в среде VisualStudio. Получено, что алгоритм параллельных вычислений имеет большое значение. Простая реализация параллельных вычислений для двумерных краевых задач может приводить к большему времени вычислений по сравнению с последовательным алгоритмом. Приведен пример доработанного параллельного метода, в котором время вычислений уменьшается.