Stratified Charge Layers & Their Collective Collapse

An interactive particle model of how a thunderstorm's charge layers form, stack, and collapse — a proposed mechanism for intracloud and cloud-to-cloud lightning.

▶ Launch the interactive simulation Opens in a new window · drag to orbit, scroll to zoom, click a funnel to select it
Jump right in — core actions
ResetRe-randomize particles & clear counters
Pause / ResumeFreeze the physics; camera stays live
Disturb layersTrigger a collapse, then auto-pause
Step ▶Advance one iteration — watch the cascade
Live counters show + / / neutral particles, pair creations, annihilations this iteration, and the iteration number.

What this is

A real-time, browser-based 3D simulation of up to 50,000 charged and neutral particles moving under a vortex flow, mutual electromagnetic forces, and contact-driven charge exchange. Left to run, the particles self-organize into stacked stripes of alternating positive and negative charge. Disturb that equilibrium and the stripes collapse into one another in an ordered, propagating cascade — the model's analogue of a lightning discharge.

The simulation was the instrument through which the underlying theory was discovered: the layered structure, its oscillation, and the collapse cascade were all recognized by direct manipulation rather than derived on paper. This page explains the science briefly and documents every control so you can reproduce the behaviors yourself.

Colour key. positive particle negative particle neutral particle +/− annihilation flash

The idea in three steps

  1. Stratification. Collisions between neutral particles create positive–negative pairs; the vortex shears and sorts them by mass, so like charges gather into horizontally elongated stripes that stack in alternating polarity — mirroring the layered charge structure balloon soundings find in real storms.
  2. Metastability. The stripe stack settles into a delicate equilibrium, held apart by mass sorting and a brief recombination cooldown. It first oscillates, then stabilizes — a predicted pre-discharge "breathing" mode.
  3. Collapse cascade. A disturbance makes the nearest stripe pair interpenetrate and annihilate; that unbalances the neighbours, which fall in turn, so an ordered front sweeps along the stack toward its ends — a one-way sweep if triggered at an end, a two-way spread if triggered in the middle. This is the proposed discharge mechanism.

Quick start

  1. Open the simulation and let it run ~10–20 seconds until alternating stripes form (lower % neutral toward ~50 to see charge sooner).
  2. Turn on Flash on +/− recombination to see annihilation events as yellow sparks.
  3. Click Disturb layers. The simulation pauses and applies the perturbation.
  4. Press Step ► repeatedly to walk the collapse forward one iteration at a time and watch the cascade propagate; press Resume for full speed.
  5. Drag to orbit, scroll to zoom, and click a funnel to select it for the per-tornado controls.

Controls

Ranges and default values below match the simulation as configured for the study.

Global — population & physics

ControlRangeWhat it does
Particles100–50,000 · 20,000Total number of particles in the domain.
Avg. particle speed0–20 · 20Time-step multiplier; scales how fast the whole simulation advances.
% neutral0–100 · 100Fraction of particles that start neutral; the rest split evenly into + and −.
Positive-ion mass1–30 · 1Mass (and size) of positive carriers relative to electrons; the mass asymmetry drives vertical sorting.
EM cutoff6–200 · 50Maximum range of the Coulomb and magnetic forces between charges.
Gravity0–20 · 0Downward acceleration, scaled by particle mass. Off by default.
Ambient particles (%)0–100 · 0Fraction tagged to ignore the vortex flow (they still feel EM, gravity, collisions).

Per-tornado shape & flow (click a funnel to select it)

ControlRangeWhat it does
X / Z position±150 / ±100 · 0Horizontal location of the funnel's axis.
Bottom radius0–60 · 5Core radius at the base of the column (0 = a point tip).
Top radius0–80 · 25Core radius at the top of the column.
Concavity0.2–3 · 0.7Profile exponent: <1 flares near the base (funnel), 1 = straight cone, >1 bulges toward the top.
Column height60–300 · 140True length of the funnel from base to top.
Spin speed0.5–8 · 2.4Angular velocity at mid-column (constant-circulation vortex).
Ground clearance0–100 · 40Height of the funnel base above the ground; 0 = touching down.
Updraft0–40 · 12Strength of the annular upward flow around the core wall.
Downdraft (eye)0–40 · 0Optional central downdraft, for a two-cell vortex.
Vortex tilt0–90° · 0Tilts the whole column (and its charge stack) about its mid-height, to any angle.

Multiple vortices

ControlRangeWhat it does
Number of tornadoes1–6 · 1How many counter-rotating vortices to place in the domain.
Tornado separation0–280 · 30Spacing between the vortex axes.

Toggles & modes

Touch ground — drops the selected funnel's base to the surface.

Show charge layers — overlays semi-transparent rings marking the dominant charge in each height band.

Constant min density (boxes) — replenishes any thinned region to its initial density (off by default).

Radial flow (inflow & vent) — enables the pressure-gradient inflow and top outflow (on by default).

Vortex field (spin, up/downdraft) — master switch for all imposed flow; off leaves only electromagnetic forces.

Flash on +/− recombination — draws a yellow spark at each annihilation event.

Charge creationParticle collisions (default) or Triboelectric transmutation: how neutral contacts generate charge.

BoundariesRespawn (default), Wrap-around, or Elastic bounce for particles that reach a wall.

EM accelerationWebGL GPU (default), Barnes–Hut, or None: how the electromagnetic forces are computed.

Top layers shown — how many charge-layer rings to display when layers are shown.

How to reproduce the key result

  1. Let the stripes form and stabilize (watch them oscillate, then settle).
  2. Enable flashes, then Disturb layers.
  3. Step through the collapse: note that the annihilation front starts where the disturbance lands and sweeps toward the extremities, and that the per-iteration annihilation counter spikes far above the pair-creation rate during the cascade.
  4. After the cascade, let it run — the population re-stratifies and the cycle can be repeated.
  5. Try tilting the vortex before disturbing it: the entire cascade tilts with the stack, confirming the mechanism is indifferent to orientation.
age to the simulation's public URL before sharing.