Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_МАВ_ММД.doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
14.93 Mб
Скачать

3.2. Вычисление равновесных концентраций

Одной из важнейших и традиционных вычислительных задач химии и химической технологии является задача о вычислении равновесного состава реагирующей смеси.

Пусть процесс описывается двумя стехиометрическими уравнениями

и константы равновесия равны, соответственно,

(3.20)

где , , , – равновесные концентрации веществ .

Начальные концентрации равны

. (3.21)

Для решения поставленной задачи введем неизвестные нам равновесный выход продукта по веществу для первого уравнения системы (3.20) и равновесный выход продукта по веществу – для второго уравнения (3.20).

Выход продукта для некоторого вещества определяется как отношение количества этого вещества, израсходованного на получение целевого продукта к начальному количеству этого вещества. Из этого определения получаем

(3.22)

С учетом (3.22) и (3.21) получаем

(3.23)

Подставляя (3.23) в (3.20), получаем следующую систему двух нелинейных уравнений с двумя неизвестными

(3.24)

Таким образом, задача о вычислении равновесных концентраций с математической точки зрения сводится к решению системы k уравнений с k неизвестными, которая в общем случае является нелинейной.

Рассмотренный нами для случая одного нелинейного уравнения метод Ньютона-Рафсона легко распространяется на системы нелинейных уравнений.

Системы нелинейных уравнений

Для простоты рассмотрим случай двух неизвестных. Частный случай такой системы построен нами при вычислении равновесного состава (3.24).

Выберем некоторое начальное приближение и, разлагая в ряд Тейлора функции и в окрестности начального приближения с точностью до членов первого порядка малости, получим следующую систему для определения уточненного значения корней:

(3.25)

где значения производных также вычисляются в точке .

Полученная система линейных уравнений (3.25) относительно легко решается. Запишем систему (3.25) в матричном виде:

. (3.26)

В данном случае решение легко может быть получено в явном виде. По формулам Крамера имеем

(3.27)

где значения функций и их производных вычисляются в точке .

Система (3.27) задает итерационный процесс

(3.28)

Изложенный метод легко обобщается на произвольный случай системы из k уравнений

(3.29)

В матрично-векторных обозначениях аналог системы (3.26) может быть записан как

, (3.30)

где , , – матрица Якоби.

Система линейных уравнений (3.30) решается при помощи общих методов решения систем линейных уравнений.

Для сильно нелинейных систем (3.29) итерационные процессы (3.28), (3.30) могут (и довольно часто) расходиться. Чтобы улучшить сходимость метода используют подход, называемый релаксацией. Суть этого подхода заключается в коррекции в сторону уменьшения величины шага приращения. Система (3.28) примет следующий вид:

(3.31)

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

При решении систем нелинейных уравнений (3.29) мы столкнулись с необходимостью решать системы линейных уравнений. Решение систем линейных уравнений – очень распространенная задача, встречающаяся как самостоятельно (такие модели мы рассмотрим ниже), так и как составная часть более сложных алгоритмов (например, решение системы нелинейных уравнений методом Ньютона).

Методы решение системы линейных уравнений является частью вычислительной линейной алгебры, которая помимо обсуждаемой задачи включает в себе методы нахождения собственных значений матриц, вычисление определителей и ранга матрицы, решение матричных уравнений и многое другое. Важность вычислительной линейной алгебры определяется не только ее значимостью самой по себе, но и тем, что элементы линейной алгебры появляются как составные части при реализации очень многих алгоритмов, таких, как, например, алгоритмы, используемые при решении интегральных и дифференциальных уравнений. Поскольку численные методы линейной алгебры очень часто используются в различных приложениях, существуют общедоступные библиотеки программ, реализующих эти методы на различных языках. Одной из лучших таких библиотек является LAPACK (фортрановская версия), CLAPACK (версия на языке С), LAPACK++ (версия на языке С++), LAPACK90 (для FORTRAN90), SCALAPACK и его версии на других языках для параллельных компьютеров. Отметим, что, как правило, задачи линейной алгебры распараллеливаются очень легко.

Большинство алгоритмов вычислительной линейной алгебры реализованы и в известном пакете MATLAB.

Рассмотрим в качестве примера две модели из области химии, приводящие к задачам линейной алгебры.