Журнал вычислительной математики и математической физики, 2019, T. 59, № 9, стр. 1570-1580

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

Е. И. Васильев 1*, Т. А. Васильева 1**

1 Волгоградский государственный университет
400062 Волгоград, Университетский пр-т, 100, Россия

* E-mail: vasilev@volsu.ru
** E-mail: vasileva_ta@volsu.ru

Поступила в редакцию 19.11.2018
После доработки 08.04.2019
Принята к публикации 15.05.2019

Полный текст (PDF)

Аннотация

Описываются мульти-неявные методы со второй производной для жестких систем обыкновенных дифференциальных уравнений. Предложен алгоритм автоматического контроля и расчета шага интегрирования, основанный на использовании мульти-неявных методов 8-го и 6-го порядков аппроксимации. Продемонстрирована эффективность методов с переменным шагом интегрирования на примере задачи неравновесной кинетики химических реакций при взрыве водородно-кислородной смеси, включающей 6 компонент (H2, O2, H, O, OH, H2O). Библ. 12. Фиг. 5. Табл. 2.

Ключевые слова: мульти-неявные методы, L-устойчивость, A-устойчивость, жесткие системы с химической кинетикой, автоматический контроль шага.

ВВЕДЕНИЕ

В сложных прикладных задачах часто встречаются жесткие системы дифференциальных уравнений, в которых характерные скорости изменения отдельных компонент очень сильно отличаются друг от друга. Для численного решения таких задач необходимо применять методы с повышенной степенью устойчивости. В работах [1], [2] предложены и рассмотрены мульти-неявные методы со второй производной (mISD, m-Implicit with Second Derivative). В классических многошаговых методах используется информация в нескольких предшествующих точках. В противоположность этому в мульти-неявном методе используют несколько последующих точек, для каждой из которых записывается отдельное разностное уравнение. Совокупность этих разностных уравнений рассматривается как единый разностный метод. Итерационный метод Ньютона, обычно используемый для разрешения неявных схем, требует вычисления матриц производных правой части, которые непосредственно связаны со вторыми производными решения. Использование этой информации в конструкции самой разностной схемы позволяет существенно повысить порядок аппроксимации метода без больших дополнительных вычислительных затрат. Построены и протестированы симметричные А-устойчивые методы 6-го, 8-го и 10-го порядка аппроксимации. В работах [3], [4] построены и исследованы расширенные семейства 2ISD и 3ISD методов, среди которых обнаружены L-устойчивые методы. Тестирование на простых примерах показало, что эти методы обладают повышенной степенью устойчивости и предпочтительны для расчетов неравновесных процессов. Однако для успешного решения сложных нелинейных задач одной L-устойчивости может быть недостаточно, что связано с недостатками метода Ньютона из-за его чувствительности к начальному приближению. На локальных участках решения при относительно большом шаге интегрирования метод Ньютона может не сходиться или сходиться к побочному нефизическому решению.

Устранить этот недостаток позволяют специальные алгоритмы автоматического контроля точности и изменения шага интегрирования в процессе решения задачи. Такие алгоритмы известны как для явных (см. [5]–[8]), так и для неявных (см. [9], [10]) методов Рунге–Кутты. Идея состоит в использовании так называемых встроенных методов, т.е. двух методов с одинаковыми стадиями, но разного порядка аппроксимации из-за различий в заключительной строке коэффициентов таблицы Бутчера. Расчет проводится по методу более высокого порядка, а контроль точности и шага интегрирования осуществляется по формулам метода меньшего порядка.

В данной работе рассмотрен аналогичный подход на базе mISD-схем высокой точности. Описан алгоритм автоматического выбора шага интегрирования для 3ISD-схемы 8-го порядка с контролем точности по 2ISD-схеме 6-го порядка. Продемонстрирована эффективность алгоритма выбора шага на примере задачи неравновесной кинетики химических реакций водородно-кислородной смеси, включающей 6 компонент (H2, O2, H, O, OH, H2O).

1. МУЛЬТИ-НЕЯВНЫЕ МЕТОДЫ СО ВТОРОЙ ПРОИЗВОДНОЙ

Рассматриваем задачу Коши для системы обыкновенных дифференциальных уравнений

(1.1)
$\frac{d}{{dt}}{\mathbf{u}}(t) = {\mathbf{f}}(t,{\mathbf{u}}),\quad t > 0,\quad {\mathbf{u}}(0) = {{{\mathbf{u}}}_{0}},$
где u(t) и f(u) являются векторными функциями размерности p. Введем равномерную сетку {tn = τn, n = 0, 1, 2…} с постоянным шагом τ > 0. Функции, определенные на сетке и приближенные решения обозначим как vn = v(tn), fn = f(vn).

