Конечно-разностные методы


 

Применение конечно-разностных методов к краевым задачам в основном сводится к довольно тривиальной процедуре. Любая производная в дифференциальном уравнении заменяется соответствующей конечно-разностной аппроксимацией.

Рассмотрим, например, линейное дифференциальное уравнение вида

y'' + p(x)y' +q(x)y = f(x), a < x < b (6.20)

с граничными условиями

x=a: a1y(a) +b1y'(a)=g1; (6.21)

x=b: a2y(b) +b2y'(b)=g2. (6.22)

Введем на отрезке [a, b] разностную сетку a = x0, x1, x2,…, xN = b с шагом .

В каждой внутренней точке заменим производные центральными разностями (аппроксимация порядка O(h2)). Получаем систему разностных уравнений:

(6.23)

k=1, 2, … ,N–1.

Построим разностную аппроксимацию краевых условий со вторым порядком точности. Для этого разложим y1 в ряд Тейлора в окрестности точки x0:

Отсюда .

Аналогично для точки xN-1.

.

Разностные уравнения (6.2) вместе с граничными соотношениями составляют систему из N+1 линейных алгебраических уравнений с N+1 переменной y0, y1, …, yN.

y0 + l1y1 = m1;

akyk1 + ckyk + bkyk+1 = dk; k=1…N–1;(6.24)

l2yN–1 + yN = m2;

где ak = 1 pk; ck = h2qk2; bk = 1 + pk; dk = h2fk.

Или в развернутом виде:

Таким образом, краевая задача сводится к решению системы уравнений c трехдиагональной матрицей:

Ay = d.

Мы уже знаем, что для решения СЛАУ с трехдиагональной матрицей используется метод прогонки. Известно, что для устойчивости прогонки необходимо диагональное доминирование матрицы коэффициентов, т.е.

|ck| ³ |ak| + |bk|; 1 ³ |l1|; 1 ³ |l2|

или в нашем случае

| h2qk – 2| ³ |1–hpk /2| + |1+hpk /2|.

Из этого соотношения можно получить ограничение на шаг для конкретных значений qk, pk.

Сходимость же решения (и область сходимости) необходимо исследовать особо. Или – другой путь. Провести расчет для разных значений шага (не менее трех) и убедиться в том, что полученные значения функции в одних и тех же узлах близки между собой и их разность уменьшается, что говорит о стремлении решения к некоторому пределу при 0.

Если же краевая задача нелинейная (нелинейно уравнение и/или граничные условия), то в результате применения конечно-разностного метода получается система нелинейных уравнений

A(x,y)y = d(x,y) или F(y) = 0.

Для решения систем нелинейных уравнений используются в основном итерационные способы, например метод Ньютона:

y(m+1) = y(m)F(y(m))/F(y(m)),

где F(y(m)) – матрица Якоби.

Метод стрельбы

Суть метода стрельбы заключается в сведении решения краевой задачи к решению задач Коши.

Рассмотрим его применение на примере той же задачи (6.20).

Обозначим z(x)=y¢.Получаем краевую задачу для системы из двух дифференциальных уравнений первого порядка:

(6.25)

Зададим произвольно еще одно условие, например, на левой границе: y(a)=x.

Тогда .

Следовательно, мы можем начать решение задачи Коши для системы из двух уравнений. Решаем каким-либо из известных нам методов, например, методом Рунге-Кутта и находим решение в точке x=b. Естественно, это решение получилось у нас зависящим от x: yN(x), zN(x). Более того, это решение должно удовлетворять правому граничному условию (при x=b), т.е. необходимо, чтобы

a2yN(x) + b2zN(x) = g2 или F(x) = 0. (6.26)

Таким образом, наша задача свелась к поэтапному улучшению первоначальной оценки граничного условия y(a) = x до тех пор, пока условие (6.26) не выполнится, т.е. к «пристрелке».

В общем случае уравнение (6.26) нелинейно и решается относительно x любым из известных способов решения нелинейных уравнений (итераций, Ньютона, половинного деления и т.п.). Функция F(x) в явном виде неизвестна, однако ее значение можно вычислить для любого заданного x путем решения задачи Коши.

Таким образом, процесс реализации метода стрельбы можно разбить на три этапа:

1) подбор хорошего начального приближения для x;

2) нахождение эффективного метода вычисления F(x);

3) выбор соответствующего итерационного метода для решения уравнения F(x)=0.

Если система уравнений (6.25) содержит больше двух уравнений, то недостающих условий на каком-либо конце отрезка интегрирования будет больше, чем одно.

(6.27)

В этом случае поступают аналогичным образом.

Во-первых, выбирают границу с большим числом заданных граничных условий, пусть это будет x=a, а недостающие задают произвольным образом: yi(a)=xi, i=k+1,…,n.

Во-вторых, решают задачу Коши и находят

, j=1,…, n.

Теперь на правой границе необходимо решать систему нелинейных (в общем случае) уравнений

или F(x) = 0 (6.28)

для нахождения необходимых значений xi. Эта задача также решается одним из известных методов (метод Ньютона, методы спуска).

Решение задачи Коши, при котором выполнится (6.28), и будет решением краевой задачи.

Отметим еще следующее. «Пристрелку» можно вести и с двух концов одновременно, задавая произвольным образом недостающие граничные условия на обоих концах отрезка и решая задачу Коши одновременно с двух сторон (из точки х=а и x=b). Некоторая точка встречи решений называется точкой сшивания (x=xm). В этой точке должны выполняться условия сшивания:

F(x) º yi(a, xm, x) – yi(b, xm, x) = 0.

Правильный выбор положения точки xm позволяет преодолеть некоторые трудности, которые возникают в процессе практического интегрирования уравнений.

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

Отметим также, что метод стрельбы малопригоден, если имеется сильная зависимость функции F(x) от начального значения x. В этом случае следует очень точно определять это начальное значение, что не всегда возможно.



Дата добавления: 2020-10-25; просмотров: 318;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.015 сек.