Введение
Наиболее распространённым уравнением эллиптического типа является уравнение Пуассона.
К решению этого уравнения сводятся многие задачи математической физики, например задачи о стационарном распределении температуры в твердом теле, задачи диффузии, задачи о распределении электростатического поля в непроводящей среде при наличии электрических зарядов и многие другие.
Для решения эллиптических уравнений в случае нескольких измерений используют численные методы, позволяющие преобразовать дифференциальные уравнения или их системы в системы алгебраических уравнений. Точность решения определяется шагом координатной сетки, количеством итераций и разрядной сеткой компьютера [1]
Цель публикации получить решение уравнения Пуассона для граничных условий Дирихле и Неймана, исследовать сходимость релаксационного метода решения на примерах.
Уравнение Пуассона относится к уравнениям эллиптического типа и в одномерном случае имеет вид [1]:
(1)
где x – координата; u(x) – искомая функция; A(x), f(x) – некоторые непрерывные функции координаты.
Решим одномерное уравнение Пуассона для случая А = 1, которое при этом принимает вид:
(2)
Зададим на отрезке [xmin, xmax] равномерную координатную сетку с шагом ∆х:
(3)
Граничные условия первого рода (условия Дирихле) для рассматриваемой задачи могут быть представлены в виде:
(4)
где х1, xn – координаты граничных точек области [xmin, xmax]; g1, g2 – некоторые
константы.
Граничные условия второго рода (условия Неймана) для рассматриваемой задачи могут быть представлены в виде:
(5)
Проводя дискретизацию граничных условий Дирихле на равномерной координатной сетке (3) с использованием метода конечных разностей, получим:
(6)
где u1, un – значения функции u(x) в точках x1, xn соответственно.
Проводя дискретизацию граничных условий Неймана на сетке (3), получим:
(7)
Проводя дискретизацию уравнения (2) для внутренних точек сетки, получим:
(8)
где ui, fi – значения функций u(x), f(x) в точке сетки с координатой xi.
Таким образом, в результате дискретизации получим систему линейных алгебраических уравнений размерностью n, содержащую n – 2 уравнения вида (8) для внутренних точек области и уравнения (6) и (7) для двух граничных точек [1].
Ниже приведен листинг на Python численного решения уравнения (2) с граничными условиями (4) – (5) на координатной сетке (3).
Разработанная мною на Python программа удобна для анализа граничных условий.Приведенный алгоритм решения на Python использует функцию Numpy — u=linalg.solve(a,b.T).T для решения системы алгебраических уравнений, что повышает быстродействие при квадратной матрице . Однако при росте числа измерений необходимо переходить к использованию трех диагональной матрицы решение для которой усложняется даже для очень простой задачи, вот нашёл на форуме такой пример:
Программа численного решения на равномерной по каждому направлению сетки задачи Дирихле для уравнения конвекции-диффузии
(9)
Используем аппроксимации центральными разностями для конвективного слагаемого и итерационный метод релаксации.для зависимость скорости сходимости от параметра релаксации при численном решении задачи с /(х) = 1 и 6(х) = 0,10. В сеточной задаче:
(10)
Представим матрицу А в виде суммы диагональной, нижней треугольной и верхней треугольных матриц:
(10)
Метод релаксации соответствует использованию итерационного метода:
(11)
При говорят о верхней релаксации, при — о нижней релаксации.
На графике показана зависимость числа итераций от параметра релаксации для уравнения Пуассона (b(х) = 0) и уравнения конвекции-диффузии (b(х) = 10). Для сеточного уравнения Пуассона оптимальное значении параметра релаксации находится аналитически, а итерационный метод сходиться при .
- Приведено решение эллиптической задачи на Python с гибкой системой установки граничных условий
- Показано что метод релаксации имеет оптимальный диапазон () параметра релаксации.
Ссылки:
- Рындин Е.А. Методы решения задач математической физики. – Таганрог:
Изд-во ТРТУ, 2003. – 120 с. - Вабищевич П.Н.Численные методы: Вычислительный практикум. — М.: Книжный дом
«ЛИБРОКОМ», 2010. — 320 с.
Видео:9. Уравнение ПуассонаСкачать
Решение уравнений Лапласа и Пуассона
Для решения уравнений Пуассона и Лапласа (частный случай, когда ) – уравнений эллиптического типа – предназначена функция relax(a, b, c, d, e, f, u, rjac), реализующая метод релаксации. Фактически, эту функцию можно использовать для решения эллиптического уравнения общего вида
которое может быть сведено к уравнению в конечных разностях
В частности, для уравнения Пуассона коэффициенты .
Идея метода релаксации заключается в следующем. Если нет источников (уравнение Лапласа), то значение функции в данном узле на текущем шаге определяется как среднее значение функции в ближайших узлах на предыдущем шаге k
При наличии источников разностная схема имеет вид
Метод релаксации сходится достаточно медленно, так как фактически он использует разностную схему с максимально возможным для двумерного случая шагом .
В методе релаксации необходимо задать начальное приближение, то есть значения функции во всех узлах области, а так же граничные условия.
Функция relax возвращает квадратную матрицу, в которой:
1) расположение элемента в матрице соответствует его положению внутри квадратной области,
2) это значение приближает решение в этой точке.
Эта функция использует метод релаксации для приближения к решению.
Вы должны использовать функцию relax, если Вы знаете значения искомой функции u(x, y) на всех четырех сторонах квадратной области.
a, b, c, d, e – квадратные матрицы одного и того же размера, содержащие коэффициенты дифференциального уравнения.
f – квадратная матрица, содержащая значения правой части уравнения в каждой точке внутри квадрата
u – квадратная матрица, содержащая граничные значения функции на краях области, а также начальное приближение решения во внутренних точках области.
rjac – Параметр, управляющий сходимостью процесса релаксации. Он может быть в диапазоне от 0 до 1, но оптимальное значение зависит от деталей задачи.
Задаем правую часть уравнения Пуассона – два точечных источника
Задаем значения параметров функции relax
Задаем граничные условия и начальное приближение – нули во всех внутренних точках области
Находим решение
и представляем его графически в виде поверхности и линий уровней.
Если граничные условия равны нулю на всех четырех сторонах квадрата, можно использовать функцию multigrid.
Алгоритм метода достаточно громоздкий, поэтому рассматривать его мы не будем.
Видео:2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)Скачать
Курсовая работа: Метод релаксации переменных решения СЛАУ
Название: Метод релаксации переменных решения СЛАУ Раздел: Рефераты по математике Тип: курсовая работа Добавлен 03:06:02 27 апреля 2011 Похожие работы Просмотров: 8472 Комментариев: 22 Оценило: 5 человек Средний балл: 4.4 Оценка: неизвестно Скачать | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
, | (1.1) |
А — матрица размерности ,
Численные методы решения данной системы принято разделять на два класса: прямые методы и итерационные.
Прямыми методами называются методы, позволяющие получить решение системы уравнений (1.1) за конечное число арифметических операций.
К прямым методам относятся метод Крамера, метод Гаусса, LU — метод, метод прогонки и ряд других методов. Основным недостатком прямых методов является то, что для нахождения решения необходимо выполнить большое число операций.
Суть итерационных методов состоит в том, что решение системы (1.1) находится как предел последовательных приближений x ( n ) при n ®¥, где n — номер итерации. Применение итерационных методов требует задания начального значения неизвестных х (0) и точности вычислений e >0. Вычисления проводятся до тех пор, пока не будет выполнена оценка
. | (1.2) |
Основное достоинство итерационных методов состоит в том, что точность искомого решения задается.
Число итераций n =n (e ), которое необходимо выполнить для получения заданной точности e , является основной оценкой качества метода. По этому числу проводится сравнение различных методов.
Главным недостатком этих методов является то, что вопрос сходимости итерационного процесса требует отдельного исследования. Доказанные в настоящее время теоремы о сходимости итерационных методов имеют место для систем, на матрицы которых наложены ограничения.
Примером обычных итерационных методов могут служить метод Якоби (метод простых итераций), метод Зейделя, метод верхних релаксаций.
К особому классу итерационных методов следует отнести вариационные итерационные методы: метод минимальных невязок, метод скорейшего спуска и т.д.
Итерационные методы также делятся на одношаговые, когда для определения решения на j +1 итерации используются значения решения, найденные на j итерации, и многошаговые, когда для определения решения на j +1 итерации используется несколько предыдущих итераций.
Заметим, что существуют системы, для которых итерационный процесс сходится, а вектор невязки, получающийся при подстановке найденного решения в исходную систему
, | (1.4) |
получается большим по величине, т.е. найденное решение не удовлетворяет исходной системе. В этом случае в качестве критерия достижения точности решения может быть взята величина невязки, которая оценивается по одной из норм .
Продемонстрируем применение одношагового итерационного метода Якоби на решении системы трех уравнений. Пусть система (1.1) имеет вид
начальное приближение (верхний индекс указывает номер итерации), требуемая точность решения —e . Первая итерация находится из выражения
А=А 1 +D +A 2 , | (1.10) |
А 1 = — нижняя треугольная матрица,
А 2 = — верхняя треугольная матрица.
Представим систему (1.1) в матричной форме
(1.11) |
Метод Якоби в матричной записи выглядит следующим образом
, | (1.12) |
,
.
Существуют итерационные методы, обладающие лучшей скоростью сходимости, чем методы Якоби. В этих методах при вычислении i +1 итерации компоненты вектора решения используются, найденные на i + 1 итерации компоненты решения с номерами , l =1,2. j -1. Наиболее распространенным методом подобного типа является метод Зейделя. Продемонстрируем его применение на системе (1.3). Вновь, задавая начальное приближение, для первой итерации запишем
. | (1.16) |
Запишем метод Зейделя в матричной форме
, | (1.17) |
или в форме близкой к каноническому виду
, | (1.18) |
. | (1.19) |
Äëÿ îäíîøàãîâûõ èòåðàöèîííûõ ìåòîäîâ, ñóùåñòâóåò êàíîíè÷åñêàÿ ôîðìà çàïèñè
. | (1.20) |
Здесь — матрица, задающая тот или иной итерационный метод, — итерационный параметр. В случае метода Якоби — это матрица D , а =1, в случае метода Зейделя =D +А 1 , а итерационный параметр также равен единице =1.
Формируя матрицу B различным образом и задавая различные значения итерационного параметра, можно получать одношаговые итерационные методы самого разного вида. В зависимости от выбора этих параметров мы будем получать методы, которые будут обладать различной скоростью сходимости, т.е. заданная точность будет достигаться за разное число итераций.
Одним из наиболее распространенных одношаговых итерационных методов является метод верхних релаксаций * , который имеет следующий вид
, | (1.21) |
где w >0 — заданный числовой параметр. Этот параметр выбирается таким образом, чтобы на каждом шаге итерационного процесса уменьшалась величина, характеризующая близость полученного решения к искомому решению системы.
Для получения расчетных формул (1.21) перепишем в виде
, | (1.22) |
или в покомпонентной записи получим
. | (1.23) |
Приведем несколько строк покомпонентной записи
, | (1.24) |
, | (1.25) |
(1.26) |
Практика применения итерационных методов показала, что эти методы приводят к правильному решению для систем с матрицей А имеющей специальный вид. Приведем ряд теорем о сходимости итерационных методов. Доказательства этих теорем приводятся в книге [1].
Рассмотрим итерационные методы с постоянным итерационным параметром, записанные в виде
. | (1.27) |
Пусть А — симметричная положительно определенная матрица, t >0 и пусть выполнено неравенство В- 0,5t А >0. Тогда итерационный метод (1.27) сходится.
Пусть А — симметричная положительно определенная матрица с диагональным преобладанием, т.е.
(1.28) |
Тогда метод Якоби сходится.
Пусть А — симметричная положительно определенная матрица. Тогда метод верхних релаксаций сходится при условии 0 g 2 . При итерационный метод (1.27) сходится и для погрешности справедливы оценки
, i =0,1. | (1.29) |
(1.30) | |
, | (1.31) |
, | (1.32) |
. | (1.33) |
Если А Т =А >0, то для метода простой итерации
(1.34) |
(1.35) |
, | (1.36) |
(1.37) | |
(1.38) |
Для симметричной матрицы А и
(1.39) |
, | (1.40) |
где ,. В приложениях часто встречаются задачи с плохо обусловленной матрицей А , когда отношение велико. В этом случае число r 0 близко к единице, и метод простой итерации сходится медленно.
Оценим число итераций n 0 (e ), которое требуется для достижения заданной точности e в случае малых x , т.е. для получения оценки
. | (1.41) |
Из условия получаем, что
, | (1.42) |
и при малых x имеем
. | (1.43) |
Заметим, что в качестве критерия сходимости итерационного метода может использоваться невязка, которая получается при подстановке найденного решения в систему (1.1).
1.1 Метод верхних релаксаций
линейный уравнение итерационный релаксация
Среди явных одношаговых итерационных методов наибольшее распространение получил метод верхних релаксаций (1.21). Это связано с тем, что метод верхних релаксаций содержит свободный параметрw , изменяя который можно получать различную скорость сходимости итерационного процесса.
Наиболее эффективно этот метод применяется при решении множества близких алгебраических систем линейных уравнений. На первом этапе проводится решение одной из систем с различными значениями итерационного параметраw и из анализа скорости сходимости итерационного процесса выбирается оптимальное значение этого параметра. Затем все остальные системы решаются с выбранным значением w .
Еще одно достоинство итерационного метода верхних релаксаций состоит в том, что при его реализации на ЭВМ алгоритм вычислений имеет простой вид и позволяет использовать всего один массив для неизвестного вектора.
Основная вычислительная формула имеет вид
(1.44) |
В выражение (1.44) и входят одинаковым образом, следовательно, при вычислениях они могут записываться в один и тот же массив. При реализации метода верхних релаксаций используется следующая форма записи алгоритма вычислений
. | (1.45) |
Действительно, при последовательном нахождении элемента (i +1 итерации) на каждом шаге будут использоваться найденные ранее значения, которые при k j — i итерации.
Современная вычислительная техника позволяет проводить исследование устойчивости и сходимости итерационного метода в зависимости от параметров задачи. Например, можно проводить исследование влияния повышения точности решения задачи на число необходимых итераций, исследование влияния начального приближения, изменения коэффициентов матрицы А и правых частей системы.
1.2 Âû÷èñëèòåëüíûå ïîãðåøíîñòè ìåòîäà âåðõíèõ ðåëàêñàöèé
Один из основных вопросов применения итерационных методов связан с корректностью выбора точности метода e.
Àíàëèçèðóÿ âû÷èñëèòåëüíûå ïîãðåøíîñòè âûðàæåíèÿ (1.45), ïîëó÷èì îöåíêó íàèìåíüøåãî çíà÷åíèÿ òî÷íîñòè ìåòîäà âåðõíèõ ðåëàêñàöèé.
Очевидно, что искомая погрешность вычислений будет определяться погрешностью задания коэффициентов исходной системы и погрешностью округления.
Çàïèøåì ðàçíîñòü äâóõ èòåðàöèîííûõ ïðèáëèæåíèé ðåøåíèÿ è îöåíèì å¸ ìèíèìàëüíîå çíà÷åíèå
(1.46) |
Пусть коэффициенты и fi заданы с некоторой относительной погрешностью . Предположим, что итерационный метод сходится, и невязка
(1.47) |
бывает с ростом номера итерации k , т.е. . Оценка абсолютной погрешности правой части выражения (10) может быть представлена в следующем виде
, | (1.48) |
здесь .- модуль минимального значения диагонального элемента .Отсюда следует, что задаваемая погрешность метода .
1.3 Ìåòîä áëî÷íîé ðåëàêñàöèè
Èñõîäíàÿ ìàòðèöà ðàçáèâàåòñÿ íà áëîêè (â ðàìêàõ ëàáîðàòîðíîé ðàáîòû áóäåì ðàññìàòðèâàòü ñëó÷àé, êîãäà ðàçáèâàåòñÿ íà êâàäðàòíûå áëîêè ðàâíîé ðàçìåðíîñòè). Âåêòîð ïðàâîé ÷àñòè è âåêòîð íåèçâåñòíûõ ðàçáèâàþòñÿ íà áëîê-âåêòîðû ñîîòâåòñòâóþùåé ðàçìåðíîñòè. Íàïðèìåð, äëÿ ðàçìåðà áëîêà ðàâíîãî äâóì, ïîëó÷àåì:
(1.50) | |
(1.51) | |
(1.52) |
Çàïèøåì ôîðìóëó äëÿ áëîêîâ ìàòðèöû è áëîê-âåêòîðîâ è :
(1.53) |
(1.54) | |
(1.55) |
Òîãäà, ïîäñòàâëÿÿ (1.54) è (1.55) â (1.53) è óìíîæàÿ ñëåâà íà , äëÿ êàæäîãî áëîê-âåêòîðà ïîëó÷àåì ÑËÀÓ:
(1.56) |
Ðåøåíèå ïîëó÷åííûõ ñèñòåì (1.56) ðåêîìåíäóåòñÿ âûïîëíÿòü ñ èñïîëüçîâàíèåì ôàêòîðèçàöèè ìàòðèöû , ïðè÷¸ì ôàêòîðèçàöèþ ñëåäóåò âûïîëíÿòü 1 ðàç ïåðåä ïåðâîé èòåðàöèåé.
2. ÐÀÇÁÎÐ ÌÅÒÎÄÀ ÐÅËÀÊÑÀÖÈÉ Â ÑÈÑÒÅÌÀÕ ËÈÍÅÉÍÛÕ ÓÐÀÂÍÅÍÈÉ ÍÀ ÏÐÈÌÅÐÅ
ПРИМЕР: решить методом релаксаций данную систему
(2.3) |
Находим значения невязок
0 | 0,60 | 0 | 0,70 | 0 | 0,80 |
0,16 | 0,16 | -0,80 | |||
0,76 | 0,86 | 0 | |||
0,17 | 0,86 | -0,86 | 0,09 | ||
0,93 | 0 | 0,09 | |||
0,93 | -0,93 | 0,09 | 0,09 | ||
0 | 0,09 | 0,18 | 0,18 | ||
0,04 | 0,04 | -0,18 | |||
0,04 | 0,13 | 0,13 | 0 | ||
0,03 | -0,13 | 0,01 | |||
0,07 | 0,07 | 0 | 0,01 | ||
-0,07 | 0,01 | 0,01 | |||
0 | 0,01 | 0,02 | 0,02 | ||
0 | 0 | -0,02 | |||
0 | |||||
0 | 0,01 | 0,01 | 0 | ||
0 | -0,01 | 0 | |||
0 | 0 | 0 | |||
1,00 | 1,00 | 1,00 |
И так далее. Подставляем результаты вычисленные в таблице. Подсчитав все приращения , содержащее значение корней
Для проверки подставляем найденные значения корней в исходное уравнение; в целом система решена точно.
Рисунок 1 – Решение системы с помощью языка Borland C++
Листинг программы решающий систему методом релаксаций переменных приведен в приложении.
Можно утверждать, что почти любая задача вычислительной математики сводится в конечном итоге к решению полученной некоторым образом системы линейных или тензорных алгебраических уравнений (СЛАУ).
Но такие системы уравнений могут быть, во-первых, очень большого размера, например, NxN=10000х10000, и даже более; во-вторых, система уравнений может оказаться недоопределенной; в-третьих, она может оказаться с линейно зависимыми уравнениями; в-четвертых, она может оказаться переопределённой и несовместной. Кроме того, в-пятых, вычислительная техника может иметь далеко не рекордное быстродействие и объём оперативной памяти, и заведомо конечную разрядность двоичного представления чисел и связанные с этим ненулевые вычислительные погрешности. Поэтому итерационные методы получили большое применение в решении СЛАУ. Современная вычислительная техника позволяет проводить исследование устойчивости и сходимости итерационного метода в зависимости от параметров задачи.
Наиболее эффективно метод релаксаций применяется при решении множества близких алгебраических систем линейных уравнений. На первом этапе проводится решение одной из систем с различными значениями итерационного параметраw и из анализа скорости сходимости итерационного процесса выбирается оптимальное значение этого параметра. Затем все остальные системы решаются с выбранным значением w .
Еще одно достоинство итерационного метода верхних релаксаций состоит в том, что при его реализации на ЭВМ алгоритм вычислений имеет простой вид и позволяет использовать всего один массив для неизвестного вектора.
Я научился решать систем линейных уравнений методом релаксации(ослабления) переменных, и закрепил приобретённые навыки разработкой программы на языке Borland C++ 4.5.
1. Воеводин В.В. «Вычислительные основы линейной алгебры». Москва «Наука», 1977.
2. Фаддеев Д.К., Фаддеева В.Н. «Вычислительные методы линейной алгебры». Москва «Физматгиз», 1963.
3. Самарский А.А., Гулин А.В.» Численные методы». Москва «Наука», 1989.
4. Самарский А.А., Николаев Е.С. «Методы решения сеточных уравнений». Москва «Наука», 1978.
5. Самарский А.А. «Введение в численные методы». Москва «Наука», 1987.
6. Стренг Г. «Линейная алгебра и ее применение». Москва «Мир», 1980.
7. Карманов В.Г. «Математическое программирование». Москва «Наука», 1989.
8. Алексеев Е.Р. «Программирование на С++». Москва «НТ Пресс», 2007.
9. http://www.exponenta.ru/ — сайт посвящен решению математических задач в прикладных программных пакетах.
10. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. — М.: Наука, 1987.- 600 с.
🎦 Видео
Решение уравнения Пуассона методом верхней релаксацииСкачать
7.2 Задача 1. Краевая задача для уравнения ПуассонаСкачать
ЧК_МИФ_3_1_2_5 (L3) УРАВНЕНИЕ ПУАССОНАСкачать
Формула ПуассонаСкачать
Практическое занятие. Численное решение уравнений Лапласа и ПуассонаСкачать
Билет №04 "Потенциал электростатического поля"Скачать
Электродинамика 3 5. Уравнение ПуассонаСкачать
Лидия Варшавчик "Решение уравнения Пуассона со специальными граничными условиями методом конечных.."Скачать
Формула ПуассонаСкачать
Вычислительная математика 3 Итерационные методы решения СЛАУСкачать
29. Адиабатический процесс. Уравнение ПуассонаСкачать
УМФ, 01.12, решение задач Лапласа и Пуассона в случае неоднородных граничных условийСкачать
Уравнение ПуассонаСкачать
Шар заряд.Уравнение ПуассонаСкачать
Краевая задача для уравнений Лапласа и Пуассона на R^2Скачать
Механика | динамика | тяготение | гравитационное поле | 9 | уравнение Пуассона | для взрослыхСкачать
09 2д Пуассон, ЯкобиСкачать