ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
실시간 인터랙티브 토카막 플라즈마 물리 시뮬레이터. ITER·JET·DIII‑D·CENTAUR를 0D 전송, 평형 재구성, 3D 시각화로 탐색
Real-time interactive tokamak plasma physics simulator. Explore ITER, JET, DIII-D, and CENTAUR with 0D transport, equilibrium reconstruction, and 3D visualization.
교육TypeScript · RustGitHub @d-burg온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기fusionsimulator.io – a real-time fusion control room simulator
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A real-time tokamak plasma simulator that runs entirely in your browser.
fusionsimulator.io combines a Rust physics engine (compiled to WebAssembly) with a
React/TypeScript frontend to provide an interactive control room experience
for exploring tokamak plasma behavior.README 전문 보기 ↗A real-time tokamak plasma simulator that runs entirely in your browser. fusionsimulator.io combines a Rust physics engine (compiled to WebAssembly) with a React/TypeScript frontend to provide an interactive control room experience for exploring tokamak plasma behavior.
The simulator implements peer-reviewed physics models from the fusion literature:
| Model | Reference |
|---|---|
| MHD equilibrium | Cerfon-Freidberg analytic Grad-Shafranov (PoP 2010) |
| Energy confinement | IPB98(y,2) scaling (ITER Physics Basis, NF 1999) |
| L-H transition | Martin power threshold scaling (JPCS 2008) |
| Beta limit | Troyon normalized beta limit (PPCF 1984) |
| Density limit | Greenwald limit (PPCF 2002) |
| Fusion reactivity | Bosch-Hale parameterization (NF 1992) |
| Divertor heat flux | Eich SOL width scaling (NF 2013) |
| Radial profiles | OMFIT tanh-pedestal parameterization |
For complete citations and equations, see the in-app Bibliography page.
Disclaimer: fusionsimulator.io uses 0D scaling laws and analytic approximations. It is an educational and visualization tool, not a predictive transport code.
# Clone the repository
git clone <repo-url>
cd fusion-sim
# Full build (WASM engine + frontend)
./build.sh
# Serve the built app
cd web && npx vite preview
# Build WASM module
wasm-pack build crates/tok-sym-core \
--target web \
--out-dir ../../web/src/wasm \
--no-default-features \
--features wasm
# Start frontend dev server (with hot reload)
cd web
npm install
npm run dev
The dev server runs at http://localhost:5173 by default.
# Rust physics engine tests (full-pulse tests are slow in debug; use --release)
cargo test --release -p tok-sym-core
# Envelope sweep: every planner control at five levels on every device and
# preset, run through the engine and checked for plausibility (~5 min on 6
# cores). Regenerate the program matrix whenever a preset, a slider range or
# the program builder changes; the matrix check fails when it is stale.
cargo test --release -p tok-sym-core --test envelope -- --nocapture
cd web && npm run matrix:emit && npm run matrix:check
# TypeScript type checking
cd web && npx tsc -b
# Lint
cd web && npm run lint
cargo doc -p tok-sym-core --no-deps --open
This opens the auto-generated API documentation for the physics engine in your browser. All public types and functions are documented with rustdoc comments.
fusion-sim/
├── crates/tok-sym-core/ Rust physics engine (~5,500 lines)
│ └── src/
│ ├── equilibrium.rs Cerfon-Freidberg Grad-Shafranov solver
│ ├── transport.rs 0D power balance (IPB98, L-H, ELMs)
│ ├── profiles.rs Tanh-pedestal radial profiles
│ ├── devices.rs DIII-D, JET, ITER, CENTAUR definitions
│ ├── disruption.rs Disruption risk & dynamics
│ ├── diagnostics.rs Synthetic diagnostic signals
│ ├── contour.rs Marching squares contour extraction
│ ├── simulation.rs Top-level orchestrator
│ └── wasm_api.rs WASM-bindgen API surface
│
├── web/ React frontend (~11,600 lines)
│ └── src/
│ ├── lib/ Shared libraries (WASM init, hooks, physics)
│ ├── components/ UI components (canvas, panels, 3D view)
│ ├── pages/ Route pages (DeviceSelect, ControlRoom, etc.)
│ └── wasm/ Generated WASM output
│
├── build.sh Full build script
└── ARCHITECTURE.md Comprehensive architecture guide
For detailed documentation of every module, function, and component, see ARCHITECTURE.md.
┌─────────────────────────────────────────────────┐
│ Browser │
│ │
│ ┌──────────────┐ ┌────────────────────────┐ │
│ │ Rust/WASM │───▶│ React/TypeScript │ │
│ │ Physics │JSON│ │ │
│ │ Engine │◀───│ useSimulation hook │ │
│ │ │ │ │ │ │
│ │ • Equilibrium│ │ ├─ EquilibriumCanvas │ │
│ │ • Transport │ │ ├─ StatusPanel │ │
│ │ • Profiles │ │ ├─ UnifiedTracePanel │ │
│ │ • Disruption │ │ ├─ PortView (3D) │ │
│ │ • Contours │ │ └─ PulsePlanner │ │
│ └──────────────┘ └────────────────────────┘ │
└─────────────────────────────────────────────────┘
All physics runs in the WASM module. The TypeScript layer handles rendering, user interaction, and some display-only derived computations (fusion Q, divertor heat flux via Bosch-Hale and Eich scaling).
GNU General Public License v3.0 (GPL-3.0-only). See LICENSE for details.
Developed by Daniel Burgess and the Columbia Fusion Research Center.
Copyright 2026 Daniel Burgess. Released under the GPL-3.0 license.