Методы расщепления
8.4. Методы расщепления с факторизацией оператора
8.4.1. Факторизованная схема расщепления
Пусть для решения дифференциальной задачи
![$ \mathbf{B} \frac{{\partial}u}{{\partial}t} + \mathbf{A}u = f,
u(t_0 ) = u_0 $](/sites/default/files/tex_cache/f2a334355a476368cd59cf731178e844.png)
используется разностная схема , где
, n = 0, 1, ... Пусть для вычисления Fn затрачивается O(N) действий, число арифметических операций пропорционально числу узлов сетки N. Такие разностные операторы называются экономичными.
Пусть (i = 1, 2, ..., N) - экономичные разностные операторы, такие, что
. Назовем схему разностной схемой с факторизованным оператором
, если возможно его представление в виде
![\mathbf{B} = \mathbf{B}_1 \mathbf{B}_2 \ldots \mathbf{B}_n.](/sites/default/files/tex_cache/d54f1bba4bb4d73ae532396bcc093c9e.png)
Эта схема будет также экономичной, так как для решения разностного уравнения по - прежнему потребуется O(N) действий. В самом деле, решение уравнения
![\mathbf{B}_1 \mathbf{B}_2 \ldots \mathbf{B}_n u^{n + 1} = F^{n}](/sites/default/files/tex_cache/4271cd0cedc27fd10b6739f0a389e709.png)
может быть найдено в результате последовательного решения p уравнений
![\begin{gather*} {\mathbf{B}}_1 u_1 = F^{n}, \\
{\mathbf{B}}_2 u_2 = u_1 , \\
{\mathbf{B}}_3 u_3 = u_2, \\
\ldots \\
{\mathbf{B}}_i u_i = u_{i - 1}, \end{gather*}](/sites/default/files/tex_cache/dafc45670cabbff89028620a37f153ca.png)
здесь i = 2, 3, ..., N. Тогда un + 1 = un. В записи задачи введены обозначения
![$ u_1 = u^{n + 1/N}, \ldots , u_i = u^{n + i/N}, \ldots , u_{N - 1} = u^{n + \frac{{N - 1}}{N}} $](/sites/default/files/tex_cache/5fe46699c5fb4685d49060da518c63d5.png)
Схемы с факторизованным оператором иногда называются также факторизованными схемами. Устойчивая схема с факторизованным
оператором , которая представляет собой произведение конечного числа операторов
, является экономичной схемой.
Пример. Метод переменных направлений (продольно - поперечная схема). Приведем запись схемы для решения линейного двумерного уравнения теплопроводности. Расчетные формулы есть
![\begin{gather*} \frac{{u^{n + 1/2} - u^{n}}}{{{{1 \over 2}} \tau
}} - ({\mathbf{\Lambda}}_1 u^{n + 1/2} + {\mathbf{\Lambda}}_2 u^{n} ) = f^{n}, \\
\frac{{u^{n + 1} - u^{n + 1/2}}}{{{{1 \over 2}} {\tau}}} - ({\mathbf{\Lambda}}_1 u^{n + 1/2} + {\mathbf{\Lambda}}_2 u^{n + 1} ) = f^{n} . \end{gather*}](/sites/default/files/tex_cache/23ff2877af6c7fd255efc6d347aaa7bb.png)
Тогда, исключая un + 1/2, получим в операторной форме записи
![$ \left(\mathbf{E} - \frac{\tau}{2}\mathbf{\Lambda}_1\right)
\left(\mathbf{E} - \frac{\tau}{2}\mathbf{\Lambda}_2\right) u^{n + 1} =
\left(\mathbf{E} + \frac{\tau}{2}\mathbf{\Lambda}_1\right) \left(\mathbf{E} + \frac{\tau}{2}
\mathbf{\Lambda}_2\right) u^{n}, $](/sites/default/files/tex_cache/9893ac96f33ac05fe1d8b86751fe0355.png)
или , где
![$ {\mathbf{B}}_1 = {\mathbf{E}} - \frac{\tau}{2}{\mathbf{\Lambda}}_1 $](/sites/default/files/tex_cache/71922a99cd8cb800cfc230b0a4dbf39b.png)
![$ {\mathbf{B}}_2 = {\mathbf{E}} - \frac{\tau}{2}{\mathbf{\Lambda}}_2 $](/sites/default/files/tex_cache/b6f193d65a00623f690c4cc58050f6ac.png)
![$ F^{n} = \left(\mathbf{E} + \frac{\tau}{2}\mathbf{\Lambda}_1\right) \left(\mathbf{E} + \frac{\tau}{2}\mathbf{\Lambda}_2\right)u^{n} $](/sites/default/files/tex_cache/af0a697d963960c19d96a2a2ff19c407.png)
![{\mathbf{B}}_1 u_1 = F^{n}, {\mathbf{B}}_2 u^{n + 1} = u_1.](/sites/default/files/tex_cache/e1d4d7817db28a068c77a2305d322619.png)
8.4.2. Неявная схема расщепления с приближенной факторизацией
Рассмотрим неявную разностную схему
![]() |
( 8.7) |
Представим разностную схему (8.7) в виде
![]() |
( 8.8) |
Факторизуем разностную схему (8.8) приближенно с точностью до членов порядка Для этого заменим в (8.8) оператор
на факторизованный
![({\mathbf{E}} + \tau {\mathbf{\Lambda}}_1 )({\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_2 ) \ldots ({\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_n ) = {\mathbf{E}} + {\tau}{\mathbf{\Lambda}} + {\tau}^2 {\mathbf{R}},](/sites/default/files/tex_cache/a5cb1c6eebdaf15dfe2de04ba0691bd6.png)
где введено обозначение
![{\mathbf{R}} = \sum\limits_{i < j}{{\mathbf{\Lambda}}_i {\mathbf{\Lambda}}_j + {\tau}\sum\limits_{i < j < k}{{\mathbf{\Lambda}}_i }}{\mathbf{\Lambda}}_j {\mathbf{\Lambda}}_k + \ldots + {\tau}^{n - 2}{\mathbf{\Lambda}}_1 \ldots {\mathbf{\Lambda}}_n.](/sites/default/files/tex_cache/1e2fbe713fdee64cfeb88c54b3a6e52c.png)
Врезультате приходим к неявной схеме с приближенной факторизацией
![{\mathbf{B}}u^{n + 1} = u^{n}, \mathbf{B} = {\mathop \Pi\limits_{i = 1}^{n}{\mathbf{B}_i}}, {\mathbf{B}}_i = {\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_i,](/sites/default/files/tex_cache/d8e915014040022fe2420a1a54edc1ed.png)
или
![\begin{gather*} ({\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_1 )u^{n + 1/N} = u^{n}, \\
({\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_2 )u^{n + 2/N} = u^{n + 1/N}, \\
\ldots \\
({\mathbf{E}} + {\tau}{\mathbf{\Lambda}}_n )u^{n + 1} = u^{n + \frac{{N - 1}}{N}} . \end{gather*}](/sites/default/files/tex_cache/3e153667368ad5da281e1b3bdf57d64f.png)
Эта схема абсолютно устойчива, имеет первый порядок аппроксимации.