Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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.1x1.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
,x0,
,
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,x0,
,
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,x0,
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,x0, (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).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]