ВВЕДЕНИЕ 3
1 Постановка задачи 5
1.1 Постановка задачи 5
1.2 Обобщенная постановка задачи 7
2 Разностная схема 12
2.1 Построение разностной схемы 12
2.2 Погрешность аппроксимации 23
2.3 Метод матричной прогонки 29
2.4 Численные эксперименты в Matlab 34
2.4.1 Тестовая задача 1 34
2.4.2 Тестовая задача 2 36
2.4.3 Тестовая задача 3 38
3 Параллельное программирование метода матричной прогонки 40
3.1 Программа на С++ 40
3.1.1 Описание программы 40
3.1.2 Численные эксперименты 43
3.2 Программа на C# 45
3.2.1 Описание программы 45
3.2.2 Численные эксперименты 46
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49
ПРИЛОЖЕНИЯ 50
С математической точки зрения граничная задача для системы Ламе представляют собой систему обыкновенных линейных дифференциальных уравнений второго порядка. Данный класс задач используется во многих приложениях математической физики и механики. Например, в задачах распространения и дифракции упругих волн [1].
Целью работы является построение численного метода решения системы уравнений Ламе и последующее решение системы линейных уравнений методом матричной прогонки с использованием различных сред программирования.
Магистерская диссертация состоит из трех разделов.
В первом разделе, состоящем из двух подразделов, приводятся эквивалентная постановка и обобщенное решение системы Ламе.
Во втором подразделе доказано, что обобщенная формулировка задачи эквивалентна при определенных условиях исходной постановке задачи.
Второй раздел, состоящий из четырех подразделов, посвящен построению разностной схемы для системы Ламе.
В первом подразделе строится методом сумматорных тождеств разностная схема. Идея метода сумматорных тождеств состоит в том, что исходная задача сводится к интегральному тождеству. Доказывается, что полученное интегральное тождество эквивалентно исходной задаче. После этого каждый интеграл тождества заменяется на сумматорную формулу трапеций, а производные первого порядка на разностные производные. И затем из полученного сумматорного тождества выписываются явные виды разностных схем во внутренних точках сетки и на границе.
Во втором подразделе доказано, что применение метода сумматорных тождеств для построения разностной схемы позволяет достигнуть теоретической погрешности аппроксимации O(h2). Данный метод, как и большинство численных методов, требует, чтобы в узлах сетки не была нарушена гладкость коэффициентов задачи, и это утверждение будет экспериментально проверено.
В третьем подразделе рассматриваемой работы сформирован алгоритм решения исходной задачи методом матричной прогонки. Данный метод используется для решения систем линейных уравнений и представляет собой вариацию метода последовательного исключения неизвестных. Метод основан на предположении, что искомые неизвестные связаны неким рекуррентным соотношением и на основе данного соотношения находятся так называемые прогоночные коэффициенты, которые используются для на-хождения решения системы.
В четвертом подразделе экспериментально исследована погрешность полученной разностной схемы.
Третий раздел, состоящий из двух подразделов, посвящен реализации метода матричной прогонки с использованием методов параллельного программирования.
В первом подразделе приводится описание программы на С++ и числен¬ные эксперименты, подтверждающие правильность работы составленного программного комплекса. Следует отметить, что при написании данной программы был использован проект OpenMP, предназначенный для па¬раллельных вычислений в рамках многопоточных систем.
Во втором подразделе приводится описание программы на C#. Данная программа имеет код и структуру, аналогичную программе на С++. Про-грамма на C# содержит визуализированный интерфейс с возможностью введения необходимых данных, решения системы с заданными коэффициентами и построения графиков, наглядно показывающих результат.
В данной работе были получены следующие результаты:
1. Получена обобщенная постановка задачи и доказана эквивалентность исходной постановке.
2. Построен явный вид разностной схемы с теоретической погрешностью O(h2).
3. Реализован метод матричной прогонки для решения разностной схе-мы.
4. Проведена серия численных экспериментов.