Численный метод решения уравнения пуассона

Численные методы решения уравнений эллиптического типа

Введение

Наиболее распространённым уравнением эллиптического типа является уравнение Пуассона.
К решению этого уравнения сводятся многие задачи математической физики, например задачи о стационарном распределении температуры в твердом теле, задачи диффузии, задачи о распределении электростатического поля в непроводящей среде при наличии электрических зарядов и многие другие.

Для решения эллиптических уравнений в случае нескольких измерений используют численные методы, позволяющие преобразовать дифференциальные уравнения или их системы в системы алгебраических уравнений. Точность решения опреде­ляется шагом координатной сетки, количеством итераций и разрядной сеткой компьютера [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). Для сеточного уравнения Пуассона оптимальное значении параметра релаксации находится аналитически, а итерационный метод сходиться при Численный метод решения уравнения пуассона.

  1. Приведено решение эллиптической задачи на Python с гибкой системой установки граничных условий
  2. Показано что метод релаксации имеет оптимальный диапазон (Численный метод решения уравнения пуассона) параметра релаксации.

Ссылки:

  1. Рындин Е.А. Методы решения задач математической физики. – Таганрог:
    Изд-во ТРТУ, 2003. – 120 с.
  2. Вабищевич П.Н.Численные методы: Вычислительный практикум. — М.: Книжный дом
    «ЛИБРОКОМ», 2010. — 320 с.

Видео:Кобельков Г. М. - Численные методы. Часть 2 - Численные методы для эллиптических уравненийСкачать

Кобельков Г. М. - Численные методы. Часть 2 - Численные методы для эллиптических уравнений

Численное решение уравнений в частных производных эллиптического типа на примере уравнений Лапласа и Пуассона

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

6.1. Постановка задачи. Простейшая разностная схема «крест». Устойчивость схемы «крест»

Будем рассматривать двухмерное уравнение Пуассона

Численный метод решения уравнения пуассона

в единичном квадрате Численный метод решения уравнения пуассонас краевыми условиями первого рода на границе расчетной области Численный метод решения уравнения пуассона

Численный метод решения уравнения пуассона

( Численный метод решения уравнения пуассона— заданная на границе функция ).

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

Численный метод решения уравнения пуассона

Для простоты выкладок введем равномерную расчетную сетку с узлами <xm, yl> , m, l = 0, 1, . , M с равным количеством шагов по каждому пространственному направлению, сеточную область D — совокупность всех узлов сетки, включая граничные, и сеточную функцию < uml >. В этом случае шаги по координатам предполагаются равными. В случае неравных шагов по каждому направлению полученные результаты не изменятся, а запись уравнений станет более громоздкой.

Численный метод решения уравнения пуассона

Выбираем простейший пятиточечный шаблон разностной схемы «крест» . На этом шаблоне аппроксимирующее разностное уравнение легко выписать. Для этого производные заменим вторыми разностями:

Численный метод решения уравнения пуассона

где h — шаг по координатам, или в операторной форме

Численный метод решения уравнения пуассона

Численный метод решения уравнения пуассона

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

Численный метод решения уравнения пуассона

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

Такая схема обладает вторым порядком аппроксимации по обеим координатам. Это легко показать, применяя разложение в ряд Тейлора функции — проекции точного решения на сетку — вплоть до членов четвертого порядка включительно. Проведем такое разложение для одного из операторов, стоящих в данном разностном уравнении:

Численный метод решения уравнения пуассона

Здесь учтено разложение проекции точного решения в ряд Тейлора

Численный метод решения уравнения пуассона

и аналогичное разложение для um — 1.

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

Численный метод решения уравнения пуассона

Рассмотрим устойчивость полученной схемы. Отметим, что методы исследования на устойчивость , применяемые для эволюционных (зависящих от времени) уравнений, здесь не работают. Действовать приходится на основе определения устойчивости.

Сформулируем и докажем две леммы, которые облегчат процедуру доказательства устойчивости разностной схемы.

Видео:Практическое занятие. Численное решение уравнений Лапласа и ПуассонаСкачать

Практическое занятие. Численное решение уравнений Лапласа и Пуассона

Численный метод решения уравнения пуассона

Глава 5. Решение дифференциальных уравнений

5.9 Решение эллиптических уравнений (Лапласа и Пуассона)

С помощью двух встроенных функций, multigrid и relax , можно решить простейшие случаи уравнения Пуассона. Это уравнение очень часто используется в технике, например, для описания полей напряжений и деформаций в плоской задаче теории упругости, в задачах теплопроводности, гидроаэродинамики, электростатики. В MathCAD для численного решения уравнения Пуассона используется метод конечных разностей.

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

Численный метод решения уравнения пуассона.

Если правая часть уравнения равна нулю, такое уравнение называется уравнением Лапласа

Численный метод решения уравнения пуассона.

На квадратной области уравнение Пуассона представляется в виде

Численный метод решения уравнения пуассона.

Численное решение ищется в MathCAD только на квадратной области, состоящей из ( n +1) Численный метод решения уравнения пуассона( n +1) точек. Поэтому граничные условия должны быть определены пользователем для всех четырех сторон квадрата. Самый простой ( и наиболее часто используемый) вариант – это нулевые граничные условия (уравнение Лапласа). В таком случае можно использовать функцию multigrid .

