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() Метод для расчета температуры начала реакции при заданной температуре. Формат возвращаемых данных: строка

  1. 'реакция не может протекать при температуре T>0 K',
  2. 'реакция всегда может протекать при температуре T>0 K',
  3. 'T< <значение> K',
  4. '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() Метод возвращает частные порядки реакции в формате словаря: {<формула вещества>:<порядок реакции по веществу>}

⚠️ **GitHub.com Fallback** ⚠️