Atom_Sim: Physics Simulator Dev Log
An atom simulator built on one rule: Every number has a label (exact, numerical, approximation, counterfactual, or visual_liberty). Unlabeled numbers are treated as bugs.
Stack: Python physics engine -> React + Three.js frontend.
Phase Logs
Phases 1–3: The Hydrogen Foundation
- Hydrogen Core: Uses exact math for energies and wavefunctions. Validates its electron clouds using statistical KS tests.
- Numerical Solver: Solves the Schrödinger equation for custom shapes. It calculates its own accuracy by halving the grid spacing.
- Constants Lab: Allows changing fundamental constants (hbar, e, c). It proves that changing individual units changes nothing if the ratio between them stays the same.
- Classical Ghost: Shows old Bohr orbits collapsing, proving why classical physics cannot explain atoms.
Phases 4–6: Altered Potential & Real Atoms
- Fake Physics: Simulates universes with non-standard forces (like Yukawa or power laws) under a clear warning banner.
- Screened Atoms: Models elements from Helium to Argon using historic 1974 data. If an element (like Sulfur or Chlorine) lacks clean data, it is left out entirely rather than guessed.
Phases 7–12: Fields, Relativity & Nuance
- Dirac Math: Tracks exact relativistic shifts and highlights what the math misses (the Lamb shift).
- External Fields: Simulates atoms splitting under magnetic fields (Zeeman effect) and electric fields (Stark effect).
- Hyperfine: Models the 21 cm hydrogen line using the precise electron-to-proton mass ratio.
Phases 13–17: Light, Speed & Thermodynamics
- Fast Math: Uses a custom integration trick to calculate atomic lifetimes exactly and 13x faster.
- Doublet Ratios: Proves via quantum math (Wigner 6j) why certain spectral lines are twice as bright as others.
- Heat Sliders: Combines Saha and Boltzmann equations to turn raw rates into actual visible light. Dragging the temperature slider smoothly hands Lyman lines over to Balmer lines.
Phase 18: Line Profiles (Current Work)
Replaces infinitely sharp lines with realistic Voigt profiles using three combined factors:
- Natural Width: A Lorentzian shape caused by how fast an excited state decays.
- Doppler Width: A Gaussian shape caused by thermal motion. Works perfectly for normal hydrogen, positronium, and muonic hydrogen.
- Instrumental Width: A Gaussian blur based on the user’s chosen telescope or sensor resolution.
Note on Missing Physics: Collision/pressure broadening is not simulated. Instead of a text disclaimer, the app calculates how large that missing effect would be and prints the raw margin of error right next to the chart.
Core Development Rules
- No Smoke Tests: Every physics feature must pass an automated math test.
- No Live Fetches: All reference data is saved locally with a hard citation.
- No Silent Approximations: If the code cannot calculate something honestly, it stops and prints exactly what data is missing.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.