Компьютерные технологии в физике. Часть 2. Эксперимент с компьютерной поддержкой. Артамонов М.Ф - 33 стр.

UptoLike

32
Тогда область поиска решения, как видно из рис.3.1, будет пред-
ставлять собой сетку с узлами, соответствующими дискретным значениям
координаты x = ih (i=0,1,2,.....,N) и времени t = k
τ
(k=0,1,2,....).
Значение переменной
),(
t
xU
в узле i, k будем обозначать как
ki
U
,
.
Производную по времени в точке x = ih для момента t = k
τ
заменим раз-
ностью
0
,1,
,
=
=
+
τ
kiki
ki
UU
t
U
. (3.11)
Для аппроксимации значения второй производной в узле i,k найдем
сначала первые производные в середине между двумя узлами, т.е.
h
UU
x
U
kiki
ki
,1,
,2/1
=
,
h
UU
x
U
kiki
ki
,,1
,2/1
=
+
+
. (3.12)
Тогда
2
,,1,1,2/1,2/1
,
2
2
2
h
UUU
h
x
U
x
U
x
U
kikikikiki
ki
+
=
=
++
. (3.13)
Подставляя значения производных, определённых равенствами
(3.11), (3.13), в уравнение (3.5), получаем:
)2()1(
,,1,1
2
,1, kikikikiki
UUU
h
a
UbU +++=
++
τ . (3.14)
Соотношение (3.14) позволяет находить значения температуры на
следующем временном слое k + 1 (т.е. в момент
τ+t
, где
τ
kt =
, если из-
вестны её значения на предыдущем слое k (т.е. в момент
τ
kt =
). Поэтому
для решения задачи требуется начальное условие, т.е. значение температу-
ры при t = 0 (k = 0) для всех N > i > 0. Тогда, полагая в (3.14) k = 0 и поль-
зуясь заданными начальными значениями
0,i
U , находим
1,i
U . Затем, зная
эти значения и полагая в (3.14) k = 1, получаем
2,i
U и т.д.
Из соотношения (3.14) и рис.3.1 также видно, что для расчёта темпе-
ратуры в i-ом узле в (k + 1)-ый момент требуется знать в k-ый момент тем-
пературу не только в i-ом узле, но и в двух соседних. Отсюда легко заме-
тить, что температура в узлах x = 0 и x = l = Nh не может быть вычислена,
(эти узлы не имеют "соседа" слева или справа) а должна быть задана для
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
                     Тогда область поиска решения, как видно из рис.3.1, будет пред-
              ставлять собой сетку с узлами, соответствующими дискретным значениям
              координаты x = ih (i=0,1,2,.....,N) и времени t = kτ (k=0,1,2,....).
                    Значение переменной U ( x, t ) в узле i, k будем обозначать как U i , k .
              Производную по времени в точке x = ih для момента t = kτ заменим раз-
              ностью

                                     ∂U       U i ,k +1 − U i ,k
                                         =                       = 0.                                        (3.11)
                                     ∂t  i ,k          τ


                   Для аппроксимации значения второй производной в узле i,k найдем
              сначала первые производные в середине между двумя узлами, т.е.

                  ∂U                U i , k − U i −1, k          ∂U                U i +1, k − U i , k
                                  =                     ,                        =                     .   (3.12)
                  ∂x  i −1 / 2, k            h                   ∂x  i +1 / 2, k            h

                     Тогда

                                   ∂U                ∂U 
                                                  −     
                  ∂ 2U           ∂x  i +1 / 2, k  ∂x  i −1 / 2, k U i +1, k + U i −1, k − 2U i ,k
                              =                                      =                                .      (3.13)
                  ∂x 2                                                             h2
                        i,k                       h

                    Подставляя значения производных, определённых равенствами
              (3.11), (3.13), в уравнение (3.5), получаем:

                                                              aτ
                          U i , k +1 = (1 + bτ )U i , k +        (U i +1, k + U i −1, k − 2U i , k ) .         (3.14)
                                                              h2

                    Соотношение (3.14) позволяет находить значения температуры на
              следующем временном слое k + 1 (т.е. в момент t + τ , где t = kτ , если из-
              вестны её значения на предыдущем слое k (т.е. в момент t = kτ ). Поэтому
              для решения задачи требуется начальное условие, т.е. значение температу-
              ры при t = 0 (k = 0) для всех N > i > 0. Тогда, полагая в (3.14) k = 0 и поль-
              зуясь заданными начальными значениями U i ,0 , находим U i ,1 . Затем, зная
              эти значения и полагая в (3.14) k = 1, получаем U i , 2 и т.д.
                    Из соотношения (3.14) и рис.3.1 также видно, что для расчёта темпе-
              ратуры в i-ом узле в (k + 1)-ый момент требуется знать в k-ый момент тем-
              пературу не только в i-ом узле, но и в двух соседних. Отсюда легко заме-
              тить, что температура в узлах x = 0 и x = l = Nh не может быть вычислена,
              (эти узлы не имеют "соседа" слева или справа) а должна быть задана для
                                                                        32


PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com