close

Вход

Забыли?

вход по аккаунту

?

Алгоритм построения приближенных формул для решения прямой кинетической задачи на основе численного решения.

код для вставкиСкачать
Вестник Башкирского университета. 2007. Т. 12, №3
15
УДК 541.127 : 519.62 : 517.928
АЛГОРИТМ ПОСТРОЕНИЯ ПРИБЛИЖЁННЫХ ФОРМУЛ
ДЛЯ РЕШЕНИЯ ПРЯМОЙ КИНЕТИЧЕСКОЙ ЗАДАЧИ
НА ОСНОВЕ ЧИСЛЕННОГО РЕШЕНИЯ
© А. В. Тропин
Башкирский государственный университет
Россия, Республика Башкортостан, г. Уфа, 450074, ул. Фрунзе, 32.
Тел./факс: + 7 (347) 273 67 78.
E-mail: TropinAV@rambler.ru
В статье, первой из трёх по данной теме, предложен алгоритм построения глобальных
приближенных формул для решения сложной прямой кинетической задачи. Алгоритм
использует численное решение. Глобальные формулы получаются в результате
комбинирования локальных. Каждая локальная формула является точным решением задачи,
упрощённой по определённому правилу на некотором интервале времени. Относительная
погрешность глобальных формул слабо зависит от значений кинетических параметров.
Ключевые слова: прямая кинетическая задача, жесткость, численное решение, точное
решение, приближенные формулы, правило упрощения.
Введение
Сложные химические реакции, как правило,
протекают с участием реагентов различной
активности: от стабильных реагентов до радикалов.
Это обусловливает разное влияние каждой из
одновременно протекающих элементарных стадий
на изменение концентрации того или иного вещества, причём само влияние обычно значительно
изменяется в ходе реакции.
С одной стороны, это приводит к жёсткости
соответствующей системы обыкновенных дифференциальных уравнений (СОДУ) химической кинетики и трудностям при её численном решении.
Жесткость, прежде всего, выражается в неустойчивости алгоритма численного интегрирования по
явным схемам, его чувствительности к малым погрешностям каждого шага. Жёсткие системы требуют достаточно малого шага интегрирования, и отсутствует возможность его увеличивать, несмотря
на малое изменение концентраций. Увеличение
шага сопровождается скачками в численном решении. Основная причина – сильная устойчивость
точного решения жёсткой системы, любое отклонение от которого сопровождается резким изменением некоторых производных, стремящихся "вернуть
отклонившееся решение в русло точного решения"
[1].
С другой стороны, эта же особенность
сложных химических процессов позволяет упрощать (с той или иной точностью) исходную СОДУ
на различных временных масштабах до системы
дифференциально-алгебраических уравнений, допускающих точное решение. Для этого долгое
время использовался метод квазистационарных
концентраций Боденштейна-Семёнова [2]. Однако
этот метод позволяет моделировать фактически
только окончание химического процесса (рассматривается лишь один временной масштаб – самый
медленный), кинетика высокоскоростной части
процесса игнорируется.
В работе [3] были попытки использовать
асимптотические методы (а именно метод сращивания) для более тонкого исследования СОДУ на
различных временных масштабах. Эти методы
широко используются в физике при решении
систем дифференциальных уравнений с малым
параметром [4].
В данной работе предлагается алгоритм
получения приближённых формул для решения
прямой кинетической задачи, основанный на неравнозначности влияния элементарных стадий на
изменение концентраций различных веществ в
различное время. Этот алгоритм (и соответствующая программа на Maple) появился как
результат многочисленных попыток (например, [5])
автоматизировать асимптотические методы применительно к прямой задаче химической кинетики, но
без использования малого параметра.
Постановка задачи
Рассматривается абстрактный механизм реакций
n
∑ α j , i ⋅ Ai
i =1
k+
j

→ n
⋅A
∑ β
←
 i = 1 j , i i
