Вычислительная математика. Ч. 2. Асламова В.С - 43 стр.

UptoLike

85
но было бы предусмотреть хранение решения лишь на трех слоях, что сэко-
номило бы память. Вывод результатов в таком случае можно производить в
процессе счета.
Существуют и другие разностные схемы решения волнового уравнения. В
частности, иногда удобнее использовать неявные схемы, чтобы избавиться от
ограничений на величину шага, налагаемых условием (3.43). Эти схемы
обычн
о абсолютно устойчивы, однако алгоритм решения задачи и программа
на ЭВМ усложняются.
Построим простейшую неявную схему. Вторую производную по t в урав-
нении (3.33) аппроксимируем, как и ранее, по трёхточечному шаблону с по-
мощью значений сеточной функции на слоях j-1, j, j+1.
Производную по x заменяем полусуммой ее аппроксимации на j+1-м и j-1-
м слоях (ри
с. 31):
+
+
+
=
τ
+
+
+
+
+
+
++
2
1
1
1
1
1
2
1
1
1
1
1
2
2
11
22
2
2
h
uuu
h
uuu
a
uuu
j
i
j
i
j
i
j
i
j
i
j
i
j
i
j
i
j
i
(3.44)
Из этого разностного соотношения можно получить систему уравнений от-
носительно неизвестных значений сеточной функции на j+1-м слое (j = 1, 2, ...,
m-1):
j
i
j
i
j
i
j
i
j
i
j
i
j
i
uuuuuuu 2)()21()21(
1
1
1
1
11
1
11
1
++=++
+
+
+
++
λλλλλ
,
222
/ ha
τλ
= , i=1, 2, …,n-1. (3.45)
Неявная схема (3.45) имеет второй порядок точности О(h
2
+
τ
2
). Систему
линейных алгебраических уравнений (3.45) можно, в частности, решать мето-
дом прогонки (см. рис.38 в [1]). К этой системе следует добавить разностные
начальные и граничные условия. В частности, выражения (3.37), (3.39) или
Рис. 31. Шаблон неявной схемы.
j -1
j+1
j
i -1
i +1
i
86
(3.41) могут быть использованы для вычисления значений сеточной функции
на нулевом и первом слоях по времени.
Задание.
Разработать алгоритм решения волнового уравнения, используя
неявную схему (3.45).
При наличии двух или трех независимых пространственных переменных
волновые уравнения соответственно имеют вид:
.
,
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
+
+
=
+
=
z
U
y
U
x
U
a
t
U
y
U
x
U
a
t
U
Для них также могут быть построены разностные схемы по аналогии с од-
номерным волновым уравнением. Разница состоит в том, что нужно аппрок-
симировать производные по двум или трем пространственным переменным,
что, естественно, усложняет алгоритм и требует значительно больших объе-
мов памяти и времени счета. Подробнее двумерные задачи будут рассмотре-
ны ниже для ур
авнения теплопроводности.
3.3.2. Уравнение теплопроводности
Ранее уже были построены разностные схемы решения смешанной задачи
для одномерного уравнения теплопроводности (см. гл.3.1):
,0,10,
2
2
>
=
tx
x
U
a
t
U
(3.46)
)()0,( xxU
ϕ
=
, (3.47)
)(),0(
1
ttU
ψ
=
,
)(),1(
2
ttU
ψ
=
. (3.48)
Были получены две двухслойные схемыявная и неявная. В явной схеме
значения сеточной функции
),(
1
1
+
+
=
ji
j
i
txuu на верхнем j+1-м слое вычис-
лялись с помощью решения на нижнем слое:
.1,,2,1,/
,)21(
2
11
1
==
++=
+
+
niha
uuuu
j
i
j
i
j
i
j
i
K
τλ
λλλ
(3.49)
Данная схема устойчива при выполнении условия:
2/1/
2
= ha
τλ
. (3.50)
но было бы предусмотреть хранение решения лишь на трех слоях, что сэко-                                      (3.41) могут быть использованы для вычисления значений сеточной функции
номило бы память. Вывод результатов в таком случае можно производить в                                       на нулевом и первом слоях по времени.
процессе счета.                                                                                                  Задание. Разработать алгоритм решения волнового уравнения, используя
   Существуют и другие разностные схемы решения волнового уравнения. В                                       неявную схему (3.45).
частности, иногда удобнее использовать неявные схемы, чтобы избавиться от                                        При наличии двух или трех независимых пространственных переменных
ограничений на величину шага, налагаемых условием (3.43). Эти схемы                                          волновые уравнения соответственно имеют вид:
обычно абсолютно устойчивы, однако алгоритм решения задачи и программа                                                              ∂ 2U     2⎛ ∂ U    ∂ 2U          ⎞
                                                                                                                                                 2

на ЭВМ усложняются.                                                                                                                      = a  ⎜
                                                                                                                                              ⎜ ∂x 2 +               ⎟⎟,
   Построим простейшую неявную схему. Вторую производную по t в урав-
                                                                                                                                    ∂t 2      ⎝        ∂y 2           ⎠
                                                                                                                                    ∂ 2U     2⎛ ∂ U    ∂ 2U ∂ 2U ⎞
нении (3.33) аппроксимируем, как и ранее, по трёхточечному шаблону с по-                                                                         2

мощью значений сеточной функции на слоях j-1, j, j+1.                                                                                    = a  ⎜
                                                                                                                                              ⎜ ∂x 2 +      + 2 ⎟⎟.
                                                                                                                                    ∂t 2      ⎝        ∂y 2  ∂z ⎠
   Производную по x заменяем полусуммой ее аппроксимации на j+1-м и j-1-
м слоях (рис. 31):                                                                                              Для них также могут быть построены разностные схемы по аналогии с од-
                                                                                                             номерным волновым уравнением. Разница состоит в том, что нужно аппрок-
                                        a 2 ⎛⎜ ui +1 − 2uij +1 + ui −1 ui +1 − 2uij −1 + ui −1 ⎞⎟
                                                 j +1              j +1   j −1             j −1
           uij +1 − 2uij + uij +1                                                                   (3.44)
                                    =                                   +                                    симировать производные по двум или трем пространственным переменным,
                    τ2                   2 ⎜⎝           h2                      h2              ⎟
                                                                                                ⎠            что, естественно, усложняет алгоритм и требует значительно больших объе-
                                                                                                             мов памяти и времени счета. Подробнее двумерные задачи будут рассмотре-
                      j+1
                                                                                                             ны ниже для уравнения теплопроводности.
                                                                                                                                 3.3.2. Уравнение теплопроводности
                                                                                                                Ранее уже были построены разностные схемы решения смешанной задачи
                         j                                                                                   для одномерного уравнения теплопроводности (см. гл.3.1):
                                                                                                                                  ∂U    ∂ 2U
                                                                                                                                      =a 2 ,       0 ≤ x ≤ 1,                   t > 0,        (3.46)
                      j -1                                                                                                         ∂t   ∂x
                             i -1                     i                  i +1                                                               U ( x,0) = ϕ ( x) ,                               (3.47)
                Рис. 31. Шаблон неявной схемы.                                                                                     U (0, t ) = ψ 1 (t ) ,      U (1, t ) = ψ 2 (t ) .         (3.48)
   Из этого разностного соотношения можно получить систему уравнений от-                                          Были получены две двухслойные схемы — явная и неявная. В явной схеме
носительно неизвестных значений сеточной функции на j+1-м слое (j = 1, 2, ...,                                                                j +1
                                                                                                             значения сеточной функции u i           = u ( xi , t j +1 ) на верхнем j+1-м слое вычис-
m-1):
                                                                                                             лялись с помощью решения на нижнем слое:
    λu ij−+11 − (1 + 2λ )u ij +1 + λu ij++11 = (1 + 2λ )u ij −1 − λ (u ij+−11 + u ij−−11 ) − 2u ij ,
                                                                                                                                        uij +1 = λuij+1 + (1 − 2λ )uij + λuij−1 ,
                                    λ = a τ /h2   2       2
                                                              ,   i=1, 2,       ,n-1.               (3.45)                                                                                    (3.49)
   Неявная схема (3.45) имеет второй порядок точности О(h +τ ). Систему                 2   2                                           λ = aτ / h 2 ,          i = 1, 2, K , n − 1.
линейных алгебраических уравнений (3.45) можно, в частности, решать мето-                                         Данная схема устойчива при выполнении условия:
дом прогонки (см. рис.38 в [1]). К этой системе следует добавить разностные                                                                λ = aτ / h 2 ≤ 1 / 2 .                             (3.50)
начальные и граничные условия. В частности, выражения (3.37), (3.39) или

                                                                                                       85    86