Параболический тип. Общие принципы метода конечных разностей#

  • Явный эволюционный во времени процесс. См. характеристики для понимания. Нулевое собственное число отвечает времени.

  • Явная зависимость от времени.

  • Решаются как при заданных начальных условиях, так и при краевых.

  • «Негладкости» и «разрывы» возможны, но сглаживаются со временем.

Примеры:

  • Уравнение теплопроводности (диффузии)

\[ \frac{\partial u}{\partial t}-a^2 \Delta u=f(\mathbf{r}, t) \]
  • Уравнение анизотропной диффузии (квазилинейное - страшно, да?)

\[ \frac{\partial u(\mathbf{r}, t)}{\partial t}=\sum_{i=1}^3 \sum_{j=1}^3 \frac{\partial}{\partial x_i}\left[D_{i j}(u, \mathbf{r}) \frac{\partial u(\mathbf{r}, t)}{\partial x_j}\right] \]

Пример решения параболической задачи#

Определение. Задача уравнения диффузии (теплопроводности) ставится следующим образом:

\[ \frac{\partial u}{\partial t}=a \frac{\partial^2 u}{\partial x^2}+f(t, x), \quad t \in[0, \mathrm{~T}], \quad x \in[0, X] \]

В линейном случае \(a=a(x, t)>0\). В квазилинейном случае \(a=a(u, x, t)>0\) и \(f=f(u, x, t)\).

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

\[ u(0, x)=u_0(x), \quad t=0 \]

и граничные условия (в одном из трёх родов) по координате:

Условия первого рода:

\[\begin{split} \begin{aligned} & u=\varphi_1(t), \quad x=0 \\ & u=\varphi_2(t), \quad x=X \end{aligned} \end{split}\]

и условия второго рода:

\[\begin{split} \begin{aligned} & -\frac{\partial u}{\partial x}=\varphi_1(t), \quad x=0 \\ & \frac{\partial u}{\partial x}=\varphi_2(t), \quad x=X \end{aligned} \end{split}\]

Условия третьего рода:

\[\begin{split} \begin{aligned} & -A_1 \frac{\partial u}{\partial x}+B_1 u=\varphi_1(t), \quad x=0 \\ & A_2 \frac{\partial u}{\partial x}+B_2 u=\varphi_2(t), \quad x=X \end{aligned} \end{split}\]

Метод конечных разностей основан на дискретизации функции и всех производных, как мы уже делали это раньше в одномерном случае. Только теперь дискретная функция - это какая-то многомерная матрица \(u_m^n \stackrel{ideal\, world}{=} u(t_n, x_m)\). Здесь и далее индекс сверху всегда обозначает время, а индексы снизу координаты.

Схемы для уравнения теплопроводности с постоянными коэффициентами#

Приведём некоторые разностные схемы (дискретизации), работающие для константного \(a\). Каждой дискретизации можно сопоставить картинку (шаблон), показывающую, какие конкретно узлы \(u_m^n\) связаны уравнением.

Явная схема#

\[ \frac{u_m^{n+1}-u_m^n}{\tau}=a \cdot \frac{u_{m-1}^n-2 u_m^n+u_{m+1}^n}{h^2}+f_m^n \]

Устойчива при \(\sigma=\frac{a \tau}{h^2} \leq \frac{1}{2}\) и порядок аппроксимации \(O\left(\tau, h^2\right)\).

original image

Неявная схема#

\[ \frac{u_m^{n+1}-u_m^n}{\tau}=a \frac{u_{m-1}^{n+1}-2 u_m^{n+1}+u_{m+1}^{n+1}}{h^2}+f_m^n \]

Устойчива при при любых \(\tau, h\), порядок аппроксимации \(O\left(\tau, h^2\right)\).

original image

Смешанная шеститочечная схема#

\[ \frac{u_m^{n+1}-u_m^n}{\tau}=a\left[\xi \frac{u_{m-1}^{n+1}-2 u_m^{n+1}+u_{m+1}^{n+1}}{h^2}+(1-\xi) \frac{u_{m-1}^n-2 u_m^n+u_{m+1}^n}{h^2}\right]+f_m^n \]

Где вес \(\xi \in[0,1]\) - заранее задаваемое нами число - отвечает за смесь явной и неявной производных по координате. Определяется эмпирически или ищется наиболее оптимальное значение \(\xi\) можно отыскать из «максимизации» устойчивости (об этом позже).

original image

Схема Кранка-Никольсон - смешанная схема при \(\xi =\frac{1}{2}\)#

\[ \frac{u_m^{n+1}-u_m^n}{\tau}=\frac{a}{2}\left(\frac{u_{m-1}^{n+1}-2 u_m^{n+1}+u_{m+1}^{n+1}}{h^2}+\frac{u_{m-1}^n-2 u_m^n+u_{m+1}^n}{h^2}\right)+f_m^n \]

Схема устойчива при любых шагах \(\tau, h\) и имеет порядок аппроксимации \(O\left(\tau, h^2\right)\). Эта схема, в отличие от двух предыдущих, не является монотонной, т.е. она может давать осцилляции разностного происхождения на решениях, имеющих большие градиенты.

Трёхслойная схема - вводим «смесь» явной и неявной схемы также для производной по времени#

\[\begin{split} \begin{aligned} & \frac{(1-\eta)\left(u_m^{n+1}-u_m^n\right)}{\tau}+\eta \frac{u_m^n-u_m^{n-1}}{\tau}- \\ & -a\left[(1-\xi) \frac{u_{m-1}^n-2 u_m^n+u_{m+1}^n}{h^2}+\xi \frac{u_{m-1}^{n+1}-2 u_m^{n+1}+u_{m+1}^{n+1}}{h^2}\right]=f_m^n \end{aligned} \end{split}\]

При \(\eta=0,5, \quad \xi=1 \quad\) ее порядок аппроксимации равен \(O\left(\tau^2, h^2\right)\). Недостатком схемы является более высокий порядок разностного уравнения по времени, чем порядок исходного дифференциального, следовательно, необходимость ставить дополнительное условие на \(u_t^{\prime}(0, x)\).

original image

Примечание. Неявные схемы решаются путём построения СЛАУ на все пространственные точки в новом слое.

Примечание. Эти схемы легко перенести на многомерный случай или на любое другое параболическое уравнение. Главное помнить, что они «хорошо» работают только при постоянных коэффициентах. Если коэффициенты зависят от времени и координат, то их строят исходя из нужных законов сохранения.

Следующий анимация демонстрирует процесс решения разностной схемы на шаблоне Кранка-Николсон.

#!pip install gdown
import gdown
from IPython.display import HTML

HTML(gdown.download('https://drive.google.com/uc?id=1Co4v72cPOzWH6BESds1OSAjq2KByZvCS', 'anim.html', quiet=True))