Метод прогонки для уравнения пуассона

Лаборторная работа №1 Решение уравнения Пуассона методом прогонки (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5

Лаборторная работа №1

Решение уравнения Пуассона методом прогонки

Цель работы: Создание подпрограммы для решения уравнения Пуассона методом прогонки в одномерном случае и определение с ее помощью потенциала и напряженности электрического поля для заданного распределения заряда.

1. Краткое описание метода прогонки для решения одномерного уравнения Пуассона.

Рассмотрим одномерное уравнение Пуассона

, (1)

где плотность заряда, — потенциал электрического поля. Уравнение Пуассона представим в виде

, (2)

где .

Будем численно решать краевую задачу для уравнения (2) на отрезке , разбивая его на ячейки с равномерным шагом D (см. рис. 1). Число узлов сетки J=L / D .

Рис. 1. Пространственная сетка для решения уравнения Пуассона.

В конечно-разностном представлении уравнение (2) имеет вид:

, (3)

где , — значения плотности заряда в узлах пространственной сетки, — искомые значения потенциала. Уравнение (3) относится ко всем внутренним точкам рассматриваемого отрезка , а в точках , накладываются требуемые граничные условия.

При моделировании электростатических колебаний в бесстолкновительной плазме используют либо периодические, либо непериодические граничные условия. С помощью периодических граничных условий обычно моделируют неограниченные плазменные системы. Тип граничных условий определяет метод решения уравнения (3).

В общем виде непериодические граничные условия можно представить в следующей форме

, , (4)

где — заданные числа. Например, если , то заданы значения потенциала в крайних точках. Если , то заданы значения электрического поля .

Рассмотрим метод прогонки решения краевой задачи для решения уравнения Пуассона (3) с граничными условиями (4). Для представления (4) в виде, аналогичном (3), аппроксимируем производные от потенциала, входящие в эти условия, следующим образом:

, .

Тогда условия (4) примут вид

, (5а)

, (5b)

где , , ,

, .

Представим теперь уравнения (3) в последовательности узловых точек и уравнения (5a), (5b) в виде системы разностных уравнений

,

,

,

,

.

Матрица коэффициентов этой системы содержит ненулевые элементы только на трех центральных диагоналях. В силу того, что большинство элементов такой трехдиагональной матрицы нулевые, решение (6) может быть найдено с помощью некоторой рекуррентной процедуры, называемой методом прогонки.

Будем искать решение в рекуррентной форме так, чтобы, зная значение в точке можно было получить значение в точке . Для этого найдем вспомогательные неизвестные , такие, что

. (7)

Подставляя (7) в (3), получаем

. (8)

Сравнивая (7) и (8), приходим к рекуррентным соотношениям

, . (9)

Таким образом, формулы (8), (9) задают следующую двойную рекуррентную процедуру решения трехдиагональной системы уравнений (6).

2. Схема численного решения.

2.1. Прогонка справа налево.

Для от до определяются значения , по формулам (9). При этом начальные значения , находятся из граничных условий (5a, 5b)

,

.

2.2. Прогонка слева направо.

Для от до вычисляются искомые значения по формуле

.

Начальное значение определяется из граничного условия на левой границе

.

Входящие в это выражение , определяются при прогонке вниз.

3. Расчет электрического поля.

Значения напряженности электрического поля в узлах сетки рассчитываются с помощью конечно-разностного представления выражения :

.

Метод прогонки

Метод прогонки является модификацией метода Гаусса для частного случая разреженных систем – системы уравнений с трехдиагоналъной матрицей. Такие системы получаются при моделировании некоторых инженерных задач, а также при численном решении краевых задач для дифференциальных уравнений.

Запишем систему уравнений в виде

(2.13)

На главной диагонали матрицы этой системы стоят элементы b1, b2, …, bn,над ней – элементы с1, с2. , сn-1 под ней – элементы а2, а3. , ап (при этом обычно все коэффициенты bi не равны нулю). Остальные элементы матрицы равны нулю.

Метод прогонки состоит из двух этапов – прямой прогонки (аналога прямого хода метода Гаусса) и обратной прогонки (аналога обратного хода метода Гаусса). Прямая прогонка состоит в вычислении прогоночных коэффициентов Ai,Bi,с помощью которых каждое неизвестное xi выражается через zi+1:

(2.14)

Из первого уравнения системы (2.13) найдем

С другой стороны, по формуле (2.14) Приравнивая коэффициенты в обоих выражениях для х1, получаем

(2.15)

Подставим во второе уравнение системы (2.13) вместо х1его выражение через х2по формуле (2.14):

Выразим отсюда х2 через х3:

Аналогично вычисляют прогоночные коэффициенты для любого номера i:

(2.16)

Обратная прогонка состоит в последовательном вычислении неизвестных xi. Сначала нужно найти хп. Для этого воспользуемся выражением (2.14) при i = п –1 и последним уравнением системы (2.13). Запишем их:

Отсюда, исключая хn-1, находим

Далее, используя формулы (2.14) и вычисленные ранее по формулам (2.15), (2.16) прогоночные коэффициенты, последовательно вычисляем все неизвестные хn1, xn-2. 1. Алгоритм решения системы линейных уравнений вида (2.13) методом прогонки приведен на рис. 2.4.

Рис. 2.4. Алгоритм метода прогонки

При анализе алгоритма метода прогонки надо учитывать возможность деления на нуль в формулах (2.15), (2.16). Можно показать, что при выполнении условия преобладания диагональных элементов, т.е. если , причем хотя бы для одного значения iимеет место строгое неравенство, деления на нуль не возникает, и система (2.13) имеет единственное решение.

Приведенное условие преобладания диагональных элементов обеспечивает также устойчивость метода прогонки относительно погрешностей округлений. Последнее обстоятельство позволяет использовать метод прогонки для решения больших систем уравнений. Заметим, что данное условие устойчивости прогонки является достаточным, но не необходимым. В ряде случаев для хорошо обусловленных систем вида (2.13) метод прогонки оказывается устойчивым даже при нарушении условия преобладания диагональных элементов.


источники:

http://3ys.ru/metody-resheniya-nelinejnykh-uravnenij-i-zadach-linejnoj-algebry/metod-progonki.html