프로젝트 소개
# Kerotakis
실제 화학을 계산하는 가상 화학 실험실. 오프라인 우선, 크로스 플랫폼, 런타임 Python 없음.
### 기능
Kerotakis는 조회 테이블이나 미리 녹음된 스크립트가 아닌 열역학 계산을 사용해 실제 수용액 화학을 시뮬레이션합니다. 모든 수치는 런타임에 해석되는 실제 열역학 데이터베이스에서 나옵니다. 다음을 다룹니다:
- **용해와 침전** — 실제 용해도 한계 포함
- **산과 염기** — 전하 균형 기반, 강산/약산/다양성자산/완충액
- **적정 곡선** — 가상 뷰렛으로 진행
- **기체 경계** — 헤드스페이스 기체의 배출, 포집, 팽창, 스위핑
- **열과 상 변화** — 용해 엔탈피, 물 자체의 엔탈피에서 유도된 어는점/끓는점 변화
- **경수 화학** — 백악, 석회 스케일, 석고 결정화
- **분리** — 여과, 증발
- **불과 하소** — 가정이 아닌 계산된 분해 온도
- **활동도 서열** — 해석된 활동도에 대한 Nernst 계산
- **흡수 스펙트럼 기반 색상** — Beer–Lambert 및 CIE 1931 사용, 혼합물이 올바르게 합성되고 농도가 색조를 변화시킴
- **위험 시뮬레이션** — 예: 표백제 + 암모니아는 경고 전에 클로라민 형성을 보여줌
- **방정식 균형** — 전하를 포함한 원소 수 행렬의 영공간 계산
- **입자 수준 보기** — 해석된 비율로 그려진 화학종, 희석종도 조용히 누락되지 않고 명명됨
- **설명 가능성** — 모든 답변이 어떤 엔진, 데이터셋, 모델이 생성했는지 명시
### 플랫폼
- **브라우저 벤치** — crispstrobe.github.io/kerotakis, WebAssembly로 컴파일된 PHREEQC(Emscripten, 파일시스템 없음), 워커 스레드에서 해석
- **CLI** (`kero`) — REPL, 배치 실행기, JSON 인터페이스, codex 린팅
- **네이티브 macOS/iOS 앱** — 솔버가 프로세스 내 연결, 첫 방문 후 완전 오프라인 사용
- **설치 가능한 PWA** — 자체 창에서 실행되며 모든 것이 로컬에 캐시됨
세 가지 대상 모두 동일한 UI와 동일한 답변을 생성합니다.
### 교육 설계
화학은 거시적, 준미시적, 상징적 세 수준에 존재합니다. Kerotakis는 동일한 해석된 용기 상태를 세 수준 모두에서 일관되게 렌더링하며, 세부 수준 다이얼(lv1 = 보이는 것, lv3 = 모든 것)을 제공합니다. 레슨은 모든 모델에 대해 `fails_at` 필드를 포함해 각 근사가 어디서 깨지는지 보여줍니다. 커리큘럼은 학년이 아닌 의존성 순서를 따릅니다.
### 데이터셋 및 검증
codex는 189개 주제의 CC0 커리큘럼 척추에 고정된 131개 반응 항목, 28개 모델, 185개 개념을 보유합니다. 모든 수치 주장은 CI 린트에 의해 실제 솔버를 통해 재생됩니다. 500개 질문 호기심 코퍼스(아동/청소년 질문 대상)는 계산됨, 큐레이션됨, 정성적, 경계, 누락, 솔버 실패 결과를 구분해 추적합니다. 현재 상태: 계산됨 269, 큐레이션됨 20, 정성적 70, 명시적 경계 59, 누락 82(격차는 더 많은 물질이 아닌 단백질 종과 같은 메커니즘이 필요).
### 기술 아키텍처
- `kerotakis-core` — 벤치 상태 머신, 연산자, 에너지 균형, 솔버 라우터, `.lab` 문법
- `kerotakis-phreeqc` — IPhreeqc FFI, 내장 열역학 데이터베이스, 수용액 평형기
- `kerotakis-cea` — 가열/하소/연소용 NASA-9 열화학 및 Gibbs 최소화기
- `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.