Основная идея мульти-неявных методов со второй производной для задачи (1.1) заключается в совместном использовании нескольких разностных уравнений, включающих в неявном виде несколько искомых значений численного решения, а также функций и производных правой части в моменты времени tn, tn + 1, … tn + m:

(1.2)
$\frac{{{{{\mathbf{v}}}_{{n + k}}} - {{{\mathbf{v}}}_{{n + k - 1}}}}}{{\tau }} = \sum\limits_{i = 0}^m {{{a}_{{ki}}}{{{\mathbf{f}}}_{{n + i}}}} + {\tau }\sum\limits_{i = 0}^m {{{b}_{{ki}}}{\mathbf{f}}_{{n + i}}^{'},} \quad k = 1,2,\; \ldots ,\;m,$
где производные в правой части выражаются через матрицу Якоби J:

${\mathbf{f}}{\kern 1pt} ' = \frac{{\partial {\mathbf{f}}}}{{\partial t}} + {\mathbf{J}} \cdot {\mathbf{f}},\quad {\mathbf{J}} = \frac{{\partial {\mathbf{f}}}}{{\partial {\mathbf{u}}}}.$

При известном vn = v(tn) разностная схема (1.2) представляет собой систему взаимосвязанных нелинейных разностных уравнений относительно неизвестных vn + 1, vn + 2, …, vn + m в m последующих точках tn + 1, tn + 2, …, tn + m. Такую схему будем называть мульти-неявной.

Для нахождения коэффициентов схемы (1.2) запишем ошибку аппроксимации, используя свойство решений системы (1.1) f = u', f' = u'':

(1.3)
Разложения в (1.3) по степеням τ с центром в точке tn позволяют выписать систему линейных уравнений на коэффициенты, которые обеспечивают для всех k равенство
${{{\mathbf{\psi }}}_{k}}({{t}_{n}}) = O({{{\tau }}^{{2m + 2}}}),\quad k = 1,2,\; \ldots ,\;m.$
Полученные коэффициенты удобно записывать в матричном виде. Для m = 1 получим одношаговую разностную схему Энрайта 4-го порядка (см. [11])
$({{a}_{{ki}}}) = \left( {\begin{array}{*{20}{c}} {\tfrac{1}{2}}&{\tfrac{1}{2}} \end{array}} \right),\quad ({{b}_{{ki}}}) = \left( {\begin{array}{*{20}{c}} {\tfrac{1}{{12}}}&{ - \tfrac{1}{{12}}} \end{array}} \right).$
Для m = 2 получим дважды неявную схему (2ISD) 6-го порядка из работы [1]
$({{a}_{{ki}}}) = \frac{1}{{240}}\left( {\begin{array}{*{20}{l}} {101}&{128}&{11} \\ {11}&{128}&{101} \end{array}} \right),\quad ({{b}_{{ki}}}) = \frac{1}{{240}}\left( {\begin{array}{*{20}{c}} {13}&{ - 40}&{ - 3} \\ 3&{40}&{ - 13} \end{array}} \right).$
Для m = 3 получим трижды неявную схему (3ISD) 8-го порядка, которая рассмотрена в работе [2]

(1.4)

В работе [3] приведены коэффициенты для схемы 10 -го порядка аппроксимации. Там же показано, что все mISD-схемы максимального порядка (т.е. порядка 2m + 2) являются А-устойчивыми, причем область устойчивости в точности совпадает с левой полуплоскостью комплексной плоскости. Это свойство следует из свойств центральной симметрии для коэффициентов aki и антисимметрии для коэффициентов bki, а именно

${{a}_{{ki}}} = {{a}_{{m + 1 - k,m - i}}},\quad {{b}_{{ki}}} = - {{b}_{{m + 1 - k,m - i}}},\quad k = 1,\; \ldots ,\;m,\quad i = 0,\; \ldots ,\;m,$
которые, в свою очередь, являются следствием симметричной структуры разностной схемы.

Нахождение разностного решения m-неявной схемы из системы (1.2) осуществляется итерационным методом Ньютона, на каждой итерации которого нужно решать систему линейных уравнений размерности в m раз больше, чем размерность исходной системы (1.1). Вычислительная сложность, т.е. количество операций, при этом увеличивается в m3 раз. Однако в прикладных задачах основную трудоемкость составляют вычисления матриц Якоби J системы (1.1), количество которых в m-неявной схеме пропорционально лишь первой степени m.

2. РАСШИРЕННЫЕ СЕМЕЙСТВА МУЛЬТИ-НЕЯВНЫХ МЕТОДОВ

Способ расширения мульти-неявных методов продемонстрируем на примере трижды неявного метода 8-го порядка (1.4). Запишем систему разностных уравнений (1.2) в виде, в котором левая часть каждого уравнения содержит лишь одно неизвестное значение

(2.1)

Коэффициенты в правой части системы (2.1) будем искать из условия, чтобы лишь последнее уравнение обеспечивало максимальный 8-й порядок аппроксимации, а порядок аппроксимации первых двух снизим на 1. Порядок аппроксимации последнего разностного уравнения в (2.1) не изменится, если значения vn + 1 и vn + 2, используемые в его правой части, будут вычисляться лишь с 7-м порядком. Этот подход позволяет ввести в первые два уравнения два свободных параметра с сохранением 8-го порядка точности для vn + 3 в последнем уравнении. Матрицы коэффициентов схемы 8 -го порядка для (2.1) с двумя свободными параметрами α и β выглядят следующим образом:

(2.2)

В работе [3] проведено исследование такого двухпараметрического семейства трижды неявных схем. В частности показано, что при $\alpha = 1{\text{/}}54$ и $\beta = - 1{\text{/}}216$ получается L2-устойчивая схема 8 -го порядка аппроксимации, а при $\alpha = 1{\text{/}}540$ и $\beta = 1{\text{/}}1080$ получается А-устойчивая схема, которая на линейных задачах достигает 10-го порядка аппроксимации. Теоретические выводы в [3] подтверждены серией численных тестов.

3. ВЫБОР ШАГА ИНТЕГРИРОВАНИЯ С ЗАДАННОЙ ПОГРЕШНОСТЬЮ АППРОКСИМАЦИИ

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

Опишем процедуру автоматического контроля шага интегрирования применительно к методу 8-го порядка (2.1). Пусть v = {vn, vn + 1, vn + 2, vn + 3} – решение этой схемы L8(τ, vn, vn + 1, vn + 2, vn + 3) = 0 на шаге от tn до tn + 3τ. Контроль шага τ будем осуществлять по погрешности аппроксимации второго разностного уравнения схемы 6 -го порядка. Это уравнение имеет симметричную форму

(3.1)
${{L}_{6}}({\tau },{{{\mathbf{v}}}_{n}},{{{\mathbf{v}}}_{{n + 1}}},{{{\mathbf{v}}}_{{n + 2}}}) \equiv \frac{{{{{\mathbf{v}}}_{{n + 2}}} - {{{\mathbf{v}}}_{n}}}}{{2{\tau }}} - \tfrac{7}{{30}}{{{\mathbf{f}}}_{n}} - \tfrac{{16}}{{30}}{{{\mathbf{f}}}_{{n + 1}}} - \tfrac{7}{{30}}{{{\mathbf{f}}}_{{n + 2}}} - \tfrac{1}{{30}}{\tau }{\mathbf{f}}_{n}^{'} + \tfrac{1}{{30}}{\tau }{\mathbf{f}}_{{n + 2}}^{'} = 0.$

Потребуем, чтобы уравнение (3.1) удовлетворялось с заданной погрешностью δ. Тогда система уравнений для схемы 8 -го порядка с таким дополнительным условием

(3.2)
$\begin{gathered} {{L}_{8}}({\tau },{{{\mathbf{v}}}_{n}},{{{\mathbf{v}}}_{{n + 1}}},{{{\mathbf{v}}}_{{n + 2}}},{{{\mathbf{v}}}_{{n + 3}}}) = 0, \\ \left\| {{{L}_{6}}({\tau },{{{\mathbf{v}}}_{n}},{{{\mathbf{v}}}_{{n + 1}}},{{{\mathbf{v}}}_{{n + 2}}})} \right\| = {\delta } \\ \end{gathered} $
будет включать в себя величину шага τ как дополнительное неизвестное. Можно решать совместную систему (3.2) итерационным методом Ньютона с начальным значением τ с предыдущего шага. Но учитывая, что контролирующая разностная схема симметрична и на два порядка отличается от расчетной, можно построить экономичный способ определения τ на основе простой итерации. Различие в два порядка позволяет рассматривать решение более точной схемы в качестве точного решения дифференциального уравнения по отношению к менее точной схеме. С другой стороны, ошибка аппроксимации контролирующей симметричной схемы (3.1) на решении дифференциального уравнения содержит только четные степени по τ, т.е.
(3.3)
$\left\| {{{L}_{6}}({\tau },{{{\mathbf{v}}}_{n}},{{{\mathbf{v}}}_{{n + 1}}},{{{\mathbf{v}}}_{{n + 2}}})} \right\| = C({\tau }){{{\tau }}^{6}},\quad C({\tau }) = {\text{const}} + {\text{O(}}{{{\tau }}^{2}}).$
Тогда итерационный процесс определения τ из условия
(3.4)
$C({{{\tau }}_{i}}){\tau }_{{i + 1}}^{6} = {\delta }$
при малых τ сходится со скоростью, близкой к квадратичной. Итерационное уточнение шага происходит следующим образом. Пусть есть предварительное значение τp. С этим шагом выполняется схема 8 -го порядка. На ее решении вычисляется ошибка аппроксимации схемы 6 -го порядка и уточненное значение τ из условия (3.4):

(3.5)
$S = \left\| {{{L}_{6}}({{{\tau }}_{p}},{{{\mathbf{v}}}_{n}},{{{\mathbf{v}}}_{{n + 1}}},{{{\mathbf{v}}}_{{n + 2}}})} \right\|,\quad \Rightarrow \quad {\tau } = {{{\tau }}_{p}}{{({\delta /}S)}^{{1/6}}}.$

Для целенаправленного контроля точности желательно связать задаваемую ошибку аппроксимации δ с погрешностью численного решения. Для явных схем произведение ошибки аппроксимации на шаг τ представляет собой норму погрешности численного решения на одном шаге интегрирования при старте с точного решения. Следовательно, результат подстановки численного решения 8-го порядка в схему 6 -го порядка характеризует локальную погрешность контролирующей схемы 6 -го порядка. Для оценки желаемой погрешности ε численного решения расчетной схемы в конце участка интегрирования Δ можно использовать сумму норм локальных погрешностей контролирующей схемы, что приводит к связи

${\delta } \approx \frac{{\varepsilon }}{\Delta }.$
Заметим, что реальная погрешность расчетной схемы будет, как правило, меньше из-за более высокого порядка аппроксимации. Однако возможна и обратная ситуация, например, при больших положительных собственных значениях матрицы Якоби.

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

1. От текущего vn с использованием величины предыдущего шага τp находим vn + 1, vn + 2, vn + 3 по схеме 8 -го порядка (3ISD).

2. Подстановкой этого решения в схему 6 -го порядка (2ISD) вычисляем ее ошибку аппроксимации S и уточненное значение шага τ по формуле (3.5).

3. Если τ отличается от τp более, чем на 1%, то повторяем шаг интегрирования с новым значением τ, в противном случае переходим к следующему шагу.

В этом алгоритме каждый шаг интегрирования обычно осуществляется два раза. После первого раза вычисляется константа аппроксимации в формуле (3.3) и находится согласованная с погрешностью величина шага. После этого реализуется повторный шаг с найденным значением τ. Как правило, в практических расчетах для нахождения шага с точностью 1% достаточно одной итерации, однако алгоритм допускает как большее, так и меньшее количество итераций.

Изложенный алгоритм изменения шага интегрирования без труда обобщается и на другие пары mISD-методов. Например, для расчета по схемам 8 -го или 6-го порядков с контролем шага по методу 4-го порядка. Заметим, что затраты времени на контроль точности незначительные, так как при этом не требуется вычислять дополнительных значений функций или матриц производных.

4. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ КИНЕТИКИ ВЗРЫВА ГРЕМУЧЕЙ СМЕСИ

Для проверки работоспособности выше описанных алгоритмов рассмотрим задачу поведения взрывчатой газовой смеси (H2 + O2) в замкнутом объеме с подвижным поршнем. С помощью поршня осуществляется цикл сжатия-расширения газовой смеси по заданному закону. При начальных условиях реакции в смеси не происходят. На этапе сжатия повышается температура смеси, в результате чего возбуждается механизм химических реакций с выделением тепла. Задача относится к классу жестких, так как скорости химических реакций в процессе сжатия-расширения изменяются на несколько порядков.

Масса смеси в замкнутом объеме постоянна, поэтому сжатие-расширение по заданному закону будем описывать заданным поведением плотности смеси во времени ρ(t). Для описания реакций использовалась модель химической кинетики из работы [12]. Смесь состоит из 6 компонент (H2, O2, OH, H2O, H, O), каждая из которых является совершенным газом с постоянными теплоемкостями. В табл. 1 приведены энтальпии образования Hi, молекулярные веса κi, и отношения теплоемкостей γi, участвующих в реакциях газообразных компонент.

Таблица 1.  

Параметры компонент смеси

Компонента Hi [Дж/кмоль] κi γi
H2 0 2 1.4
O2 0 32 1.4
OH 39 097 000 17 1.4
H2O –238 913 000 18 1.22
H 216 034 000 1 1.667
O 246 783 000 16 1.667

Химическая кинетика состоит из 6 реакций, включающих в себя один из основных цепных механизмов окисления, при этом в реакциях диссоциации учитывается различная способность реагентов выступать в роли дополнительной частицы. Формулы и константы скоростей прямых и обратных реакций $c_{r}^{ + }$, $c_{r}^{ - }$, r = 1, 2, …, 16 приведены в табл. 2. Считаем, что скорости реакций подчиняются обобщенной аррениусовской зависимости от температуры T в виде с = AT mexp(–E/RT). Газовая постоянная R = 1.98647 кал/(моль K).

Таблица 2.

Химические формулы и константы скоростей реакций

Реакция A+ E+ m+ A E m
1 H2 + O2 ↔ OH+OH 2.50e+09 39 000 0 7.08e+09 48 600 0
2 H2 + O ↔ OH+H 1.20e+10 9200 0 5.65e+09 7780 0
3 O2 + H↔OH+O 6.00e+09 17 750 0.5 1.00e+11 1000 0
4 H2 + OH↔H2O+H 2.23e+10 5240 0 5.20e+11 23 800 0
5 H2 + H2 ↔ H + H + H2 2.65e+14 103 250 –0.5 1.40e+14 0 –1.5
6 H2 + O2 ↔ H + H + O2 2.65e+14 103 250 –0.5 1.40e+14 0 –1.5
7 H2 + OH ↔ H + H + OH 2.65e+14 103 250 –0.5 1.40e+14 0 –1.5
8 H2 + H2O ↔ H + H + H2O 2.65e+14 103 250 –0.5 1.40e+14 0 –1.5
9 H2 + H ↔ H + H + H 1.20e+15 103 250 –0.5 4.35e+11 0 –0.5
10 H2 + O ↔ H + H + O 2.65e+14 103 250 –0.5 1.40e+14 0 –1.5
11 O2 + H2 ↔ O + O + H2 3.63e+15 118 000 –1 5.50e+11 0 –0.87
12 O2 + O2 ↔ O + O + O2 3.23e+16 118 000 –1 2.70e+10 0 –0.5
13 O2 + OH ↔ O + O + OH 3.63e+15 118 000 –1 3.00e+09 0 –0.5
14 O2 + H2O ↔ O + O + H2O 3.63e+15 118 000 –1 3.00e+09 0 –0.5
15 O2 + H ↔ O + O + H 3.63e+15 118 000 –1 3.00e+09 0 –0.5
16 O2 + O ↔ O + O + O 1.12e+15 118 000 –0.5 5.00e+10 0 –0.5

Реагирующая среда рассматривается как однородная по пространству смесь из шести идеальных совершенных газов. Мы пренебрегаем скоростью движения газа внутри объема, что оправдано в случае, если скорость поршня гораздо меньше скорости звука. Каждая компонента имеет собственную плотность ρi. Температура всех компонент считается одинаковой и равна температуре смеси T. Таким образом, состояние смеси в каждый момент времени характеризуют 7 параметров: молярные концентрации α1, α2, …, α6, и температура T, где ${{\alpha }_{i}} = {{\rho }_{i}}{\text{/}}({\rho }{{\kappa }_{i}})$. Система дифференциальных уравнений для этих величин будет иметь вид

(4.1)
$\begin{gathered} \frac{{d{{\alpha }_{i}}}}{{dt}} = {{\frac{1}{\rho }}_{i}}\sum\limits_r {(\nu _{{ir}}^{ - } - \nu _{{ir}}^{ + })\left( {c_{r}^{ + }\prod\limits_j {{{{({\rho }{{\alpha }_{j}})}}^{{\nu _{{j{\kern 1pt} r}}^{ + }}}} - c_{r}^{ - }\prod\limits_j {{{{({\rho }{{\alpha }_{j}})}}^{{\nu _{{jr}}^{ - }}}}} } } \right)} \equiv {{g}_{i}},\quad i = 1,2,\; \ldots ,\;6, \\ \frac{{dT}}{{dt}} = T(\gamma - 1)\frac{1}{\rho }\frac{{d{\rho }}}{{dt}} - \kappa (\gamma - 1)\sum\limits_{i = 1}^6 {\left( {\frac{T}{{{{\gamma }_{i}} - 1}} + \frac{{{{H}_{i}}}}{R}} \right)} {{g}_{i}}{\text{ }}. \\ \end{gathered} $

Молекулярный вес κ и отношение теплоемкостей γ смеси, присутствующие в последнем уравнении, связаны с молярными концентрациями αi известными соотношениями

$\sum\limits_i {{{\alpha }_{i}}} = \frac{1}{\kappa },\quad \sum\limits_i {\frac{{{{\alpha }_{i}}}}{{{{{\gamma }}_{i}} - 1}}} = \frac{1}{{\kappa ({\gamma } - 1)}}.$

Стехиометрические коэффициенты $\nu _{{ir}}^{ + }$ и $\nu _{{ir}}^{ - }$ обозначают количество атомов или молекул i-го компонента, вступающих в r-ю прямую или обратную реакцию. Полученная система уравнений описывает поведение смеси (H2 + O2) при заданном изменении плотности смеси ρ(t).

5. РЕЗУЛЬТАТЫ РАСЧЕТОВ

Начальные условия смеси удобнее задавать числовыми долями компонент ni, начальным давлением p0 и температурой T0. Для смеси стехиометрического состава ni = (2, 1, 0, 0, 0, 0). Через них находим молярные концентрации и плотность смеси:

${{\alpha }_{i}} = \frac{{{{n}_{i}}}}{{\sum\limits_i {{{n}_{i}}{{\kappa }_{i}}} }},\quad {{\rho }_{0}} = \frac{{{{p}_{0}}}}{{R{{T}_{0}}}}\frac{1}{{\sum\limits_i {{{\alpha }_{i}}} }}.$

Рассматриваем процесс сжатия-расширения, график плотности смеси для которого изображен на фиг. 1a. На интервале [0, ta] плотность увеличивается от ρ0 до ρmax. Далее на интервале [ta, tb] уменьшается от ρmax до ρmin, после чего на интервале [tb, tend] плотность постоянна. Для задания переходных процессов используем функцию с непрерывными старшими производными на всем промежутке времени:

$\rho (t) = \left\{ \begin{gathered} {{\rho }_{0}} + ({{\rho }_{{\max }}} - {{\rho }_{0}})\theta \left( {\tfrac{t}{{{{t}_{a}}}}} \right),\quad t \leqslant {{t}_{a}}, \hfill \\ {{\rho }_{{\max }}} + ({{\rho }_{{\max }}} - {{\rho }_{{\min }}})\theta \left( {\tfrac{{t - {{t}_{a}}}}{{{{t}_{b}} - {{t}_{a}}}}} \right),\quad {{t}_{a}} < t \leqslant {{t}_{b}}, \hfill \\ {{\rho }_{{\min }}},\quad {{t}_{b}} < t, \hfill \\ \end{gathered} \right.$
здесь θ(x) – гладкая монотонная переходная функция [0, 1] → [0, 1] с нулевыми производными на краях. Алгоритм расчета шага интегрирования использует свойства ошибки аппроксимации, определяемой на гладком решении. Чтобы обеспечить гладкость функции ρ(t) в данной работе использовалась
(5.1)
$\theta (x) = \frac{{\int\limits_0^x {{{e}^{{ - \frac{1}{{\sqrt {s - {{s}^{2}}} }}}}}ds} }}{{\int\limits_0^1 {{{e}^{{ - \frac{1}{{\sqrt {s - {{s}^{2}}} }}}}}ds} }}.$
Такой вид переходной функции обеспечивает непрерывность всех производных для ρ(t) в точках стыка t = ta и t = tb.

Фиг. 1.

Зависимость плотности смеси (а) и молярных концентраций реагирующих компонент смеси (б) от времени.

Были проведены расчеты при следующих исходных данных:

${{p}_{0}} = 1\;{\text{атм}},\quad {{T}_{0}} = 800\;{\text{K}},\quad {{\rho }_{{{\text{max}}}}} = 15{{\rho }_{0}},\quad {{\rho }_{{{\text{min}}}}} = 0.5{{\rho }_{0}},\quad {{t}_{a}} = 15\;{\text{мкс}},\quad {{t}_{b}} = 30\;{\text{мкс}},\quad {{t}_{{{\text{end}}}}} = 45\;{\text{мкс}}.$

На фиг. 1б изображены зависимости концентраций компонент с течением времени. Отчетливо видна зона задержки, в течение которой происходит накопление отсутствующих компонент, необходимых для возбуждения механизма цепной реакции. В районе t = 5 мкс наблюдается взрывообразное изменение концентраций за время менее 1 мкс. Очевидно, что из соображений точности расчет на промежутке взрыва нужно проводить с малым шагом по времени. Значительные изменения концентраций наблюдаются также на завершающей стадии расширения смеси, когда активизируются реакции рекомбинации и образования H2O. Этот промежуток также требует малого шага интегрирования. Между этими участками, а также после момента остановки поршня (t > tb) концентрации изменяются медленно, и шаг по времени может быть увеличен.

Фигура 2 иллюстрирует изменение температуры смеси. На периоде индукции температура немного растет из-за сжатия смеси. После достижения 1300 K рост резко усиливается и за очень короткий интервал температура превосходит 3500 K. Взрывной рост температуры объясняется большим и быстрым выделением тепла во время основной фазы реакций. На стадии расширения температура снижается, несмотря на то, что здесь также происходят экзотермические реакции. После остановки поршня температура изменяется незначительно, смесь на этой стадии медленно приходит в равновесное состояние.

Фиг. 2.

Зависимость от времени температуры смеси.

Приведенные результаты были получены методами 8-го и 6-го порядков с использованием процедуры автоматического выбора шага интегрирования, изложенной в разд. 3, с заданной постоянной ε = 10–8.

Опишем некоторые детали реализации применяемых методов. Компоненты вектора решения $x = \{ {{\alpha }_{1}},{{\alpha }_{2}},\; \ldots ,\;{{\alpha }_{6}},T\} $ имеют разные единицы измерения. Компоненты вектора относительного изменения δx вычислялись через абсолютные Δx как

${\delta }{{\alpha }_{i}} = \frac{{\Delta {{\alpha }_{i}}}}{{\sum {{{\alpha }_{k}}} }},\quad {\delta }T = \frac{{\Delta T}}{T}.$
При вычислении локальной погрешности в формуле (3.5) использовалась евклидова норма вектора δx. Эта же норма использовалась при оценке точности численного решения, а также в критерии остановки метода Ньютона на шаге интегрирования. Итерации в методе Ньютона завершались, когда отношение нормы добавки в очередной итерации к норме суммы добавок в предыдущих итерациях становилось менее 10–11. В качестве начальных приближений для vn + 1, vn + 2, vn + 3 в методе Ньютона использовалось vn, т.е. какая-либо экстраполяция для начальных приближений не применялась. Матрица производных для метода Ньютона вычислялась по аналитическим формулам, однако производные от якобианов, входящих в разностную схему, не учитывались. Первые интегралы системы уравнений (4.1), связанные с сохранением количества атомов водорода и кислорода, в расчетах не использовались.

На фиг. 3 изображены зависимости шага интегрирования от времени в процессе численного решения с заданной погрешностью ε = 10–8 двумя методами. Кривая 1 относится к расчету методом 8-го порядка с контролем шага по формулам 6-го порядка (пара “8-6”), кривая 2 изображает аналогичную зависимость для пары “6-4” (расчет по методу 6-го порядка с контролем по методу 4-го порядка). В обоих случаях для расчета и контроля использованы А-устойчивые схемы. Здесь под шагом τ подразумевается полный шаг мульти-неявной схемы, выраженный в микросекундах.

Фиг. 3.

Логарифм шага интегрирования τ [мкс] как функции времени при заданной погрешности контролирующей схемы ε = 10–8; 1 – шаг при расчете по паре схем “8-6”, 2 – шаг при расчете по паре схем “6-4”; R – зона реакций.

Для расчета с использованием пары “8-6” потребовалось 129 шагов по времени при 5 итерациях метода Ньютона в среднем на каждый шаг. Для пары “6-4” при той же точности потребовалось 1408 шагов по времени при 4 итерациях метода Ньютона в среднем на каждый шаг. Несмотря на то что метод 8-го порядка в среднем потребовал приблизительно в 2.5 раза больше операций на 1 шаг интегрирования по сравнению с методом 6-го порядка, его суммарные затраты машинного времени оказались в 4 с лишним раза меньше, чем для метода 6-го порядка. Наибольший вклад в различие по количеству шагов двух методов дает зона активных реакций, которая отмечена буквой R. Пара меньшего порядка “6-4” в этой зоне потребовала величину шага τ в ∼20 раз меньше, чем пара “8-6”. Также видно, что уменьшение шага интегрирования наблюдается в зонах сопряжения функции ρ(t) при t = 15 мкс и t = 30 мкс, что связано с большой величиной и переменой знака экстремумов старших производных у переходной функции (5.1). Этим же объясняются локальные всплески шага интегрирования для пары “6-4” (кривая 2). Для пары “8-6” они проявляются в меньшей степени в виде немонотонного поведения τ на заключительном этапе расширения (20 < t < 30).

Реальная оценка погрешности численного решения осуществлялась путем сравнения с наиболее точным численным решением. В качестве такого эталона использовалось решение L2-устойчивого метода 8-го порядка с постоянным шагом τ = 2 × 10–4 мкс, то есть на равномерной сетке с 225 000 узлами. Коэффициенты метода приведены в матрицах формулы (2.2). Кривая 1 на фиг. 4 представляет распределение погрешности (т.е. нормы разности с эталонным решением) численного решения по схеме 8 -го порядка с переменным шагом, соответствующим кривой 1 на фиг. 3. Жирные точки на кривой соответствуют узлам расчетной сетки. Видно, что прогнозируемая точность ε = 10−8 не выдерживается лишь в зоне активных реакций. Кривая 2 изображает погрешность аналогичного расчета с переменным значением ε, величина которого только на участке индукции (t < 4.5 мкс) была уменьшена в 20 раз. В этом расчете потребовалось лишь на 12 шагов больше, но погрешность численного решения в зоне реакций и далее уменьшилась на 1.5–2 порядка. Обнаруженный эффект говорит о том, что точность расчета в зоне индукции, в которой происходит накопление изначально отсутствующих компонент смеси, существенно влияет на точность всего расчета.

Фиг. 4.

Распределение фактической погрешности численного решения при расчете по паре схем “8-6”; 1 – с постоянным ε, 2 – с переменным ε (ε/20 в зоне индукции и ε в остальной части), ε = 10–8.

Связь параметра ε с количеством N узлов расчетной сетки хорошо описывается соотношением Nε1/p = const, где p – порядок аппроксимации контролирующей схемы. Это приводит к тому, что с ростом ε преимущество пары “8-6” над парой “6-4” в соотношении количества узлов уменьшается. С учетом более высоких вычислительных затрат на каждом шаге суммарное преимущество пары “8-6” над парой “6-4” исчезает при ε > 10–4. При таких ε выгоднее использовать менее точную, но более быструю разностную схему. На фиг. 5 для ε = 10–2, 10–3 и 10–4 приведены погрешности численного решения пары “6-4”, то есть метода 6-го порядка с контролем шага по методу 4-го порядка. Их коэффициенты указаны в разд. 1. Как и в предыдущем случае, в этих вариантах для параметра ε на участке индукции (t < 4.5 мкс) применялся коэффициент 1/20. В данных вариантах прогнозируемая точность выдерживается на всем промежутке расчета. Указанное в подписи к фигуре количество шагов N, которое потребовалось для каждого варианта, хорошо подчиняется зависимости Nε1/4 = const.

Фиг. 5.

Распределение фактической погрешности при расчете по паре схем “6-4” с переменным ε (ε/20 в зоне индукции при t < 4.5 мкс и ε далее); 1 – (ε = 10−2, N = 47), 2 – (ε = 10−3, N = 84), 3 – (ε = 10−4, N = 150).

В целом алгоритм выбора шага по заданной погрешности аппроксимации ε работает вполне удовлетворительно. Подбор переменного параметра ε с учетом специфики математической модели может существенно повысить эффективность расчетов.

ЗАКЛЮЧЕНИЕ

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

Список литературы

  1. Vasilyeva T.A., Vasilev E.I. High order implicit method for ODEs stiff systems // Korean J. Comput. & Appl. Math. 2001. V. 8. № 1. P. 165–180.

  2. Васильев Е.И., Васильева Т.А., Киселева М.Н. Мульти-неявные методы со второй производной для жестких систем дифференциальных уравнений // Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. 2012. № 2 (17). С. 68–77. https://doi.org/10.15688/jvolsu.1.2012.2.8

  3. Васильев Е.И., Васильева Т.А., Киселева М.Н. L-устойчивость мульти-неявных методов 8-го порядка для жестких систем дифференциальных уравнений // Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. 2013. № 1 (18). С. 70–83. https://doi.org/10.15688/jvolsu.1.2013.1.6

  4. Васильев Е.И., Васильева Т.А., Киселева М.Н. Расширенное семейство дважды неявных методов для жестких систем дифференциальных уравнений // Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. 2015. № 3 (28). С. 34–44. https://doi.org/10.15688/jvolsu.1.2015.3.4

  5. Verner J.H. Explicit Runge-Kutta methods with estimates of the local truncation error // SIAM J. Numer. Anal. 1978. V. 15. № 4. P. 772–790.

  6. Verner J.H. Families of imbedded Runge–Kutta methods // SIAM J. Numer. Anal. 1979. V. 16. № 5. P. 857–875. https://doi.org/10.1137/0716064

  7. Dormand J.R., Prince P.J. A reconsideration of some embedded Runge–Kutta formulae // J. Comput. Appl. Math. 1986. V. 15. № 2. P. 203. https://doi.org/10.1016/0377-0427(86)90027-0

  8. Butcher J.C. A history of Runge–Kutta methods // Applied Numerical Mathematics. 1996. V. 20. P. 247–260. https://doi.org/10.1016/0168-9274(95)00108-5

  9. Scholz S. Implicit Runge–Kutta methods with a global error estimation for stiff differential equations // J. Applied Math and Mech. 1989. V. 69. № 8. P. 253–257.

  10. Burger S.K., Yang W. Automatic integration of the reaction path using diagonally implicit Runge–Kutta methods // J. Chem. Phys. 2006. V. 125. № 24. P. 244108(1-12). https://doi.org/10.1063/1.2402166

  11. Enright W.H. Second derivative multistep methods for stiff ordinary differential equations // SIAM J. Numer. Anal. 1974. V. 11. № 2. P. 321–331.

  12. Васильченко А.А., Васильева Т.А., Васильев Е.И. Влияние инертных частиц на структуру стационарной волны детонации в гремучей смеси (2H2–O2) // Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. 2002. № 1(7). С. 54–65.

Дополнительные материалы отсутствуют.