Журнал вычислительной математики и математической физики, 2019, T. 59, № 11, стр. 1948-1960
Численный метод 3-го порядка для интегрирования по времени уравнений Навье–Стокса
В. Г. Крупа *
ЦИАМ
111116 Москва, ул. Авиамоторная, 2, Россия
* E-mail: krupavg@mail.ru
Поступила в редакцию 01.04.2019
После доработки 01.07.2019
Принята к публикации 08.07.2019
Аннотация
Предложен линейно неявный (типа Розенброка) численный метод для интегрирования по времени трехмерных уравнений Навье–Стокса для сжимаемого газа. Метод имеет четыре стадии и 3-й порядок точности по времени. В качестве тестового примера рассмотрена задача Коши на трехмерном торе. Рассчитанные распределения сопоставляются с решением, задаваемым ABC-потоком. Библ. 13. Фиг. 5.
ВВЕДЕНИЕ
Конструирование метода интегрирования по времени уравнений Навье–Стокса обычно осуществляется методом прямых: при известной аппроксимации пространственных производных задача численного интегрирования сводится к решению системы обыкновенных дифференциальных уравнений и к такой задаче применяется какой-либо хорошо известный численный метод, разработанный для интегрирования обыкновенных дифференциальных уравнений.
Ограничение на шаг по времени, связанное с применением сильно неравномерных разностных сеток или, в общем случае, жесткость полученной системы требуют применения неявных методов. Неявный линеаризованный метод Эйлера блестяще зарекомендовал себя при решении стационарных задач методом установления, однако, имеет всего лишь 1-й порядок точности по времени. Для применения неявных методов Рунге–Кутты более высоких порядков необходимо на каждом временном шаге решать систему нелинейных уравнений. Размерность такой системы может быть большой. Для прямого численного моделирования турбулентности или достаточно сложной инженерной задачи в рамках осредненных по Рейнольдсу уравнений размерность системы может достигать несколько десятков миллиардов. Получить решение такой системы (при высоком порядке аппроксимации пространственных производных) с большой точностью итерационным (типа Ньютона) методом сложно. Как показывает опыт, даже в сравнительно простой ситуации – обтекание пластины, достаточно высокое число Рейнольдса, метод трапеций – для уменьшения начальной невязки на 2, 3 порядка требуется 3–5 итераций на каждом временном слое. Уменьшить невязку до уровня значений ${{10}^{{ - 7}}}{\kern 1pt} - {\kern 1pt} {{10}^{{ - 8}}}$ не удается ни за какое, сколько-нибудь разумное, число итераций. Трудность усугубляется тем, что a priori неизвестно, с какой точностью нужно решать систему нелинейных уравнений. Таким образом, интегрирование по времени неявным методом Рунге–Кутты может превратиться в очень трудоемкую процедуру со слабо контролируемой точностью вычислений.
Преодолеть указанную трудность позволяют методы типа Розенброка [1]. В этих методах на каждой стадии решается (без итераций) система линейных уравнений. Поэтому такие методы так же называют линейно неявными методами Рунге–Кутты.
Основная цель настоящей работы – разработка линейно неявного метода 3-го порядка точности по времени для уравнений Навье–Стокса. Предлагаемый подход является по сути вариантом W-метода [2]: в отличие от классического метода Розенброка в W-методе не требуется (точного) вычисления матрицы Якоби $A$. В настоящей работе предлагается выбирать матрицу $A$ так, чтобы соответствующий неявный оператор допускал факторизацию по координантным направлениям. Метод имеет 4 стадии – на каждой стадии решение линейной системы находится скалярными трехточечными прогонками.
Ранее, применительно к трехмерным уравнениям Навье–Стокса для сжимаемого газа, методы типа Розенброка повышенного порядка точности с управляемой длиной шага по времени рассматривались в ряде работ [3]–[6]. В [3]–[5] для аппроксимации пространственных производных использовался разрывный метод Галеркина (DG); в [6] – конечно-разностные (центральные разности с искусственной диссипацией) аппроксимации. Для решения системы линейных уравнений применялся метод обобщенных минимальных невязок (GMRES). На ряде тестовых задач оценивалась эффективность методов типа Розенброка и диагонально неявных методов Рунге–Кутты. Предлагаемый в настоящей работе метод по конструкции наиболее близок к (рассмотренному в [3], [6]) четырехстадийному W-методу ROS34PW2 3-го порядка, разработанному в [7] для интегрирования жестких систем уравнений.
Для оценки точности предложенного метода в качестве тестового примера рассматривается задача с начальными данными (задача Коши) на трехмерном торе. В уравнения Навье–Стокса для сжимаемого газа добавляются источниковые члены таким образом, чтобы предельное при $t \to \infty $ решение являлось ABC-потоком. Для аппроксимации по пространству применяется разностная схема типа Годунова 3-го (на гладких решениях) порядка точности. Численное интегрирование по времени осуществлялось тремя различными способами: линейно неявным методом Эйлера и линейно неявными методами 2-го и 3-го порядков точности. Рассчитанные распределения сопоставляются с решением, задаваемым ABC-потоком.
1. ИНТЕГРИРОВАНИЕ ПО ВРЕМЕНИ
Для системы обыкновенных дифференциальных уравнений $y{\kern 1pt} ' = f(y),\;y({{t}_{0}}) = {{y}_{0}}$ модифицированный W-метод записывается в виде
(1.2)
$\begin{gathered} (I - h{{\gamma }_{{ii}}}A){{{\hat {k}}}_{i}} = hf({{g}_{i}}) + \frac{1}{{{{\gamma }_{{ii}}}}}\sum\limits_{j = 1}^{i - 1} \,{{\gamma }_{{ij}}}{{k}_{j}}, \\ {{{\hat {k}}}_{i}} = {{k}_{i}} + \frac{1}{{{{\gamma }_{{ii}}}}}\sum\limits_{j = 1}^{i - 1} \,{{\gamma }_{{ij}}}{{k}_{j}}, \\ \end{gathered} $(1.3)
$I - h{{\gamma }_{{ii}}}A = (I - h{{\gamma }_{{ii}}}{{A}_{\xi }})(I - h{{\gamma }_{{ii}}}{{A}_{\eta }})(I - h{{\gamma }_{{ii}}}{{A}_{\zeta }}),$Для метода (1.1), (1.3) условия 3-го порядка примут следующий вид:
(1.4)
$\begin{gathered} (B2)\quad 6\sum {{{b}_{j}}{{\alpha }_{{jk}}}{{\alpha }_{{kl}}}} = 1, \\ (B3)\quad \sum {{{b}_{j}}{{\alpha }_{{jk}}}{{\gamma }_{{kl}}}} = 0, \\ \end{gathered} $Трехстадийный, L-устойчивый (для скалярного линейного уравнения) метод 3-го порядка, удовлетворяющий (1.4), невозможен. Это будет показано в конце раздела. Поэтому далее будет рассматриваться случай $s = 4$.
При $s = 4$ число неизвестных (тех, которые могут быть отличны от нуля) ${{b}_{i}} - 4,\;{{\alpha }_{{ij}}} - 6,\;{{\gamma }_{{ij}}} - 10$. Всего 20 неизвестных и 12 уравнений. Исследование решений такой системы во всей полноте довольно трудоемко. Ниже будет указан (несложный) алгоритм, позволяющий легко получать частные, L-устойчивые решения системы (1.4).
Условия $(A1),\;(A2),\;(B1),\;(B2)$ в (1.4) совпадают с условиями на коэффициенты для явного метода Рунге–Кутты 3-го порядка. Поэтому величины ${{b}_{i}},\;{{\alpha }_{{ij}}}$ можно считать известными. При известных ${{b}_{i}},\;{{\alpha }_{{ij}}}$ задача сводится к нахождению ${{\gamma }_{{ij}}}$. Удобно ввести следующие величины:
(1.5)
${{\alpha }_{i}} = \sum\limits_j \,{{\alpha }_{{ij}}},\quad {{\beta }_{j}} = \sum\limits_i \,{{b}_{i}}{{\alpha }_{{ij}}},\quad {{\gamma }_{i}} = \sum\limits_j \,{{\gamma }_{{ij}}},\quad {{\sigma }_{k}} = \sum\limits_j \,{{b}_{j}}{{\gamma }_{{jk}}}.$Уравнения для ${{\gamma }_{i}}$ и ${{\sigma }_{k}}$ в силу (1.4), (1.5) примут следующий вид:
(1.6)
$\begin{gathered} \sum {{{b}_{j}}{{\gamma }_{j}}} = 0,\quad \sum {{{\beta }_{k}}{{\gamma }_{k}}} = 0,\quad \sum {{{b}_{j}}{{\alpha }_{j}}{{\gamma }_{j}}} = 0, \\ \sum {{{\sigma }_{k}}} = 0,\quad \sum {{{\alpha }_{k}}{{\sigma }_{k}}} = 0,\quad \sum {{{\gamma }_{k}}{{\sigma }_{k}}} = 0. \\ \end{gathered} $Заметим, что при известных ${{\gamma }_{i}},{{\sigma }_{k}}$( удовлетворяющих (1.6)) легко находится общее (однопараметрическое) решение для ${{\gamma }_{{ij}}}$. Приведем ответ:
(1.7)
$\begin{gathered} {{\gamma }_{{11}}} = {{\gamma }_{{22}}} = {{\gamma }_{{33}}} = {{\gamma }_{{44}}} = {{\gamma }_{1}},\quad {{\gamma }_{{21}}} = {{\gamma }_{2}} - {{\gamma }_{1}},\quad {{\gamma }_{{31}}} = {{\gamma }_{3}} - {{\gamma }_{1}} - {{\gamma }_{{32}}}, \\ {{\gamma }_{{41}}} = \frac{{{{\sigma }_{1}} - {{b}_{1}}{{\gamma }_{1}} - {{b}_{2}}{{\gamma }_{{21}}} - {{b}_{3}}{{\gamma }_{{31}}}}}{{{{b}_{4}}}},\quad {{\gamma }_{{43}}} = \frac{{{{\sigma }_{3}} - {{b}_{3}}{{\gamma }_{1}}}}{{{{b}_{4}}}},\quad {{\gamma }_{{42}}} = {{\gamma }_{4}} - {{\gamma }_{1}} - {{\gamma }_{{43}}} - {{\gamma }_{{41}}}, \\ \end{gathered} $Перейдем к ограничениям на коэффициенты, которые накладывает условие L-устойчивости. В общем случае исследование устойчивости методов типа Розенброка очень сложно. Рассмотрим скалярный линейный случай $f = \lambda y$. Напомним определения: метод называется A-устойчивым, если $\left| {R(z)} \right| \leqslant 1$ при $z \in {{\mathbb{C}}_{ - }}$, где $z = \lambda h$, ${{\mathbb{C}}_{ - }}$ – левая полуплоскость, $R(z)$ – функция устойчивости, ${{y}_{1}} = R(z){{y}_{0}}$; метод называется L-устойчивым, если он А-устойчив и $R(\infty ) = 0$. При $A = \lambda $ метод (1.1) сводится к однократно диагонально неявному методу Рунге–Кутты (SDIRK) с матрицей ${{a}_{{ij}}} = {{\alpha }_{{ij}}} + {{\gamma }_{{ij}}}$. Такие методы хорошо изучены. Условия А-устойчивости для таких методов при $R(\infty ) = 0$ приведены в [8, c. 117]. В нашем случае ${{\gamma }_{1}}$ должна удовлетворять неравенству
Далее, для $R(\infty )$ справедлива формула (см. [8, c. 59]):(1.9)
$R(\infty ) = 1 - {{b}^{{\text{т}}}}{{A}^{{ - 1}}}1,\quad {{b}^{{\text{т}}}} = ({{b}_{1}},\; \ldots ,\;{{b}_{s}}),\quad {{1}^{{\text{т}}}} = (1,\; \ldots ,\;1),\quad A = ({{a}_{{ij}}}).$(1.10)
${{c}_{1}} = 2,\quad {{c}_{2}} = - 0.5,\quad {{c}_{3}} = {{a}_{{21}}}({{\alpha }_{{32}}}{{b}_{3}} + {{\alpha }_{{42}}}{{b}_{4}} + {{\sigma }_{2}} - {{b}_{2}}{{\gamma }_{1}}) + ({{\alpha }_{3}} + {{\gamma }_{3}} - {{\gamma }_{1}}){{a}_{{43}}}{{b}_{4}},$Приведем алгоритм нахождения частных, L-устойчивых решений (1.4).
АЛГОРИТМ
Шаг 1. Находятся/задаются ${{b}_{j}},\;{{\alpha }_{{ij}}}$, удовлетворяющие в (1.4) уравнениям $(A1),\;(A2),\;(B1),\;(B2).$
Шаг 2. Из первых трех линейных уравнений (1.6) для ${{\gamma }_{i}}$ находятся ${{\gamma }_{2}},\;{{\gamma }_{3}},\;{{\gamma }_{4}}$ как линейные функции ${{\gamma }_{1}}$. При известных ${{\gamma }_{i}}$ из последних трех линейных уравнений (1.6) для ${{\sigma }_{i}}({{\sigma }_{4}} = {{b}_{4}}{{\gamma }_{1}})$ находятся ${{\sigma }_{1}},\;{{\sigma }_{2}},\;{{\sigma }_{3}}$ как рациональные функции ${{\gamma }_{1}}$.
Шаг 3. Вычисляются коэффициенты ${{c}_{3}}$ и ${{c}_{4}}$ в (1.10) и находится ${{\gamma }_{{32}}}$ как (рациональная) функция ${{\gamma }_{1}}$.
Шаг 4. По (1.7) вычисляются ${{\gamma }_{{ij}}}$. Задается величина ${{\gamma }_{1}}$, удовлетворяющая (1.8), и определяются числовые значения коэффициентов.
Пример 1. Пусть выполнено ${{\beta }_{i}} = {{b}_{i}}(1 - {{\alpha }_{i}}),\;i = 2,3,\;{{\alpha }_{4}} = 0$. Tогда из $(A1),\;(A2),\;(B1),\;(B2)$ в (1.4) находим 4-х параметрическое (параметры ${{\alpha }_{2}},\;{{\alpha }_{3}},\;{{\alpha }_{{32}}},\;{{b}_{4}}$) решение:
(1.11)
$\begin{gathered} {{b}_{2}} = \frac{{1{\text{/}}2{{\alpha }_{3}} - 1{\text{/}}3}}{{{{\alpha }_{2}}({{\alpha }_{3}} - {{\alpha }_{2}})}},\quad {{b}_{3}} = \frac{{1{\text{/}}3 - 1{\text{/}}2{{\alpha }_{2}}}}{{{{\alpha }_{3}}({{\alpha }_{3}} - {{\alpha }_{2}})}},\quad {{b}_{1}} = 1 - {{b}_{2}} - {{b}_{3}} - {{b}_{4}},\quad {{\alpha }_{2}} \ne {{\alpha }_{3}},\quad {{\alpha }_{i}} \ne 0,\quad i = 2,3, \\ {{b}_{4}} \ne 0,\quad {{\alpha }_{{21}}} = {{\alpha }_{2}},\quad {{\alpha }_{{31}}} = {{\alpha }_{3}} - {{\alpha }_{{32}}},\quad {{\alpha }_{{42}}} = \frac{{{{b}_{2}}(1 - {{\alpha }_{2}}) - {{b}_{3}}{{\alpha }_{{32}}}}}{{{{b}_{4}}}}, \\ {{\alpha }_{{43}}} = \frac{{{{b}_{3}}(1 - {{\alpha }_{3}})}}{{{{b}_{4}}}},\quad {{\alpha }_{{41}}} = - ({{\alpha }_{{42}}} + {{\alpha }_{{43}}}). \\ \end{gathered} $(1.12)
$\begin{array}{*{20}{c}} {1{\text{/}}3}&\vline & {1{\text{/}}3}&{}&{}&{} \\ {1{\text{/}}2}&\vline & {1{\text{/}}2 - {{\alpha }_{{32}}}}&{{{\alpha }_{{32}}}}&{}&{} \\ 0&\vline & {4{{\alpha }_{{32}}}}&{ - 2(1 + 2{{\alpha }_{{32}}})}&2&{} \\ \hline b&\vline & 0&{ - 3{\text{/}}2}&2&{1{\text{/}}2} \end{array}$На шаге 2 из (1.6) получаем (${{\beta }^{{\text{т}}}} = (1{\text{/}}2, - 1,1,0)$):
(1.13)
${{\gamma }^{{\text{т}}}} = ({{\gamma }_{1}},{{\gamma }_{1}},{{\gamma }_{1}}{\text{/}}2,{{\gamma }_{1}}),\quad {{\sigma }^{{\text{т}}}} = ( - {{\gamma }_{1}}{\text{/}}2,0,0,{{\gamma }_{1}}{\text{/}}2).$(1.14)
${{\alpha }_{{32}}} + {{\gamma }_{{32}}} = \frac{{{{\gamma }_{1}}(6\gamma _{1}^{3} - 18\gamma _{1}^{2} + 9{{\gamma }_{1}} - 1)}}{{2(2{{\gamma }_{1}} - 1)}},\quad {{\gamma }_{1}} \ne 1{\text{/}}2.$(1.15)
$\begin{array}{*{20}{c}} {{{\gamma }_{1}}}&\vline & {{{\gamma }_{1}}}&{}&{}&{} \\ {{{\gamma }_{1}}}&\vline & 0&{{{\gamma }_{1}}}&{}&{} \\ {{{\gamma }_{1}}{\text{/}}2}&\vline & { - {{\gamma }_{1}}{\text{/}}2 - {{\gamma }_{{32}}}}&{{{\gamma }_{{32}}}}&{{{\gamma }_{1}}}&{} \\ {{{\gamma }_{1}}}&\vline & {{{\gamma }_{1}} + 4{{\gamma }_{{32}}}}&{3{{\gamma }_{1}} - 4{{\gamma }_{{32}}}}&{ - 4{{\gamma }_{1}}}&{{{\gamma }_{1}}} \\ \hline \gamma &\vline & {}&{}&{}&{} \end{array}$Пример 2. Условиям $(A1),\;(A2),\;(B1),\;(B2)$ в (1.4) будут удовлетворять коэффициенты любого явного метода Рунге–Кутты 4-го порядка точности. На шаге 1 возьмем “правило 3/8”:
(1.16)
$\begin{array}{*{20}{c}} {1{\text{/}}3}&\vline & {1{\text{/}}3}&{}&{}&{} \\ {{\text{2/3}}}&\vline & { - 1{\text{/}}3}&1&{}&{} \\ 1&\vline & 1&{ - 1}&1&{} \\ \hline b&\vline & {1{\text{/}}8}&{3{\text{/}}8}&{3{\text{/}}8}&{1{\text{/}}8} \end{array}$На шаге 2 система в (1.6) для определения ${{\gamma }_{2}},\;{{\gamma }_{3}},\;{{\gamma }_{4}}$ в данном случае оказывается вырожденной, но разрешимой. Для простоты выкладок положим ${{\gamma }_{4}} = {{\gamma }_{1}}$. Тогда из (1.6) получаем (${{\beta }^{{\text{т}}}} = (1{\text{/}}8,1{\text{/}}4,1{\text{/}}8,0)$):
(1.17)
${{\gamma }^{{\text{т}}}} = \left( {{{\gamma }_{1}}, - \frac{1}{3}{{\gamma }_{1}}, - \frac{1}{3}{{\gamma }_{1}},{{\gamma }_{1}}} \right),\quad {{\sigma }^{{\text{т}}}} = \left( { - \frac{1}{8}{{\gamma }_{1}},\frac{3}{8}{{\gamma }_{1}}, - \frac{3}{8}{{\gamma }_{1}},\frac{1}{8}{{\gamma }_{1}}} \right).$(1.18)
${{c}_{4}} = \frac{{(4{{\gamma }_{1}} - 1)(1 - 6{{\gamma }_{1}})}}{{24}},\quad {{\alpha }_{{32}}} + {{\gamma }_{{32}}}\frac{{4{{\gamma }_{1}}(6\gamma _{1}^{3} - 18\gamma _{1}^{2} + 9{{\gamma }_{1}} - 1)}}{{(4{{\gamma }_{1}} - 1)(1 - 6{{\gamma }_{1}})}},\quad {{\gamma }_{1}} \ne \frac{1}{4},\frac{1}{6}.$(1.19)
$\begin{array}{*{20}{c}} {1{\text{/}}2}&\vline & {1{\text{/}}2}&{}&{}&{} \\ { - 1{\text{/}}6}&\vline & { - 2{\text{/}}3}&{1{\text{/}}2}&{}&{} \\ { - 1{\text{/}}6}&\vline & {1{\text{/}}12}&{ - 3{\text{/}}4}&{1{\text{/}}2}&{} \\ {1{\text{/}}2}&\vline & {3{\text{/}}4}&{9{\text{/}}4}&{ - 3}&{1{\text{/}}2} \\ \hline \gamma &\vline & {}&{}&{}&{} \end{array}$Покажем, что не существует трехстадийного L-устойчивого метода 3-го порядка, т.е. метода, для которого выполнено (1.4) (без условия $(C2)$ и предположения о равенстве ${{\gamma }_{{ii}}}$) при $s = 3$. Будем считать, что ${{\gamma }_{{11}}}{{\gamma }_{{22}}}{{\gamma }_{{33}}} \ne 0$. В противном случае функция устойчивости $R(z)$ будет иметь вид $R(z) = P(z){\text{/}}Q(z),$ $\deg Q(z) = \deg (1 - {{\gamma }_{{11}}}z)(1 - {{\gamma }_{{22}}}z)(1 - {{\gamma }_{{33}}}z) = 2$. (Случай $\deg Q \leqslant 1$, очевидно, невозможен из-за условия порядка.) Из условия L-устойчивости ($R(\infty ) = 0$) следует, что $\deg P = 1$. Из условия порядка ($p = 3$) вытекает, что $R(z)$ – (2.1) аппроксимация Паде для ${{e}^{z}}$. Такая аппроксимация единственна; из явного вида для $Q(z)$ следует, что $Q(z)$ имеет только комплексные корни. Получили противоречие (${{\gamma }_{{ii}}}$ – действительны). Из условий ${{\gamma }_{{ii}}} \ne 0$ вытекает, что введенные в (1.5) векторы $\gamma $ и $\sigma $ отличны от нуля. Далее, общее решение уравнений $(A1),\;(A2),\;(B1),\;(B2)$ в (1.4) при $s = 3$ дается формулами (1.11) при ${{b}_{4}} = 0,\;{{\alpha }_{{32}}} = 1{\text{/}}(6{{b}_{3}}{{\alpha }_{2}})$. Три первых однородных уравнения в (1.6) должны иметь нетривиальное рещение $\gamma $. Приравняв соответствующий детерминант нулю и воспользовавшись формулами (1.11), получим ${{\alpha }_{3}} = 1$. Разрешим эту систему относительно ${{\gamma }_{1}}$, тогда ${{\gamma }_{2}}{\text{/}}{{\gamma }_{1}}$ и ${{\gamma }_{3}}{\text{/}}{{\gamma }_{1}}$ будут зависеть только от ${{\alpha }_{2}}$. Поэтому коэффициенты однородной системы (1.6) для $\sigma $ можно считать зависящими только от ${{\alpha }_{2}}$. Приравняв нулю соответствующий определитель, получим ${{\alpha }_{2}} = 1$. Получили противоречие: ${{\alpha }_{2}} = {{\alpha }_{3}}$. Случаи, неохваченные формулами (1.11) при ${{\alpha }_{2}} = {{\alpha }_{3}}$ или ${{\alpha }_{3}} = 0$, рассматриваются аналогично. Случай ${{\alpha }_{2}} = 0$ невозможен.
2. ФАКТОРИЗАЦИЯ НЕЯВНОГО ОПЕРАТОРА И АППРОКСИМАЦИЯ ПРОСТРАНСТВЕННЫХ ПРОИЗВОДНЫХ
Факторизация (1.3) осуществляется так же, как для линейно неявного метода Эйлера. Такой подход хорошо известен, см., например, [9]. Приведем основные шаги его построения для уравнений Навье–Стокса, записанных в криволинейной системе координат $\xi ,\eta ,\zeta (\xi = \xi (x,y,z),$ $\eta = \eta (x,y,z),$ $\zeta = \zeta (x,y,z),$ $x,\;y,\;z$ – декартовые координаты):
Достаточно описать вид первого множителя в правой части (1.3); остальные множители строятся аналогично с очевидной заменой. Пусть
(2.1)
$\begin{gathered} (I - h{{\gamma }_{{ii}}}{{A}_{\xi }})f = {{S}_{\xi }}[I - h{{\gamma }_{{ii}}}(\Delta {{\Lambda }^{ - }} - \nabla {{\Lambda }^{ + }} + \Delta {{\nu }_{\xi }}\nabla )]S_{\xi }^{{ - 1}}f, \\ \Delta {{f}_{n}} = {{f}_{{n + 1}}} - {{f}_{n}},\quad \nabla {{f}_{n}} = {{f}_{n}} - {{f}_{{n - 1}}},\quad {{\nu }_{\xi }} = \nu (\xi _{x}^{2} + \xi _{y}^{2} + \xi _{z}^{2}), \\ \end{gathered} $Применение направленных (в зависимости от знака собственных значений) разностей в (2.1) позволяет получить свойство диагонального преобладания (что способствует повышению устойчивости метода прогонки), однако, зависимость ${{A}_{\xi }}$ от ${{g}_{i}}$ становится, вообще говоря, негладкой. Гладкость нарушается в точках, в которых собственное значение обращается в нуль. По-видимому, можно надеяться, что в большинстве случаев таких точек относительно немного и это обстоятельство не оказывает решающего влияния на точность расчета.
Способ аппроксимации конвективных членов проще всего описать для случая скалярного уравнения; аппроксимация диффузионных (вязких) членов осуществлялась центральными разностями. Введем по оси $x$ равномерную сетку с шагом $h$ и проинтегрируем уравнение ${{u}_{t}} + f{{(u)}_{x}} = 0$ по ячейке с номером с $n$. Получим
(2.2)
$U_{{ - ,n + 1/2}}^{1} = {{u}_{n}},\quad \alpha _{1}^{1} = 1,\quad U_{{ + ,n - 1/2}}^{k} = U_{{ + ,n - 1/2}}^{{k - 1}} + \frac{1}{k}\sum\limits_{l = 1}^{k - 1} \frac{{{{{( - 1)}}^{{k - l}}}}}{{C_{{k - 1}}^{{l - 1}}}}\beta _{l}^{{k - 1}}\Phi _{{k - l}}^{k},$Применительно к уравнениям Навье–Стокса/Эйлера схема типа Годунова строится следующим, хорошо известным способом. Формулы (2.2) применяются для “характеристических переменных” $W = S_{\xi }^{{ - 1}}U$. Далее, с помощью процедуры решения задачи о произвольном разрыве [10] вычисляется поток на границе ячейки $\xi = n + 1{\text{/}}2$. Для направлений $\eta ,\;\zeta $ построение аналогично.
3. ПОСТАНОВКА ЗАДАЧИ
Задача решалась в рамках трехмерных уравнений Навье–Стокса для сжимаемого газа с источниковыми членами $F,\;{{F}_{E}}$:
(3.1)
$\frac{{\partial \rho v}}{{\partial t}} + \nabla \cdot \rho vv = - \nabla p + \frac{1}{{{\text{Re}}}}\nabla \cdot \tau + F,\quad \tau = - (2{\text{/}}3)\mu \nabla \cdot v\delta + 2\mu S,\quad S = (\nabla v + {{(\nabla v)}^{{\text{т}}}}){\text{/}}2,$Источниковые члены $F,{{F}_{E}}$ задавались так, чтобы стационарное решение системы (3.1) являлось ABC-потоком:
(3.2)
$\begin{gathered} v_{{ABC}}^{x} = Asin\lambda z + Ccos\lambda y,\quad v_{{ABC}}^{y} = Bsin\lambda x + Acos\lambda z,\quad v_{{ABC}}^{z} = Csin\lambda y + Bcos\lambda x, \\ \rho = 1,\quad p + \frac{{\rho v_{{ABC}}^{2}}}{2} = H,\quad H = {\text{const}}{\text{.}} \\ \end{gathered} $Явный вид $F,{{F}_{E}}$ легко получить, подставляя (3.2) в (3.1):
(3.3)
$\begin{gathered} F = \frac{{{{\lambda }^{2}}\mu }}{{{\text{Re}}}}{{v}_{{ABC}}},\quad {{F}_{E}} = F \cdot {{v}_{{ABC}}} - \frac{1}{{\gamma - 1}}{{v}_{{ABC}}} \cdot \nabla \frac{{v_{{ABC}}^{2}}}{2} + \frac{1}{{{\text{Re}}}}\left( {\frac{\gamma }{{\gamma - 1}}\frac{\mu }{{{\text{Pr}}}}\Delta \frac{{v_{{ABC}}^{2}}}{2} - \varepsilon } \right), \\ \varepsilon = 2\mu {{S}_{{ABC}}}:{{S}_{{ABC}}}. \\ \end{gathered} $(3.5)
$\mathop {\left\langle {\frac{p}{{\gamma - 1}}} \right\rangle }\nolimits_t + \mathop {\left\langle {\frac{{{{v}^{2}}}}{2}} \right\rangle }\nolimits_t = \mathop {\left\langle {\frac{p}{{\gamma - 1}}} \right\rangle }\nolimits_0 + \mathop {\left\langle {\frac{{{{v}^{2}}}}{2}} \right\rangle }\nolimits_0 = \frac{1}{{\gamma (\gamma - 1){{{\text{M}}}^{2}}}}.$4. РЕЗУЛЬТАТЫ РАСЧЕТОВ
Численное решение задачи (3.1), (3.3), (3.4) находилось при значениях параметров $\gamma = 1.4,$ $\mu = 1,$ ${\text{Pr}} = 0.72,$ ${\text{Re = 10}}0,$ ${\text{M}} = 0.5,$ $A = 1,$ $B = 0.5,$ $C = 0,$ $\lambda = 2\pi $.
Шаги разностной сетки $h$ выбирались равномерными по всем направлениям $h = 1{\text{/}}N$, где $N$ – число узлов в каком-либо направлении. Число Куранта $K$ вычислялось по формуле ${\text{K}} = 3\Delta t({\text{M}} + 1){\text{/}}({\text{M}}h)$, где $\Delta t$ – величина шага по времени.
Аппроксимация пространственных производных осуществлялась с 3-м порядком точности по формулам (2.2) с $k = 4,$ $\phi _{l}^{n} = \phi (x,y) = \left| x \right|{\text{/}}(\left| x \right| + \left| y \right|)$; вязкие члены аппроксимировались с 4-м порядком центральными разностями.
Интегрирование по времени с 3-м порядком осуществлялось методом (1.16), (1.19). Также проводились расчеты методом (1.12), (1.15) с ${{\alpha }_{{32}}} = 0,$ ${{\gamma }_{{32}}} = - 1{\text{/}}9,$ ${{\gamma }_{{11}}} = 1{\text{/}}3$. Распределения, полученные этим методом, оказались близки к распределениям, рассчитанным по (1.16), (1.19) и поэтому далее не приводятся. Для сравнения выполнялись расчеты линейно неявным методом Эйлера (${{\alpha }_{{11}}} = 0,\;{{b}_{1}} = {{\gamma }_{1}} = 1$) и методом 2-го порядка [11]:
(4.1)
${{b}_{1}} = - 2,\quad {{b}_{2}} = 3,\quad {{\alpha }_{{21}}} = \frac{1}{6},\quad {{\gamma }_{{11}}} = \frac{3}{2},\quad {{\gamma }_{{21}}} = - 1,\quad {{\gamma }_{{22}}} = 2.$На границах вычислительной области $(x = 0,1;\;y = 0,1;\;z = 0,1)$ выставлялись условия периодичности. Обращение матрицы неявного оператора осуществлялось скалярной циклической, трехточечной прогонкой (см., например, [12, c. 86]).
Временные затраты расчета каким-либо методом с большой точностью пропорциональны числу его стадий: время выполнения 1-го шага по времени для методов 2-го и 3-го порядков в 2 и, соответственно, 4 раза больше по сравнению с линейно неявным методом Эйлера.
Точное нестационарное решение задачи (3.1), (3.3), (3.4) неизвестно, поэтому точность метода интегрирования по времени оценивалась сравнением со стационарным (пределом при $t \to \infty $) решением (3.2). Заметим, что численное “стационарное” решение данной задачи зависит от метода интегрирования по времени. Действительно, если сделать 1 шаг по времени двумя различными методами и, приняв полученные (и восполненные соответствующим образом) распределения в качестве начальных данных, получить точное решение, то, как видно из (3.5), эти (точные) решения будут, вообще говоря, различаться. Этим, в частности, задача на торе отличается, например, от задачи расчета стационарного обтекания профиля, – для такой задачи стационарное решение определяется аппроксимацией пространственных производных/граничных условий и не зависит от метода интегрирования по времени и начального приближения.
Сопоставление численного решения с решением (3.2) осуществлялось следующим образом.
Рассчитанные распределения в сечении $x = 0.5,\;y = 0.5$ записывались на каждом временном шаге и затем осреднялись на промежутке $80 \leqslant t \leqslant 100$. Как показывают расчеты, при $t \geqslant 50$ численное решение можно считать стационарным с довольно большой точностью: величина невязки решения в норме ${{l}_{\infty }}$ равнялась $ \approx {\kern 1pt} {{10}^{{ - 7}}}{\kern 1pt} - {\kern 1pt} {{10}^{{ - 9}}}$.
Хорошо известно (см., например, [13]), что течения, задаваемые ABC-потоком, могут оказаться крайне неустойчивыми. При выбранных в настоящей работе параметрах численное решение, полученное методом 3-го порядка при $N = 33,K = 1$, оставалось устойчивым до $t \leqslant 500$. Что произойдет с численным решением при $t$, равным, например, ${{10}^{6}}$ – неизвестно.
Из (3.2), (3.6) следует, что при выбранных параметрах $A,\;B,\;C$ при $x = 0.5,$ $y = 0.5$ давление $p$ не зависит от $z$ и равно ${{p}_{ * }} = 1{\text{/}}(\gamma {{M}^{2}}) - 0.5(\gamma - 1)({{A}^{2}} + {{B}^{2}} + {{C}^{2}}) = 2.60714285$.
Рассчитанные распределения $p(z)$ при $K = 4$ и $N = 9,15,33,63$ приведены на фиг. 1а, б, в, г соответственно. На фиг. 1 и далее сплошная линия с маркером $ \circ $ соответствует расчету методом Эйлера, линия с $\square $ – расчету методом 2-го порядка, линия с $ + $ – расчету методом 3-го порядка. Горизонтальная штриховая линия – $p = {{p}_{ * }}$. На фиг. 1 по оси ординат выбран различный масштаб. Распределение ошибки ${{\varepsilon }_{p}}$ для давления в норме ${{l}_{\infty }}$ в зависимости от величины шага $h$ при $K = 4$ приведено на фиг. 2 (обе шкалы логарифмические); распределения в нормах ${{l}_{1}},\;{{l}_{2}}$ аналогичны и поэтому не приводятся. Штриховые прямые на фиг. 2 – зависимости, пропорциональные $h,\;{{h}^{2}}$, ${{h}^{3}}$ и ${{h}^{4}}$. Аналогичное распределение для ошибки скорости ${{\varepsilon }_{v}}$ приведено на фиг. 3, на этой фигуре штриховые прямые – зависимости, пропорциональные ${{h}^{3}}$ и ${{h}^{4}}$. Как и следовало ожидать, при фиксированном $h$ точность расчета возрастает с увеличением порядка аппроксимации по времени. При этом
распределения давления, полученные различными методами, с очень большой точностью
отличаются сдвигом на постоянную по оси ординат (фиг. 1). Как видно из фиг. 2, для метода Эйлера ошибка ${{\varepsilon }_{p}}$ падает чуть быстрее, чем $O(h)$, для метода 2-го порядка точность метода близка к теоретической, для метода 3-го
порядка убывание ошибки (примерно) соответствует порядку аппроксимации пространственных
производных. Ошибка ${{\varepsilon }_{v}}$ для компонент скорости слабо зависит от метода интегрирования по времени и порядок
убывания ошибки также соответствует 3–4 порядку аппроксимации пространственных производных
(фиг. 3). При этом отличие в компонентах скорости, полученных различными методами, примерно
на 2 порядка меньше отличия в давлении. Распределения температуры вполне аналогичны
распределениям давления и поэтому не приводятся. Величина сдвига в распределениях
давления с точностью $ \approx 10\% $ равна разности констант $H$: для $N = 9$ рассчитанные значения констант равны 3.22570980, 3.23797792, 3.24142873, для $N = 15$ – 3.22619314, 3.23271241, 3.23427132, для $N = 33$ – 3.22898588, 3.23158921, 3.23220390, для $N = 63$ – 3.23052568, 3.23189454, 3.23214559 для методов 1‑го–3-го порядков соответственно.
Значение, рассчитанное по (3.6), $H = 3.23214285$.
Результаты расчетов для $N = 33$ и $K = 0.5,1,2,4$ приведены на фиг. 4, 5. На фиг. 4 (обе шкалы логарифмические) приведено распределение ошибки ${{\varepsilon }_{p}}$ для давления в зависимости от величины шага по времени $\Delta t$. Штриховая прямая на фиг. 4 соответствует зависимости, пропорциональной $\Delta t$ . Как видно из графиков, для метода Эйлера уменьшение ошибки ${{\varepsilon }_{p}}$ близко к линейной зависимости. Для метода 3-го порядка ошибка ${{\varepsilon }_{p}}$ практически не меняется от величины шага по времени и, по-видимому, приблизительно равна ошибке аппроксимации по пространственным производным. Штриховая кривая с маркером $\diamondsuit $ на фиг. 4 – зависимость $5.13016 \times {{10}^{{ - 5}}} + 209.95\Delta {{t}^{2}}$, – в этом выражении первый член соответствует ошибке ${{\varepsilon }_{p}}$ для метода 3-го порядка, а коэффициент при $\Delta {{t}^{2}}$ определялся из условия равенства величине ошибки для метода 2-го порядка при $\Delta t = 1.3468 \times {{10}^{{ - 2}}}$. Аналогичное распределение для ошибки скорости ${{\varepsilon }_{v}}$ представлено на фиг. 5 (шкала по оси абсцисс – логарифмическая). Как видно из графиков, влияние величины шага по времени и порядка метода интегрирования по времени на компоненты скорости относительно невелико.
Таким образом, для данной задачи при $t \to \infty $ численные решения для компонент скорости, полученные различными методами, – близки и в основном определяются аппроксимацией пространственных производных. Распределения давления и температуры с точностью до аддитивной постоянной также хорошо совпадают. Порядок аппроксимации метода по времени главным образом влияет на рассчитанную величину константы Бернулли $H$.
Список литературы
Rosenbrock H.H. Some general implicit processes for the numerical solutions of differential equations // Computer J. 1962. V. 5. P. 329–330.
Steihaug T., Wolfbrandt A. An attempt to avoid exact Jacobian and nonlinear equations in the numerical solution of stiff differential equations // Math. Comp. 1979. V. 33. № 146. P. 521–534.
Liu X., Xia Y., Luo H., Xuan L. A comparative study of Rosenbrock-type and implicit Runge–Kutta time integration for discontinuous Galerkin method for unsteady 3D compressible Navier-Stokes equations // Commun. Comput. Phys. 2016. V. 20. № 4. P. 1016–1044.
Bassi F., Botti L., Colombo A., Ghidoni A., Massa F. Linearly implicit Rosenbrock-type Runge–Kutta schemes applied to the Discontinuous Galerkin solution of compressible and incompressible unsteady flows // Comput. Fluids. 2015. V. 118. P. 305–320.
Wang L., Yuy M. A comparative study of implicit Jacobian-free Rosenbrock–Wanner, ESDIRK and BDF methods for unsteady flow simulation with high-order flux reconstruction formulations // 2018 AIAA Aerospace Sciences Meeting. AIAA 2018–1095.
Blom D.S., Birken P., Bijl H.,Kessels F., Meister A., van Zuijlen A.H. A comparison of Rosenbrock and ESDIRK methods combined with iterative solvers for unsteady compressible flows // Adv. Comput. Math. 2016. V. 42. P. 1401–1426.
Rang J., Angermann L. New Rosenbrock W-methods of order 3 for partial differential algebraic equations of index 1 // BIT Num. Math. 2005. V. 45. P. 761–787.
Хайрер В., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи. М.: Мир, 1999.
Coakley T.J. Implicit upwind method for the compressible Navier-Stokes equations // AIAA Journal. 1985. V. 23. № 3. P. 374–380.
Годунов С.К. Разностный метод численного расчета разрывных решений уравнений гидродинамики // Матем. сб. 1959. Т. 47(89). № 3. С. 271–306.
Крупа В.Г. Прямой расчет турбулентного пограничного слоя на пластине // Ж. вычисл. матем. и матем. физ. 2016. Т. 56. № 8. С. 136–153.
Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. М.: Наука, 1978.
Friedlander S., Gilbert A.D., Vishik M. Hydrodynamic instability for certain ABC flows // Geophys. Astrophys. Fluid Dynamics. 1993. V. 73. P. 97–107.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики