Model card

Virtual Reactor Lab

A browser virtual laboratory of a reduced linear-mirror model — a simulation platform, not a reactor. The lab kernel vrlab_core COMPOSES the tested reactor3d_core solver (one calculation truth) and adds synthetic sensors, DirectConvert stage records, an electrical energy chain and a component manifest. The renderer only draws kernel output.

No net-energy, reactor-performance, engineering-feasibility or high-voltage construction guidance. All sensors are SYNTHETIC; loss factors and conditioning efficiency are ASSUMED and labelled.

Fidelity ladder (declared, not faked)

  • VIS — hall/tour visuals only; no scientific output claim.
  • L0 — analytical ideal upper bound (loss-free collector, no stopping).
  • L1 — reduced loss-aware model (default): static plasma profiles, weighted alphas, detector efficiency, parameterised DC losses.
  • L2 — field-map trajectories: planned; the kernel REFUSES to fake it.
  • L3 — WarpX / Geant4 reference runs: planned (offline research path).
  • DT — true digital twin synchronised to hardware: future. Per NIST usage, the current system is a model, not a digital twin.

What is calculated (browser instant path)

  • Child reactor run via reactor3d_core: reactivity, Poisson events, Boris trajectories, detectors, fixed-stage DirectConvert, exact alpha ledger.
  • Per-alpha DC stage events (entering energy, assigned stage, recovered, loss, rejection reason) summing EXACTLY to the ledger channel.
  • 10+ synthetic sensors derived from the run state (or declared assumed), deterministic noise seeded by run identity.
  • Energy chain: gross DC → one assumed conditioning step → usable model power into a simulated load.

Traceability

  • Two-level identity for the LAB run (input_fingerprint + run_hash) plus the child reactor identity in outputs.
  • The default lab run's child IS the canonical Reactor 3D run — provable lineage, pinned by tests.
  • Custom runs get distinct identities and are never linked to the canonical Hub record.
  • Component manifest with stable IDs (VESSEL-001, COIL-MIRROR-L, DC-GRID-01…) generated by the kernel.

Honest display rules

  • Particle markers enlarged; each is a weighted macro-particle (banner shown).
  • Physical time vs slow-motion multiplier displayed side by side.
  • Sensor badges: synthetic / assumed / ok / saturated — no reading exists that is not derived from the run state or declared as an assumed input.
  • Bremsstrahlung stays a separate plasma diagnostic outside the alpha budget.

Verification (vrlab tests)

  • Pinned canonical lab identity + child lineage.
  • Sensor determinism; calorimeter == ledger channel; DC current charge == stage events (exact).
  • Energy chain closes exactly; L0 gross ≥ L1; non-negative channels.
  • Planned fidelities rejected with a clear message.

Research path (specified, not deployed)

  • FastAPI + PostgreSQL + object storage + job workers for sweeps and L2/L3 reference runs (this static site runs the instant path only).
  • Blender/glTF asset pipeline, WebGPU renderer and WebXR: planned upgrades documented in the architecture note.