Skip to content

Kolmogorov Flow at Re 10⁶

The showcase problem: forced 2D turbulence at a viscosity a thousand times smaller than the standard benchmark, trained forward in time from a DNS snapshot:

ut+(u)u+pνΔu=(0.1sin(4πy),0),u=0,ν=106.

DNS reference vorticity on a 2048² grid.

Run

The DNS reference data (~1.3 GB) is not tracked in git; place it under data/ or point the config at it (see data/README.md):

bash
cd examples/kolmogorov_flow_Re1e6
python3 main.py --config=configs/baseline.py \
    --config.data_path=/path/to/kolmogorov_flow_Re1e6.npy
ConfigDescription
configs/baseline.pyPirateNet + causal weighting, time windows
configs/pseudo_time.pyAdds adaptive pseudo-time stepping

Notes

  • Time-window training with resume: --config.training.resume=True continues from the last trained window after an interruption.
  • Initial conditions for each window are predicted on the full 2048² grid in batches (predict_in_batches), using the schedule-free averaged parameters.
  • Enstrophy at each window boundary is logged as a physical sanity check.

Released under the Apache 2.0 License.