- •6.Численное решение краевых задач для уравнений математической физики
- •6.1.Характеристика метода конечных разностей для решения уравнений математической физики
- •6.2.Метод конечных разностей решения задачи дирихле в прямоугольной области
- •6.3.Итерационный метод решения системы конечно-разностных уравнений
- •6.4.Метод конечных разностей для решения уравнений параболического типа
- •6.5.Метод конечных разностей для решения уравнений гиперболического типа
6.3.Итерационный метод решения системы конечно-разностных уравнений
Непосредственное решение системы конечно-разностных уравнений методами последовательного исключения при большом числе узлов оказывается слишком громоздким. Здесь более удобны итерационные методы решения, которые учитывают специальный вид таких систем и оказываются удобными для реализации на ЭВМ.
Рассмотрим один из наиболее простых
методов – процесс усреднения Либмана
для систем. Согласно методу Либмана
вычисления ведутся следующим образом:
выбрав начальные приближения
,
последовательные приближения
для
внутренних узлов сеточной области
,
определяем по формулам
,
для уравнения Пуассона и
,
для уравнения Лапласа, которые следуют из конечно-разностных уравнений.
Для получения начальных приближений можно указать два способа:
значения во внутренних узлах получают путем интерполирования, использующего известные граничные условия;
составляют систему конечно-разностных уравнений для сетки с более крупным шагом и решают ее методом исключения, а затем полученные значения интерполируют на узлы данной сетки.
Доказано, что для любого шага
процесс Либмана сходится к точному
решению независимо от выбора начальных
значений.
Итерационный процесс будет сходиться значительно быстрее, если при вычислении последующих средних арифметических использовать не только значения предыдущего приближения, но и вновь найденные значения. Обычно итерации продолжают до тех пор, пока в двух последовательных приближениях не совпадет требуемое количество десятичных знаков.
6.4.Метод конечных разностей для решения уравнений параболического типа
Рассмотрим краевую задачу для
дифференциального уравнения в частных
производных второго порядка параболического
типа. Задача заключается в нахождении
функции
,
удовлетворяющей уравнению
начальному условию
и граничным условиям
.
Если
,
то рассматривается краевая задача для
неоднородного уравнения, если
– краевая задача для однородного
уравнения.
Сформулированная задача, в частности,
является задачей теплопроводности, то
есть задачей о распространении тепла
в однородном стержне длины
.
Начальные условия задают распределение
тепла в стержне в начальный момент
времени
.
Граничные условия задают законы изменения
температуры с течением времени в
граничных точках стержня
и
.
Функция
определяет наличие внутри стержня
тепловых источников. Если
,
то внутренние тепловые источники в
стержне отсутствуют.
Для решения краевой задачи применим
метод конечных разностей. Для этого в
области
построим два семейства параллельных
прямых, проходящих через точки
,
на осях координат.
Значения неизвестной функции
в узлах сетки обозначим через
,
,
Для нахождения значений искомой функции на границах заданной области воспользуемся заданными краевыми условиями.
Из начальных условий
следует, что они выполняются для
и всех
,
где
:
,
или
,
.
Из граничных условий
следует, что они выполняются для всех
,
где
.
Первое условие выполняется для
,
а второе – для
:
или
,
как показано на рисунке.
Для нахождения значений искомой функции
во внутренних узлах области воспользуемся
заданным уравнением, в котором производную
в каждом внутреннем узле приближенно
заменим разностным отношением
,
а производную
– одним на двух разностных отношений
или
.
Тогда для дифференциального уравнения
получим два типа конечно-разностных
уравнений при
,
:
или
.
После умножения уравнений на
получим
или
.
Обозначив
,
приводим эти уравнения при
,
к виду
или
.
Отметим, что для составления первого уравнения была использована явная схема узлов, а для второго уравнения – неявная схема.
При выборе числа в уравнениях следует учитывать два обстоятельства:
погрешность замены дифференциального уравнения разностным должна быть наименьшей;
разностное уравнение должно быть устойчивым.
Доказано, что уравнение с явной схемой
узлов будет устойчивым при
,
а уравнение с неявной схемой узлов –
при любом
.
Наиболее удобный вид первое уравнение
с явной схемой узлов имеет при
:
,
,
и при
:
,
,
.
Оценки погрешностей приближенных
решений, полученных конечно-разностных
уравнений в полосе
,
имеют вид
для
явной схемы узлов при
,
для
явной схемы узлов при
,
для неявной схемы узлов,
где
Сравнивая полученные конечно-разностные соотношения для определения искомой функции и приведенные оценки погрешностей можно сделать следующий вывод:
первое уравнение с явной схемой узлов при имеет самый простой вид и позволяет вычислить все значения искомой функции, если известны значения на начальном уровне, соотношение между шагами интегрирования
,
погрешность применяемой формулы
определяется величиной
;первое уравнение с явной схемой узлов при более громоздкое, соотношение между шагами
означает, что шаг по времени
должен быть значительно меньше шага
по переменной
,
что приводит к большему объему вычислений,
однако эта формула имеет более высокую
точность получаемых значений по
сравнению с другими формулами;вторая формула с неявной схемой узлов приводит к решению системы уравнений относительно неизвестных значений функции, дает меньшую точность, однако шаги интегрирования выбираются произвольно, независимо друг от друга.
Пример. Найти приближенное решение уравнения
,
удовлетворяющего условиям
,
,
.
Решение. Будем использовать явную
схему узлов с
.
Выберем по аргументу
шаг
.
Так как
,
получаем по аргументу
шаг
.
Разобъем промежуток
на части точками деления
,
а промежуток
точками
Тогда
;
;
;
;
;
.
;
;
;
.
Воспользуемся начальными условиями и
определим значения функции
на начальном слое по формулам:
;
,
.
Получим
;
;
;
;
;
;
Воспользуемся граничными условиями и определим значения функции на левой и правой границах области по формулам:
;
;
;
;
;
.
Значения функции
на первом слое при
находим по формуле с явной схемой
узлов, если
,
при
:
;
;
При этом используются значения функции на начальном слое и граничные значения. Таким образом, получаем
;
;
;
;
Значения функции
на втором слое при
,
находим по формуле:
;
и т.д.
В результате получим следующие значения:
3 |
0,06 |
|
0 |
0,3112 |
0,5036 |
0,5036 |
0,3112 |
0 |
2 |
0,04 |
|
0 |
0,3847 |
0,6225 |
0,6225 |
0,3847 |
0 |
1 |
0,02 |
|
0 |
0,4755 |
0,7694 |
0,7694 |
0,4755 |
0 |
0 |
0 |
|
0 |
0,5878 |
0,9511 |
0,9511 |
0,5878 |
0 |
j |
t |
|
|
|
|
|
|
|
|
|
x |
0 |
0,2 |
0,4 |
0,6 |
0,8 |
1 |
|
|
i |
0 |
1 |
2 |
3 |
4 |
5 |
