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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
6.3. Численное решение задачи Коши 151
которая аппроксимирует задачу (6.16) со вторым порядком по h.Мыне можем сразу записать эту схему в форме (6.17), так как она связывает не два, а три последовательных значения:
u
(a) n+1
,u
(a) n
,u
(a) n−1
.
Для того чтобы преодолеть это затруднение, запишем (6.21) в следую­щем виде:
u
(a) n+1
= u
u
(a) n
(a) n−1
= u
− 2γhu
(a)
.
n
(a) n
,
Если мы введём вектор
y
=
n
u
u
(a) n
(a) n−1
,
тогда предыдущее выражение можно представить как
y
n+1
=
u
u
(a) n+1
(a) n
−2γh 1
=
10
u
u
(a) n
(a) n−1
= Ry
.
n
Теперь разностная схема (6.21) записана в форме (6.17). Собствен-
ные значения полученного оператора перехода есть корни полинома
det
−2γh − λ 1 1 −λ
=det(R − λI)=0,
и они имеют значения
= −γh±1+(γh)2.
λ
1, 2
Это выражение показывает, что
|λ
| = γh +1+(γh)2> 1
2
для любого h>0, поэтому разностная схема (6.21) неустойчива. Неустойчивые разностные схемы обычно дают осциллирующие решения возрастающей амплитуды, подобные тем, которые показаны на рисун­ке 6.1, и, естественно, такие решения не сходятся к точному решению когда h → 0.
152 Глава 6
6.3.2. Методы Рунге–Кутта
С простейшей схемой Рунге–Кутта (РК) для задачи (6.14), по сути
дела, мы уже встречались (смотри схему (6.2)). Это схема Эйлера
(a)
u
n+1
x
= a + nh, n =0, ..., N −1,h=
n
− u
h
u
(a) n
(a) 0
= f(x
= α,
n
,u
(a) n
),
(6.22)
b − a
,
N
которая имеет первый порядок аппроксимации. Как мы видели в приме­ре 6.2, схемы первого порядка сходятся довольно медленно к точному ре­шению. В результате требуется значительный объём вычислений, чтобы достичь требуемой точности. В общем виде, явные РК-схемы строятся следующим образом:
u
(a) n+1
(a)
− u
n
h
= b
= f(xn+ c3h, u
k
3
+ ...+ bsks,n=0, ..., N − 1,u
1k1
k
= f(xn,u
1
= f(xn+ c2h, u
k
2
(a)
),
n
(a)
+ a21hk1),
n
(a)
+ h(a31k1+ a32k2)),
n
(a) 0
= α,
(6.23)
........................,
s−1
= f(xn+ csh, u
k
s
где s есть число стадий и b
, cl, a
l
l,m
(a) n
+ h
asmkm),
m=1
— некоторые вещественные парамет­ры. Задавая число стадий, можно определить эти параметры таким об­разом, чтобы достичь наивысшего возможного порядка аппроксимации. Схемы Рунге–Кутта (6.23) часто представляются символически в виде таблицы Бучера (Butcher):
0
0
a
c
2
3
2, 1
a
3, 1a3, 2
c
. ...
a
c
s
s, 1as, 2
b
1
... a
b2... b
s, s−1
s−1bs
.
6.3. Численное решение задачи Коши 153
В качестве примера рассмотрим двухстадийную схему (6.23):
(a)
u
n+1
Для того чтобы определить параметры b
(a)
− u
n
h
= b
k
= f(xn+ c2h, u
k
2
+ b2k2,n=0, ..., N − 1,
1k1
(a)
= α,
u
0
= f(xn,u
1
(a)
),
n
(a)
+ a21hk1).
n
, b2, c2и a
1
провести анализ аппроксимации. Если заменить u решение u(x),томыможемзаписатьвточкеx
u(x
) −u(xn)
n+1
h
=(b
+ b2)f(xn,u(xn)) + b2c2h
1
+b
hf(xn,u(xn))
2a2, 1
du
=
dx
(x
)+
n
∂f
∂u
(x
1 2
n
n
2
d
u
h
(xn)+O(h2)=
2
dx
∂f
(x
∂x
,u(xn)) + O(h2).
Учиты ва я, чт о
2
d dx
d
u
=
2
dx
du dx
∂f
∂x
+
∂f ∂ududx
=
∂f
=
∂x
предыдущее выражение переписывается в виде
,мыдолжны
2,1
(a)
в(6.24)наточное
,u(xn))+
n
∂f
+ f
∂u
,
(6.24)
du
(x
) −(b1+ b2)f(xn,u(xn)) =
n
+hb
2a2, 1
dx
= hb
1
−
2
2c2
f(x
1
−
2
,u(xn))
n
∂f
∂x
(x
,u(xn))+
n
∂f
(x
∂u
,u(xn)) + O(h2).
n
Для того чтобы получить второй порядок аппроксимации, следует
положить
+ b2=1,b2c2=
b
1
1
,b
2
2a2, 1
1
=
.
2
154 Глава 6
Теперь мы имеем четыре неизвестных, но три уравнения, поэтому один параметр можно выбрать произвольно. В результате мы получим семейство разностных схем второго порядка аппроксимации, например:
0 1 1
(6.25)
1/21/2
или
0
2/3 2/3
1/43/4.
Такая ситуация характерна для РК-схем: существует семейство раз­ностных схем для каждого порядка аппроксимации. Схемы более высо­кого порядка могут быть построены аналогичным образом, но процедура такого построения довольно громоздка и поэтому рассматриваться не будет. Приведём только несколько примеров. Так, таблица
0 1/2 1/2 3/4
03/4
(6.26)
2/91/34/9
задаёт коэффициенты для схемы третьего порядка и таблицы
0 1/2 1/2 1/2
1
01/2 001
(6.27)
1/62/62/61/6
и
0
1/3 1/3
1
−1/31 1 −11
2/3
1/83/83/81/8
задают коэффициенты для схем четвёртого порядка. Явные схемы Рунге–Кутта условно-устойчивы. Области устойчивости для некоторых схем в случае модельного уравнения (6.16) представлены в Приложе­нии C. Эти результаты применимы не только для схем (6.25), (6.26)
6.3. Численное решение задачи Коши 155
и (6.27), так как все явные РК-схемы с p стадиями порядка p имеют одинаковую область устойчивости.
Чем выше порядок разностной схемы, тем больше вычислений тре­буется на один шаг. С другой стороны, чем выше порядок разностной схемы, тем быстрее сходимость к точному решению. Поэтому общее ко­личество операций для схемы более высокого порядка может быть мень­ше по сравнению со схемой более низкого порядка, как демонстрируется в следующем примере.
РИМЕР 6.4 (СХОДИМОСТЬ НЕКОТОРЫХ СХЕМ РУНГЕ–КУТТА). Рассмот-
П рим следующую дифференциальную задачу:
= −
u
, 0 x 10,
1+x
du dx
2
u(0) = 1.
Точное решение этой задачи имеет вид u(x)=(1+ln(1+x))
−1
Вычислим относительную ошибку приближённого решения
(e)
(a)
− u
(e)
∞
∞
u
=
e
r
u
для схем (6.22), (6.25), (6.26) и (6.27) при разных шагах h.Результаты вычислений показаны в Таблице 6.2.
.
Таблица 6.2.
h
erдля схе-
мы (6.22)
erдля схе-
мы (6.25)
erдля схе-
мы (6.26)
erдля схе-
мы (6.27)
1 5.9e − 01 9.1e − 02 6.3e − 02 1.6e − 02
0.5 2.1e − 01 3.2e −03 9.3e − 03 9.3e −04
0.25 7.4e − 02 1.2e − 03 1.0e − 03 3.8e − 05
... ... ... ... ...
0.03125 7.4e − 03 2.9e − 05
Предположим, что нам нужно приближённое решение с точно­стью e
10−4. Схема четвёртого порядка (6.27) даёт такое решение
r
при h =0.25 (что требует 160 вычислений функции правой части), в то время как схема второго порядка (6.25) даёт похожий результат только при h =0.03125 (640 вычислений функции правой части).
156 Глава 6
6.3.3. Методы Адамса
Длятогочтобыполучитьu
при заданном un, используя схему
n+1
Рунге–Кутта, необходимо вычислить функцию f (x, u) s раз в некото­рых промежуточных точках. Эти вычисленные значения далее больше не используются. В схемах Адамса для вычисления следующего значе­ния u щих значений. В дополнение, вычисление значения u
используется не только значение un, но и несколько предыду-
n+1
требует только
n+1
одного вычисления функции f(x, u) не зависимо от порядка разност­ной схемы. Схемы Адамса могут быть построены следующим образом. Пусть u(x) есть решение задачи (6.14). Введём обозначение f(x, u(x)) = = F(x),тогда
x
n+1
u(x
) −u(xn)=
n+1
du dx
x
n
Известно, что существует единственный полином P ше, чем k, принимающий в точках x
F (x
),F(x
n
),...,F(x
n−1
) соответственно (смотри Главу 7). Для до-
n−k
n,xn−1
dx=
,...,x
x
x
n+1
n
n−k
F (x)dx.
(x) степени не вы-
k
заданные значения
статочно гладкой функции F (x) такой полином отклоняется от F (x) на интервале [x
n,xn+1
] на величину порядка h
max
|Pk(x) − F (x)| = O(h
x
,тоесть
k+1
k+1
).
Тогда явные схемы Адамса имеют следующий вид:
x
n+1
u
(a) n+1
− u
(a) n
=
Pk(x)dx. (6.28)
x
n
Для k =0полином
P
(x)=f(xn,u
0
(a)
)=const
n
и выражение (6.28) превращается в (6.22) (схема Эйлера). Для k =1
P
1
(x)=
1
h
0
(x − x
)f(xn,u
n−1
(a)
) −(x −xn)f(x
n
n−1
,u
(a) n−1
1
)
и
x
n+1
1
P1(x) dx = f(xn,u
h
x
n
(a) n
)+
0
1
f(x
2
n
,u
(a)
) −f (x
n
n−1
,u
(a) n−1
)1.
6.3. Численное решение задачи Коши 157
Аналогичным способом можно получить разностные схемы для k =
=2, 3,....
В общем, явные схемы Адамса могут быть представлены в следу­ющем виде:
u
(a) n+1
− u
h
(a) n
p−1
akf(x
=
k=0
n−k
,u
(a) n−k
),
(6.29)
n = p −1, ..., N − 1,
где параметры a
Таблица 6.3. Коэффициенты для явных схем Адамса
приведены в Таблице 6.3.
k
Порядок аппроксимации,p ak,k=0,...,p− 1
1 1
2 3/2 −1/2
3 23/12 −16/12 5/12
4 55/24 −59/24 37/24 −9/24
Длятогочтобыначатьвычисленияпосхеме(6.29),когдаp 2, необходимо знать p значений
(a)
,m=0, ..., p− 1,
u
m
но только
(a)
= α
u
0
задано. Эти недостающие значения могут быть вычислены либо по схе­ме Рунге–Кутта соответствующего порядка, либо разложением решения врядТейлоравточкеx = a. Рассмотрим эту возможность более де­тально. Значение u(x
)=u(a + mh) вычисляется на основе следующего
m
разложения:
(mh)
p
du dx
dpu dx
(a)+
(a)+O(h
p
p+1
).
u(a + mh)=u(a)+mh
1
+
2!
(mh)
2
d2u dx
(a)+...+
2
1
p!
Используя уравнение (6.14), выразим производные функции u(x) через
158 Глава 6
функцию f (x, u):
k
dy
=
∂y
=
(mh)
k!
dx
k−1
∂x
k
k−1
(a) m
y
d
y
(x, u)=
k
u
k
dx
y
(x, u)=f(x, u),k=2, ..., p.
1
Тогда начальные значения u
p
(a)
u
m
П
РИМЕР 6.5 (ВЫЧИСЛЕНИЕ НАЧАЛЬНЫХ ЗНАЧЕНИЙ В СХЕМЕ АДАМСА).
= α +
k=1
=
+ f
∂y
∂y
∂x
k−1
∂u
k−1
+
,
∂y
k−1
∂ududx
определяются по формуле
(a, α),m=1, ..., p− 1.
k
=
Рассмотрим дифференциальную задачу
du dx
= −xu
2
,x0,
u(0) = 1.
Предположим, мы хотим использовать схему Адамса четвёртого по­рядка, поэтому нам нужно знать
(a)
(a)
,u
u
1
чтобы начать процесс вычислений. Производные d
(a)
и u
2
,
3
k
u/dxkвыражаются
следующим образом:
y
(x, u)=−xu2,
1
(x, u)=−u2+2x2u3,
y
2
(x, u)=6xu3− 6x3u4,
y
3
y
(x, u)=6u3− 36x2u4+24x4u5.
4
Тогда начальные значения вычисляются по формулам
(a)
u
1
(a)
u
2
(a)
=1−
u
3
1
1
2
=1−
h
+
2
4
=1−2h2+4h4,
9 2
81
2
h
+
4
4
h
,
4
h
.
6.3. Численное решение задачи Коши 159
Одной из особенностей методов Адамса является то, что для опре­деления u значения f (x се определения u
необходимо вычислить только значение f (xn,un),таккак
n+1
n−1,un−1
n,un−1
),f(x
n−2,un−2
),...уже были вычислены в процес-
,....Такимобразом,преимуществосхемАдамса
над схемами Рунге–Кутта состоит в том, что первые требуют меньшего количества операций на один шаг вычислительного процесса. Основные недостатки схем Адамса: требуется специальная процедура для вычисле­ния дополнительных начальных значений, вычислительная схема услож­няется при неравномерном шаге разностной сетки. Использование пере­менного шага необходимо в областях резкого изменения решения. Усло­вия устойчивости явных схем Адамса для модельного уравнения (6.16), приведены в Приложении C. Эти условия показывают, что схемы Адамса имеют более строгие ограничения на шаг разностной сетки по сравнению со схемами Рунге–Кутта.
Если мы будем использовать точку x
(x) в формуле (6.28), то получим неявные схемы Адамса. Они
ма P
k
для построения полино-
k+1
могут быть представлены в следующей форме:
где параметры b
(a)
u
n+1
n =
приведены в Таблице 6.4.
k
(a)
p−1
− u
h
0, ..., N − 1,p=1, 2,
n
=
bkf(x
n+1−k
k=0
,u
(a) n+1−k
p − 2, ..., N − 1,p=3, 4, ...,
),
(6.30)
Неявные схемы Адамса дают более точные результаты, чем явные схемы того же порядка. В дополнение, неявные схемы имеют менее стро­гие ограничения на шаг разностной сетки по сравнению с явными схе­мами (схемы первого и второго порядка, и вовсе, безусловно-устойчивы, смотри Приложение C).
Таблица 6.4. Коэффициенты для неявных схем Адамса
Порядок аппроксимации,p bk,k=0,...,p− 1
1 1
2 1/2 1/2
3 5/12 8/12 −1/12
4 9/24 19/24 −5/24 1/24
160 Глава 6
Однако неявные схемы не эффективны с точки зрения вычислитель­ных затрат. В общем случае, невозможно выразить u
из разностного
n+1
уравнения (6.30). Вместо этого, мы должны решить нелинейное уравне­ние
относительно u
(a)
− b0hf(x
u
n+1
, используя тот или иной итерационный метод (смот-
n+1
n+1
,u
(a) n+1
)+const=0
ри Главу 1), а это значительно увеличивает объём вычислений. Тем не менее неявные схемы могут быть очень полезны в некоторых ситуациях, которые мы рассмотрим позднее.
Неявные схемы можно использовать для повышения точности при­ближённого решения, полученного явным методом. Комбинация явной и неявной схемы называется методом предиктор-корректор. Общая проце­дура вычислений может быть организована следующим образом:
(a)
1) вначале вычислим приближённое решение 2u
,используяявную
n+1
схему Адамса порядка p вкачествепредиктора:
p−1
2u
(a) n+1
= u
(a) n
+ h
k=0
akf(x
n−k
,u
(a) n−k
);
2) затем это приближение уточняется неявной схемой Адамса поряд-
ка p (корректор):
p−1
u
(a) n+1
= u
(a)
+ b0hf(x
n
n+1
, 2u
(a) n+1
)+h
k=1
bkf(x
n+1−k
,u
(a) n+1−k
).
Из построения видно, что схемы предиктор-корректор являются яв­ными схемами и, следовательно, они условно-устойчивы, но эти схемы имеют менее строгие ограничения на шаг разностной сетки по сравне­нию с явными схемами Адамса (смотри Приложение C).
6.3.4. Исследование устойчивости разностных схем в случае
нелинейных задач
В параграфе 6.3.1 мы рассмотрели метод исследования устойчивости для модельного уравнения (6.16). Можно расширить возможности это­го метода и применить его для анализа устойчивости разностных схем
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]