====== Программный пакет ABC Kinetics ====== //ABC Kinetics// -- набор программных средств для моделирования химико-технологических процессов и их оптимизации. Может быть использован как в научно-исследовательской и образовательной сферах для изучения широкого спектра химических процессов, так и в химической промышленности для оптимизации процессов синтеза, условий хранения продукции и т.п. Предусматривается несколько вариантов использования //ABC-Kinetics//. - создать кинетическую схему и провести моделирующие расчёты с целью изучить изменения концентраций реагентов во времени. - добавить экспериментальные данные и подобрать константы элементарных реакций (так называемая "обратная кинетическая задача"). - в рамках единой кинетической схемы выполнить расчёт нескольких вариантов (отличающихся набором параметров) и сравнить их кинетики. - выполнить поиск оптимальных параметров на основе множественных экспериментальных данных для различных условий проведения процесса. - одновременное изучение нескольких кинетических схем. - сравнить кинетики нескольких альтернативных схем. - изучить поведение отдельной элементарной реакции в составе различных процессов. - методом оптимизации получить уточнённые характеристики изучаемой элементарной реакции. ===== Кинетические схемы ===== ~~TODO~~ [[.:schema:|Кинетическая схема]]. Даёт общее описание процесса. Вводит имена реагентов и набор элементарных реакций, в которые реагенты вступают. //ABC\|Kinetics// использует формат такого описания максимально приближенный к нотации, принятой в стандартной практике химической кинетики. Подробнее [[.:schema:syntax|синтаксис написания схем рассматривается далее]]. Здесь приведём лишь простой пример: 2 HNO₃ → H₂NO₃⁺ + NO₃⁻ H₂NO₃⁺ → H₂O + NO₂⁺ NO₂⁺ + C₆H₅-CH₃ → p-NO₂-C₆H₄-CH₃ + H⁺ ...etc... Конкретный вариант протекания процесса характеризуется добавочной параметризацией: набором //начальных концентраций реагентов// и //констант элементарных реакций//((коэффициентов для расчёта скорости элементарной реакции исходя из заданных значений концентраций реагентов)). Для таких наборов параметров //Схемы// (//Schema//) введём термин: //Вариант_Схемы// (//Schema_Instance//). ===== Параметры кинетических схем ===== Параметрами кинетической схемы мы называем //начальные концентрации реагентов// и //константы (коэффициенты) элементарных реакций//. Кроме этого, у нас могут появляться и дополнительные параметры, величины, с помощью которых будут вычисляться значения вышеупомянутых типов параметров. Так, к примеру, в схему (в запись реакций) мы можем добавить в качестве "фиктивного реагента" величину выделяющегося в элементарной реакции тепла (и, далее, использовать её для расчёта температуры). Отметим, что любому параметру может быть присвоено **//символьное (математическое) выражение//**((используется обычный для языков программирования синтаксис и имена математических функций)), оно будет использовано динамически при решении системы дифференциальных уравнений, а не только для вычисления стартового значения. //**Исключение** (очевидное): параметр, подлежащий оптимизации в рамках обратной кинетической задачи, будет рассматриваться как числовой//. ==== Типы параметров ==== Можно выделить 3 уровня параметров, в соответствии с вышеприведёнными вариантами моделирования. **//Это должно быть наглядно отражено в пользовательском интерфейсе//**. - **локальные параметры**; это значения, параметризующие единичный вариант расчёта (//Schema Instance//). - **глобальные параметры**; это значения, объявленные на уровне схемы - **"суперглобальные" (//superglobal//)**; параметры, относящиеся ко всем единовременно обрабатываемым схемам Иерархия следующая: локальным параметрам по умолчанию соответствует пометка "наследуемое значение"; при этом в расчётах будет использовано глобальное значение. Наоборот, при явном задании значения локального параметра, глобальное значение будет игнорироваться при обработке данного варианта схемы (//Schema Instance//). То же самое верно и уровнем выше, в отношении глобальных и суперглобальных значений.