Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
6.3. Численное решение задачи Коши 161
для уравнения (6.14). Предположим, что интегральная кривая уравнения (6.14) проходит через точку с координатами x = x
∗
, u∗= u(x∗).
Вблизи этой точки можно записать
(x
)+
∗,u∗
∂f
∗,u∗
(x
∂x
)(u − u∗),
)(x −x∗)+
f(x, u) ≈ f(x
+
∗,u∗
∂f
∂u
и, следовательно, уравнение (6.14) можно приближённо заменить уравнением
где
∗(x∗,u∗
γ
ϕ(x)=f(x
du
dx
)=
∗,u∗
−u
= −γ
∂f
∂u
)+
∂f
∗
∂u
∗
u + ϕ(x),
∗,u∗
(x
∂f
∗,u∗
(x
∂x
∗,u∗
(x
=const,
)
)(x − x∗)−
).
Здесь мы предполагаем, что дифференциальное уравнение (6.14) устойчиво, поэтому производная ∂f/∂u неположительная. Это уравнение выглядит как модельное уравнение (6.16) (функцией ϕ(x) можно пренебречь, так как она не влияет на устойчивость), поэтому условия устойчивости разностных схем для модельного уравнения можно применить и
для случая уравнения (6.14). Любая условно-устойчивая схема для уравнения (6.16) имеет ограничение на выбор шага h : h<β/γ, β =const> 0
(смотри Приложение C). Естественно, что теперь значение коэффициента γ = γ
дифицировать приведённое выше условие. Это значит, что мы должны
учитывать, что γ
∗
может меняться от точки к точке, поэтому необходимо мо-
∗
принимает не одно, а некоторое множество значений, которое описывает изменение ∂f/∂u вдоль интегральной кривой.
По сути дела, существует два способа добиться устойчивости разностной схемы, а именно:
1) производить вычисления с переменным шагом h
творяет условию
h
β/γn,γn= γ∗(xn,u
n
(a)
n
,которыйудовле-
n
);

162 Глава 6
2) если мы можем оценить величину u(x) на интервале интегрирования, то шаг разностной сетки выбирается из условия
h β/ max
axb
γ∗(x, u(x)),
итакоезначениешагаh обеспечивает устойчивость разностной схемы в любой точке интервала интегрирования.
В большинстве случаев, встречающихся на практике, такой подход
позволяет добиться устойчивых расчётов.
П
РИМЕР 6.6 (АНАЛИЗ УСТОЙЧИВОСТИ РАЗНОСТНОЙ СХЕМЫ ДЛЯ НЕЛИ-
НЕЙНОГО УРАВНЕНИЯ). Рассмотрим дифференциальную задачу
2
= −
10 u
, 0.1 x 1.1,
x
du
dx
u(0.1) = 1.
Решение этого уравнения ограничено: u(x) 1.Тогдапараметрγ
можно оценить следующим образом:
∗
γ
(x, u)=
∂f
∂u
20u
=
.
x
Если мы будем использовать, например, схему Рунге–Кутта второго порядка, то выбор
max
2
γ∗(x, u)
=0.01
h
0.1x1.1
обеспечивает устойчивость этой схемы в любой точке заданного интервала. Если мы нарушим это условие и выберем, например, h =0.0159,
то полученное решение не является приближённым решением исходной
задачи, как показано на рисунке 6.3.
∗
6.3.5. Системы дифференциальных уравнений
На практике мы часто сталкиваемся с задачами Коши не для одного
уравнения, а для системы из N дифференциальных уравнений первого
порядка. Все рассмотренные выше схемы для численного решения уравнения (6.14) непосредственно обобщаются на случай системы уравнений (6.15). Следует только заменить
(a)
u
n
на u
(a)
n

6.3. Численное решение задачи Коши 163
1.2
1
0.8
u x()
0.6
0.4
0.2
0
-0.2
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
Рис. 6.3. Пример неустойчивого решения; —————— — точное решение; ————— —
приближённое решение
x
и
f(x, u
(a)
) на f(x, u
n
(a)
n
)
в схемах Рунге–Кутта и Адамса. Например, система уравнений
du
1
=(1− cu
dx
du
2
=(−1+du
dx
(0) = α1,u2(0) = α
u
1
2)u1
,x 0,
,
1)u2
2
может быть записана в форме
d u
= f(x, u),x 0,
dx
u(0) = u
,
in
(6.31)

