- •Уточнения метода Эйлера (методы второго порядка точности)
- •Метод Рунге-Кутта четвертого порядка
- •Многоточечные методы (методы Адамса)
- •Неявные методы
- •Метод «прогноза–коррекции»
- •Понятие о неустойчивости численных методов
- •Понятие о «жестких» дифференциальных уравнениях
- •Краевые задачи для обыкновенных дифференциальных уравнений
- •Пример краевой задачи
- •Общие соображения о численном решении краевых задач
- •Перечень контрольных вопросов
Пример краевой задачи
Рассмотрим прямоточный химический реактор (в виде трубы постоянного сечения).
На вход в реактор со скоростью v подается реагент с начальной концентрацией .
Пусть в реакторе происходит простейшая реакция , скорость которой равна . Составляя уравнение баланса вещества в бесконечно малом объеме, можно записать:
,
где второе слагаемой связано с конвективным переносом вещества; второе слагаемое — с диффузионным переносом (N), и третье слагаемое изменением общего потока вещества за счет реакции.
Приняв для диффузионного потока закон Фика (диффузионный поток пропорционален градиенту концентрации,
,
(коэффициент пропорциональности D называется коэффициентом диффузии), и считая скорость v постоянной, получим
.
В качестве граничных условий примем на левом конце (x=0):
,
А при будем считать, что реакция полностью закончилась, то есть
.
Можно также (что более естественно) задать условие преобладания конвективно переноса на выходе над диффузионным (см. далее).В итоге получили дифференциальное уравнения второго порядка с двумя граничными условиями.
В этом простейшем примере (если все коэффициенты постоянны) несложно получить и аналитическое решение уравнения, и тогда использование краевых условий сведется к нахождению произвольных постоянных интегрирования. Но, если коэффициенты уравнения зависят от координаты x или от концентрации C, то, как правило, никакое аналитическое решение получить не удастся, и задачу можно решать только численно.
Прежде, чем переходить к обсуждению численного решения краевых задач, следует сделать одно существенное замечание. В приведенной постановке задачи следует перейти к так называемым безразмерным переменным.
Положив
, ,
И подставляя это в дифференциальное уравнение, получим
,
Или
|
(18) |
.
Здесь введены обозначения
и .
Обратите внимание, что величины P и R являются безразмерными (как и все дифференциальное уравнение).
Граничные условия в безразмерном виде запишутся как
|
(19) |
и |
(20) |
.
Такая безразмерная форма не только более удобна для численного решения (по крайней мере, число безразмерных параметров — их в задаче всего два — меньше, чем число исходных физических параметров, x, D, v, C0, D, k), но и более физична.
Общие соображения о численном решении краевых задач
Часто для численного решения краевой задачи используют так называемые разностные методы. Основная идея довольно проста: разобьем отрезок интегрирования на достаточно большое количество малых подотрезков и на каждом из них заменим производные их конечно разностными аналогами:
,
Здесь i — номер узла разностной схемы.
В итоге получаем систему алгебраических n уравнений для n внутренних узлов, которую в принципе несложно решить. Для линейных задач эта схема работает достаточно хорошо. Основная трудность заключается в том, что получающаяся система может содержать достаточно много уравнений (в зависимости от задачи это число может достигать несколько тысяч или даже миллионов). Это само по себе может приводить к катастрофическому накоплению ошибок округления. Но в целом для линейных задач эта схема работает достаточно надежно.
Мы не можем здесь углубляться во все тонкости разностных методов. Хотелось бы только предостеречь от бездумного использования разностных методов в серьезных нелинейных задачах (что, к сожалению, иногда даже встречается в учебниках по техническим дисциплинам).
Во-первых, можно обратить внимание, что первую производную, казалось бы можно заменить равносильными приближениями
или или
В простейших случаях эти схемы действительно равноценны. Но в более сложных случаях они могут работать совершенно по разному (например, схема с разностями «вперед» может оказаться неустойчивой, а схема с разностями «назад» — устойчивой, или наоборот). Кроме того, в нелинейных задачах, когда коэффициент при производных зависит от искомой величины, возникает вопрос, в какой точке его вычислять (когда коэффициенты постоянны, этого вопроса просто не возникает). В этом отношении, прежде всего, надо иметь в виду, что разностная схема должна быть консервативной, то есть в ней должны сохраняться глобальные законы сохранения (массы, энергии и т.п.). Все это достаточно хорошо разработанные в вычислительные математике вопросы, но они требуют определенной квалификации. Поэтому мы советуем не очень увлекаться разработкой собственных программ, а при решении инженерных задач больше доверять методам, заложенным в стандартные пакеты. MathCad решает краевую задачу, сводя ее к задаче Коши, сначала «перегоняя» второе граничное условие в начальную точку (для этого используются функция sbval), и затем используя один из решателей задачи Коши в функции Odesolve.
В таких случаях мы советуем использовать пакеты типа COMSOL Multiphysics, в которых решение задачи выглядит более естественно, требуя от пользователя только понимания постановки задачи.
Ниже показано, как решить задачу (18-20) в COMSOL Multiphysics.
1. Сначала естественно выбирается физическое приложение, к которому относится наша задача. Это стационарная (steady-state) одномерная (1D) задача из области Конвекции и диффузии (Convection and Diffusion).
2. Затем для удобства можно задать величину (опция меню Options->Constants) параметров P и R уравнения
3.Затем в меню Draw создается область решения. В данном случае это всего лишь отрезок прямой линии [0;1].
4. В окне установки физических параметров уравнения (Subdomain Settings) требуется ввести значения параметров нашей конкретной задачи
Обратите внимание на подсказку в верхней части окна, где в общем виде записано уравнение вашей физической задачи. Сопоставьте его со своим уравнением (18) и введите коэффициенты, как показано на рисунке.
4. Теперь надо задать граничные условия. На левом конце зададим начальную концентрацию (в безразмерном виде начальная концентрация равна 1), а на левом конце зададим условие свободно выхода продукта (convection flux)
4. После этого достаточно нажать кнопку (Solve) и вы увидите решение своей задачи
Замечание: В качестве семестровой работы можно выбрать следующее:
а) найти задачу химической кинетики для реальной системы реакций и решить ее в MathCad.
б) Выбрать (по согласованию с преподавателем) функции MathCad решения дифференциальных уравнений, не рассмотренных в этой лекции (можно обратиться к электронным книгам, поставляемым с пакетом, например к книге ODE Solve Blocks)
б) выбрать любой из примеров модуля Chemical Engineering пакета COMSOL Multiphysics и внести в него изменения по согласованию с преподавателем.