From 47336718f36a7c4002faf6f887fc1b08f7c26a59 Mon Sep 17 00:00:00 2001 From: Felix Koehler Date: Thu, 25 Apr 2024 14:42:21 +0200 Subject: [PATCH] Add notes to Kolmogorov stepper --- exponax/stepper/_navier_stokes.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/exponax/stepper/_navier_stokes.py b/exponax/stepper/_navier_stokes.py index 6ecc649..3f9b612 100644 --- a/exponax/stepper/_navier_stokes.py +++ b/exponax/stepper/_navier_stokes.py @@ -201,6 +201,35 @@ def __init__( A negative drag coefficient `λ` is needed to remove some of the energy piling up in low modes. + According to + + Chandler, G.J. and Kerswell, R.R. (2013) ‘Invariant recurrent + solutions embedded in a turbulent two-dimensional Kolmogorov flow’, + Journal of Fluid Mechanics, 722, pp. 554–595. + doi:10.1017/jfm.2013.122. + + equation (2.5), the Reynolds number of the Kolmogorov flow is given by + + Re = √ζ / ν √(L / (2π))³ + + with `ζ` being the scaling of the Kolmogorov forcing, i.e., the + `injection_scale`. Hence, in the case of `L = 2π`, `ζ = 1`, the Reynolds + number is `Re = 1 / ν`. If one uses the default value of `ν = 0.001`, + the Reynolds number is `Re = 1000` which also corresponds to the main + experiments in + + Kochkov, D., Smith, J.A., Alieva, A., Wang, Q., Brenner, M.P. and + Hoyer, S., 2021. Machine learning–accelerated computational fluid + dynamics. Proceedings of the National Academy of Sciences, 118(21), + p.e2101784118. + + together with `injection_mode = 4`. Note that they required a resolution + of `num_points = 2048` (=> 2048^2 = 4.2M degrees of freedom in 2d) to + fully resolve all scales at that Reynolds number. Using `Re = 0.01` + which corresponds to `ν = 0.01` can be a good starting for + `num_points=128`. + + **Arguments:** - `num_spatial_dims`: The number of spatial dimensions `d`. - `domain_extent`: The size of the domain `L`; in higher dimensions