Содержание

§ 11. Дифференциальные уравнения в частных производных на нерегулярных сетках

Введение

В предыдущем разделе мы рассмотрели методы решения ДУЧП, основанные на вычислении конечных разностей в узлах регулярной сетки, однако в реальных задачах сетка, как правило, нерегулярная треугольная, то есть состоит из тетраэдров. Также конечные разности значений функции в узлах сетки не позволяют закодировать законы сохранения в разностном уравнении. Для того чтобы решить эти проблемы, были придуманы методы конечных объемов, которые являются обобщением методов конечных разностей на треугольную нерегулярную сетку и в которых обеспечивается соблюдение законов сохранения.

Метод конечных объемов

Этот метод основан на применении теоремы Остроградского—Гаусса к ячейкам (конечным объемам), на которые мы разделили область, в которой мы решаем дифферециальное уравнение. Ячейками называют пространство между узлами сетки: в одномерном случае это просто отрезок, в трехмерной нерегулярной треугольной сетке это тетраэдр. Ячейки могут иметь любую удобную для вычислений форму.

Теорема Остроградского—Гаусса гласит, что градиент плотности (или любой другого свойства субстанции, записываемого в виде вектора) в замкнутом объеме может происходить только путем перемещения субстанции внутрь и наружу этого объема. Математически это записывается как равенство интеграла дивергенции градиента плотности по объему интегралу градиента плотности по площади границы этого объема.

VFdV=SFndS.\int\limits_V \nabla\cdot\vec{F} \, dV = \int\limits_S \vec{F}\cdot\vec{n} \, dS.

Это равенство можно объяснить слеюдущим образом. Если мы разделим конечный объем на объемы меньшего размера (тетраэдры), которые соприкасаются друг с другом, то изменение градиента плотности равно массе, вышедшей или вошедшей через каждую грань тетраэдра. Однако, на соприкасающихся гранях эти массы равны, а значит, единственные грани, через которые входит и выходит масса, — это внешние грани тетраэдров, находящихся на границе исходного конечного объема. Другими словами, изменение массы внутри конечного объема равно разности вошедшей и вышедшей за границы этого объема массы.

Уравнение переноса

Применим метод конечных объемов для решения одномерного уравнения переноса.

ρt(t,x)+υρx(t,x)=0.\rho_t(t,x) + \upsilon\rho_x(t,x) = 0.

В одномерном случае вместо объемов — отрезки, а вместо граней — точки начала и конца этих отрезков. Чтобы применить метод конечных объемов, проинтегрируем обе части уравнения по объему.

xixi+1ρt(t,x)dx+υxixi+1ρx(t,x)dx=0.\int\limits_{x_i}^{x_{i+1}}\rho_t(t,x)\,dx + \upsilon\int\limits_{x_i}^{x_{i+1}}\rho_x(t,x)\,dx = 0.

Теперь заменим интеграл по объему на интеграл по площади, используя теорему Остроградского—Гаусса. В одномерном случае это просто разница значений плотности на левой и правой границе отрезка.

xixi+1ρt(t,x)dx+υ(ρ(t,xi)ρ(t,xi+1))=0.\int\limits_{x_i}^{x_{i+1}}\rho_t(t,x)\,dx + \upsilon\left(\rho(t,x_i) - \rho(t,x_{i+1})\right) = 0.

Нам осталось избавиться от интеграла в левой части. Для этого воспользуемся теоремой о среднем: заменим интеграл на среднее значение плотности, домноженное на разницу пределов интегрирования.

Δxρˉt(t)+υ(ρ(t,xi)ρ(t,xi+1))=ρˉt(t)+υ1Δx(ρ(t,xi)ρ(t,xi+1))=0.\Delta x \bar{\rho}_t(t) + \upsilon\left(\rho(t,x_i) - \rho(t,x_{i+1})\right) = \bar{\rho}_t(t) + \upsilon\frac{1}{\Delta x}\left(\rho(t,x_i) - \rho(t,x_{i+1})\right) = 0.

Если заменить производную по времени конечной разностью, то получится то же самое разностное уравнение, что и в предыдущем разделе, однако плотность вычисляется в середине отрезка, а не на границах. Несмотря на это, значения на границах нам все равно нужны для вычисления значения в середине. Значения на границах обычно получают с помощью интерполяции.

Теперь перепишем последнюю формулу для трехмерного пространства и сетки из тетраэдров.

ρˉt(t)+υ1Vi=14ρ(t,xi)niSi=0.\bar{\rho}_t(t) + \vec\upsilon\frac{1}{V}\sum\limits_{i=1}^{4}\rho(t,\vec{x}_i)\cdot\vec{n}_i S_i = 0.

