Об этом проекте
# Kerotakis
Виртуальная химическая лаборатория, вычисляющая реальную химию. Офлайн-режим, кроссплатформенность, без Python в рантайме.
### Что делает
Kerotakis моделирует реальную водную химию с помощью термодинамических вычислений, а не таблиц или записанных сценариев. Каждое число берётся из реальной термодинамической базы данных, решаемой в рантайме. Охватывает:
- **Растворение и осаждение** с реальными пределами растворимости
- **Кислоты и основания** из баланса зарядов — сильные, слабые, многоосновные и буферы
- **Кривые титрования**, проходимые виртуальной бюреткой
- **Газовые границы** — вентиляция, улавливание, расширение или продувка газовой фазы
- **Тепло и фазовые переходы** — энтальпии растворения, сдвиги точек замерзания/кипения, выведенные из собственных энтальпий воды
- **Химия жёсткой воды** — мел, накипь, кристаллизация гипса
- **Разделение** — фильтрация, выпаривание
- **Горение и кальцинация** — температуры разложения вычисляются, а не предполагаются
- **Ряд активности**, вычисляемый через уравнение Нернста по решённым активностям
- **Цвет из спектров поглощения** с использованием закона Бугера–Ламберта–Бера и CIE 1931, поэтому смеси компонуются корректно, а концентрация меняет оттенок
- **Моделирование опасностей** — например, отбеливатель + аммиак показывает образование хлорамина до предупреждения
- **Балансировка уравнений** через вычисление нулевого пространства матрицы элементного состава, включая заряд
- **Вид на уровне частиц** — частицы рисуются в решённых соотношениях, разбавленные виды называются, а не молча отбрасываются
- **Объяснимость** — каждый ответ указывает, какой движок, набор данных и модель его создали
### Платформы
- **Браузерная версия** на crispstrobe.github.io/kerotakis — PHREEQC скомпилирован в WebAssembly (Emscripten, без файловой системы), решение в воркере
- **CLI** (`kero`) — REPL, пакетный запуск, JSON-интерфейс, проверка codex
- **Нативное приложение macOS/iOS** — решатель связан в процессе, полный офлайн после первого посещения
- **Устанавливаемое PWA** — работает из собственного окна со всем кэшированным локально
Все три цели дают одинаковый интерфейс и одинаковые ответы.
### Образовательный дизайн
Химия живёт на трёх уровнях — макроскопическом, субумикроскопическом и символическом. Kerotakis отображает одно и то же решённое состояние сосуда согласованно на всех трёх, с регулятором детализации (lv1 = что видно, lv3 = всё). Уроки несут поле `fails_at` для каждой модели, показывающее, где ломается каждое приближение. Учебная программа следует порядку зависимостей, а не школьным годам.
### Данные и валидация
В codex 131 запись реакций, 28 моделей и 185 концепций, привязанных к CC0-учебной основе из 189 тем. Каждое числовое утверждение воспроизводится через реальные решатели CI-проверкой. Корпус из 500 вопросов (ориентирован на детские/подростковые вопросы) отслеживает вычисленные, курируемые, качественные, граничные, отсутствующие и сбои решателя отдельно. Текущий статус: 269 вычислено, 20 курируемых, 70 качественных, 59 явных границ, 82 отсутствующих (пробелы требуют механизмов, таких как белковые виды, а не больше веществ).
### Техническая архитектура
- `kerotakis-core` — машина состояний, операторы, энергетический баланс, маршрутизатор решателей, грамматика `.lab`
- `kerotakis-phreeqc` — FFI IPhreeqc, встроенные термодинамические базы данных, водный эквилибратор
- `kerotakis-cea` — термохимия NASA-9 и минимизатор Гиббса для нагрева/кальцинации/горения
- `kerotakis-safety` — экран реактивности L0 перед любой химией
- `kerotakis-codex` — курируемые реакции с проверкой на основе решателя
- `kerotakis-cli` — REPL и пакетный запуск
- `kerotakis-wasm` — браузерная цель
Написан на Rust. Поставляются три термодинамических набора данных (wateq4f, minteq.v4, pitzer), чтобы разногласия моделей сами стали видимым уроком.
### Языковая поддержка
Английский и немецкий полностью поддерживаются. Инфраструктура i18n существует для третьего языка.
### Лицензия
Код: AGPL-3.0-or-later (с дополнительным разрешением для App Store / Google Play для бинарников). Курируемые данные: CC BY 4.0. Импортированный CC0-материал остаётся CC0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.