Reaktion - dmitryzy/termod GitHub Wiki
Класс reaktion предназначен для расчетов связанных с химической реакцией идентифицируемой по стехиометрической матрице. Cодержит методы выполнения стехиометрических расчетов, уравнивания коэффициентов, расчета термодинамических характеристик для химической реакции.
subst_koeff_phase,newparametr,newtable
subst_koeff_phase - список, элементами которого являются кортежи:
[(формула вещества, стихеометрический коэффициент, фаза), ]
newtemperatur - Интервал температур (объект класса temperature)
newparametr - Словарь, содержащий ссылки на параметры состояния
newdatable - Словарь, содержащий ссылки на таблицы базы данных
elems Множество элементов
forms Множество формул
forms Множество формул
validate() Проверка правильности задания параметров реакции. Проверяет наличиеинформации в базе данных о веществах, указанных в реакции. Проверяет правильность расстановки коэффициентов. Выводит сообщение в командной строке.
is_valid() Проверка правильности задания параметров реакции. Проверяет наличиеинформации в базе данных о веществах, указанных в реакции. Проверяет правильность расстановки коэффициентов. Метод возвращает True или False.
set_parametr(dict_param=None) Метод изменяет параметры для всех веществ участвующих в реакции.
dict_param - Словарь, ключами которого являются наименования параметров, а значениями соответствующие объекты класса parametr.
get_matrix() - Метод для возвращает стехеометрическую матрицу реакции. Формат возвращаемых данных: словарь вида {<формула>:<коэффициент>,...}
entalp() Метод для расчета энтальпии реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
entrop() Метод для расчета энтропии реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
gibbs() Метод для расчета энергии Гиббса реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
gelmgolz() Метод для расчета энергии Гельмгольца реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
const_p() Метод для расчета константы равновесия реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
log_const_p() Метод для расчета натурального логарифма константы равновесия реакции при заданной температуре. Формат возвращаемых данных: массив вещественных чисел.
temperatur_nr() Метод для расчета температуры начала реакции при заданной температуре. Формат возвращаемых данных: строка
- 'реакция не может протекать при температуре T>0 K',
- 'реакция всегда может протекать при температуре T>0 K',
- 'T< <значение> K',
- 'T> <значение> K'.
print_info() Метод выводит на печать информацию о реакции. (схема реакции, энтальпия, температура начала реакции)
set_reagents(form_moll) Метод устанавливает значения количеств реагентов, моль
form_moll - Словарь, ключами которого являются формулы веществ, а значениями их количества, моль
{<формула вещества>:<количество вещества, моль>, }
get_reagents() Метод возвращает количество вещества реагентов, моль. Возвращаемое значение: Словарь, ключами которого являются формулы веществ, а значениями их количества, моль
{<формула вещества>:<количество вещества, моль>, }
degree_max() Метод возвращает максимальное значение степени полноты реакции.
degree(x) Метод пересчитывает количества вещества реагентов на величину степени полноты реакции (x).
x - степень полноты реакции
mul(num) Метод описывающий операцию умножения коэффициентов реакции на число num. Позволяет вводить в командной строке:
``R реакция
3*R другая реакция, коэффициенты которой в 3 раза больше.``
set_koeff(frm_koeff) Метод устанавливает значения стехиометрических коэффициентов для всех веществ, входящих в реакцию.
frm_koeff - Словарь, ключами которого являются формулы, а значениями стихиометрические коэффициенты {<Формула>:<Стехиометрический коэффициент>}'''
koeff_calc() Метод для уравнивания стехиометрических коэффициентов реакции. Возвращает стехиометрическую матрицу реакции, словарь вида: {<формула вещества>:<стехеометрический коэффициент>,}
kinetik_koeff(factor=None,energy=None,log=False) Метод расчитывает кинетический коэффициент реакции по уравнению Аррениуса.
energy - энергия активации
factor - предэкспоненциальный множитель
log - формат вывода (log=True - натуральный логарифм константы, log=False константа
parametr_kinetik(kin_konst,temp) Метод возвращает параметры кинетической константы: предэкспоненциальный множитель и энергию активацииив виде кортежа: (<предэкспоненциальный множитель>,<энергия активации>).
Расчет выполняется по уравнению Аррениуса
kin_konst - кортеж из двух кинетических констант, при различных температурах
temp - кортеж из двух значений температуры
zdm(course='reversible',prn_format='html',variable='[]',ph='g') Метод, возвращающий выражение закона действующих масс для реакции. Возвращаемое выражение: строка в формате tex или html.
course - направление реакции. Принимает значения: 1. course='forward' прямая 1. course='reverse' обратная 1. course='reversible' обратимая prn_format='html' - Формат выводимых данных. Принимает значения: 1. prn_format='tex' tex 1. prn_format='html' html variable='[]' - тип переменных для вывода. Принимает значения: 1. variable='[]' молярные концентрации (старая запись) 1. variable='x' мольные доли 1. variable='p' парциальные давления 1. variable='C' молярные концентрации (новая запись) ph='g' - основная фаза. Принимает значения: 'g','k','l','s'. (по обозначениям фаз)
zdm_eval(val_degree=0,course='reversible',variable='x',ph='g',par=1) Метод вычисляет значение скорости по закону действующих масс при заданной величине степени полноты рекции val_degree. По умолчанию val_degree=0.
Предварительно должна быть расчитана кинетическая константа при помощи одного из методов kinetik_koeff() или parametr_kinetik(). По умолчанию кинетическая константа равна 1.
course - направление реакции. Принимает значения: 1. course='forward' прямая 1. course='reverse' обратная 1. course='reversible' обратимая variable='x' - тип переменных для вывода. Принимает значения: 1. variable='x' мольные доли 1. variable='p' парциальные давления (должен быть задан параметр давления) 1. variable='C' молярные концентрации (должен быть задан параметр объема) ph='g' - основная фаза. Принимает значения: 'g','k','l','s'. (по обозначениям фаз)
par=1 - Дополнительный параметр (давление или объем в зависимости от значения параметра variable)'''
set_ordnung(frm_val=None) Метод устанавливает значения частных порядков реакции по реагентам.
frm_val=None - Порядки реакции. Словарь вида: {<формула вещества>:<порядок реакции по веществу>} Если значение не задано, то частные порядки реакции по веществам определяются стехиометрическими коэффициентами. Если концентрация данного вещества не определяет скорость реакции, задайте значение порядка по веществу равным 0.
get_ordnung() Метод возвращает частные порядки реакции в формате словаря: {<формула вещества>:<порядок реакции по веществу>}