loading...
Density versus height: oil curve (blue) and wax blobs (orange); a blob left of the curve is buoyant
running...
The science
What a lava lamp really is. A glass bottle of oil sits on a bulb. A pool of wax lies on the floor. Wax and oil are chosen so that the wax is slightly heavier than the oil when everything is cold, but expands faster when heated. The bulb warms the pool until it becomes lighter than the oil above it, a blob lifts off, cools on the way up, becomes heavier than the oil again and sinks. It is natural convection in a bottle, and the same physics drives mantle plumes and the Sun's granules.
Densities (Boussinesq-style).
ρoil(T) = ρ0 [1 − βf (T − 20°C)], ρwax(T) = ρ0 (1 + δ) [1 − βw (T − 20°C)]
wax is buoyant when ρwax(Twax) < ρoil(Toil(y))
Here δ is the small weight excess of cold wax (a fraction of a percent), βw > βf are the thermal expansion coefficients and ρ0 = 950 kg/m³. The oil temperature is a prescribed profile Toil(y) = Troom + 0.55 (Tfloor − Troom) (1 − y/H)p (honest simplification: the oil does not warm up because of the wax).
Motion of one blob. Newton's law with buoyancy, added mass and a Schiller-Naumann drag that reduces to Stokes' law at low Reynolds number:
(ρwax + ½ ρoil) V dv/dt = (ρoil − ρwax) V g − 6π μ r (1 + 0.15 Re0.687) (v − uoil), Re = ρ |v − u| 2r / μ
Stokes limit: vt = 2 g (ρoil − ρwax) r² / (9 μ)
Heat exchange. A blob is a lumped sphere (small Biot number): m c dT/dt = h A (Toil − T), h = Nu k / 2r, with the Ranz-Marshall correlation Nu = 2 + 0.6 Re1/2 Pr1/3. At rest (Nu = 2) the blob cools exponentially with τ = ρwax c r² / (3 k), about 17 minutes for r = 1.4 cm. Blobs that touch the cap or glass also lose heat by direct conduction.
Why a blob is released. The pool is heated through the floor, so its density drops. A lighter layer under a heavier fluid is Rayleigh-Taylor unstable, but interfacial tension σ holds the surface flat until the Bond number Bo = Δρ g r² / σ exceeds 1. Then a bulge grows, necks and pinches off as a blob of radius r (the neck-thinning time is a fitted constant, not a fluid solver). Cold start: Bo < 0 for the first ~40 minutes.
Rayleigh number and the oil roll. Ra = g βf ΔT H³ / (ν α) compares buoyancy with viscous and thermal damping; rigid plates become unstable above Rac = 1708 (Rayleigh-Benard), and the default lamp is at about 108, deep in the convecting regime. The oil then carries a large-scale roll. It is modelled as an axisymmetric, divergence-free field (up on the axis, down at the wall) with speed U = 0.3 (α/H) Ra1/2, the classic scaling for turbulent convection; the gain slider multiplies it.
Merging and splitting. Blobs that touch merge, conserving volume (r = (r1³ + r2³)1/3), momentum and heat. A drop bigger than 1.9 times the release radius pinches off into two (Rayleigh-Plateau instability, crude threshold). Blobs that sink onto the pool are re-absorbed. The total wax volume is conserved to machine precision.
Honest limits. Blobs are spheres, never stretched; the oil is not solved (prescribed temperature and a fixed roll); no latent heat, no wax melting front, no viscosity change with temperature, no wall effects on drag. The wax surface shown is an iso-surface of summed blob fields drawn for looks; the physics runs on the spheres. Real lamps need 45-60 minutes to start - use the speed slider.
Numerical checks (run in this page). (1) Terminal speed in very viscous oil vs Stokes' law; (2) e-folding time of a held blob vs τ = ρ c r²/(3k); (3) wax volume after 4000 s with releases, merges, splits and re-absorption vs the start; (4) merged radius 21/3 r and momentum; (5) Rayleigh number vs the hand formula; (6) the rendered surface volume (or contour area) of one blob vs the physical sphere.