Основы вычислительной математики. Выпуск 6. Методы решения дифференциальных уравнений с частными производными. Ширапов Д.Ш. - 20 стр.

UptoLike

Составители: 

Рубрика: 

Рис. 17.
Решим эту смешанную задачу методом сеток [5-7]. Как и в случае параболического урав-
нения, покроем полуполосу (0
х
l), (0
t<
) прямоугольной сеткой x
i
=ih (i=0, 1,…, n), t
j
=jk
(j=0, 1, 2,…), где
x
i
=x
i+1
-x
i
=h=l/n (n целое) и
t
j
=t
j+1
-t
j
=k . На сетке x
i
, t
j
приближенно
заменим дифференциальное уравнение (9.1) соответствующим конечно-разностным уравне-
нием.
Пользуясь симметричными формулами для производных, будем иметь
2
,1,1
2
2
1,1,
22
h
uuu
a
k
uuu
jiijjijiijji ++
+
=
+
, (9.4)
При k=h/а уравнение (9.4) упрощается и принимает вид
u
i,j+1
+u
i,j-1
=u
i+1,j
+u
i-1,j
,
откуда
u
i,j+1
=u
i+1,j
+u
i-1,j
-u
i,j-1
. (9.5)
Из уравнения (9.5) видно, что для получения значений и(х,t) в (j+1)-м слое используются
значения и(х,t) в двух предыдущих слоях: j-м и (j-1)-м (рис. 17). Для начала вычисления по
формуле (9.5) также необходимо знать значения и(х,t) на двух слоях, в то время как началь-
ные условия (9.2) задают нам значения и(х,t) лишь на нулевом слое j=0. Однако, используя
начальные условия, можно определить значения и(х,t) на фиктивном слое с номером j=-1.
Для этого заменим производную во втором начальном уcловии конечно-разностным отно-
шением. Тогда будем иметь
i
ioi
F
k
uu
=
1,
,
где F
i
=F(X
i
). Отсюда
u
i,-1
=u
io
–kF
i
. (9.6)
Теперь, зная значения и(х,t) на слое j=-1, определяемые с помощью формулы (9.6), можно
начать вычисления. Краевые условия (9.3) используются для получения значений u
oj
и u
nj
.
Вместо определения значений и(х,t) на слое j=-1 можно вычислить значения и(х,t) на
слое j=1. Это достигается, например, с помощью формулы Тейлора
2
2
2
1
2
t
u
k
t
u
kuu
ioio
ioi
+
+
. (9.7)
Учитывая, что согласно уравнению (9.1) имеем
2
2
2
2
2
x
u
a
t
u
ioio
=
,
перепишем формулу (9.7) в другом виде, а именно:
                                                                Рис. 17.

   Решим эту смешанную задачу методом сеток [5-7]. Как и в случае параболического урав-
нения, покроем полуполосу (0≤х≤l), (0≤t<∞) прямоугольной сеткой xi=ih (i=0, 1,…, n), tj=jk
(j=0, 1, 2,…), где ∆xi=xi+1-xi=h=l/n (n – целое) и ∆tj=tj+1-tj=k . На сетке xi , tj приближенно
заменим дифференциальное уравнение (9.1) соответствующим конечно-разностным уравне-
нием.
      Пользуясь симметричными формулами для производных, будем иметь
                  ui , j +1 − 2uij + ui , j −1          ui +1, j − 2uij + ui −1, j
                                  2
                                                 = a2                                     ,           (9.4)
                              k                                      h2

При k=h/а уравнение (9.4) упрощается и принимает вид

                                                 ui,j+1+ui,j-1=ui+1,j+ui-1,j ,
откуда
                  ui,j+1=ui+1,j+ui-1,j-ui,j-1 .                                                       (9.5)
Из уравнения (9.5) видно, что для получения значений и(х,t) в (j+1)-м слое используются
значения и(х,t) в двух предыдущих слоях: j-м и (j-1)-м (рис. 17). Для начала вычисления по
формуле (9.5) также необходимо знать значения и(х,t) на двух слоях, в то время как началь-
ные условия (9.2) задают нам значения и(х,t) лишь на нулевом слое j=0. Однако, используя
начальные условия, можно определить значения и(х,t) на фиктивном слое с номером j=-1.
Для этого заменим производную во втором начальном уcловии конечно-разностным отно-
шением. Тогда будем иметь
                                                         u i , −1 − u io
                                                                           = Fi ,
                                                                −k
где Fi=F(Xi). Отсюда
                         ui,-1=uio –kFi .                   (9.6)
Теперь, зная значения и(х,t) на слое j=-1, определяемые с помощью формулы (9.6), можно
начать вычисления. Краевые условия (9.3) используются для получения значений uoj и unj.
      Вместо определения значений и(х,t) на слое j=-1 можно вычислить значения и(х,t) на
слое j=1. Это достигается, например, с помощью формулы Тейлора
                                                 ∂u io k 2 ∂ 2 u io
                             u i1 ≈ u io + k          +             .                         (9.7)
                                                  ∂t    2 ∂t 2
Учитывая, что согласно уравнению (9.1) имеем
                                                        ∂ 2 u io           ∂ 2 u io
                                                                   = a2               ,
                                                         ∂t 2               ∂x 2
перепишем формулу (9.7) в другом виде, а именно: