Release Stats
New Simulations
Ant Colony
Ant Colony Optimization (ACO) solving the Travelling Salesman Problem on 16 randomly placed cities. Watch pheromone trails thicken along better routes and the best tour (highlighted in pale green) converge over hundreds of iterations. Controls for α, β, evaporation rate ρ, deposit strength Q, and colony size.
Open Ant Colony →Band Structure
Semiconductor E-k diagram for six real materials: Si, Ge, GaAs (direct gap), Diamond, SiO &sub2; (insulator), and Cu (metal). Fermi-Dirac occupation curve, density-of-states histogram, temperature slider (0–1000 K) and doping slider (−5 to +5) shift the Fermi level continuously.
Open Band Structure →Lorenz Waterwheel
Physical Malkus waterwheel with 12 leaking buckets, driven by RK4-integrated Lorenz equations (σ, r, b). Left panel animates the wheel; right panel shows the x–z phase portrait trail and x(t) time series. Three presets: Chaotic (r=28), Stable (r=14), Edge of Chaos (r=24.7).
Open Lorenz Waterwheel →Ant Colony — Design Notes
ACO Algorithm
Ant Colony Optimization is a probabilistic metaheuristic inspired by the stigmergic behaviour of real ants. Each “ant” in the simulation builds a complete tour through all 16 cities by repeatedly choosing its next city using a roulette-wheel selection weighted by:
-
p(i → j) = τijα · ηijβ / ∑ τikα · ηikβ
where τij is the pheromone level on edge
(i, j), ηij = 1 / dist(i, j) is the
heuristic (inverse distance), and α and
β are user-controlled weights. After all ants
complete their tours, pheromone evaporates:
-
τij ← (1 − ρ) · τij(floored at 0.1 to prevent extinction)
then each ant deposits Q / tour_length on its edges,
rewarding shorter paths. Within 50–200 iterations the colony
reliably converges to a near-optimal tour.
Pheromone Rendering
Edges are drawn with width and opacity proportional to the normalised
pheromone level
t = τij / τmax: line width = 0.5 + t × 3.5 px and alpha =
t × 0.7 in the emerald colour #10b981.
The current best tour is redrawn each frame as a solid
#a7f3d0 line at width 2, making the winning path
immediately legible against the faint pheromone background.
Controls & Stats
- Ants (10–120): colony size per iteration.
- α (0.5–4): pheromone weight — higher values amplify exploitation of existing trails.
- β (0.5–5): heuristic weight — higher values favour greedy nearest-neighbour moves.
- ρ (0.01–0.3): evaporation rate — higher values forget old routes faster.
- Q (10–200): deposit strength — scales deposit per unit length.
- Speed (1–8×): ACO iterations per animation frame.
Stats panel shows best tour length (px), iteration count, current average tour length, and improvement percentage vs. the initial random tour.
Band Structure — Design Notes
E-k Diagram
The Brillouin zone runs from −π/a to
+π/a on the k-axis. For semiconductor materials the
simulation draws two valence bands (heavy hole and light hole, both
parabolas curving downward from k=0) plus a split-off band shifted
−0.3 eV below the valence band top. For indirect-gap materials
(Si, Ge) the conduction band minimum is displaced to
k ≈ ±0.45π/a; for direct-gap GaAs the
minimum sits at k=0.
Fermi-Dirac & Doping
The Fermi level for an intrinsic semiconductor is pinned near mid-gap
(E F = Eg/2). The doping slider shifts it linearly
±0.4 eV: “n-type” doping (+) raises E F
toward the conduction band, increasing electron concentration;
“p-type” doping (−) lowers it toward the valence
band, increasing hole concentration. The Fermi-Dirac panel visualises
f(E) = 1 / (1 + exp((E − E F) / k T))
as a curve over the same energy range: at 0 K it is a step function;
at 1000 K it is broadly rounded.
Density of States
The density-of-states (DOS) panel to the right of the E-k diagram
shows a simplified parabolic DOS per energy slice. For semiconductors
the valence-band DOS is proportional to
√(−E) below 0 eV and the conduction-band DOS
is proportional to √(E − Eg) above
Eg. Each row pixel is coloured by Fermi-Dirac occupancy:
filled states appear blue, empty states appear dark red, and the
Fermi-smeared transition region near E F blends
between them.
Lorenz Waterwheel — Design Notes
Equations of Motion
Lorenz (1963) derived his famous three-ODE system while modelling Rayleigh–Bénard convection. Malkus & Howard (1972) showed that the same equations describe a leaky waterwheel: if bucket water an and bn are the Fourier amplitudes of the azimuthal mass distribution, and x, y, z are appropriate linear combinations, the system reduces exactly to:
dx/dt = σ(y − x)dy/dt = x(r − z) − ydz/dt = xy − bz
where x is proportional to wheel angular velocity,
y & z encode the asymmetric water distribution.
The integration uses fourth-order Runge-Kutta at
dt = 0.005.
Attractor Regimes
The system has three qualitatively different regimes depending on the Rayleigh number r:
- r ≤ 1: single fixed point at the origin — wheel always comes to rest.
- 1 < r < 24.74: two stable non-trivial fixed points — wheel spins steadily in one direction.
- r > 24.74: chaotic attractor — rotation direction reverses unpredictably, tracing the double-lobed butterfly in the x–z phase plane.
The three preset buttons set r = 28 (chaotic), 14 (stable fixed points), and 24.7 (edge of chaos) respectively.
Waterwheel Visualisation
Twelve buckets are equally spaced around a circle of radius 140 px.
Each bucket has a fill level (0–1) shown as a blue arc clipped
to the bucket circle. Every integration step, water drips into the
bucket nearest the top-centre of the wheel, while all buckets leak
proportional to their current fill level (mimicking real bucket
holes). The wheel rotation angle increments by
x × dt × 0.15
each step, so the visual angle is a direct integral of the Lorenz
x variable. A green/red arc around the rim indicates the
current rotation direction (±x).
Ukrainian Translations
All three simulations are available in Ukrainian at
/uk/ant-colony/, /uk/band-structure/, and
/uk/lorenz-waterwheel/. Key translated strings include:
- Ant Colony: “Мурашина Колонія”, “Вага феромону”, “Вага відстані”, “Випаровування”, “Осадження”, “Новий граф”, “Скинути”.
- Band Structure: “Зонна структура”, “Валентна зона”, “Зона провідності”, “Заборонена зона”, “Рівень Фермі”, “Легування”, “Власний”.
- Lorenz Waterwheel: “Колесо Лоренца”, “Атрактор Лоренца”, “Число Релея”, “Пауза”/“Грати”, “Скинути”, “Хаотичний”.
What’s Next — Wave 37 Preview
The backlog continues to grow. Candidates for Wave 37 include:
- SVD Compression — Singular Value Decomposition applied to image compression; watch reconstruction quality improve as rank increases (linear algebra / signal processing).
- Z-Pinch — Self-compressing plasma column under a self-generated magnetic field; visualise the Rayleigh–Taylor instability (plasma physics).
- Potential Energy Surface — 2D contour map of a molecular potential energy landscape with reaction path optimisation (physical chemistry / computational chemistry).
All Wave 37 simulations will ship with EN + UK pages on launch day.