164 Глава 6
если ввести обозначения
u =
u
1
, f(x, u)=
u
2
(1 − cu
(−1+du1)u
2)u1
, u
2
in
Схема Рунге–Кутта (6.25) для системы уравнений имеет вид
α
1
=
.
α
2
u
(a)
n+1
k
= f(x
2
= u
= f(xn, u
k
1
(a)
n
n+1
+
, u
1
2
h(k
(a)
n
(a)
n
+ k2),
1
),
+ hk1),
и в случае системы (6.31) записывается как
k
2,1
k
2,2
u
u
(a)
1,n+1
(a)
2,n+1
=
=
k
1,1
k
1,2
(1 −c(u
−1+d(u
u
u
=
(a)
1,n
+
(a)
2,n
(1 − cu
(−1+du
(a)
+ hk
2,n
(a)
+ hk
1,n
1
2
(a)
2,n
1,2
h
1,1
) u
(a)
1,n
))(u
k
k
(a)
1,n
) u
))(u
1,1
1,2
(a)
1,n
(a)
2,n
(a)
2,n
+ k
+ k
+ hk
+ hk
,
2,1
2,2
1,1
)
.
)
1,2
Задача Коши для дифференциального уравнения вида
m
d
dx
u
= f(x, u,
m
d
dx
du
, ...,
dx
k
u
(a)=αk,k=0, ..., m− 1,
k
d
dx
m−1
m−1
u
),a x b,
может быть также представлена в виде системы уравнений (6.15) путём
замены переменных. Следующий пример демонстрирует эту процедуру.
Урав нен ие
2
d
dx
u
+sin(x
2
du
+ u
du
u(0) = α
du
(0) = α
dx
2
)=0,x 0,
,
1
2

6.3. Численное решение задачи Коши 165
можно представить в виде системы уравнений, если сделать замену
u
(x)=u(x),u2(x)=
1
3
2
1
Im()w
0
-1
-2
-3
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5
=4p
=3p
=2p
=1p
Re()w
du
dx
.
Рис. 6.4. Области устойчивости на комплексной плоскости для p-стадийных явных схем Рунге–Кутта порядка p =1, 2, 3, 4. Область устойчивости лежит вну-
три контура
Врезультатемыполучим
du
dx
1
= u
du
2
,
2
= −sin(xu
dx
2
+ u
),u1(0) = α1,u2(0) = α2.
2
1
В параграфе 6.3.1 мы рассмотрели критерий устойчивости разност-
ных схем для модельного уравнения (6.16). Теперь в качестве модельной
системы выбирается следующая система уравнений:
d u
= Au,x 0,
dx
где A — некоторая матрица с постоянными коэффициентами. Критерий
устойчивости разностной схемы для этой модельной системы представляет собой некоторое ограничение на величину w = hλ
(A),гдеλm(A)
m

166 Глава 6
4
3
2
=3p
1
Im()w
0
-1
-2
-3
-4
-6 -5 -4 - 3 -2 -1 0 1
Рис. 6.5. Области устойчивости на комплексной плоскости для неявных схем
Адамса порядка p =3, 4 (схемы первого и второго порядка безусловно устойчи-
вы). Область устойчивости лежит внутри контура
1
0.8
0.6
=1p
0.4
0.2
Im()w
0
-0.2
-0.4
-0.6
-0.8
-1
-2 -1.5 -1 -0.5 0 0.5
Рис. 6.6. Области устойчивости на комплексной плоскости для явных схем Адамса порядка p =1, 2, 3, 4. Область устойчивости лежит внутри контура
=4p
Re()w
=2p
Re()w
=3p
=4p

6.3. Численное решение задачи Коши 167
есть собственные значения матрицы A. Только теперь появляется новая особенность. В общем случае, матрица A несимметричная, тогда её
собственные значения не обязательно вещественные и, следовательно,
параметр w может принимать комплексные значения. Поэтому разностная схема будет устойчивой, если параметр w (для всех значений m)
принадлежит определённой области на комплексной плоскости. Такие
области для схем Рунге–Кутта и Адамса показаны на рисунках 6.4–6.5.
В параграфе 6.3.4 мы рассмотрели, как можно обобщить критерий устойчивости, полученный для линейного модельного уравнения, на
случай нелинейного уравнения. Этот критерий устанавливает некоторые ограничения на величину hγ
∗
,гдеγ∗оценивает скалярную величину ∂f/∂u. В случае системы уравнений (6.15) естественным аналогом
производной ∂f/∂u является матрица Якоби F(x, u).Тогдапараметрw
определяемый теперь как w = hλ
(F ), будет переменным. Разностная
m
схема будет устойчивой, если шаг h выбирается таким образом, чтобы
параметр w (для всех значений m) принадлежал определённой области
на комплексной плоскости.
6.3.6. Методы решения жёстких систем дифференциальных
уравнений
Во многих областях исследований возникают системы дифференциальных уравнений, имеющие одно очень интересное свойство, называемое «жёсткостью». Применение рассмотренных выше методов для численного решения таких систем, с вычислительной точки зрения, будет
крайне неэффективным. Рассмотрим, например, следующую задачу Коши:
d u
= Au,x 0, (6.32)
dx
где
⎛
⎞
−21 19 −20
A =
⎝
19 −21 20
⎠
, (6.33)
40 −40 −40
сначальнымиусловиями
⎞
⎛
1
⎠
⎝
0
u(0) =
.
−1