Обращение к функции:

Multigrid ( M , n cycle ),

где M – квадратная матрица размером 1 Численный метод решения уравнения пуассона2 n , которая содержит значения правой части уравнения Пуассона в соответствующей точке квадратной области; n cycle – число циклов на каждом уровне итерации функции multigrid . Значение n cycle =2 обычно дает хорошую аппроксимацию решения.

Пример использования функции multigrid приведен на рис. 5.21.

Численный метод решения уравнения пуассонаОбнуление предыдущих значений М

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассонаОбнуление матрицы правых частей уравнения

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассонаТри точечных источника

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассонаЗначения правой части уравнения Пуассона

Численный метод решения уравнения пуассона

Численный метод решения уравнения пуассона

Рис. 5. 21 Решения уравнения Лапласа с помощью функции multigrid

Если граничные условия по сторонам квадрата ненулевые, необходимо использовать функцию relax .

Обращение к функции:

Численный метод решения уравнения пуассонаrelax(a, b, c, d, f, u, rjac),

где a , b , c , d , e – квадратные матрицы одинакового размера, содержащие коэффициенты аппроксимирующего уравнения; f – квадратная матрица, содержащая значения правой части уравнения в каждой точке области, где ищется решение; u – квадратная матрица, содержащая граничные значения решения на границе квадратной области и начальное приближение для решения внутри области; rjac – спектральный радиус итераций Якоби. Это число между 0 и 1, которое управляет сходимостью процесса релаксации.

Использование этой функции требует глубокого знания метода конечных разностей для составления указанных матриц. Пример использования функции relax приведен на рис. 5.22 и 5.23.

Определим размеры сетки

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Введем 5 квадратных матриц для коэффициентов a, b, c, d, e ,

входящих в сеточную аппроксимацию уравнения Пуассона

чем больше эти коэффициенты, тем меньше шаг решения,

тем точнее результат. Можно взять

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Задает положение и интенсивность источника

Пусть во всех узлах значения правой части одинаковы

Граничные условия Численный метод решения уравнения пуассона

на верхней границе Численный метод решения уравнения пуассона

на нижней границе Численный метод решения уравнения пуассона

по бокам Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Поменяйте условия. Включите серые выражения.

Это аналог функции multigrid

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Спектральный радиус Якоби r Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Решение уравнения Пуассона Численный метод решения уравнения пуассона

Рис. 5. 22 Решение уравнения Пуассона с помощью функции relax

Численный метод решения уравнения пуассона Численный метод решения уравнения пуассона

Рис. 5. 23 Результаты решение уравнения Пуассона с помощью функции relax

🎦 Видео

9. Уравнение ПуассонаСкачать

9. Уравнение Пуассона

Решение уравнения Пуассона методом верхней релаксацииСкачать

Решение уравнения Пуассона методом верхней релаксации

Кобельков Г. М. - Численные методы. Часть 2 - Численные методы для эллиптических уравненийСкачать

Кобельков Г. М. - Численные методы. Часть 2 - Численные методы для эллиптических уравнений

29. Адиабатический процесс. Уравнение ПуассонаСкачать

29. Адиабатический процесс. Уравнение Пуассона

Формула ПуассонаСкачать

Формула Пуассона

ЧК_МИФ_3_1_2_5 (L3) УРАВНЕНИЕ ПУАССОНАСкачать

ЧК_МИФ_3_1_2_5 (L3)   УРАВНЕНИЕ ПУАССОНА

6.1 Численные методы решения задачи Коши для ОДУСкачать

6.1 Численные методы решения задачи Коши для ОДУ

10 Численные методы решения нелинейных уравненийСкачать

10 Численные методы решения нелинейных уравнений

ЧК МИФ 3 1 3 3 5 L4 Уравнение ПуассонаСкачать

ЧК МИФ 3 1 3 3 5 L4  Уравнение Пуассона

Уравнение ПуассонаСкачать

Уравнение Пуассона

7.2 Задача 1. Краевая задача для уравнения ПуассонаСкачать

7.2 Задача 1. Краевая задача для уравнения Пуассона

14 Метод половинного деления Ручной счет Численные методы решения нелинейного уравненияСкачать

14 Метод половинного деления Ручной счет Численные методы решения нелинейного уравнения

6-5. Алгоритм прогонкиСкачать

6-5. Алгоритм прогонки

Метод Ньютона (метод касательных) Пример РешенияСкачать

Метод Ньютона (метод касательных) Пример Решения

Лекция №1.1 Явная и неявная схемы для уравнения теплопроводностиСкачать

Лекция №1.1 Явная и неявная схемы для уравнения теплопроводности

6-2. Метод сетокСкачать

6-2. Метод сеток

Билет №04 "Потенциал электростатического поля"Скачать

Билет №04 "Потенциал электростатического поля"

УМФ, 01.12, решение задач Лапласа и Пуассона в случае неоднородных граничных условийСкачать

УМФ, 01.12, решение задач Лапласа и Пуассона в случае неоднородных граничных условий
Поделиться или сохранить к себе: