🌊 Taylor-Green Vortex Decay

Simulate the Taylor-Green vortex — a canonical turbulence benchmark. Watch the initial sinusoidal velocity field cascade energy to smaller scales as enstrophy grows.

Fluid DynamicsInteractive
Colour = vorticity magnitude · P pause · R reset

How it Works

The Taylor-Green vortex starts from a periodic sinusoidal initial condition in a box [0, 2π]². The velocity field u(x,y,0) = U·sin(kx)cos(ky) and v(x,y,0) = -U·cos(kx)sin(ky) satisfies incompressibility exactly. We solve the vorticity-streamfunction formulation of the 2D Navier-Stokes equations on a grid using finite differences.

The vorticity ω evolves as Dω/Dt = ν∇²ω. Energy initially concentrated at wavenumber k cascades to higher wavenumbers as vortex structures stretch and fold, while viscosity dissipates energy at the smallest scales. Enstrophy (integral of ω²) first grows then decays.

u(x,y,0) = U sin(kx) cos(ky)
v(x,y,0) = −U cos(kx) sin(ky)
ω = ∂v/∂x − ∂u/∂y
∂ω/∂t + u·∇ω = ν∇²ω

Frequently Asked Questions

What is the Taylor-Green vortex?

The Taylor-Green vortex is an exact solution to the incompressible Navier-Stokes equations at t=0, defined by a sinusoidal velocity field. It is a canonical test case for turbulence models and numerical methods.

What is an energy cascade in turbulence?

Energy cascade is the process by which kinetic energy is transferred from large eddies to progressively smaller ones until viscous dissipation converts it to heat. Kolmogorov's theory describes the cascade spectrum E(k) ~ k-5/3.

What is enstrophy?

Enstrophy is the volume integral of vorticity squared: E_n = 0.5·∫ω²dV. In 2D turbulence it is conserved; in 3D it grows during the energy cascade and peaks before viscous dissipation dominates.

What are the Navier-Stokes equations?

The Navier-Stokes equations describe the motion of viscous fluids: ρ(Du/Dt) = −∇p + μ∇²u + f. They encode conservation of momentum and, with the continuity equation, conservation of mass.

Why is the Taylor-Green vortex used as a benchmark?

Its analytic initial conditions, periodic boundary conditions, and known energy decay rates make it an ideal test for DNS codes, LES models, and spectral methods without the complexity of boundary-layer flows.

What is Reynolds number and how does it affect the simulation?

Reynolds number Re = UL/ν measures the ratio of inertial to viscous forces. At higher Re the energy cascade extends to smaller scales, enstrophy peaks later, and the flow becomes more chaotic before decaying.

What is Direct Numerical Simulation (DNS)?

DNS resolves all scales of turbulence from the energy-containing eddies down to the Kolmogorov length scale without turbulence modelling. For the Taylor-Green vortex at Re=1600 it requires roughly 512³ grid points.

What is the Kolmogorov length scale?

The Kolmogorov scale η = (ν³/ε)1/4 is the smallest length scale where turbulent energy is dissipated by viscosity. Below this scale the flow is smooth and laminar.

How does vortex stretching affect turbulence?

Vortex stretching occurs when a vortex filament is aligned with a strain-rate eigenvector. Stretching intensifies the vorticity and transfers energy to smaller scales, a key mechanism absent in 2D turbulence.

What happens to kinetic energy over time in the Taylor-Green vortex?

Kinetic energy decays monotonically from its initial value. Enstrophy first rises as vortex structures form and stretch, then decays as viscosity dissipates the small-scale fluctuations.

About this simulation

This simulation solves the 2D vorticity-transport equation on a 64×64 periodic grid, starting from the exact Taylor-Green initial condition u=U·sin(kx)cos(ky), v=−U·cos(kx)sin(ky). Each frame advances vorticity by finite-difference advection plus viscous diffusion (ν=1/Re), then reconstructs the velocity field. Watch kinetic energy decay monotonically while enstrophy first rises as vortex lobes stretch, then falls once dissipation takes over.

🔬 What it shows

A 2D array of counter-rotating vortex cells that stretch, fold and dissipate over time, illustrating the turbulent energy cascade from large to small scales in a doubly-periodic box.

🎮 How to use

Drag Reynolds Number Re to change the inertia-to-viscosity ratio, Wave Number k to set the initial vortex count, and Amplitude U to scale the starting velocity. Switch the Display dropdown between Vorticity, Speed and Streamlines, or press P/R to pause/reset.

💡 Did you know?

Because it has a known analytic initial condition and no walls, the Taylor-Green vortex is one of the most-used benchmarks for testing DNS and LES turbulence codes at resolutions up to 512³.

Frequently asked questions

Why does enstrophy rise before it falls?

Vortex stretching intensifies vorticity gradients early on, pushing energy toward smaller scales and raising enstrophy, until viscous diffusion (scaled by 1/Re here) dominates and dissipates it.

What does raising Re do to the simulation?

A higher Reynolds number lowers viscosity nu=1/Re, letting the energy cascade reach finer structures before dissipation takes over, so vorticity patterns stay sharp longer.

Why is the grid periodic instead of walled?

Periodic boundaries (implemented here via modular indexing in idx()) remove edge effects, matching the classic Taylor-Green setup and letting vortices wrap seamlessly across the domain.

What is the difference between the three display modes?

Vorticity colours each cell by spin direction and magnitude, Speed shows the local velocity magnitude in cyan tones, and Streamlines traces particle paths through the instantaneous velocity field.

How is kinetic energy calculated on screen?

The simulation sums u²+v² over every grid cell and normalises by 2N², giving the running "Kinetic Energy" statistic shown alongside enstrophy and dissipation rate.