Table of Contents
CLI for ABC-Kinetics
Данная утилита командной строки предоставляет простой интерфейс к библиотеке ABC-Kinetics.
Утилита принимает задания на расчёты, эти задания берутся из XML размеченного файла (см. детальный XML-синтаксис). Задания состоят из определений схем (schema), вариантов параметров этих схем для расчёта кинетик (instance), самих расчётов кинетик, импорт экспериментальных данных и оптимизация параметров схем на их основе и т.д.
Элементы верхнего уровня
<schema>
В элементе schema задаётся описание процесса. Обязательный атрибут id тэга schema задаёт уникальный идентификатор схемы, по которому мы будем в дальнейшем на неё ссылаться. Дочерний элемент text содержит текст кинетической схемы. Содержимое элемента – это обычная текстовая информация, не имеющая xml-разметки (CDATA). Данный текст анализируется непосредственно кодом библиотеки libkin, его синтаксис детально описан в руководстве к ней.
Дочерние элементы parameter позволяют объявить дополнительные параметры схемы, не заявленные в кинетической схеме непосредственно, но необходимые для решения вычислительных задач (атрибут name). При этом может быть задано значение по-умолчанию для данного параметра (атрибут value). С помощью элемента init_value можно задать значения по умолчанию для начальных концентраций реагентов, заявленных в тексте схемы (но не объявить дополнительный реагент).
Пример:
<schema id="s₁"> <title>схема 1</title> <text> A + B → C // k₁ </text> <parameter name="Temp"/> <parameter name="k₁" value="1e9 * exp(-1e4/Temp)"/> <init_value name="B" value="1"/> <init_value name="C" value="0"/> </schema>
<instance>
Элемент instance объявляет вариант реализации схемы (Schema Instance). Атрибут schema содержит ссылку на вышеописанную схему, id – идентифицирует создаваемый объект для дальнейшей работы с ним. Конкретной схеме могут соответствовать несколько вариантов1).
Пример:
<instance id="var₁" schema="s₁"> <title>вариант 1</title> <parameter name="Temp" value="273"/> <init_value name="A" value="1"/> </instance>
В этом варианте объявляется значения температуры процесса (параметр Temp) и начальной концентрации реагента A. Остальные значения наследуются из элемента schema (т.е. будут использоваться значения по-умолчанию).
<compute_kinetics>
Задание выполнить расчёт кинетики для указанного варианта var₁:
<compute_kinetics instance="var₁" output_target="res₁"> <parameter name="end_time" value="2"/> </compute_kinetics>
Параметр end_time задаёт временно́й интервал для вычислений.
Результаты расчёта сохраняются в некоторый объект (поименованный с помощью атрибута output_target). Этот объект может быть далее неоднократно использован для вывода результатов на экран, файл, и т.п. в виде таблицы с заданным форматом, шагом и т.д.
<display_result>
Вывести на печать указанный результат расчётов res₁ для варианта var₁:
<display_result instance="var₁" result="res₁"/>
Параметры/режимы вывода см. в подробной документации.
<instance_exptl_data>
Детали/подробности задания экспериментальных данных см. в подробной документации.
<optimize>
<instance_exptl_data id="exptl₁" instance="var₁"> <data reactant="A" x_unit="1" y_unit="1" type="conc"> 0.1 0.90480, 0.4 0.67076, ... </data> </instance_exptl_data> <optimize> <parameter name="T" scope="var₁"/> <exptl_data id="exptl₁" weight="1" /> </optimize>
