Глава 2. Краевая задача

Назад § 2.3. Конечно-разностные методы Вперед

В третий раз закинул он невод,—
Пришел невод с одною рыбкой,
С непростою рыбкой,— золотою.

А.С. Пушкин. Сказка о рыбаке и рыбке

Здесь описываются конечно-разностные, или сеточные методы решения краевых задач.

2.3.1. Общая схема.

Основная идея конечно-разностных методов решения краевых задач полностью аналогична идее конечно-разностных методов решения задачи Коши. Краевая задача, скажем, для определенности, задача (E2) – (BC), или, в операторной форме, уравнение (O), заменяется разностной схемой

Fτ(x) = 0(S)

в пространстве Sτ сеточных функций на сетке Gτ. Дословно повторяются понятия порядка аппроксимации, устойчивости, сходимости. Точно так же, как и в случае задачи Коши, имеет место теорема Лакса. Поэтому для доказательства сходимости решений схемы (S) к решению уравнения (O) достаточно показать, что схема является аппроксимирующей и устойчивой. И если с изучением свойств аппроксимации обычно проблем не возникает, то в случае краевых задач исследование устойчивости доставляет по сравнению со случаем задачи Коши ряд дополнительных трудностей.

Мы начнем с простейшей линейной краевой задачи и простейшей разностной схемы.

2.3.2. Пример.

Рассмотрим скалярную линейную краевую задачу
x′′+ A(t)x = c(t),   t ∈ [0, T],(1)
x(0) = a,   x(T) = b.(2)

Предположим, функция A непрерывна и A(t) < 0 при всех t ∈ [0, T].

Задача 2.3.1. Докажите, что при этих условиях задача (1) – (2) имеет единственное решение для любой непрерывной функции c и любых a и b.

Пусть Gτравномерная сетка на [0, T], причем τn = T. Определим на Sτ разностный оператор
[Fτ(x)]i = {
xi+1 – 2xi + xi–1
τ2
 + A(ti)xic(ti), если i = 1, ..., n – 1,

xia, если i = 0,

xib, если i = n.
(3)

Здесь мы при i = 1, ..., n – 1 аппроксимировали вторую производную в (1) в точке t центральными разностями.

Задача 2.3.2. Покажите, что если A и c дважды непрерывно дифференцируемы, то схема (S) с таким разностным оператором аппроксимирует задачу (1) – (2) со вторым порядком, т. е. ||FτPτφ||τ = O2) для любого решения φ задачи (1) – (2).

2.3.3. Устойчивость схемы (3).

Пусть zSτ, Fτφτ = 0, Fτψτ = z. Нам надо доказать, что ||φτ – ψτ||τ Cs||z||τ при некотором Cs и всех достаточно малых τ. Легко видеть, что сеточная функция ξ = φτ – ψτ удовлетворяет уравнению

Lτ(ξ) = z,

где [Lτ(ξ)]i = [Fτ(ξ)]i + c(ti) при i = 1, ..., n – 1 и [Lτ(ξ)]i = ξi при i = 0 и i = n.

Задача 2.3.3. Проведите необходимые выкладки.

Разностный оператор Lτ представляет собой разностный оператор Fτ для однородной краевой задачи (1) – (2), т. е. задачи (1) – (2) при c(t) ≡ 0, a = b = 0.

Докажем сначала вспомогательную лемму, являющуюся разностным аналогом известного принципа максимума (в данном контексте — минимума).

2.3.4. Лемма.

Пусть сеточная функция γ удовлетворяет условиям [Lτ(γ)]i ≤ 0 при i = 1, ..., n – 1, γ0 ≥ 0, γn ≥ 0. Тогда γi ≥ 0 при всех i = 0, ..., n.

Д о к а з а т е л ь с т в о.  Пусть δ = min0≤inγi, а j наименьший номер, при котором γj = δ. Предположим, что утверждение леммы не верно, т. е. δ < 0. Поскольку γ0 ≥ 0 и γn ≥ 0, выполнены неравенства 0 < j < n. По определению j

γj–1 > γj,   γj+1 ≥ γj.

Но тогда, так как A(tj) < 0 и γj = δ < 0,