Здесь ii обозначает номер грани тетраэдра, ni\vec{n}_i — нормаль к этой грани, SiS_i — площадь грани, а ρ(t,xi)\rho(t,\vec{x}_i) — значение плотности в центре грани. Плотность в центре также вычисляется путем интерполяции.

Уравнение диффузии

Применим метод конечных объемов для решения одномерного уравнения диффузии

ρt=kρxx.\rho_t = \mathcal{k} \rho_{xx}.

Произведем те же самые преобразования, что и для уравнения переноса.

Δxρˉt=k(ρx(t,xi)ρx(t,xi+1)),ρˉt=k1Δx(ρx(t,xi)ρx(t,xi+1)).\Delta x \bar{\rho}_t = k \left( \rho_x(t,x_i) - \rho_x(t,x_{i+1}) \right), \\ \bar{\rho}_t = k \frac{1}{\Delta x} \left( \rho_x(t,x_i) - \rho_x(t,x_{i+1}) \right).

Если заменить оставшиеся производные на конечные разности, то получится такое же разностное уравнение, что и в предыдущем разделе, но плотность вычисляется в центре отрезка. Запишем ту же самую формулу для тетраэдра.

ρˉt(t)=k1Vi=14ρx(t,xi)niSi.\bar{\rho}_t(t) = k\frac{1}{V}\sum\limits_{i=1}^{4}\rho_x(t,\vec{x}_i)\cdot\vec{n}_i S_i.

Заключение

Метод конечных объемов позволяет обобщить методы конечных разностей на нерегулярные треугольные сетки. Его премуществом является автоматическое соблюдение законов сохранения, поскольку он основан на этих законах. Несмотря на это, получившееся разностное уравнение также нужно проверять на устойчивость и сходимость, как и в случае метода конечных разностей. Здесь мы этого не делали, чтобы не повторяться.

Задания

Уравнение переноса v21 балл

Решите уравнение переноса в одномерном случае с помощью метода конечных объемов. В качестве сетки используйте отрезки произвольной длины. Не забудьте про условие устойчивости при выборе шага по времени. Начальные и граничные условия следующие.

ρ(0,x)=exp(x2),ρ(t,xmin)=ρ(t,xmax).\rho(0,x) = \exp(-|x|^2), \\ \rho(t,x_\text{min}) = \rho(t,x_\text{max}).

Уравнение диффузии v22 балла

Решите уравнение диффузии в двухмерном случае с помощью метода конечных объемов. В качестве сетки используйте прямоугольники с произвольной длиной сторон: длина прямоугольников по xx в одной колонке совпадает, длина прямоугольников по yy в одной строчке также совпадает. Не забудьте про условие устойчивости при выборе шага по времени. Начальные и граничные условия следующие.

ρ(0,x,y)=exp((x2+y2)),ρ(t,xmin,y)=ρ(t,xmax,y),ρ(t,x,ymin)=ρ(t,x,ymax).\rho(0,x,y) = \exp(-(x^2+y^2)), \\ \rho(t,x_\text{min},y) = \rho(t,x_\text{max},y), \\ \rho(t,x,y_\text{min}) = \rho(t,x,y_\text{max}). \\

Уравнение переноса-диффузии v23 балла

Решите уравнение переноса-диффузии (сумма уравнение переноса и диффузии) в тремерном случае на нерегулярной треугольной сетке с помощью метода конечных объемов. В качестве сетки используйте цилиндр. Не забудьте про условие устойчивости при выборе шага по времени. Начальные и граничные условия следующие.

ρ(0,x)=exp(x2),ρ(t,x)n=0 на границе.\rho(0,\vec{x}) = \exp(-|\vec{x}|^2), \\ \nabla\rho(t,\vec{x})\cdot\vec{n} = 0 \quad \text{ на границе}. \\

Граничное условие означает, что обмен массой через границы цилиндра не происходит.

Видео

2023

  • 00:00 Введение.
  • 02:32 Теорема Остроградского—Гаусса.
  • 08:08 Метод конечных объемов для уравнения переноса.
  • 18:40 Метод конечных объемов для уравнения диффузии.
  • 20:44 Заключение.
  • 25:00 Задания.
  • 27:12 Вопросы.
Запись лекции 28.04.2023.

2022

  • 00:00 Введение.
  • 01:19 Теорема Остроградского—Гаусса.
  • 07:01 Метод конечных объемов для уравнения переноса.
  • 26:42 Метод конечных объемов для уравнения диффузии.
  • 33:04 Заключение.
  • 34:18 Задания.
  • 35:50 Вопрос про граничные условия на свободной поверхности жидкости.
  • 44:09 Вопрос про отличие метода конечнго объема от метода конечных разностей.
Запись лекции 28.04.2022.

Доска

2023

partial-differential-equations-irregular-2023 thumbnail.
Запись доски 28.04.2023.

2022

partial-differential-equations-irregular thumbnail.
Запись доски 28.04.2022.