k−
j
j = 1,..., r ,
(1)
где Ai (i=1,…,n) - наименование веществ в системе;
r – число элементарных стадий; αj,i, βj,i – стехиометрические коэффициенты (количества молекул i-го
вещества, участвующего в j-ой реакции; обычно
равны 1, 2, реже 3, иногда допускается 1/2 и другие); kj+, kj- - константы (коэффициенты) скорости jой стадии в прямом и обратном направлении соответственно.
Пусть задан вектор a0 = (a01, a02, ... ,a0n)
начальных концентраций веществ Ai. Тогда (при
некоторых естественных допущениях [6]) в качестве модели химического процесса (1) можно
рассматривать задачу Коши (СОДУ с начальными
раздел МАТЕМАТИКА
16
условиями)
da(t )
= ΓT ⋅ w (a(t )), a(0) = a0 ,
(2)
dt
где a(t) = (a1(t), a2(t),…, an(t)) – вектор-функция
концентраций веществ Ai в момент времени t; ΓT –
транспонированная стехиометрическая матрица
размера n×r с компонентами γi,j = βi,j - αi,j; w(a(t)) –
вектор-столбец скоростей элементарных стадий,
компоненты которого, согласно закону действующих масс [6], вычисляются по формуле
α
β
n
n
j, i
j, i
w (a(t )) = k + ⋅ ∏ a (t )
− k − ⋅ ∏ a (t )
,
j
j
i
j
i
i =1
i =1
j = 1,..., r.
r
0= ∑ γ
⋅ w (a(t )) .
i, j
j
j =1
В теории дифференциальных уравнений с малым
параметром это называется сингулярным возмущением уравнения. При этом если для некоторого j
выполняется неравенство
γ
(3)
Представить точное решение задачи (2) в виде
аналитического выражения, как правило, невозможно практически для любого реального механизма. В то же время практика работы с различными
СОДУ показывает, что почти всегда можно найти
для решения приближенные формулы. Для этого
предлагается использовать следующий алгоритм,
который удобно реализовать в виде программы в
системе символьной математики Maple.
Алгоритм и обсуждение его реализации в
системе Maple
1. По заданной схеме реакций и начальным
концентрациям строится задача Коши. Эта задача
предварительно численно интегрируется какимлибо методом для решения жёстких систем. Шаг
интегрирования желательно переменный, обратно
пропорциональный наибольшей из скоростей изменения концентраций. Наиболее удобно брать
равномерный шаг по логарифмическому времени.
Встроенные в Maple процедуры численного
решения жёстких систем оказались непригодными,
поэтому использовался обычный явный метод
Рунге-Кутта с переменным шагом, но с неявной
схемой Эйлера для “быстрых” переменных. Опыт
автора показывает, что такое сочетание наиболее
эффективно для СОДУ химической кинетики.
Точность счёта проверяется различным дроблением
шага интегрирования. Этот шаг алгоритма
полностью автоматический, поэтому соответствующая часть программы не требует вмешательства
человека.
2. Задаётся порог малости, например ε=0.01.
На основе численного решения выясняется, на
каких интервалах времени и какие члены в СОДУ
могут быть отброшены так, чтобы при этом
возмущение решения, вносимое этим упрощением
системы, было порядка ε. В работе [7] выяснено,
как именно следует упрощать систему. Правило
упрощения формулируется следующим образом.
Если для некоторого i, при t∈[a,b)
выполняется неравенство
r
⋅ w (a(t )) < ε ⋅ max γ
⋅ w (a(t )) ,
∑ γ
i, j j
j
j i, j
j =1
то i-е дифференциальное уравнение на [a,b) можно
(но не обязательно) заменить на алгебраическое
i, j
⋅ w (a(t )) < ε ⋅ max γ
⋅ w (a(t )) ,
j
j
j i, j
то слагаемое γi,j·wj(a(t)) в этом алгебраическом
уравнении можно удалить.
Если для некоторых i и j при t из некоторого
интервала времени выполняются неравенства
r
∑ γ i, j ⋅ w j (a(t )) ≥ ε ⋅ max γ i, j ⋅ w j (a(t )) ,
j
j =1
γ
i, j
 r



⋅ w (a(t )) < ε ⋅ max  ∑ γ
⋅ w (a(t )) / max (a (t )) ⋅ max (a (t )) ,
j
i
,
j
j
i
i
i  j = 1
t
 t
