2d stratified turbulence and internal gravity wave turbulence

Miguel Calpe Linares, Pierre Augier, Nicolas Mordant

FluidSim and the FluidDyn project

Ashwin Vishnu (KTH, Stockholm), Cyrille bonamy

           
WITGAF 2019 (Cargèse, July 2019)

$\newcommand{\kk}{\boldsymbol{k}} \newcommand{\eek}{\boldsymbol{e}_\boldsymbol{k}} \newcommand{\eeh}{\boldsymbol{e}_\boldsymbol{h}} \newcommand{\eez}{\boldsymbol{e}_\boldsymbol{z}} \newcommand{\cc}{\boldsymbol{c}} \newcommand{\uu}{\boldsymbol{u}} \newcommand{\vv}{\boldsymbol{v}} \newcommand{\bnabla}{\boldsymbol{\nabla}} \newcommand{\Dt}{\mbox{D}_t} \newcommand{\p}{\partial} \newcommand{\R}{\mathcal{R}} \newcommand{\eps}{\varepsilon} \newcommand{\mean}[1]{\langle #1 \rangle} \newcommand{\epsK}{\varepsilon_{\!\scriptscriptstyle K}} \newcommand{\epsA}{\varepsilon_{\!\scriptscriptstyle A}} \newcommand{\epsP}{\varepsilon_{\!\scriptscriptstyle P}} \newcommand{\epsm}{\varepsilon_{\!\scriptscriptstyle m}} \newcommand{\CKA}{C_{K\rightarrow A}} \newcommand{\D}{\mbox{D}}$

Internal waves and "vortices"

   

Simple kinematic decomposition of stratified flows:

  • $\omega_z$

  • $\nabla_h u$

  • shear modes

Geophysical measurements interpreted as the signature of IG waves

"Garrett-Munk spectra"

  • temporal spectra: energy for $f < \omega < N$, $\omega^{-2}$

  • vertical spectra:

   

Naive representation: cascade of (weakly interacting) IG waves?

3d stratified turbulence

  • 2 parameters:

    • horizontal Froude number $F_h$

    • buoyancy Reynolds number $\R = Re {F_h}^2$

"Strongly stratified turbulence" regime ($F_h \ll 1$, $\R > 10$):

$$b(x,z)$$
Brethouwer, Billant, Chomaz & Lindborg (2007)
  • downscale energy cascade
  • $\omega_z \sim \nabla_h u$

And "pure internal gravity wave turbulence" ???

How to get "pure" IG wave turbulence?

  • We don't want $\omega_z$

    $\Rightarrow$ we can use 2d stratified turbulence.

  • We don't want shear modes

    $\Rightarrow$ we disable them

  • As a first approx., we don't need rotation

    $\Rightarrow f = 0$

2D stratified turbulence to understand IG wave turbulence

Advantage: cheap so we can run several long simulations at high resolution and $Re$

Numerical setup

Goal: obtain IG wave turbulence $\Rightarrow$ forced dissipative turb.

Which dissipation?

  • Dissipation only at small scales

  • Hyper viscosity $\nu_8$

Which forcing?

  • for simplicity: constant total energy injection rate $P$

  • force eigenmodes of the linearized equations

  • correlation time $\sim$ wave period $T_N(\kk)$

  • intermediate-scale (possibility of upscale and downscale cascades)

Problem standard forcing in a shell:

no well-defined $T_N(\kk)$

Forcing in a smaller region of the spectral space

$\Rightarrow$ well-defined non-dimensional numbers

  • direction of propagation $$F = \frac{\omega_l}{N}$$

  • stratification / forcing

    $$ \gamma = \frac{\omega_l}{\omega_f} \propto N$$

    with ${\omega_{f}}^3 = P {k_f}^2$

Forcing Froude number $F_{hf} = F/\gamma$

IG wave turbulence in the "oceanic-like" limit ?

  • strongly stratified (weak forcing)
  • weak dissipation at large horizontal scale (large buoyancy Reynolds number)

Numerical setup

Several long simulations for different

  • stratification / forcing $$\gamma = \omega_f / \omega_l \propto N$$

  • Numerical resolution, viscous coefficient $\nu_8$ and Reynolds number $Re_8$

    $(n_x,\ n_z) = (960,\ 240)$, $(1920,\ 480)$, $(3840,\ 960)$, $(7680,\ 480)$ and $(15360,\ 960)$

Constant for this presentation:

  • Direction of propagation of forced waves

    Here $F = \omega_l / N = 0.71 \Rightarrow \theta = 45°$

Few (quite simple) results !

We obtain statistically stationary flows

 

Dissipation only at small scales $\Rightarrow$ energy transfers towards small scales

  • $\neq$ than for 2d turbulence!

  • $\neq$ than with shear modes!

Buoyancy fields at stationary state for $n_x = 3840$

Small vertical length scales for strong stratification

Warning: dissipation at large horizontal scale even for large $Re$

Horizontal and vertical spectra for $n_x = 3840$

$\gamma = 0.5 \hspace{8cm} \gamma = 2 \hspace{8cm} \gamma = 12$

     

Strong stratification: viscously damped $\Rightarrow$ turbulence killed

Local Richarson number $Ri$ for $n_x = 3840$

$n_x = 3840$      
$n_x = 1920$      
$n_x = 960$      
$\hspace{4cm}$ Strong stratification $\hspace{17cm}$ Weak stratification

Large-scale isotropy and small-scale isotropy?

Large-scale isotropy for $n_x = 3840$

$$ \mathcal{I}_E = 4 \left(\frac{E_{Kx}}{E_K} - 1\right)^2\text{ versus }F_h \propto 1/ \gamma$$
     

Large-scale isotropy for $\neq Re$

 

Consistent: $\mathcal{I}_E = f(F_h)$ with weak $Re$ dependence

Isotropy of the dissipation for $n_x = 3840$

$$\mathcal{I}_d = \frac{k_{1/2x}}{k_{1/2z}}$$
     

Isotropy of the dissipation for $\neq Re$

 

Summary: $\mathcal{I}_E$ and $\mathcal{I}_d$ in the $(F_h,\ \R_8)$ space

 

3 regimes

Snapshot buoyancy field for $n_x = 15360$ (with 3 zooms)

     

Spectra for $n_x = 15360$ and $\gamma = 8$

Spectral energy budget for $n_x = 15360$ and $\gamma = 8$

Inconsistent with the naive representation of a simple local weak wave cascade

Conclusions

  • Clean setup

  • Statistically steady state for all parameters

  • 3 regimes

Regime for $\R_8 \gg 1$ and $F_h \ll 1$

  • Not a simple wave cascade

    • Transfers towards "layered", very slow waves (nearly shear modes)

    • Vertical spectra: $k_z^{-2}$, no $k_z^{-3}$

  • But something like weak wave turbulence ($Ri > 1$, $k_z^{-2}$, spatio-temporal spectra [not shown])

Perspectives (FluidSim: easy to reproduce and extend!!!)

  • Mechanisms (PSI?, effect layered waves?)

  • Different parameters: angle of forced waves, rotation, ...

  • 3d simulations?

The code is interesting!

FluidDyn project

A project to foster open-science and open-source in fluid mechanics

   

A thesis:

  • open-source never so strong,
  • new tools and methods allowing collective work,
  • possibility of collaborations on good quality research codes.

Some packages:

fluidimage, fluidlab, fluidsim, fluidfft, transonic, ...

The code is interesting: FluidSim

(Ashwin Vishnu, Cyrille Bonamy, Miguel Calpe Linares, Pierre Augier)

  • Open-source collaborative framework / library for writting solvers

  • High quality code (tests run with continuous integration, proper documentation, issue tracker)

  • Very user-friendly

  • Developer friendly: mostly in Python, highly modular (object-oriented Python)

  • Extensible (for example fluidsim-ocean)

  • Specialized in pseudo-spectral (Fourier), but not only

  • Very efficient

Under the hood:

  • FluidFFT: Python / C++ library for (parallel) Fourier transforms (2D and 3D)

  • Transonic and Pythran: "Make your Python code fly at transonic speeds!" (actually at good-C++ speed)