|
Запишем для уравнения (11.2) схему переменных направлений:
| |
\(\displaystyle \frac{u_{j,k}^{n+1/2} - u_{j,k}^n}{\Delta t} = \frac{\sigma}{2}\frac{u_{j+1,k}^{n+1/2} - 2u_{j,k}^{n+1/2} + u_{j-1,k}^{n+1/2}}{h_x^2} + \frac{\sigma}{2}\frac{u_{j,k+1}^n - 2u_{j,k}^n + u_{j,k-1}^n}{h_y^2} - ku_{j,k}^{n+1/2} + f(x_j, y_k),\) |
| |
\(\displaystyle \frac{u_{j,k}^{n+1} - u_{j,k}^{n+1/2}}{\Delta t} = \frac{\sigma}{2}\frac{u_{j+1,k}^{n+1/2} - 2u_{j,k}^{n+1/2} + u_{j-1,k}^{n+1/2}}{h_x^2} + \frac{\sigma}{2}\frac{u_{j,k+1}^{n+1} - 2u_{j,k}^{n+1} + u_{j,k-1}^{n+1}}{h_y^2}.\) |
(11.8) |
Как и схема расщепления (11.7), схема переменных направлений (11.8) является абсолютно устойчивой,
что обеспечивает возможность произвольного выбора значения шага итерации. Однако схема переменных направлений
(11.8) имеет более высокий (второй) порядок аппроксимации по времени, что позволяет использовать при её
решении более грубый шаг итерации, чем при решении схемы расщепления (11.7), для получения результатов
с такой же точностью; а это в свою очередь способствует ускорению сходимости итерационного процесса
и уменьшению количества итераций:
| |
\(\displaystyle n < \frac{1}{h}.\) |
|
Каждая из подсхем схемы переменных направлений (11.8) решается
с помощью метода прогонки. Коэффициенты, соответствующие уравнению (4.10), имеют вид:
для первой подсхемы
| |
\(\displaystyle a_j = c_j = -\frac{\sigma}{2}\frac{\Delta t}{h_x^2}, \qquad b_j = 1 + \sigma\frac{\Delta t}{h_x^2} + k\Delta t, \qquad \xi_{j,k}^n = u_{j,k}^n + \frac{\sigma}{2}\Delta t\, \lambda_{yy} u_{j,k}^n + \Delta t\, f(x_j, y_k);\) |
|
для второй подсхемы
| |
\(\displaystyle \tilde{a}_k = \tilde{c}_k = -\frac{\sigma}{2}\frac{\Delta t}{h_y^2}, \qquad \tilde{b}_k = 1 + \sigma\frac{\Delta t}{h_y^2}, \qquad \tilde{\xi}_{j,k}^{n+1/2} = u_{j,k}^{n+1/2} + \frac{\sigma}{2}\Delta t\, \lambda_{xx} u_{j,k}^{n+1/2}.\) |
|
Легко видеть, что для обеих подсхем достаточное условие сходимости прогонки (4.16) выполняется.
Алгоритм решения схемы (11.8) аналогичен алгоритму решения схемы расщепления
(7.7), (7.8), аппроксимирующей двумерное дифференциальное уравнение
параболического типа; методики определения прогоночных коэффициентов
и решения на правой границе аналогичны описанным ранее в разделах 4.2.3- 4.2.4.
Также как и в случае метода простой итерации, в качестве нулевой итерации ( начального условия,
необходимого для решения в связи с введением фиктивной производной по времени) обычно задают
свободный член:
| |
\(\displaystyle u_{j,k}^0 = f(x_j, y_k).\) |
|
Расчёт итераций следует продолжать до тех пор, пока итерационный процесс не сойдётся,
т.е. пока не будет выполняться условие (11.3), в разностном представлении соответствующее неравенству:
| |
\(\displaystyle \left\|u^{n+1} - u^n\right\| = \sqrt{h^2\sum_{k=1}^{N}\sum_{j=1}^{N}(u_{j,k}^{n+1} - u_{j,k}^n)^2} \le \varepsilon.\) |
|
В качестве итерационного выражения служит прогоночное соотношение (4.11), имеющее вид:
для первой подсхемы \(\displaystyle u_{j,k}^{n+1/2} = \alpha_j u_{j+1,k}^{n+1/2} + \beta_j;\)
для второй подсхемы \(\displaystyle u_{j,k}^{n+1} = \tilde{\alpha}_k u_{j,k+1}^{n+1} + \tilde{\beta}_k.\)
|