Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
6.4. Численное решение краевых задач 171
8
6
4
2
Im()w
0
-2
-4
-6
-8
-2 0 2 4 6 8 10 12
Рис. 6.8. Области устойчивости на комплексной плоскости для схем BDF порядка p =1, 2, 3, 4. Область неустойчивости лежит внутри контура
=1p
=2p =3p =4p
Re()w
6.4. Численное решение краевых задач
В этом параграфе мы рассмотрим методы приближённого решения
краевых задач, которые представляют собой дифференциальные уравнения с некоторыми условиями на решение, заданными в разных точках
области определения этих задач. Мы познакомимся с основными методами численного решения краевых задач на примере дифференциального
уравнения второго порядка вида
2
d
dx
u
= f(x, u,
2
du
),a x b,
dx
с условиями, заданными в точках x = a и x = b (граничные условия).
Мы будем предполагать, что это уравнение имеет следующие свойства:
1) функция f (...) иеёчастныепроизводныепоu и du/dx непрерывны;
2) частная производная функции f (...) по u положительна, а частная
производная по du/dx ограничена.

172 Глава 6
6.4.1. Метод стрельбы
Рассмотрим следующую краевую задачу:
2
d
dx
u
2
= f(x, u,
du
),a x b,
dx
(6.36)
u(a)=α, u(b)=β.
В параграфе 6.3 мы рассмотрели различные методы решения задачи Коши. Можно применить эти методы для решения краевой задачи (6.36),
но для этого нам надо изменить постановку задачи. Вместо краевой задачи (6.36) мы запишем следующую задачу Коши:
2
d
dx
u
2
= fx, u,
du
,a x b, u(a)=α,
dx
du
(a)=tg(ϕ), (6.37)
dx
где ϕ обозначает угол между касательной к интегральной кривой в точке (a, α) иосьюx (рисунок 6.9).
b
a
abx
Рис. 6.9. Графическое представление метода стрельбы: ———— — точное решение
∗
u(x, ϕ
); •••— u(x, ϕ)
Для заданного значения α решение задачи (6.37) зависит от двух
переменных, то есть u = u(x, ϕ),ивточкеx = b это решение зависит

