这个项目能做什么
# Kerotakis
一个虚拟化学实验室,计算真实化学。离线优先,跨平台,无需运行时Python。
### 功能
Kerotakis使用热力学计算而非查找表或预录脚本模拟真实水化学。每个数字都来自运行时求解的真实热力学数据库。涵盖:
- **溶解与沉淀**,具有真实溶解度极限
- **酸碱反应**,基于电荷平衡——强、弱、多元酸及缓冲液
- **滴定曲线**,用虚拟滴定管逐步推进
- **气体边界**——排气、捕集、膨胀或扫气顶空气体
- **热与相变**——溶解焓、由水自身焓推导的冰点/沸点变化
- **硬水化学**——白垩、水垢、石膏结晶
- **分离**——过滤、蒸发
- **燃烧与煅烧**——分解温度计算得出,而非假设
- **活性序列**,通过能斯特方程对求解活度计算
- **吸收光谱颜色**,使用比尔-朗伯定律和CIE 1931,使混合物正确组合且浓度改变色调
- **危险模拟**——例如漂白剂+氨水在警告前显示氯胺形成
- **方程式配平**,通过元素计数矩阵的零空间计算,包括电荷
- **粒子级视图**——按求解比例绘制物种,稀释物种被命名而非静默丢弃
- **可解释性**——每个答案说明由哪个引擎、数据集和模型生成
### 平台
- **浏览器工作台**,位于crispstrobe.github.io/kerotakis——PHREEQC编译为WebAssembly(Emscripten,无文件系统),在工作线程中求解
- **命令行**(`kero`)——REPL、批处理运行器、JSON接口、codex代码检查
- **原生macOS/iOS应用**——求解器进程内链接,首次访问后完全离线使用
- **可安装PWA**——从自身窗口运行,所有内容本地缓存
所有三个目标产生相同界面和相同答案。
### 教育设计
化学存在于三个层面——宏观、亚微观和符号。Kerotakis在三个层面上一致渲染同一求解容器状态,并带有细节级别拨盘(lv1=所见,lv3=一切)。每节课为每个模型携带`fails_at`字段,显示每个近似在何处失效。课程遵循依赖顺序,而非年级。
### 数据集与验证
codex包含131个反应条目、28个模型和185个概念,锚定在189个主题的CC0课程主干上。每个数值声明通过CI代码检查由真实求解器重放。一个500问题的好奇心语料库(针对儿童/青少年问题)区分跟踪计算、策展、定性、边界、缺失和求解器失败结果。当前状态:269个已计算,20个策展,70个定性,59个显式边界,82个缺失(缺口需要机制如蛋白质物种,而非更多物质)。
### 技术架构
- `kerotakis-core`——工作台状态机、操作符、能量平衡、求解器路由器、`.lab`语法
- `kerotakis-phreeqc`——IPhreeqc FFI、嵌入式热力学数据库、水溶液平衡器
- `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。
评论
0 评分人数达到10人后显示
登录后参与讨论。