
- •А.В. Мышлявцев, м.Д. Мышлявцева математическое моделирование в естественных науках
- •Введение
- •Глава 1. Основные понятия и примеры математических моделей
- •1.1. Примеры эмпирических моделей
- •Результаты победителей олимпийских игр в беге на 200 м,
- •Результаты победителей олимпийских игр в беге на 200 м,
- •1.2. Разведение семги
- •1.3. «Ядерная зима»
- •«Волны-убийцы»
- •«Ядерная зима»
- •1.4. Некоторые подходы при моделировании сложных систем и явлений
- •Иерархическая цепочка моделей
- •Многомасштабное моделирование
- •Глава 2. Математическое моделирование в физике
- •2.1. Траектория всплытия подводной лодки
- •2.2. Диффузия
- •2.3. Метод молекулярной динамики
- •Метод Верле и метод «прыжка лягушки»
- •Классическая молекулярная динамика
- •Применение метода молекулярной динамики при моделировании реальных систем
- •2.4. Модель решеточного газа
- •Применение метода трансфер-матрицы при исследовании одномерной мрг
- •Эквивалентность мрг и модели Изинга
- •Применение метода Монте-Карло при исследовании двумерной мрг
- •Глава 3. Математическое моделирование в химии и химической технологии
- •3.1. Уравнения состояния реальных газов
- •Нелинейные уравнения
- •Метод бисекций
- •Метод Ньютона
- •Определение молярного объема реального газа
- •3.2. Вычисление равновесных концентраций
- •Системы нелинейных уравнений
- •3.3. Определение состава газа методом масс-спектроскопии смеси после бомбардировки медленными электронами
- •3.4. Определение числа независимых стехиометрических уравнений
- •3.5. Как плод получает глюкозу от своей матери?
- •Глава 4. Математическое моделирование в биологии
- •4.1. Примеры математических моделей популяционной биологии
- •Уравнение Ферхюльста (логистическое уравнение)
- •Популяционная модель с дискретным временем
- •Модели взаимодействующих видов
- •Модель Вольтерра и ее обобщения
- •4.2. Модель работы нейрона
- •4.3. Третичная структура белка
- •Список литературы
- •Математическое моделирование в естественных науках
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.
Рассмотрим в качестве примера две модели из области химии, приводящие к задачам линейной алгебры.