6.4. Численное решение краевых задач 173
только от ϕ. Тогда мы можем переформулировать задачу (6.37) следующим образом: найти такой угол ϕ = ϕ
∗
,чтобыкривая,выходящаяиз
точки (a, α),приходилавточку(b,β),тоесть
∗
u(b, ϕ
При этом решение задачи (6.37) для такого угла ϕ = ϕ
)=β. (6.38)
∗
будет совпадать
с решением задачи (6.36), и всё сводится к решению уравнения (6.38).
Это уравнение имеет стандартный вид f (ϕ)=0,гдеf(ϕ)=u(b, ϕ) − β.
Правда оно отличается от стандартных уравнений тем, что функция f (ϕ)
не описывается аналитическим выражением, а определяется через приближённое решение задачи (6.37). Замена краевой задачи на сформулированную специальным образом задачу Коши является основной особенностью метода стрельбы.
Для решения уравнения (6.38) можно использовать различные методы (смотри Главу 1). Например, если мы найдём такие значения углов ϕ
и ϕ1, что разности u(b, ϕ0) − β и u(b, ϕ1) − β имеют противоположные
знаки, то далее мы можем применить метод деления отрезка пополам.
При использовании метода секущих мы сначала должны задать некоторые значения ϕ
и ϕ1, и последующие значения ϕkзатем вычисляются
0
по формуле
)(ϕk− ϕ
f(ϕ
ϕ
= ϕk−
k+1
k
f(ϕk) −f (ϕ
)
k−1
,k=1, 2,....
)
k−1
Эти вычисления продолжаются до тех пор, пока не выполнится условие
0
|u(b, ϕ
— требуемая точность приближённого решения.
где ε
p
) −β| εp,
k
Метод стрельбы хорошо работает в тех случаях, когда решение u(x, ϕ) не очень «сильно» зависит от ϕ.Впротивномслучаеонстановится неустойчивым. Следующий пример поясняет, что значит «сильная» зависимость от ϕ.
П
РИМЕР 6.7 (НЕУСТОЙЧИВОСТЬ МЕТОДА СТРЕЛЬБЫ). Рассмотрим сле-
дующую краевую задачу:
2
u
d
= γ2u, 0 x 1,
dx
2
(6.39)
u(0) = α, u(1) = β,

174 Глава 6
где γ — некоторая константа. Решение этой задачи имеет вид
u(x)=
+
exp(−γx) − exp(−γ(2 −x))
1 −exp(−2γ)
exp(−γ(1 −x)) − exp(−γ(1 + x))
1 −exp(−2γ)
α+
β.
Коэффициенты при α и β ограничены на отрезке 0 x 1:длявсех
значений γ>0 они не превышают единицу. Следовательно, небольшая
ошибка в задании α и β приводит к небольшой ошибке в решении.
Рассмотрим теперь задачу Коши
2
d
u
= γ2u, 0 x 1,
2
dx
u(0) = α,
du
(0) = tan(ϕ).
dx
Решение этой задачи имеет вид
1
u(x)=
+
(αγ +tan(ϕ)) exp(γx)+
2γ
1
(αγ −tan(ϕ)) exp(−γx).
2γ
Предположим, мы задали величину tg(ϕ) сточностьюε,тогдарешение
вточкеx =1будет отличаться от точного значения на величину
Δu(1) =
ε
exp(γ) −
2γ
ε
exp(−γ).
2γ
Хорошо видно, что для больших значений γ это отличие становится
недопустимо большим, даже если ε достаточно мало. Поэтому не имеет смысла применять метод стрельбы для решения задачи (6.39) при
больших значениях γ.
6.4.2. Сведение разностной схемы к системе уравнений
В предыдущем параграфе мы обсудили применение численных методов для задачи Коши к решению некоторых краевых задач. Далее мы
рассмотрим построение разностных схем с использованием разностных

6.4. Численное решение краевых задач 175
отношений, полученных в параграфе 6.2.2. Начнём с линейной краевой
задачи второго порядка, имеющей следующий вид:
2
d
dx
u
= p(x)
2
du
+ q(x)u + r(x),a x b,
dx
(6.40)
u(a)=α, u(b)=β.
Введём разностную сетку с узлами x
= a + nh, n =0,...,N,
n
где h =(b − a)/N — шаг сетки. Теперь мы заменим производные в (6.40)
приближёнными разностными отношениями
2
d
dx
u
(xn) ≈
2
du
dx
(x
+ h) − 2u(xn)+u(xn− h)
u(x
n
u(x
) ≈
n
n
2
h
+ h) − u(xn− h)
2h
,
(6.41)
.
В результате мы получим следующую разностную схему:
(a)
1
(u
− 2u
n+1
2
h
p
n
2h
(u
(a)
n+1
=
− u
(a)
n−1
)+qnu
(a)
u
0
(a)
n
= αu
Эта схема аппроксимирует задачу (6.40) с порядком h
(a)
(a)
+ u
n
n−1
)=
+ rn,n=1, ..., N − 1,
(a)
= β.
N
2
, так как разностные выражения (6.41) аппроксимируют производные с порядком h
а граничные условия выполняются точно. После приведения подобных
слагаемых схему можно записать в виде
2
,
(a)
u
= α,
0
(1 +
hp
n
(a)
− (2 + h2qn)u
)u
n−1
2
(a)
n
+(1−
hp
n
(a)
= h2rn,
)u
n+1
2
(6.42)
n =1, ..., N − 1,
(a)
= β.
u
N
Легко заметить, что эти выражения определяют систему линейных уравнений с трёхдиагональной матрицей (смотри (2.9)). Если h|p
> 0, тогда условия (2.11) выполняются и можно использовать метод
q
n
|/2 < 1 и
n

176 Глава 6
прогонки для решения системы (6.42). Решая эту систему, мы получим {u
(a)
} — приближённое решение во всех узлах разностной сетки.
Построение разностной схемы для нелинейной краевой задачи вида
2
d
dx
u
2
= f(x, u,
du
),a x b,
dx
(6.43)
u(a)=α, u(b)=β
производится аналогичным образом. Однако система уравнений в этом
случае будет нелинейной, что потребует применения какого-нибудь итерационного метода для её решения. Если заменить производные в (6.43)
приближёнными разностными отношениями (6.41), то разностная схема
будет иметь вид
= f
⎛
⎝
(a)
1
(u
− 2u
n+1
2
h
(a)
u
n+1
(a)
x
,u
,
n
n
(a)
u
0
(a)
− u
n−1
2h
= α, u
(a)
(a)
+ u
n
n−1
)=
⎞
⎠
,n=1, ..., N − 1,
(a)
= β.
N
(6.44)
Эту схему можно представить в виде системы нелинейных уравнений
v
= α,
v
N−2
− 2v1+ v2− h2fx1,v0,
v
0
.................................
− 2v
+ vN− h2fx
N−1
0
N−1,vN−1
= β.
v
N
v
2
− v
2h
,
0
=0,
(6.45)
2h
N−2
=0,
− v
v
N
Решение этой системы v =(v
(a)
ние u
. Для решения системы (6.45) можно использовать различные
,...,vN) даёт приближённое значе-
0
итерационные методы, рассмотренные в Главе 4. Если применить, например, метод Ньютона, то на каждой итерации необходимо решать систему
линейных уравнений с матрицей Якоби. В данном случае матрица Якоби является трехдиагональной, поэтому можно применить либо метод
прогонки, либо соответствующую процедуру из библиотеки программ.

6.4. Численное решение краевых задач 177
Начальное приближение v
(0)
можно выбрать в виде линейной функции,
проходящей через точки (a, α) и (b, β):
β −α
(0)
=
v
n
b − a
РИМЕР 6.8 (НЕЛИНЕЙНАЯ КРАЕВАЯ ЗАДАЧА). Рассмотрим следующую
П
x
+
n
αb − βa
b − a
,n=0, ..., N.
краевую задачу:
2
d
u
= −exp(−u)
2
dx
du
, 0 x 1,
dx
u(0) = 0,u(1) = ln(2).
Разностная схема (6.44) для этой задачи записывается как
(a)
(a)
1
(u
n+1
2
h
− 2u
(a)
n
+ u
n =1, ..., N − 1,u
(a)
n−1
)+
exp(−u
(a)
0
)
n
2h
=0,u
(u
(a)
N
(a)
− u
n+1
=ln(2).
(a)
n−1
)=0,
Тогда соответствующая система нелинейных уравнений имеет вид
v
= α
0
1
h · exp(−v
2
n
v
= β.
N
)− 2vn+
n
)=0,n=1, ..., N − 1,
+v
n+1
v
n−1
1+
1 −
1
h · exp(−v
2
(6.46)
Если выбрать начальное приближение
(0)
= xnln(2),n=0, ..., N,
v
n
и относительную точность 10
−5
, то потребуется всего три итерации по
методу Ньютона, для того чтобы решить эту систему. Относительная
ошибка полученного приближённого решения для h =0.1 равна
(e)
− v
u
u
(e)
∞
∞
≈ 7.8 · 10−5.

178 Глава 6
6.4.3. Метод последовательных приближений
Идея метода последовательных приближений состоит в том, что решение нелинейной задачи сводится к решению набора линейных задач.
Предположим, мы знаем некоторую функцию v
(x), которая удовлетво-
0
ряет граничным условиям и является грубым приближением к точному
решению u(x).Пусть
где w
u(x) ≈ v
(x) — малая поправка к функции v0(x).Подставимвыраже-
0
(x)+w0(x), (6.47)
0
ние (6.47) в уравнение (6.43) и проведём линеаризацию:
fx, v
∂f
+
∂u
x, v
+ w0,
0
0
u
2
dx
w
2
d
=
dx
dw
0
+
dx
+
0
∂
2
+(
0
2
d
dx
dv
dv
0
,
dx
+O(w
v
0
2
0
∂f
du
dx
dw
2
w
d
+
dx
= fx, v
0
2
)
dx
0
2
x, v
).
,
dv
0
,
0
dv
,
0
dx
dx
0
+
dw
0
+
dx
Пренебрегая слагаемым O(...), мы получим линейную задачу для
поправки w
0
(x):
d
dx
2
w
2
0
= p(x)
dw
dx
0
+ q(x)w
+ r(x),
0
a x b,
w
(a)=w0(b)=0,
0
где
p(x)=
q(x)=
∂f
du
∂
dx
∂f
∂u
r(x)=fx, v
0
x, v
dv
,
x, v
dx
,
0
0
,
0
dv
dx
−
dv
dx
0
d
0
2
dx
,
,
v
0
.
2
(6.48)

6.4. Численное решение краевых задач 179
Решая линейную задачу (6.48) мы найдём поправку w0(x),то-
(x)=v0(x)+w0(x) будет следующим приближением к реше-
гда v
1
нию u(x). Таким образом, рассмотренная процедура определяет последовательность линейных краевых задач, решения которых сходятся к решению исходной нелинейной краевой задачи. Хотя в общем случае доказать
наличие сходимости довольно затруднительно, тем не менее этот метод
может использоваться для получения хороших начальных приближений
при решении нелинейных систем типа (6.45).
РИМЕР 6.9 (МЕТОД ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ). Рассмот-
П
рим задачу (6.46). Если мы возьмём начальное решение v
(x)=x·ln(2),
0
тогда уравнение (6.48) примет вид (γ =ln(2))
2
d
w
0
= −exp(−γx)
2
dx
0 x 1,w
dw
0
+ γ exp(−γx)w
dx
(0) = w0(1) = 0.
0
− γ exp(−γx),
0
Численно решая это уравнение для h =0.1, мы получим сеточную
функцию
w
(a)
0
= {w
0,n
},
показанную на рисунке 6.10. Следующее приближение определяется как
(a)
v
1
= v
(a)
0
+ w
(a)
=%xnln(2) + w
0
(a)
0,n
&
,
и ошибка этого приближения равна
(a)
(e)
u
− v
∞
u
(e)
1
≈ 2.3 · 10−4.
∞
Эти результаты показывают, что в данном случае решение линеаризованной задачи даёт довольно хорошее приближение к решению
исходной нелинейной задачи.
6.4.4. Метод установления
Решение краевой задачи можно трактовать как равновесное состояние, к которому приближается решение некоторой нестационарной задачи. Иногда возникает ситуация, когда удобнее и эффективнее, с вычислительной точки зрения, решать такую нестационарную задачу, чем
непосредственно искать решение исходной краевой задачи. Такой подход

180 Глава 6
0.7
0.6
0.5
u x(),
v x
w x
Рис. 6.10. Приближённое решение задачи (6.46): ———— — точное решение; ——
———v
0.4
(),
0
()
0.3
0
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
(x); • — w0(x)
0
x
называется методом установления. Мы обсудим основные особенности
этого метода в процессе построения численного алгоритма для решения
следующей краевой задачи:
2
u
d
= c1(x, u)
2
dx
g
1
(x, u), c2(x), g1(...), g2(...) — некоторые заданные функции. Внача-
где c
1
u(a),
du
dx
du
+ c
dx
(a)=0,g
2
2
(x) u, a x b,
du
u(b),
(b)=0,
dx
(6.49)
ле мы должны сформулировать некоторую нестационарную задачу. В нашем случае она может быть записана в следующей форме:
2
∂v
∂t
∂
v
=
g
1
∂x
v(a),
− c1(x, v)
2
∂v
∂x
∂v
− c
(x) v, a x b, t 0,
∂x
(a)=0,g
v(0,x)=g
2
2
0
v(b),
(x),
∂v
(b)=0,
∂x
(6.50)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
