Bioluminescent Plankton Night Sea (3D)

A Blender kayak and paddle stir a dark sea: plankton flash where the 3D strain rate of the flow exceeds their shear threshold, then recharge.

Switch to 2D

Presets

Playback

Kayak and paddle

Plankton

Camera

Layers

Quality

Model check

The science

Why plankton flash

Many dinoflagellates (for example Lingulodinium, Noctiluca) emit a blue flash of about 0.1 s when the water around them is sheared or stretched: a stretch-sensitive membrane signal opens proton channels and triggers the luciferin-luciferase reaction in organelles called scintillons. The flash is a defence: it startles small grazers and attracts their predators. A wake, a breaking wave or a paddle stroke produces the shear that lights up the sea.

Flow around the moving body

The page treats the moving body as a circle (2D) or sphere (3D) of radius R moving at speed U through still water (potential flow). The velocity is a dipole field, u = (R²/r²)[2(U·r̂)r̂ − U] in 2D and u = (R³/2r³)[3(U·r̂)r̂ − U] in 3D. The scalar strain (shear) rate γ̇ = √(2 eijeij) follows 4UR²/r³ in 2D and UR³/r&sup4; √(27cos²θ + 9sin²θ) in 3D, and the page checks this against a finite-difference derivative of the velocity field.

Threshold, flash and recovery

A cell flashes when the shear stress τ = μ γ̇ T reaches a threshold (water viscosity μ = 1 mPa s). Measured thresholds are of order 0.1 Pa for some species and lower for others; the default 0.08 Pa and the slider range are illustrative. T is an illustrative multiplier for the extra shear of a turbulent wake and boundary layer, which potential flow does not contain (T = 1 is the pure potential-flow answer). The trigger radius, where τ equals the threshold, is r = (4μ T U R²/τth)1/3 in 2D. After a flash the brightness decays as e−t/0.2 s and the cell keeps only half of its luciferin store, which recovers as dc/dt = (1 − c)/τrec; a cell below 25% store cannot flash. Real recovery takes minutes to hours of darkness; the slider shortens it so you can watch it.

Advection and diffusion

Each cell moves with the water, dx = u dt (second-order midpoint step), plus a random swimming step of variance 2D dt per axis, so the mean squared displacement is 4Dt in 2D and 6Dt in 3D (checked in the page). Cells wrap around at the edges; the number drawn is a representative sample, not a real concentration (the sea holds roughly 103 to 106 cells per litre).

Honest simplifications

Potential flow (no viscous boundary layer, no wake) with a multiplier standing in for turbulence; a step threshold instead of a stochastic, history-dependent response; no flash latency or species differences; one body shape; the hull and each paddle blade are approximated by spheres (hull radius 0.28 m) moving through the water. Numbers such as thresholds and recovery times are order-of-magnitude values for teaching, not measurements of a particular species.

Checks run in the page

(1) Finite-difference strain rate against the analytic formulas, 2D and 3D. (2) Mean squared displacement of the random swimming step against 4Dt and 6Dt. (3) The advection integrator returns a cell to its start after one turn of a solid-body rotation, and the store recovery matches its analytic exponential.

Loading model...
Loading Blender model...
Light output and paddle speed
Shear stress against distance with the threshold
Luciferin store and cells ready to flash
Where the flashes happen (distance histogram)
Made with 🟠 Blender · Three.js