то на этом интервале времени в i-м дифференциальном уравнении слагаемое γi,j·wj(a(t)) можно
(но не обязательно) удалить. В теории дифференциальных уравнений с малым параметром это соответствует регулярному возмущению уравнения.
Данный шаг алгоритма также полностью автоматический.
3. Исходя из данных, полученных в
предыдущем пункте, интервал времени [0,∞)
разбивается на цепочку подынтервалов, на каждом
из которых исходная система упрощается до подсистемы дифференциально-алгебраических уравнений, удовлетворяющей следующим двум условиям:
a) возмущение решения, вносимое упрощением системы, мало;
b) упрощённая подсистема допускает точное
интегрирование.
Этот шаг алгоритма пока автоматизирован частично, поскольку подсистем, удовлетворяющих условиям a) и b), может не быть или оказаться несколько. На данном этапе программа только даёт
рекомендации, как можно упростить СОДУ и на
каких интервалах, чтобы возмущение решения при
этом было мало. От пользователя требуется с учетом рекомендаций программы подобрать наиболее
удачное упрощение (т.е. откорректировать упрощение, предложенное системой), такое, чтобы условия
a) и b) наилучшим способом удовлетворялись, а
также чтобы формулы для решения были не
слишком громоздкими.
4. Подсистемы цепочки интегрируются и
корректируются. К сожалению, система Maple
практически всегда представляет результаты символьных вычислений в неудачном виде, а иногда
отказывается выполнять элементарные упрощения,
поэтому результат приходится доводить вручную.
Вестник Башкирского университета. 2007. Т. 12, №3
Maple очень плохо решает системы дифференциально-алгебраических уравнений, так как алгебраические подсистемы имеют множество решений,
поэтому в программе алгебраические подсистемы
решаются отдельной процедурой, учитывающей,
что решения должны быть положительными.
5. После того, как получены аналитические
формулы для решения на различных временных
интервалах, покрывающих [0,∞), эти формулы
сращиваются (комбинируются). Для каждой концентрации подбирается такое аналитическое выражение, которое на каждом из временных интервалов близко к соответствующему решению на том
интервале. В Maple пока нет подходящих процедур,
поэтому этот шаг алгоритма автоматизирован частично в виде процедуры графического сравнения на
интервале [0,∞) численного решения исходной задачи и комбинированных приближённых формул
для решения. Отметим, что обычно при сращивании получаются формулы, которые аппроксимируют численное решение намного лучше, чем просто формулы, полученные при решении упрощённых подсистем на интервалах (пункт 4 алгоритма).
6. Выясняется область значений коэффициентов скоростей kj+, kj- и других параметров, при которых полученные приближённые аналитические
формулы хорошо аппроксимируют точное решение
исходной задачи. Если при каком-то варьировании
параметров резко возрастает относительная погрешность приближенных формул, то иногда их
удаётся подправить, повторив пункты 3 - 5. Для
этого следует выяснить: на каком интервале
времени ошибка велика и для какой неизвестной?
Далее, на соответствующем интервале, уточнить
упрощённую подсистему (например, оставить член
в СОДУ, который по правилу упрощения можно
удалить). Затем, откорректировав комбинированные приближённые формулы, опять проверить их
зависимость от параметров.
Выводы
Предложенный алгоритм, апробированный на
конкретных примерах, показал свою эффективность. Всегда для решения удавалось подбирать
приближённые аналитические формулы. Даже на
первый взгляд в “безнадежных” случаях с дробными стехиометрическими коэффициентами удавалось это сделать. Причём полученные формулы для
решения оставались достаточно точными при
варьировании значений всех параметров в широких
17
диапазонах, несмотря на то, что само решение при
этом существенно изменялось. Если при каком-то
наборе значений параметров формулы для решения
оказывались непригодными, то нетрудно было
подобрать другие или исправить старые. Для этого
достаточно снова применить алгоритм с новым
набором значений параметров.
Предложенный алгоритм полностью реализован в виде программы в системе Maple. В алгоритме есть шаги, с которыми Maple не всегда может
справиться корректно (по причине своего несовершенства). Такие шаги намеренно реализованы в
программе в виде процедур, требующих вмешательства человека, это, на наш взгляд, в данной ситуации оправдано.
Разумно предположить, что данная методика
применима не только в химической кинетике, но и
в других областях, где моделями являются сложные
системы нелинейных обыкновенных дифференциальных уравнений, и, как показывает практика,
предпочтительно жёсткие.
Методика позволяет вести качественный
анализ процессов, потому что при упрощении
теряется лишь часть информации. В отличие от
численного решения приближённые формулы не
являются просто количественной аппроксимацией
информации о процессе. Например, приближённые
формулы удобно использовать при решении обратной кинетической задачи. Совершенно очевидно,
что при этом резко сокращается объем оптимизационных вычислений: вместо многократного численного решения прямой кинетической задачи –
решается одна задача нелинейной регрессии.
ЛИТЕРАТУРА
1.
2.
3.
4.
5.
6.
7.
Деккер К., Вервер Я. Устойчивость методов Рунге-Кутты
для жёстких нелинейных дифференциальных уравнений.
М.: Мир, 1988.– 336 с.
Семёнов Н. Н. Цепные реакции. Л.: Госхимтехиздат, 1934.
Калякин Л. А., Масленников С. И., Комиссаров В. Д.
Анализ механизма жидкофазного ингибированного
окисления методом асимптотических приближений. Уфа,
1987.– 41 с. Деп. в ВИНИТИ 13.07.1987. №4998-в 87.
Найфэ А. Х. Методы возмущений. М.: Мир, 1976.– 456 с.
Тропин А. В., Спивак С. И. // Кинетика и катализ, 1995.
Т.36. №5. С.658-664.
Вант Гофф Я. Г. Очерки по химической динамике. Л.:
ОНТИ ХИМТЕОРЕТ, 1936.– 178 с.
Тропин А. В. Редукция математических моделей
механизмов цепных реакций: дис. ... канд. физ.-мат. наук.
Уфа. 1998.– 104 с.
Поступила в редакцию 23.03.2007 г.
Документ
Категория
Без категории
Просмотров
9
Размер файла
127 Кб
Теги
кинетическая, построение, решение, алгоритм, формула, основы, приближенные, задачи, прямой, численного
1/--страниц
Пожаловаться на содержимое документа