1029f4031859b90ed7d86d0e0b050f0e31b0bb60
A real 5000-run sweep through Docker found the evolutionary optimizer's best genome reporting efficiency=387%. Root cause: efficiency was computed as exit_kinetic_energy / capacitor_energy_in, but exit kinetic energy includes the fixed initial_v_mps launch push (a modeling assumption, not something paid for by the capacitors) -- for a light enough projectile, that free energy dominates and the ratio blows past 1. Fixed by using kinetic_energy_delta (the energy the coils actually added) instead of absolute exit KE. The per-stage energy identity (energy_in = remaining_cap + dissipated + kinetic_delta) guarantees kinetic_delta <= energy_in, so this metric can never exceed 1.0 -- provably, not by luck. Added a regression test with a light projectile + large initial velocity reproducing the exact failure mode. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
gausse
Симулятор и оптимизатор многоступенчатого электромагнитного ускорителя (coilgun) на реальных, доступных в рознице компонентах.
Полный план и чек-лист этапов — в PLAN.md.
Установка (Docker — основной способ)
docker compose build
docker compose run --rm --entrypoint pytest gausse -q # тесты
docker compose run --rm gausse sweep --n 1000 # CLI (после реализации Этапа 6)
Результаты (SQLite, отчёты) должны сохраняться в ./results, примонтированный
в контейнер как /app/results (см. docker-compose.yml), чтобы переживать
пересборку образа.
Установка без Docker (локальная разработка)
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
Description
v0.1.0
Latest
Languages
Python
98.9%
Shell
0.9%
Dockerfile
0.2%