Содержание

  1. Первая часть

  2. Вторая часть

  3. Третья часть (вы тут)


Привет, хабр! Вот и подошла третья часть статей по теме вычислительной химии на Python.

Напоминаю, что весь исходный код здесь.

Мы уже с вами реализовали:

  • Чтение химических элементов периодической таблицы Менделеева через CSV файл

  • Калькулятор массовой доли элемента в формуле

  • Калькулятор относительной молекулярной массы формулы

Обычный, тривиальный редактор, не так ли? Но пора начинать делать другой, более продвинутый функционал. Прочитав комментарии за последние статьи, я понял что люди жаждут нового и необычного.

Итак, сегодня мы создадим функции по вычислению количества вещества.

В следующей части я затрону изотопы!

Количество вещества

Основные формулы
Основные формулы

Итак, вводим новые переменные:

AVOGADRO_NUMBER = 6.022

Для веществ характерно взаимодействие друг с другом. Перед химиками стоит задача вычислить какое количество вещества необходимо для реакции с другим веществом.В химической промышленности, на производстве важно знать, какая масса или объём реагентов необходим, и сколько возможно получить в итоге реакции продукта. Вещества реагируют между собой в определённых количествах, точнее эквивалентах.

Количество вещества (моль) - важная расчетная величина в химии. Это именно тот золотой ключик, которым открывают любую, даже самую потайную дверь химической задачи. Термины "моль" и "молекула" - однокоренные, они произошли от латинского слова "moles". В XVII в. появился термин "молекула" ("маленькая масса"). Понятие "моль" ("большая масса", "порция") появилось в начале XX века. Автор термина "моль" - немецкий химик и физик Вильгельм Оствальд.

Количество вещества определяется числом частиц, из которых состоит данное вещество (атомов, молекул, ионов), и обозначается греческой буквой "ню". Для характеристики количества вещества в химии используют особую единицу измерения - моль.

Моль - это количество вещества, которое содержит столько структурных единиц (атомов, молекул, ионов), сколько атомов углерода содержится в 12 г изотопа углерода 12С. Экспериментально установлено, что один моль любого вещества содержит число Авогадро структурных единиц. В настоящее время известно более 60 независимых экспериментальных методов определения значения числа Авогадро.

Молярная масса - это масса 1 моля вещества, то есть отношение массы вещества к его количеству, выраженное в г/моль.

Абсолютная масса одной молекулы (атома) определяется делением молярной массы на число Авогадро

Исходный код

Мы добавляем к нашему прошлому коду еще 3 функции:

# не забываем про импорт AVOGADRO_NUMBER (как Na)
# и про импорт calculate_relative_molecular_mass


def count_molecules_from_moles(n: int):
    return f"{float(n) * Na} * 10^23"


def count_moles_from_molecules(N: float):
    return float(N) / Na


def calculate_mass_from_moles(formula: str, n: int):
    M = calculate_relative_molecular_mass(formula, False)['mass']
    return M * float(n)

А после исправляем главный файл и добавляем в него ввод

Домашнее задание

Домашнее задание - сделать функции с теми формулами, которые мы не сделали.

Заключение

Если вы не поняли некоторые функции - пишите в комментарии, я объясню

Комментарии (0)