15.24. Kelvin-Helmoltz Instability¶
This test case runs a Kelvin-Helmholtz instability between two fluid layers. It is part of experiments conducted with CROCO by Penney et al. (2020). The numerical simulations are performed using the non-hydrostatic, non-Boussinesq version of CROCO. While numerical simulations of KH instabilities are often considered in a periodic domain with rigid lid conditionsfor the upper boundary, the implementation presented here uses a free-surface upper boundary, with periodic lateral boundary conditions in the x- and y-directions. The setup is two-dimensional (default) or three-dimensional, with initial density distribution defined as two constant-density layers separated by a strongly stratified pycnocline, with a weak stable background stratification superimposed. The configuration parameters are chosen so that the necessary criterion for stratified shear instability, Ri < 1/4, is satisfied. U(z), the initial background flow providing the shear, is defined by a hyperbolic tangent profile, with the upper layer moving leftward, and the lower layer rightward. Small amplitude perturbations are required to kickstart the instability.
The existence of a free surface and compressibility adds two dynamical processes (surface and acoustic waves) compared to more traditional studies in incompressible, unbounded or rigid lid flows. With the chosen configurations where the instability develops far from the vertical boundaries, the impact of these additional processes is negligible, but in certain circumstances, surface and acoustic waves may play a role in modifying the turbulent cascade.
The results are sensitive to the resolution (1 m by default) and the choice of advection schemes and diffusion operator (implicit in the advection schemes or explicit).
Penney, J., Morel, Y., Haynes, P., Auclair, F., & Nguyen, C. (2020). Diapycnal mixing of passive tracers by Kelvin–Helmholtz instabilities. Journal of Fluid Mechanics, 900, A26.
# define KH_INST
# undef KH_INSTY # undef KH_INST3D # define MPI # define NBQ # define NBQ_PRECISE # undef XIOS # define SOLVE3D # define NEW_S_COORD # define UV_ADV # define TS_HADV_WENO5 # define TS_VADV_WENO5 # define UV_HADV_WENO5 # define UV_VADV_WENO5 # define W_HADV_WENO5 # define W_VADV_WENO5 # undef SALINITY # undef PASSIVE_TRACER # define ANA_GRID # define ANA_INITIAL # define ANA_SMFLUX # define ANA_STFLUX # undef ANA_SRFLUX # define ANA_BTFLUX # define ANA_SSFLUX # define ANA_BSFLUX # ifndef KH_INSTY # define EW_PERIODIC # else # define NS_PERIODIC # endif # define NO_FRCFILE