Keyboard shortcuts.
| Space | Excite the active electron (emission spectrum) |
| S | Prepare coherent superposition (quantum beats) |
| Delete / Backspace | Remove the focused atom from the scene |
| Ctrl+B | Toggle render mode (legacy = full fidelity / fast = cached DOM for macromolecules) |
| Shift+click (spectrum) | Fire an absorption probe photon at the clicked wavelength |
| Click (spectrum tick) | Re-fire that exact emission transition |
| Click (spectrum gap) | Fire the closest valid transition to that wavelength |
| Drag (scene) | Orbit camera · Shift+drag = pan · Ctrl+drag = box-select atoms |
| Scroll | Zoom (reveals nucleus → quarks at deep zoom) |
Cloud density override. The slider next to "Focus atom (camera)" controls |ψ|² Born sample count per electron.
Auto (default, value −1) scales the count down for large molecules to maintain framerate — full quality for ≤5 atoms, halved for 6-12, quartered for 13-24, minimum for macromolecules. This is a
visual sampling change only: the underlying |ψ|² probability density is computed identically at any sample count (more samples = sharper picture of the same distribution, like increasing pixel count on the same photograph). Setting a manual value (0-60) forces that exact count regardless of molecule size — useful for high-quality screenshots of large molecules at the cost of performance. The physics (orbital energies, bond forces, electron positions) is completely unaffected.
What this is. A working quantum atom for every element from H (Z=1) to Og (Z=118).
Each electron is a ghost particle orbiting on its proper orbital, with the physics layered in:
Configuration (NIST ground states). Aufbau filling order plus the ~17 known
anomalies (Cr 3d⁵4s¹, Cu 3d¹⁰4s¹, Pd 4d¹⁰5s⁰, La/Ce/Gd promotions, Pt/Au, the actinides).
All three Hund's rules: max-S, max-L, and J = |L−S| or L+S depending on fill. HUD shows
the resulting ground-state
term symbol (e.g. ⁴F₃/₂ for V).
Wavefunctions. Exact hydrogenic radial functions from generalized Laguerre polynomials
up to n=7, with correct radial nodes (n−ℓ−1).
Atomic radii — empirical contraction. Measured atomic radii (Wikipedia empirical
column) — critical because they show the
lanthanide contraction (Ce 185 → Lu 175 pm)
and the
actinide contraction (Ac 195 → U 175 pm) properly, which the Clementi
calculated column smears out.
Outer-shell Zeff from measured ionization energies. Rather than approximate
Z
eff via Slater for the outermost electron, we derive it directly from the
experimentally measured first IE: Z
eff = n
eff·√(IE/R). This is the
Desclaux-equivalent: identical accuracy without typing 900 Dirac-Fock values. Inner shells
still use Slater (whose IE isn't directly measurable).
Quantum defects δ_ℓ. Expanded from alkali-only to ~50 elements covering noble gases,
alkaline earths, every transition-metal block, lanthanides, actinides. Calibrated against
measured IEs so Z
eff(outer) comes out near 1.0 for alkalis and 1.5–2 for noble-gas
ions — physically correct.
Relativistic shrinkage. Inner s-shells of heavy atoms multiplied by √(1−(Zα/n)²)
from the Dirac equation. Why gold is gold.
Spin-orbit splitting + visible spin. Each electron has real j = ℓ±½.
⟨r⟩ of j=ℓ+½ vs j=ℓ−½ split by ~(Zα/n)². Spin-up (↑) electrons show white tick above;
spin-down (↓) dark tick below.
Trajectories. Three frequencies in the ratio φ : (1+√2) : (3+√13)/2 — KAM-stable
noble means — detuned per electron by δ
ℓ.
Excitation & emission. Hit
Excite (or spacebar). Outermost electron jumps
to (n+1, ℓ±1) — Δℓ = ±1 dipole selection rule — sits briefly, then decays emitting a photon
at the Rydberg-formula wavelength in its real color. Hydrogen 3→2 emits Balmer-α at 656 nm.
Emission spectrum panel. Below the atom is a wavelength axis from 200 nm (deep UV) to
1200 nm (near-IR). Every emission lays down a tick at its λ; repeated transitions grow brighter
log-style. The visible 380–780 nm band is shown with its true rainbow gradient; UV strip on
the left, IR strip on the right.
Click a tick to re-fire that exact transition.
Click anywhere else on the strip to fire the closest valid transition to that wavelength.
Ionization & recombination. Hit
Ionize and the outermost electron is removed —
the atom becomes a cation and the HUD shows e.g.
Na⁺ cation. Every remaining
electron contracts because there's less mutual screening (lower σ → higher Z
eff →
smaller ⟨r⟩) — Slater's rules drive this in real time. Strip more electrons to get Na²⁺, Na³⁺,
and watch the shells pull in progressively.
Recombine brings the last-removed
electron back, emitting a UV photon at the
ionization-energy wavelength (λ = 1240/IE
nm). The recombination photon lands on the spectrum panel as a special "∞ → n,ℓ" line.
Selectable transitions. A
Grotrian energy-level diagram sits below the spectrum:
five columns (s, p, d, f, g) of horizontal bars, each bar an orbital (n, ℓ) plotted at its real
energy E
n,ℓ = −R·Z
eff² / (n−δ
ℓ)². Populated levels are colored
by shell with white electron dots showing occupancy. Empty levels are dim. To drive a transition:
(1) click an electron in the 3D view — it gets a pulsing white ring.
(2) click an
empty level on the Grotrian. Cyan = electric-dipole allowed (Δℓ = ±1). Orange = forbidden but
firable (Δℓ = 0, ±2 — real "forbidden lines" seen in nebulae). Grey = not above current energy.
Absorption. Shift-click (or right-click) on the spectrum panel at any λ to
shoot a probe photon at the atom from offscreen. If λ matches an excitation transition within
±5 nm, the matching electron jumps up — the photon vanishes and a dark Fraunhofer-style notch
appears on the spectrum band, labeled below in the photon's color. Miss the line and the
photon flies through; the meta text briefly flashes "probe missed." This is the inverse of
emission: emission lines show where the atom
radiates, absorption lines show where it
actually got hit. Try Z=1 → shift-click ~122 nm (deep UV, far left) → Lyman-α absorption.
For Na (Z=11), shift-click ~589 nm — the D-line, the same dark notch in sunlight Joseph von
Fraunhofer mapped in 1814.
External fields — Zeeman & Stark. Two new sliders apply a magnetic field B (along ẑ)
and an electric field E (along x̂). When on, dashed axis arrows appear in the 3D view showing
the field directions.
Zeeman: Each (n,ℓ) splits into (2ℓ+1) m sublevels with energy shifts
ΔE = g
J·m·μ
B·B, where the Landé g-factor is computed from the LS-coupling
formula using ℓ and j = ℓ±½ that each electron carries. The Grotrian fans each level into its
m-sublevels with small ticks labeled +1, 0, −1, etc. Emitted photons split into three components
— π (Δm=0) at the unshifted wavelength, σ⁺ (Δm=+1) blue-shifted, σ⁻ (Δm=−1) red-shifted. In
the 3D view, m≠0 electrons start to
precess around the z-axis at the Larmor frequency
ω
L = g
J·m·μ
B·B/ℏ — opposite m's spin opposite ways.
Stark: The electric field polarizes the atom along x̂. The orbital cloud
shifts off-center toward +x in proportion to E·n²·(1−|m|/ℓ) — the m=0 lobes displace most
(they have the largest dipole moment along the field direction). On the spectrum, every line
shifts to longer wavelengths (red-shifts) by an amount proportional to E².
Try: hydrogen, hit Excite repeatedly to populate Balmer-α (656 nm). Now ramp B
from 0 → 5 T and watch the line split into three. The famous
normal Zeeman triplet.
Crank B to 10 T and the spectrum becomes a forest of split lines (Paschen-Back regime).
Multi-atom mode. Hit
+ Atom to spawn a second atom alongside the first.
Up to 8 atoms total, arranged in a ring around the primary. Each atom is fully independent —
its own electrons, own ground state, own ionization, own ghost trajectories. The HUD / Grotrian /
spectrum panel display the
primary atom (marked with a small white dashed ring); element
symbols appear under each atom's nucleus when more than one is present.
Click any electron
in any atom and that atom becomes primary — HUD, slider, configuration all switch to it.
− Atom removes the last-added one.
Each atom decays independently — excite one, ionize another, set fields, watch them coexist.
Probe photons fired from the spectrum panel can be absorbed by any atom they hit (only absorption
on the primary atom records on the spectrum, since the spectrum represents only that element).
This is the architectural foundation for bonding (Stage 8), crystal field (Stage 9), and beyond —
every later stage just adds physics that operates across atom pairs and clusters.
Wave-particle photons. Photons now render as a composite traveling wave — a glowing
streak body with a sine oscillation riding inside it (spatial frequency scaled to the real
wavelength: tight for blue, stretched for red) and small wavefront arcs at the leading edge.
When a photon reaches an atom — emitted outward, or an absorption probe flying inward — it
collapses to a particle: the wave blooms into a flash and resolves to a white point at
the nucleus. Wave in flight, particle on interaction. Toggle
Wave photons off to
revert to the old simple glowing dots.
Covalent bonding. When two orbital-compatible atoms come within bonding range, a covalent
bond forms automatically.
Compatibility is the real rule: each atom must have a
partially-filled valence subshell (room to share an electron). Two hydrogens (each 1s¹) bond;
two heliums (1s², full shell) do not — try it. On formation, the two valence electrons leave
their atomic orbitals and occupy a
σ bonding molecular orbital — a glowing tube spanning
both nuclei, with the electrons threading through the shared region between them. The bond
releases its bond energy as a photon (bonding is exothermic): H–H releases 4.52 eV at
274 nm, recorded on the spectrum. Pulling bonded atoms apart past ~1.9× the bond range
breaks the bond, which requires supplying the dissociation energy (shown in the HUD).
Quick demo: hit
⚛ Add bond partner to drop a second copy of the current element
just inside bonding range — watch the σ tube snap into place and the bond-energy photon fly off.
Use
✂ Break bonds to dissociate (note the energy cost). Try it with H (bonds),
then He (refuses — full shell), then C, N, O.