Step 0 Ice cells 0 Radius 0 cells Habit - ready FPS 0
Drag to orbit, wheel or pinch to zoom. One hexagon = one lattice cell of ice (greatly magnified; a real flake is about 1 mm wide). The blue haze is the water-vapour field: dark where the growing crystal has used the vapour up.
Snow Crystal Growth: Nakaya Diagram, Hexagonal Lattice and Branching
Grow a snowflake on a cold plate: vapour diffuses to a six-fold lattice, tips outrun the notches, and temperature plus humidity decide plate, column or dendrite.
Pause Step +1 Reset Quality: High
Chamber conditions (set the growth regime)
Regime: - . Temperature and supersaturation choose the model knobs below through a qualitative map of the Nakaya diagram; you can also override the knobs by hand.
Model knobs (Reiter lattice)
View
Vapour field: on Top view
Nakaya morphology diagram (schematic)
Colours: plate, solid column, sector plate, hollow column / needle, dendrite. The dot is your chamber. After Nakaya (1954) and Libbrecht's reviews; boundaries are approximate.
Live readouts
Crystal size and ice mass
Experiment: how does the attachment/branching knob change the shape?
Each row is a fresh run on a 36-cell lattice until the tips reach radius 32 (or 3000 steps), using the β-γ pair that the branching tendency b gives. Compactness is ice cells divided by the cells of a solid hexagon of the same radius: 1 means a full hexagonal plate, small values mean thin branches.
Run branching sweep
Independent numerical checks
Controls Drag / one finger: orbit; wheel / pinch: zoom. Temperature and supersaturation set the regime (and the crystal thickness: plates are thin, columns tall); β, γ, α override it live. Humidity fluctuation and seed apply on Reset : with 0 the flake is perfectly six-fold; real flakes see slightly different conditions on every arm. Speed is lattice steps per second.
The science
Lattice. Space is a hexagonal grid (axial coordinates q, r), because ice Ih has hexagonal symmetry. Each cell holds a water mass s. Cells with s ≥ 1 are ice. A cell is receptive if it is ice or touches ice.
Update rule (Reiter 2005). Split s into a part u that diffuses (non-receptive cells) and a part v that stays (receptive cells, which also gain the attachment term γ). Then s' = v + u + (α/2)(ū − u), where ū is the mean of u over the six neighbours. The diffusion step has variance α/2 lattice units² per step, so the vapour field spreads as in the diffusion equation. The domain edge holds s = β (the humidity of the surrounding air).
Why branches. A protruding tip meets more vapour than a notch (Mullins-Sekerka instability). When β is low and γ is small, supply limits growth and tips run away, which gives dendrites. When β is high or γ is large, every edge grows at nearly the same rate and the crystal stays a hexagonal plate.
Habit. The Nakaya diagram says thin plates grow near −2 °C, columns and needles near −5 to −8 °C, plates and (at high supersaturation) branched dendrites near −10 to −20 °C, and columns again below about −25 °C. Here the thickness follows that temperature rule (a schematic function of age), and the branching tendency b maps to β = 0.9 − 0.5 b, γ = 0.05 · 0.002^b. This map is qualitative: Reiter's β and γ are model knobs, not directly measurable vapour densities or attachment coefficients.
Checks. Closed-domain mass is conserved to rounding; the pure diffusion kernel reproduces the exact mean-square displacement n·α/2; and the grown flake is invariant under 60° rotation and mirror (field error about 1e-15).
Simplifications. Two-dimensional growth; thickness is a schematic function of age, not computed from a 3D diffusion problem; no latent-heat release, no surface melting, no kinetic roughening; the lattice is greatly magnified; the vapour overlay is drawn on a plane. Models built with Blender, scene by Three.js.