🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Учебник · Глава 10

Решение обыкновенных дифференциальных уравнений второго порядка.

5. Метод установления с использованием разностной схемы Кранка-Николсона.

     Запишем для уравнения (10.4) разностную схему Кранка-Николсона (соблюдая правило выбора конечной разности для аппроксимации первой производной по координате):

  \(\displaystyle \frac{u_j^{n+1} - u_j^n}{\Delta t} + \frac{v}{2}\frac{u_j^{n+1} - u_{j-1}^{n+1}}{h} + \frac{v}{2}\frac{u_j^n - u_{j-1}^n}{h} = \frac{\sigma}{2}\frac{u_{j+1}^{n+1} - 2u_j^{n+1} + u_{j-1}^{n+1}}{h^2} + \frac{\sigma}{2}\frac{u_{j+1}^n - 2u_j^n + u_{j-1}^n}{h^2} + f(x_j).\) (10.10)
Как и неявная разностная схема (10.9), разностная схема Кранка-Николсона (10.10) является абсолютно устойчивой, что обеспечивает возможность произвольного выбора значения шага итерации. Однако разностная схема Кранка-Николсона (10.10) имеет более высокий (второй) порядок аппроксимации по времени:
  \(\displaystyle O(\Delta t^2, h).\)
Данная особенность разностной схемы Кранка-Николсона (10.10) позволяет использовать при её решении более грубый шаг итерации, чем при решении неявной разностной схемы (10.9), для получения результатов с такой же точностью; а это в свою очередь способствует ускорению сходимости итерационного процесса и уменьшению количества итераций:
  \(\displaystyle n < \frac{1}{h}.\)

     В разделе 6.4 было показано, что разностные схемы типа (10.10) решаются с помощью метода прогонки. Коэффициенты, соответствующие уравнению (4.10), для разностной схемы (10.10) имеют вид:
  \(\displaystyle a_j = -\sigma\frac{\Delta t}{2h^2}, \quad b_j = 1 + \frac{v}{2}\frac{\Delta t}{h} + \sigma\frac{\Delta t}{h^2}, \quad c_j = -\frac{v}{2}\frac{\Delta t}{h} - \frac{\sigma}{2}\frac{\Delta t}{h^2}, \quad \xi_j^n = u_j^n + \frac{\sigma}{2}\frac{\Delta t}{h^2}(u_{j+1}^n - 2u_j^n + u_{j-1}^n) - \frac{v}{2}\frac{\Delta t}{h}(u_j^n - u_{j-1}^n) + \Delta t\, f(x_j).\)
Легко видеть, что достаточное условие сходимости прогонки (4.16) выполняется:
  \(\displaystyle \left|a_j\right| + \left|c_j\right| = \frac{v}{2}\frac{\Delta t}{h} + \frac{\sigma\Delta t}{h^2} < 1 + \frac{v}{2}\frac{\Delta t}{h} + \frac{\sigma\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), имеющее такой же вид, как и в общем случае.