Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
6.4. Численное решение краевых задач 181
где функция g0(x) задаёт произвольные начальные условия. Так как
граничные условия не зависят от времени, то естественно ожидать, что
решение v(x, t) с течением времени будет меняться всё медленнее и
медленнее. Поэтому в пределе t →∞это решение будет стремиться к
решению задачи (6.49), то есть
v(x, t)=u(x).
lim
t→∞
Следовательно, вместо стационарной задачи (6.49) можно решать нестационарную задачу (6.50) до некоторого момента времени t,когдарешение v(x, t) перестанет изменяться в пределах заданной точности. Это
и есть основная идея метода установления.
t
t
k
t
1
t
0
x
x
0
1
x
n
xNx
Рис. 6.11. Разностная сетка на плоскости (x, t)
В соответствии с нашим рассмотрением нам теперь нужно построить разностную схему для задачи (6.50). Вначале мы должны задать разностную сетку. Для одномерных нестационарных уравнений она
определяется узлами (x
ры h = x
− xnи τk= t
n+1
), как показано на рисунке 6.11. Парамет-
n,tk
− tkназываются, соответственно, шагами
k+1
по пространству и времени.
Как и прежде, заменим производные по пространству и времени в
уравнении (6.50) разностными отношениями. В результате мы получим

182 Глава 6
следующую схему:
v
k+1
n
τ
− v
k
k
k
v
n+1
n
=
− 2v
k
k
+ v
n
n−1
2
h
− c1(xn,v
k
v
n+1
k
)
n
− v
2h
k
n−1
− c
2(xn
)v
k
,
n
n =1, ..., N − 1; k =0, 1, ..., (6.51)
k+1
∗
g
(v
1
k+1
,v
0
)=0,g
1
Здесь верхний индекс k обозначает момент времени t
k+1
N−1
,v
k+1
N
)=0,v
0
n
k
= g0(xn).
.
∗
(v
2
Для вычисления приближённого решения перепишем разностную
схему (6.51) в виде
2τ
k+1
=1 −
v
n
τ
τ
kc1(xn
k
+
−
2
h
2h
,v
k
)
n
k
− τkc2(xn)v
2
h
v
k
n+1
τ
k
+
2
h
+
τ
kc1(xn
k
+
n
k
,v
)
n
k
v
,
2h
n−1
(6.52)
n =1, ..., N − 1; k =0, 1, ...,
k+1
∗
g
(v
1
k+1
,v
0
)=0,g
1
Из начального условия v(x, 0) = g
= {g
чения v
v
1
)} известны. Поэтому из формулы (6.52) можно вычислить зна-
0(xn
= {v(xn,t1}. Повторяя эту процедуру, после того как значения
1
определены, можно последовательно вычислить значения v2, v3,....
k+1
N−1
k+1
,v
)=0,v
N
(x) следует, что значения v0=
0
0
= g0(xn).
n
∗
(v
2
Очевидно, что построенная нами схема является явной схемой
и, значит, она условно-устойчивая. Методы анализа устойчивости такого рода схем требуют специального рассмотрения, что выходит за рамки
этой книги, поэтому далее приводится окончательный результат. Разностная схема (6.51) будет устойчива, если шаг по времени выбирается
исходя из условия
(2)
min(τ
τ
k
(1)
,τ
),
k
где
2
(1)
τ
=
2h
4+h2maxxc2(x)
,
2
2h
(2)
=
τ
k
h2maxn(c1(xn,v
(2 + h2maxxc2(x))
k
))2+(2+h2maxxc2(x))
n
.
2

6.4. Численное решение краевых задач 183
Метод установления является простым и надёжным методом, так
как он даёт приближённое решение, которое сходится к точному решению стационарной задачи при любом начальном условии. Когда приближённое решение v
то есть
k
уже не изменяется в пределах заданной точности,
k+1
− vk
v
v
k+1
∞
εp,
∞
процесс установления завершён.
П
РИМЕР 6.10 (МЕТОД УСТАНОВЛЕНИЯ). Как и прежде, мы рассмотрим
задачу (6.46). Тогда соответствующая нестационарная задача имеет вид
∂v
∂t
2
∂
v
=
∂x
2
− exp(−v)
∂v
, 0 x 1,t 0,
∂x
v(0) = 0,
v(1) = ln(2).
Для примера выберем начальную функцию g
(x)=0,котораяне
0
удовлетворяет второму граничному условию и довольно далека от точного решения. Процесс установления показан на рисунке 6.12.
Если задать ε
=10−4,топотребуется134шагаповременидляза-
p
вершения этого процесса, и относительная ошибка полученного решения
равна
Если выбрать лучшее начальное условие (например, v
u
(e)
u
− v
(e)
134
∞
∞
≈ 8 ·10−4.
(x)=x ln(2)), то
0
потребуется гораздо меньше шагов по времени, чтобы получить требуемое приближённое решение.
6.4.5. Аппроксимация граничных условий в случае, когда на
границе задано значение производной
До сих пор мы рассматривали краевые задачи с граничными условиями первого рода, когда решение принимает некоторые заданные значения в граничных точках. Моделирование различных физических процессов часто приводит к краевым задачам, где в граничных точках задаются значения производных решения (например, граничные условия
второго и третьего рода для дифференциальных уравнений второго порядка). В качестве примера рассмотрим построение разностной схемы

184 Глава 6
0.7
0.6
0.5
0.4
=80k
v x()
0.3
=20k
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Рис. 6.12. Последовательные приближения, полученные методом установления
(задача (6.46), h =0.1,τ = h
2
/2): ———— — точное решение; —————прибли-
=0k
x
жённые решения
для следующей краевой задачи:
2
d
dx
u
2
= fx, u,
du
dx
du
dx
(a)=α,
,a x b,
(6.53)
u(b)=β.
Разностная аппроксимация дифференциального оператора аналогична
выражению (6.44):
⎛
(a)
1
(u
− 2u
n+1
2
h
(a)
n
+ u
(a)
n−1
)=f
⎝
,u
x
n
(a)
n
(a)
u
− u
n+1
,
2h
(a)
n−1
⎞
⎠
,
(6.54)
h =1, ..., N − 1,
(a)
= β.
u
N

6.4. Численное решение краевых задач 185
Очевидный способ аппроксимировать du/dx вточкеa — использовать
разность вперёд,
(a)
u
(a)
− u
1
0
= α. (6.55)
h
Однако это выражение аппроксимирует производную в точке a спорядком h, в то время как выражение (6.54) аппроксимирует дифференциальное уравнение с порядком h
2
. Это значит, что разностная схема (6.54)
и (6.55) имеет аппроксимацию только первого порядка. Таким образом,
менее точная аппроксимация лишь в одной точке снижает точность всего решения. Поэтому необходимо построить более точное приближение для производной в граничной точке. Для этого введём фиктивный
узел x
разность для аппроксимации граничного условия du/dx = α спорядком h
Для того чтобы исключить неизвестную величину u
= a −h, что даёт нам возможность использовать центральную
−1
2
:
(a)
(a)
− u
u
1
−1
2h
= α. (6.56)
(a)
,запишемвыра-
−1
жение (6.54) для n =0:
− u
2h
(a)
−1
⎞
⎠
.
⎛
(a)
1
(u
1
2
h
− 2u
(a)
0
+ u
(a)
−1
)=f
⎝
,u
x
0
(a)
0
(a)
u
1
,
После подстановки (6.56) в предыдущее выражение мы окончатель-
но получим
(a)
(a)
1
2
− u
u
1
0
h
−
2
f(a, u
(a)
,α)=αh. (6.57)
0
Для вычисления приближённого решения задачи (6.53) необходимо решить систему (6.45), предварительно заменив первое уравнение в этой
системе на уравнение
1
2
v
1
− v0−
h
f(a, v0,α)=αh.
2
Рассмотренныйнамипримерявляетсяпростейшейреализациейболее общего подхода, который называется методом фиктивных областей.
Этот метод успешно используется в различных задачах для аппроксимации производных в граничных точках.

186 Глава 6
ПРИМЕР 6.11 (АППРОКСИМАЦИЯ ГРАНИЧНЫХ УСЛОВИЙ ВТОРОГО РОДА).
Рассмотрим следующую простую задачу:
2
u
d
= u, 0 x 1,
2
dx
du
(0) = −1,
dx
(6.58)
u(1) = 1.
Если мы используем выражение (6.55) для аппроксимации граничного
условия в точке x =0, то приближённое решение будет заметно отли-
чаться от точного решения, как показано на рисунке 6.13, с относительной ошибкой
e
r
(e)
(a)
− u
(e)
∞
=2.7 · 10−2.
∞
u
=
u
Более точная аппроксимация (6.57) позволяет значительно уменьшить эту ошибку: в этом случае e
=4.1 ·10−4.
r
6.5. Оценка ошибки приближённого решения
В этом параграфе мы рассмотрим несколько методов оценки и контроля ошибки приближённого решения. Имея возможность оценить локальную или глобальную ошибку приближённого решения, можно подобрать шаг сетки таким образом, чтобы эта ошибка была меньше
заданной величины, которую мы будем обозначать ε
рассматриваемых ниже методов состоит в том, что для оценки ошибки
используются два различных приближённых решения.
Мы начнём наше обсуждение с оценки ошибки в случае численного
решения задачи Коши. Вычислим два решения,
.Основнаяидея
p
вточкеx
,где2u
n
обозначает более точное решение. Тогда разница
n
(a)
даёт оценку локальной ошибки
e
n
(a)
u
n
u
= u
(a)
n
и 2u
− 2u
(e)
n
(a)
n
(a)
n
− u
,
(a)
n

6.5. Оценка ошибки приближённого решения 187
1.5
1.4
1.3
u x()
1.2
1.1
1
0.9
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Рис. 6.13. Приближённое решение задачи (6.58): —————точноерешение;——
—— — приближённое решение. Для аппроксимации граничного условия использовалось выражение (6.55)
x
для менее точного решения. Пара схем Рунге–Кутта с порядками аппроксимации p и p +1 (так называемая вложенная пара) может быть
использована для вычисления двух приближённых решений. Вложенные пары строятся таким образом, чтобы вычисление функции производилось в одних и тех же точках для обеих схем, что значительно
уменьшает число вычислений. Так, s-этапная вложенная пара может
быть представлена в следующем виде
0
c
c
c
0
a
2
2, 1
a
3
3, 1a3, 2
. ...
s
a
s, 1as, 2
(1)
b
1
(2)
b
1
... a
(1)
b
... b
2
(2)
b
... b
2
s, s−1
(1)
s−1
(2)
s−1
.
(1)
b
s
(2)
b
s

188 Глава 6
Наборы параметров
(1)
(2)
и b
b
n
(n =1,...,s)
n
определяют методы порядка p и p +1 соответственно. Несколько примеров вложенных схем приведены ниже.
0 0
1
4
4
9
6
7
1
1
4
4
81
57
98
1
6
1
6
43
288
32
81
432
−
343
0
0
0
Пара Фельберга порядка 3(4)
1053
686
27
52
27
52
243
416
49
156
49
156
343
1872
0
1
12
После того как приближённые решения
(a)
(a)
и 2u
u
n
n
вычислены с некоторым шагом h
|2u
Если это условие не выполняется, то выбранный шаг h
мал и следует повторить вычисления с другим шагом h
вычисления u
ишагh
(a)
используется метод с порядком аппроксимации p,тогда
выбирается из условия
n,2
h
h
n,2
|2u
(a)
n
n,1
, проверяется условие
n,1
(a)
(a)
− u
n
(a)
|≈ch
n
| εp.
n
− u
⎛
ε
⎜
⎝
p
(a)
(a)
− u
2u
n
n
p+1
n
⎞
⎟
⎠
1
1+p
не достаточно
n,1
.Еслидля
n,2
.

6.5. Оценка ошибки приближённого решения 189
Этот процесс повторяется до тех пор, пока приемлемое значение
шага разностной сетки не будет найдено. Это значение, затем, может
быть использовано в качестве начального шага для вычисления решения
= h
вследующейточке:h
n+1,1
n,2
.
0 0
1
4
3
8
12
13
1
1
2
1
4
3
32
1 932
2 197
439
216
25
216
16
135
9
32
7 200
2 197
−8
8
−
27
0
0
Пара Фельберга порядка 4(5)
7 296
2 197
3 680
513
2
1 408
2 565
6 656
12 825
3 544
2 565
2 197
4 104
28 561
56 430
−
−
845
4 104
1859
4104
−
50
11
−
40
1
5
9
0
2
55
При использовании схем предиктор–корректор (параграф 6.3.3)
ошибка может быть оценена через разность двух решений, полученных
на этапах предиктор и корректор. Получим оценку ошибки в случае, когда предиктор (явная схема Адамса) и корректор (неявная схема Адамса)
имеют одинаковый порядок аппроксимации. Тогда для метода порядка p
локальная ошибка записывается как
e
e
n+1
n+1
= u
= u
(e)
n+1
(e)
n+1
− u
− u
(a)
= αpchp+ O(h
n+1
(a)
= αcchp+ O(h
n+1
p+1
) (предиктор),
p+1
) (корректор),
где параметры α
и αpне зависят от h (значения этих параметров при-
c
ведены в Таблице 6.6).
Теперьмыможемвыразитьизэтихдвухформулch
часть ошибки):
ch
(a)
u
n+1
p
=
− u
αp− α
(a)
n+1
c
+ O(h
p+1
p
(основную
).

190 Глава 6
Таблица 6.6.
Порядок аппроксимации, p α
p
α
c
1 1/2 −1/2
2 5/12 −1/12
3 3/8 −1/24
4 251/720 −19/720
Пренебрегая слагаемым порядка p +1, мы получим оценку локальной
ошибки приближённого решения на этапе корректор:
u
(e)
n+1
− u
(a)
n+1
≈
α
c
αp− α
(a)
(u
n+1
c
− u
(a)
n+1
).
Более того, выполняя локальную экстраполяцию, можно получить
более точное решение, чем u
u
(e)
n+1
− (u
(a)
n+1
(a)
.Еслимызапишем
n+1
+ αcchp)=u
(e)
n+1
−u
(a)
n+1
= O(h
p+1
),
то приближённое решение
(a)
u
n+1
будет иметь ошибку порядка h
В случае краевой задачи мы можем оценить глобальную ошибку
(e)
(a)
− u
e = u
. Как и прежде, для оценки ошибки нам нужно два при-
(a)
α
u
p
n+1
=
p+1
αp− α
.
− αcu
c
(a)
n+1
ближённых решения. В параграфе 6.4 мы познакомились с разностными
схемами для дифференциальных уравнений второго порядка. Эти схемы
имели второй порядок аппроксимации, то есть основная часть ошибки
была порядка h
числении с шагом h,арешениеv
2
. Пусть приближённое решение u
(a)
—сшагомh/2.Тогдавекторы
(a)
получено при вы-
ошибки этих решений записываются как
(e)
− v
− u
(a)
(a)
= ch2+ O(h4)
1
= c
h
2
2
+ O(h4).
= u
e
1
(e)
= u
e
2
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