168 Глава 6
Решение этой задачи имеет вид
Графики u
u
1
u
2
1
1
2
1
2
(x)=−e
u
3
e
e
(x)=
(x)=
(x), u2(x) и u3(x) представлены на рисунке 6.7.
−2x
−2x
1
−40x
e
+
−
−40x
2
1
2
[cos(40x)+sin(40x)] ,
−40x
[cos(40x)+sin(40x)] ,
e
[cos(40x) − sin(40x)] .
(6.34)
На интервале 0 x 0.1 все три компоненты изменяются очень
быстро, и при численном решении этой задачи шаг разностной сетки
должен быть очень мал. Для x>0.1, однако, две компоненты решения,
(x) и u2(x), практически совпадают и изменяются довольно медленно,
u
1
атретьякомпонента,u
(x), близка к нулю. Поэтому на данном интер-
3
вале можно было бы задать и более крупный шаг разностной сетки.
1
0.8
u
1
0.6
0.4
0.2
u x()
u
2
u
3
0
- 0.2
- 0.4
- 0.6
- 0.8
- 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Рис. 6.7. Точное решение задачи (6.32)
x
Матрицей Якоби F(x, u) для уравнения (6.32) является матрица A, определённая в (6.33), и её собственные значения λ
равны −2,
m
−40 ±40i. Если для решения системы (6.32) использовать какую-нибудь

6.3. Численное решение задачи Коши 169
явную схему, то мы столкнёмся с довольно сильным ограничением на
шаг h, так как последние два собственных значения имеют относительно
большое по модулю значение. В то же время эти собственные значения
определяют ту часть точного решения (6.34), которая пренебрежимо мала при x 0.1. В результате мы вынуждены задать очень маленький
шаг разностной сетки на всём интервале интегрирования, что потребует
большого объёма вычислений. Такая ситуация характерна для жёстких
систем уравнений.
В случае нелинейной системы (6.15) жёсткость определяется собственными значениями матрицы Якоби F(x, u),которыезависятотx.
Система уравнений называется жёсткой на некотором интервале I,если
1) Reλ
2) max
где λ
(x) < 0, m =1,...,N;
m
|Reλm(x)|minm|Reλm(x)|, x ∈ I,
m
(x) — собственные значения матрицы F(x, u).Отношение
m
|Reλm(x)|
max
m
minm|Reλm(x)|
называется коэффициентом жёсткости. Система уравнений (6.32) имеет
коэффициент жёсткости, равный 20, что вполне приемлемо, так как во
многих практических задачах коэффициенты жёсткости зачастую достигают величины 10
6
.
Применение явных (условно-устойчивых) схем для решения жёстких систем уравнений вызывает затруднение, так как это приводит к
сильным ограничениям на величину шага разностной сетки. Единственный способ преодолеть это затруднение — применять неявные схемы,
которые либо безусловно-устойчивы, когда Re λ
< 0,либоимеютболь-
m
шую область устойчивости. Со схемами первого рода мы уже встречались: это неявные схемы Адамса первого и второго порядка.
Другим популярным методом решения жёстких задач являются формулы дифференцирования назад (BDF, Backward Differentiation
Formulae). Построение схем Адамса основано на интегрировании полинома, который интерполирует предыдущие значения f (x, u). Построение
схем BDF основано на дифференцировании полинома, который интерполирует предыдущие значения u
ная в точке x
приравнивается затем значению f (xn,un).СхемыBDF
n
(a)
. Полученная таким образом производ-

170 Глава 6
порядка p для системы уравнений можно записать в следующем виде:
p
1
h
k=0
cku
(a)
n+1−k
= d0f(x
n+1
, u
(a)
n+1
),
где соответствующие коэффициенты представлены в Таблице 6.5. Из
этой формулы видно, что схемы BDF являются неявными схемами.
Таблица 6.5. Коэффициенты для схем BDF
Порядок аппроксимации, p d
0
bk,k=0,...,p− 1
1 1 1 −1
2 2/3 1 −4/3 1/3
3 6/11 1 −18/11 9/11 −2/11
4 12/25 1 −48/25 36/25 −16/25 3/25
Области устойчивости для схем BDF показаны на рисунке 6.8. Схемы первого и второго порядка безусловно-устойчивы, когда Re λ
m
< 0,
а схемы третьего и четвёртого порядка имеют небольшие области
неустойчивости для малых значений Re λ
вблизи мнимой оси.
m
Все разностные схемы, пригодные для численного решения жёстких
задач, являются неявными схемами, поэтому на каждом шаге вычислений мы должны решить систему нелинейных уравнений вида
(a)
u
= h · const · f (x
n+1
n+1
, u
(a)
n+1
)+r,
где r — некоторый известный вектор. Такая форма уравнений непосредственно подходит для применения метода простой итерации (4.3). Как
было рассмотрено в параграфе 4.1, для сходимости метода простой итерации требуется выполнение условия
h ·const ·F(x, u < 1. (6.35)
Поэтому имеет смысл применять метод простой итерации только для
умеренно жёстких задач, когда F(x, u) не очень велика. Для очень
жёстких задач F(x, u) велика, и, согласно условию (6.35), мы сталкиваемся с сильным ограничением на величину шага разностной сетки.
В этом случае предпочтительнее использовать метод Ньютона и его модификации (смотри Главу 4), так как он обеспечивает сходимость итераций при более слабом ограничении на h, чем условие (6.35).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
