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

UptoLike

73
Вместо функций U, f,
ϕ(
x),
ψ(
t) будем рассматривать сеточные функции,
значения которых в узлах (x
i
, t
j
) соответственно равны
j
i
j
i
j
i
j
i
fu
ψϕ
,,,
.
Применим следующий шаблон в виде правого нижнего уголка (рис.23).
Тогда
τ
j
i
j
i
uu
t
U
+1
,
h
uu
x
U
j
i
j
i 1
,
где
τ
шаг по оси t, hшаг вдоль оси x.
Тогда линейное уравнение переноса будет аппроксимировано с использо-
ванием односторонних разностей:
),(
1
1
ji
j
i
j
i
j
i
j
i
txf
h
uu
a
uu
=
+
+
τ
. (3.14)
Решая разностное уравнение относительно единственного неизвестного
значения
1+j
i
u на j+1- ом слое, получаем следующую разностную схему:
),(
1
1
ji
j
i
j
i
j
i
j
i
yxfuu
h
dta
u
h
dta
u ++
=
+
τ
.
Обозначив
h
a
τ
λ
= и приведя подобные, получим:
),()1(
1
1
ji
j
i
j
i
j
i
yxfuuu ++=
+
τλλ
, (3.15)
i=1…n, j=0…m-1.
Схема (3.15) является явной, поскольку значение сеточной функции в узле
(j+1) верхнего слоя выражаются явно с помощью соотношения (3.15) через
ранее найденные её значения на предыдущем слое j.
Рис. 23. Правый нижний уголок
74
Для начала счёта по схеме (3.15) необходимы её значения на слое j=0. Они
определяются начальным условием (3.10), которое записывается для сеточ-
ной функции в следующем виде:
)(
0
ii
xu
ϕ
=
, i=0,1,…,n. (3.16)
Граничное условие (3.11) записывается для сеточной функции следующим
образом:
)(
0 j
jj
tu
ψ
=
, j=1,2,…,m. (3.17)
Таким образом, решение исходной дифференциальной задачи (3.9) - (3.11)
сводится к решению разностной задачи (3.15) - (3.17). Найденные значения
сеточной функции
j
i
u принимаются в качестве значений искомой функции U
в узлах сетки.
Алгоритм решения исходной задачи (3.9)—(3.11) с применением рассмот-
ренной разностной схемы представлен на рис. 25.
В соответствии с этим алгоритмом в памяти ЭВМ хранится весь двумер-
ный массив значений сеточной функции
j
i
u , и он целиком выводится на пе-
чать по окончании счета.
С целью экономии памяти (и если эти результаты не понадобятся для
дальнейшей обработки) можно хранить лишь значения сеточной функции на
двух соседних слоях
j
i
u ,
1+j
i
u .
Укажем теперь некоторые свойства данной разностной схемы. Она ап-
проксимирует исходную задачу с первым порядком точности. Схема устой-
чива при выполнении условия:
α
τ
/0 h
<
. (3.18)
Эти свойства схемы установлены в предположении, что решение U(x, t),
начальное и граничное значения φ(х) и
)(t
ψ
дважды непрерывно дифферен-
цируемы, а правая часть f(x, t) уравнения переноса имеет непрерывные пер-
вые производные.
Поскольку схема (3.15) устойчива и аппроксимирует исходную задачу, то
сеточное решение сходится к точному с первым порядком точности при
0h
,
0
τ
. Отметим, что при а<0 условие (3.18) не выполняется, и схема
(3.15) не сходится.
Можно построить сходящуюся схему и для случая a < 0. В качестве шаб-
лона для построения разностной схемы для уравнения (3.9) примем левый
нижний уголок (рис. 24а).
Разностное уравнение в этом случае примет вид:
j
i
j
i
j
i
j
i
j
i
f
h
uu
a
uu
=
+
+
+
1
1
τ
. (3.19)
   Вместо функций U, f, ϕ(x), ψ(t) будем рассматривать сеточные функции,                               Для начала счёта по схеме (3.15) необходимы её значения на слое j=0. Они
значения которых в узлах (xi, tj) соответственно равны u ij , f i j , ϕ i j ,ψ i j .                 определяются начальным условием (3.10), которое записывается для сеточ-
                                                                                                     ной функции в следующем виде:
   Применим следующий шаблон в виде правого нижнего уголка (рис.23).
                                                                                                                                          u i0 = ϕ ( xi ) ,   i=0,1, ,n.   (3.16)
                                                                                                        Граничное условие (3.11) записывается для сеточной функции следующим
                                                                                                     образом:
                                                                                                                                      u0j = ψ j (t j ) ,      j=1,2, ,m.   (3.17)
                                                                                                        Таким образом, решение исходной дифференциальной задачи (3.9) - (3.11)
                                                                                                     сводится к решению разностной задачи (3.15) - (3.17). Найденные значения
                                                                                                                          j
                                  Рис. 23. Правый нижний уголок                                      сеточной функции u i принимаются в качестве значений искомой функции U
                                                                                                     в узлах сетки.
                                           ∂U uij +1 − uij
   Тогда                                       ≈              ,                                         Алгоритм решения исходной задачи (3.9)—(3.11) с применением рассмот-
                                            ∂t      τ                                                ренной разностной схемы представлен на рис. 25.
                                           ∂U u ij − u ij−1                                             В соответствии с этим алгоритмом в памяти ЭВМ хранится весь двумер-
                                               ≈            ,                                                                                                 j
                                           ∂x      h                                                 ный массив значений сеточной функции ui , и он целиком выводится на пе-
где τ – шаг по оси t, h – шаг вдоль оси x.                                                           чать по окончании счета.
   Тогда линейное уравнение переноса будет аппроксимировано с использо-                                 С целью экономии памяти (и если эти результаты не понадобятся для
                                                                                                     дальнейшей обработки) можно хранить лишь значения сеточной функции на
ванием односторонних разностей:                                                                                               j    j +1
                                                                                                     двух соседних слоях ui , ui          .
                                  uij +1 − uij     u j − uij−1
                                                 +a i          = f ( xi , t j ) .           (3.14)       Укажем теперь некоторые свойства данной разностной схемы. Она ап-
                                      τ                h                                             проксимирует исходную задачу с первым порядком точности. Схема устой-
   Решая разностное уравнение относительно единственного неизвестного                                чива при выполнении условия:
               j +1                                                                                                               0 < τ ≤ h /α .                           (3.18)
значения u i          на j+1- ом слое, получаем следующую разностную схему:
                                                                                                         Эти свойства схемы установлены в предположении, что решение U(x, t),
                                  a ⋅ dt j      a ⋅ dt j                                             начальное и граничное значения φ(х) и ψ (t ) дважды непрерывно дифферен-
                       uij +1 =         ui −1 −       ui + uij + τ ⋅ f ( xi , y j ) .                цируемы, а правая часть f(x, t) уравнения переноса имеет непрерывные пер-
                                    h             h
                                                                                                     вые производные.
                           a ⋅τ                                                                          Поскольку схема (3.15) устойчива и аппроксимирует исходную задачу, то
   Обозначив          λ=         и приведя подобные, получим:
                            h                                                                        сеточное решение сходится к точному с первым порядком точности при
                                                                                                     h → 0 , τ → 0 . Отметим, что при а<0 условие (3.18) не выполняется, и схема
                               uij +1 = λ ⋅ uij−1 + (1 − λ ) ⋅ uij + τ ⋅ f ( xi , y j ) ,   (3.15)   (3.15) не сходится.
                              i=1 n, j=0 m-1.                                                            Можно построить сходящуюся схему и для случая a < 0. В качестве шаб-
                                                                                                     лона для построения разностной схемы для уравнения (3.9) примем левый
   Схема (3.15) является явной, поскольку значение сеточной функции в узле
                                                                                                     нижний уголок (рис. 24а).
(j+1) верхнего слоя выражаются явно с помощью соотношения (3.15) через                                   Разностное уравнение в этом случае примет вид:
ранее найденные её значения на предыдущем слое j.                                                                                 u ij +1 − u ij    u j − u ij
                                                                                                                                                 + a i +1      = fi j .    (3.19)
                                                                                                                                         τ                h
                                                                                               73    74