35cbbb04c63ae04254f4ab91ffb1de60db5fd872
Three fixes from user feedback: 1. Single-pulse discharge (user spotted 3 current humps for one stage): a thyristor fires ONCE per shot -- you can't recharge the cap in microseconds. The discharge now terminates at the first current zero OR first local minimum (where the slug starts pumping current back), whichever comes first. Residual coil energy at cutoff is accounted as freewheel-diode dissipation using the exact saturating magnetic energy integral, so energy still balances. Verified: 3 humps -> 1. 2. Real tube geometry: the genome now carries tube INNER diameter (bore, the projectile flies through) and wall thickness; outer diameter = inner + 2*wall = the coil's inner diameter (which drives the field). The projectile must fit the bore (diameter < inner - clearance). 3. Projectiles up to 200 g: diameter to 28mm, length to 150mm, with mass capped at 200g (length clamped by density). Detail/BOM now report inner/outer/wall tube diameters, projectile mass in grams, and whether it fits the bore. Same single-pulse + eddy physics mirrored into the GPU batch integrator. Evolutionary polish updated for the new tube params. All test groups pass. 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%