Учебник · Глава 10
Решение обыкновенных дифференциальных уравнений второго порядка.
4. Метод установления с использованием неявной разностной схемы.
|
Запишем для уравнения (10.4) неявную разностную схему
(соблюдая правило выбора конечной разности для аппроксимации первой производной по координате):
| |
\(\displaystyle \frac{u_j^{n+1} - u_j^n}{\Delta t} + v\frac{u_j^{n+1} - u_{j-1}^{n+1}}{h} = \sigma\frac{u_{j+1}^{n+1} - 2u_j^{n+1} + u_{j-1}^{n+1}}{h^2} + f(x_j).\) |
(10.9) |
В разделе 6.3.1 было доказано, что данная разностная схема является абсолютно устойчивой. Поэтому
значение шага итерации в данном случае может быть выбрано произвольно в отличие от метода простой итерации,
в котором значение шага итерации задаётся с помощью соотношения (10.7). Выбор более грубого шага итерации
(по сравнению с методом простой итерации) позволяет существенно ускорить сходимость итерационного процесса
и уменьшить количество итераций:
| |
\(\displaystyle n \sim \frac{1}{h}.\) |
|
В разделе 6.3.2 было показано, что разностные схемы типа (10.9) решаются с помощью метода прогонки.
Коэффициенты, соответствующие уравнению (4.10), для разностной схемы (10.9) имеют вид:
| |
\(\displaystyle a_j = -\sigma\frac{\Delta t}{h^2}, \quad b_j = 1 + v\frac{\Delta t}{h} + 2\sigma\frac{\Delta t}{h^2}, \quad c_j = -v\frac{\Delta t}{h} - \sigma\frac{\Delta t}{h^2}, \quad \xi_j^n = u_j^n + \Delta t\, f(x_j).\) |
|
Легко видеть, что для разностной схемы (10.9) достаточное условие сходимости прогонки (4.16) выполняется:
| |
\(\displaystyle \left|a_j\right| + \left|c_j\right| = v\frac{\Delta t}{h} + 2\sigma\frac{\Delta t}{h^2} < 1 + v\frac{\Delta t}{h} + 2\sigma\frac{\Delta t}{h^2} = \left|b_j\right|.\) |
|
Алгоритм решения, а также методики определения прогоночных коэффициентов и решения на правой границе
аналогичны описанным ранее.
Также как и в случае метода простой итерации,
в качестве нулевой итерации (начального условия, необходимого для решения в связи
с введением фиктивной производной по времени) обычно задают свободный член:
| |
\(\displaystyle u_j^0 = f(x_j).\) |
|
Расчёт итераций продолжается до тех пор, пока итерационный процесс не сойдётся,
т.е. пока не будет выполняться условие (10.5), в разностном представлении соответствующее неравенству:
| |
\(\displaystyle \left\|u^{n+1} - u^n\right\| = \sqrt{h\sum_{j=1}^{N}(u_j^{n+1} - u_j^n)^2} \le \varepsilon.\) |
|
Итерационным выражением является прогоночное соотношение (4.11),
имеющее такой же вид, как и в общем случае.
|