Тема происходила по моей инициативе, распишу подробней:
Есть идея создать химический калькулятор для неорганической химии.
Интересно мнение специалистов в предметной области - неорганической химии.
Отличительной стороной калькулятора — это командный интерфейс, по сути специфичный язык программирования для поиска решений.
Пока идеи следующие, решение:
1. Системы уравнений — Уравнивание химических реакций.
2. Поиск реакций (последовательности) для получения готового вещества из исходного набора.
Пользовательский интерфейс
Предполагается что интерфейс будет командный, взаимодействие пользователя условно говоря будет таким:
Пользователь > Уровнять H2+O2=H2O
Ответ > 2H2 + O2 = 2H2O
Пользователь в командной строке Windows/Linux/Mac … или на специфичном сайте набирает соответ. Команды и получает ответ.
Уравнивание химических реакций
Задача уравнивания химический реакций — сводится к решению системы уравнений, предполагается использовать метод Гаусса и другие метода, в частности использовать библиотеку apache commons math.
Поиск реакций
В данном случаи имеется виду, что есть например несколько веществ: вода, кислота А, щелочь Б и т. е. некое ограниченное (по химическому составу) кол-во различных веществ.
И необходимо найти как получить вещество X. Программа должна отыскать последовательность рекаций для получения вещества. Пример:
Пользователь > Есть вещество А
Пользователь > Есть вещество Б
Пользователь > Есть вещество В
Пользователь > Поиск вещества Х
Ответ > А+Б → Г, Г + В → X
chem.pdf