§ 2.3. Конечно-разностные методы |
В третий раз закинул он невод,
Пришел невод с одною рыбкой,
С непростою рыбкой, золотою.
А.С. Пушкин. Сказка о рыбаке и рыбке
Здесь описываются конечно-разностные, или сеточные методы решения краевых задач.
2.3.1. Общая схема.
Основная идея конечно-разностных методов решения краевых задач полностью аналогична идее конечно-разностных методов решения задачи Коши. Краевая задача, скажем, для определенности, задача
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 непрерывна и
Задача 2.3.1. Докажите, что при этих условиях
задача
Пусть Gτ равномерная сетка на
| (3) |
Здесь мы при i = 1, ..., n 1 аппроксимировали вторую производную в (1) в точке t центральными разностями.
Задача 2.3.2. Покажите, что если A и c дважды непрерывно дифференцируемы, то схема (S) с таким разностным
оператором аппроксимирует задачу
2.3.3. Устойчивость схемы (3).
Пусть
Lτ(ξ) = z, |
где [Lτ(ξ)]i = [Fτ(ξ)]i + c(ti) при
Задача 2.3.3. Проведите необходимые выкладки.
Разностный оператор Lτ представляет собой разностный оператор Fτ для однородной краевой задачи
Докажем сначала вспомогательную лемму, являющуюся разностным аналогом известного принципа максимума (в данном контексте минимума).
2.3.4. Лемма.
Пусть сеточная функция γ
удовлетворяет условиям
Д о к а з а т е л ь с т в о. Пусть
γj1 > γj, γj+1 ≥ γj. |
Но тогда, так как A(tj) < 0 и γj = δ < 0,
|
|
что противоречит условиям леммы.
2.3.5. Продолжение доказательства устойчивости системы (3).
Определим функцию η ∈ Sτ равенством
|
[Lτ(η)]i ≤ || z||τ | (4) |
при i = 1, ..., n1, [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. |
Поэтому, как функция η + ξ, так и функция
|
|
Окончательно получаем неравенство
|
означающее устойчивость разностной схемы (S) с разностным оператором (3).
2.3.6. Повышение порядка аппроксимации.
Схема (3), как следует из вышеизложенного, является схемой второго порядка сходимости. Ее порядок аппроксимации определяется порядком аппроксимации второй производной в уравнении (1), поскольку остальные члены уравнения в узлах сетки аппроксимируются точно. Если использовать разностную аппроксимацию производной более высокого порядка, например, четвертого, то естественно ожидать, что получится схема более высокого порядка аппроксимации. Например, можно заменить уравнение (1) следующей разностной схемой (как легко видеть, четвертого порядка аппроксимации):
|
(5) |
При этом не следует забывать о двух важных обстоятельствах. Во-первых, граничные условия следует аппроксимировать с соответствующим порядком точности. Во-вторых, для использования аппроксимации (5) в точках t1 и
2.3.7. О решении разностных схем.
Разностная схема (3) представляет собой линейную систему уравнений с матрицей
|
Поскольку мы предполагаем, что A(t) < 0, неравенство
В случае разностных схем более высокого порядка аппроксимации заполненность матрицы схемы в общем случае растет. Тем не менее, если схема устойчива, то ее, как правило, можно устойчиво решать распространенными методами.
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 = 0 из
xk+1 = xk [Fτ′(xk)]1Fτ(xk), | (8) |
Задача 2.3.5. Покажите, что удовлетворяющая (8)сеточная функция xk+1 удовлетворяет линейной разностной схеме
|
(9) |
xk+10 = a, xk+1n = b, | (10) |
где ξi = f(ti, xki) fx′(ti, xki)xki.
Разностная же схема
Здесь мы описали один подход к нелинейным задачам: сначала перешли к дискретной модели (разностной схеме), а затем линеаризовали получившееся уравнение. Можно поступить наоборот: сначала линеаризовать уравнение (дифференциальную краевую задачу), а затем дискретизировать получившуюся линейную краевую задачу (перейти к разностной схеме). Чуть подробнее. Запишем задачу
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).
Дискретизация линейной краевой задачи
Задача 2.3.7. Докажите.
File based on translation from
TEX by TTH,
version 3.05.
Created 30 May 2002, 18: 53.