- •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 |