[Lτ(γ)]j = j+1 – γj) – (γj – γj–1)
τ2
 + A(tjj =

γj+1 – δ
τ2
 – δ – γi–1
τ2
 + A(tj) δ > 0,

что противоречит условиям леммы.

2.3.5. Продолжение доказательства устойчивости системы (3).

Определим функцию η ∈ Sτ равенством

 ηi = |z0| Tiτ
T
 + |zn|iτ
T
 + (Tiτ)iτ
2
||z||τ. 

Задача 2.3.4. Покажите, что
[Lτ(η)]i ≤ –|| z||τ(4)

при i = 1, ..., n–1, [Lτ(η)]0 = |z0|, [Lτ(η)]n = |zn|.

В силу (4) и линейности оператора Lτ

[Lτ(η ± ξ)]i = [Lτ(η)]i ± [Lτ(ξ)]i ≤ –||z||τ ± [Lτ(ξ)]i = –||z||τ ± zi ≤ 0

при i = 1, ..., n – 1. Кроме того, очевидно,

(η ± ξ)0 = |z0| ± z0 ≥ 0 и (η ± ξ)n = |zn| ± zn ≥ 0.

Поэтому, как функция η + ξ, так и функция η– ξ, удовлетворяют условиям леммы 2.3.4. По этой лемме ηi ± ξi ≥ 0, откуда i| ≤ | ηi| при всех i = 1, ..., n и, следовательно, ||ξ||τ ≤ ||η||τ. Остается заметить, что (здесь, в частности, мы используем неравенство о среднем арифметическом и среднем геометрическом)

 ||η||τ ≤ |z0| + |zn| + ||z||τ·
max
0≤in
(Tiτ)iτ
2
 ≤

 ≤ 2||z||τ + ||z||τ·1
2
(Tiτ + iτ
2
)2


 = (2 + T2
8
)||z||τ. 

Окончательно получаем неравенство

 ||φτ – ψτ||τ = ||ξ||τ(2 + T2
8
) ||z||τ Сs||z||τ,

означающее устойчивость разностной схемы (S) с разностным оператором (3).

2.3.6. Повышение порядка аппроксимации.

Схема (3), как следует из вышеизложенного, является схемой второго порядка сходимости. Ее порядок аппроксимации определяется порядком аппроксимации второй производной в уравнении (1), поскольку остальные члены уравнения в узлах сетки аппроксимируются точно. Если использовать разностную аппроксимацию производной более высокого порядка, например, четвертого, то естественно ожидать, что получится схема более высокого порядка аппроксимации. Например, можно заменить уравнение (1) следующей разностной схемой (как легко видеть, четвертого порядка аппроксимации):
xi+2 + 16xi+1 – 30xi + 16xi–1xi–2
h2
 + A(ti)xic(ti) = 0.
(5)

При этом не следует забывать о двух важных обстоятельствах. Во-первых, граничные условия следует аппроксимировать с соответствующим порядком точности. Во-вторых, для использования аппроксимации (5) в точках t1 и tn–1 требуется знание (недоступных) значений сеточной функции в точках t–1 и tn+1. Поэтому схема (5) в граничных и приграничных точках t0, t1, tn–1, tn должна быть другой (и одновременно аппроксимировать уравнение и краевые условия с соответствующим порядком).

2.3.7. О решении разностных схем.

Разностная схема (3) представляет собой линейную систему уравнений с матрицей

Aτ = 
|
|
|
|
|
|
|
|
|
1000···0
12–τ2A(t1)10···0
012–τ2A(t2)1···0
0012–τ2A(t3)···0
::::···:
0000···0

|
|
|
|
|
|
|
|
|
.

Поскольку мы предполагаем, что A(t) < 0, неравенство 2 – τ2A(ti) > 2 выполнено при всех i, и поэтому матрица Aτ, очевидно, обладает свойством строгого диагонального преобладания. Так как она, кроме того, трехдиагональна, разностную схему (3) можно устойчиво решать методом прогонки.

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

2.3.8. Нелинейные задачи.

Поясним основные проблемы, связанные с нелинейностью на примере краевой задачи
x′′ = f(t, x),   t ∈ [0, T],(6)
x(0) = a, x(T) = b.(7)

Если так же, как и в п. 2.3.2, заменить в (6) неизвестную функцию и ее производную разностными аппроксимациями, то мы получим разностную схему (S) с нелинейным разностным оператором

[Fτ(x)]i = {
xi+1 – 2xi + xi–1
τ2
 f(ti, xi), если i = 1, ..., n – 1,

xia, если i = 0,

xib, если i = n.

Нелинейную систему Fτx = 0 из (n+1)×m (скалярных) уравнений с (n+1)×m (скалярными) неизвестными обычно решают итерационными методами, например, известным методом Ньютона, в котором последовательность приближений {xk} схемы (S) определяется рекуррентной формулой
xk+1 = xk – [Fτ′(xk)]–1Fτ(xk), (8)
где через Fτ′(xk) обозначена производная отображения xFτ(x) в точке xk.

Задача 2.3.5. Покажите, что удовлетворяющая (8)сеточная функция xk+1 удовлетворяет линейной разностной схеме

xk+1i+1–  2xk+1i+ xk+1i–1
τ2
 – fx′(ti, xki)xik+1= ξi при i = 1, ..., n–1,
(9)
xk+10 = a,   xk+1n = b,(10)

где ξi = f(ti, xki)fx′(ti, xki)xki.

Разностная же схема (9) – (10) это схема вида (3), методы решения которой мы уже обсуждали. Итерации (8), решая на каждом шаге схему (9) – (10), продолжают до достижения удовлетворяющей точности.

Здесь мы описали один подход к нелинейным задачам: сначала перешли к дискретной модели (разностной схеме), а затем линеаризовали получившееся уравнение. Можно поступить наоборот: сначала линеаризовать уравнение (дифференциальную краевую задачу), а затем дискретизировать получившуюся линейную краевую задачу (перейти к разностной схеме). Чуть подробнее. Запишем задачу (6) – (7) в операторном виде
F(x) = 0,(11)

где F(x) = (x′′– f(·, x), x(0) – a, x(T) – b). Решение нелинейного уравнения (8) (в бесконечномерном пространстве функций) будем искать приближенным итерационным методом Ньютона: начиная с некоторой функции x0, последовательность приближений определим формулой
xk+1 = xk – [F′(xk)]–1F(xk)(12)

(обратите внимание, что здесь, в отличие от (8), xk представляют собой функции непрерывного аргумента, а не сеточные функции).

Задача 2.3.6. Покажите, что определяемая (12) функция xk+1 есть решение линейной краевой задачи
x′′ = fx′(t, xk(t))x = ξ(t),   t ∈ [0, T],(13)
x(0) = a,   x(T) = b.(14)

где ξ(t) = f(t, xk(t)) – fx′(t, xk(t))xk(t).

Дискретизация линейной краевой задачи (13) – (14) с помощью разностной схемы (3) приводит к разностной схеме (9) – (10).

Задача 2.3.7. Докажите.


File based on translation from TEX by TTH, version 3.05.
Created 30 May 2002, 18: 53.