|
2.2. Вывод основных соотношений метода прогонки
Преобразуем неявную разностную схему (4.6),
группируя в левой части члены, содержащие значение функции u на (n + 1)-ом шаге по времени,
а в правой части - все остальные члены:
| |
\(\displaystyle -\frac{\sigma \Delta t}{h^2} u_{j+1}^{n+1} + \left(1 + 2\frac{\sigma \Delta t}{h^2} + k \Delta t\right) u_j^{n+1} - \frac{\sigma \Delta t}{h^2} u_{j-1}^{n+1} = u_j^n + \Delta t\, f(t^n, x_j).\) |
(4.8) |
Введём следующие обозначения:
| |
\(\displaystyle a_j = -\frac{\sigma \Delta t}{h^2}; \quad b_j = 1 + 2\frac{\sigma \Delta t}{h^2} + k \Delta t; \quad c_j = -\frac{\sigma \Delta t}{h^2}; \quad \xi_j^n = u_j^n + \Delta t\, f(t^n, x_j).\) |
(4.9) |
С учётом обозначений (4.9) равенство (4.8) будет иметь вид:
| |
\(\displaystyle a_j u_{j+1}^{n+1} + b_j u_j^{n+1} + c_j u_{j-1}^{n+1} = \xi_j^n.\) |
(4.10) |
Данное преобразование часто называют
преобразованием неявной разностной схемы к виду, удобному для использования
метода прогонки.
Разностный шаблон (см. рисунок),
характеризующий неявную разностную схему (4.6), свидетельствует о том, что данная
разностная схема содержит три неизвестные величины - значения функции u на (n + 1)-ом шаге по времени.
Это обстоятельство затрудняет вывод рекуррентного соотношения, позволяющего
последовательно рассчитать значения искомой функции u в каждом из узлов разностной сетки
(подобно тому, как это было сделано в случае явной разностной схемы).
Следовательно, для реализации неявной разностной
схемы (4.6) требуется ввести некоторое дополнительное
условие, связывающее значения функции u на (n + 1)-ом шаге по
времени. Представим это дополнительное условие в виде линейной зависимости
| |
\(\displaystyle u_j^{n+1} = \alpha_j u_{j+1}^{n+1} + \beta_j,\) |
(4.11) |
справедливой для любого значения j = 1, ..., N - 1.
Соотношение (4.11) называют рекуррентным
прогоночным соотношением, а коэффициенты \(\displaystyle \alpha_j, \beta_j\) - прогоночными коэффициентами.
Рассмотрим методику определения прогоночных
коэффициентов. Для этого перепишем соотношение (4.11) в виде:
| |
\(\displaystyle u_{j-1}^{n+1} = \alpha_{j-1} u_j^{n+1} + \beta_{j-1}.\) |
|
Подставим данное выражение в (4.10) и выразим из полученного равенства \(\displaystyle u_j^{n+1}\):
| |
\(\displaystyle a_j u_{j+1}^{n+1} + b_j u_j^{n+1} + c_j \alpha_{j-1} u_j^{n+1} + c_j \beta_{j-1} = \xi_j^n\) |
|
| |
\(\displaystyle \Rightarrow \qquad u_j^{n+1} = -\frac{a_j}{b_j + c_j \alpha_{j-1}} u_{j+1}^{n+1} + \frac{\xi_j^n - c_j \beta_{j-1}}{b_j + c_j \alpha_{j-1}}.\) |
(4.12) |
Сравнивая выражения (4.11) и (4.12), получаем:
| |
\(\displaystyle \alpha_j = -\frac{a_j}{b_j + c_j \alpha_{j-1}}, \qquad \beta_j = \frac{\xi_j^n - c_j \beta_{j-1}}{b_j + c_j \alpha_{j-1}}.\) |
(4.13) |
Выражения (4.13) позволяют рассчитать значения прогоночных коэффициентов на
j-ом шаге по координате х, если известны их значения на
(j - 1)-ом шаге по координате х (а также коэффициенты в
выражении (4.10), определение которых не должно вызывать затруднений). Следовательно,
для того, чтобы определить значения прогоночных коэффициентов на любом шаге по
координате х, необходимо знать их значения на 1-м шаге, т.е. \(\displaystyle \alpha_1, \; \beta_1\).
|