Опубликован: 25.10.2007 | Доступ: свободный | Студентов: 1275 / 290 | Оценка: 4.40 / 4.36 | Длительность: 21:57:00
Специальности: Математик

Лекция 5: Численное решение уравнений в частных производных гиперболического типа с большими градиентами решений

5.8. Однопараметрическое семейство неявных схем

Рассмотрим однопараметрическое семейство неявных разностных схем для численного решения нелинейного уравнения переноса. Схемы, принадлежащие этому семейству, запишутся следующим образом:

u_m^{n + 1} + {\sigma}\theta (f_{{m} + 1/2}^{n + 1} - f_{{m} - 1/2}^{n + 1} ) = u_m^{n} - \sigma (1 - \theta )(f_{{m} + 1/2}^{n} - f_{{m} - 1/2}^{n} ),

весовой множитель меняется от нуля до единицы: 0 \le \theta  < 1.

Потоковая форма записи этих квазилинейных уравнений будет

u_m^{n + 1} = u_m^{n} - \sigma (\bar{f}_{{m} + 1/2} - \bar{f}_{{m} - 1/2} ), 
 \bar{f}_{{m}  \pm  1/2} = (1 - \theta )f_{{m} + 1/2}^{n} +  \theta f_{{m} + 1/2}^{n + 1}.

Такая запись однопараметрического семейства схем включает в себя как явные (при \theta  = 0 ), так и неявные (например, при \theta  = 1, \theta  = 0, 5 ) разностные схемы.

Для вычисления числового потока будем использовать формулы

$  f_{{m} + 1/2} = \frac{1}{2}(f_{{m} + 1} + f_m +  \varphi_{{m} + 1/2} ), f_{{m} - 1/2} = \frac{1}{2}(f_m + f_{m - 1} +  \varphi_{{m} - 1/2} ),   $

где дополнительные слагаемые для вычисления потока в полуцелых точках есть

\begin{gather*}  
 \varphi_{{m} + 1/2} = - \Delta_{{m} + 1/2} u \left[{\eta (a_{{m} + 1/2} )(1 - Q_{{m} + 1/2} ) + \sigma_{{m} - 1/2}^2 Q_{{m} + 1/2}}\right],  \\ 
 \varphi_{{m} - 1/2} = - \Delta_{{m} - 1/2} u \left[{\eta (a_{{m} - 1/2} )(1 - Q_{{m} - 1/2} ) + \sigma_{{m} - 1/2}^2 Q_{{m} - 1/2}}\right].   \end{gather*}

Подстановка выражений для потоков в исходную однопараметрическую разностную схему приводит к следующему выражению:

\begin{gather*}  
u_m^{n + 1} + \frac{{\sigma}}{2} \theta \left\{{f_{{m} + 1} - \left[{\eta (a_{{m} + 1/2} )(1 -  Q_{{m}+ 1/2} )+ \sigma_{{m} + 1/2}^2 Q_{{m} + 1/2}}\right] \Delta_{{m} + 1/2}
u}\right\}^{n + 1} - \\  
 - \frac{{\sigma}}{2} \theta \left\{{f_{m - 1} - \left[{\eta (a_{{m} - 1/2} ) (1 - Q_{{m}{- } 1/2} ) +  \sigma_{{m} - 1/2}^2 Q_{{m} -  1/2}}\right] \Delta_{{m} - 1/2} u}\right\}^{n + 1} =  F_m^{n},    \end{gather*}

или

\begin{gather*}  
u_m^{n + 1} + \frac{{\sigma}}{2} \theta \left({\frac{{f_{{m} + 1} - f_m }}{{\Delta_{{m} + 1/2} u}} - \Psi_{{m} + 1/2} \Delta_{{m} + 1/2} u}\right)^{n + 1} - \\ 
 - \frac{{\sigma}}{2} \theta \left({\frac{{f_m - f_{m - 1}}}{{\Delta_{{m} - 1/2} u}} - 
 \Psi_{{m} - 1/2} \Delta_{{m} - 1/2} u}\right)^{n + 1} = F_m^{n},   
\end{gather*}

где F_m^{n} — величины, вычисляемые на n слое по времени, кроме того, в левой части прибавили и вычли величину f_m^{n + 1}, введено обозначение \psi_{{m}  \pm  1/2} = \eta (a_{{m}  \pm  1/2} )(1 - Q_{{m}   \pm  1/2} ) +  \eta_{{m}  \pm  1/2}^2 Q_{{m}  \pm  1/2}.

При способе вычисления локальной скорости переноса в соответствии с правилами

\begin{gather*}  
a_{{m} + 1/2} = \left\{ \begin{array}{l}
 \frac{{f_{{m} + 1/2} - f_m }}{{\Delta_{{m} + 1/2} u}}, \quad \Delta_{{m} + 1/2} u \ne 0 \\ 
 a(u_m ), \quad \Delta_{{m} + 1/2} u = 0, \\ 
\end{array} \right.   \\ 
a_{{m} - 1/2} = \left\{ \begin{array}{l}
 \frac{{f_m - f_{m - 1}}}{{\Delta_{{m} - 1/2} u}},  \quad \Delta_{{m} - 1/2} u \ne 0, \\ 
 a(u_m ), \quad  \Delta_{{m} - 1/2} u = 0, \\ 
\end{array} \right.
  \end{gather*}

получим разностную схему

\begin{gather*}  
u_m^{n + 1} + \frac{{\sigma}}{2} \theta (a_{{m} + 1/2}^{n + 1} -  \Psi_{{m} + 1/2}^{n + 1} ) \Delta_{{m} + 1/2} u^{n + 1} - \\ 
 \frac{{\sigma}}{2} \theta (- a_{{m} - 1/2}^{n + 1} - \Psi_{{m} - 1/2}^{n + 1} )
 \Delta_{{m} - 1/2} u^{n + 1} = F_m^{n},   \end{gather*}

или, в чуть сокращенной форме записи,

\begin{gather*} u_m^{n + 1} - {\sigma}\theta (C_{{m} + 1/2}^{+}\Delta_{{m} + 1/2} u - C_{{m} - 1/2}^{-}\Delta_{{m} - 1/2}u)^{n + 1} = \\ 
 = u_m^{n} + {\sigma}(1 - \theta )(C_{{m} + 1/2}^{+}{\Delta}{}_{{m} + 1/2}u - C_{{m} - 1/2}^{-} \Delta_{{m} - 1/2} u)^{n}  \end{gather*}

Алгоритм решения приведенного разностного уравнения — прогонка.