src/layered/README
A vertically-Lagrangian multilayer solver for free-surface flows
This directory contains a hierarchy of modules which can be combined to solve an increasingly complex (and accurate) range of equations describing the motion of layers of incompressible fluids (illustrated below): from the hydrostatic Saint-Venant/shallow-water equations to the variable-density, incompressible Navier–Stokes equations with interfaces, Coriolis acceleration etc.
The theoretical basis and main algorithms for this solver are described in Popinet, 2020.
The modules are, in order of increasing complexity:
- The hydrostatic solver approximates \displaystyle \begin{aligned} \partial_t h_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \right)_k & = 0,\\ \partial_t \left( h \mathbf{u} \right)_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \mathbf{u} \right)_k & = - gh_k \mathbf{{\nabla}} (\eta) \end{aligned}
- The implicit free-surface extension adds time-implicit integration of the free-surface evolution.
- The Coriolis extension adds the (horizontal) Coriolis acceleration.
- The Boussinesq and isopycnal extensions add the buoyancy term due to small density variations i.e. the terms and equations in blue \displaystyle \begin{aligned} \partial_t \left( h \mathbf{u} \right)_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \mathbf{u} \right)_k & = - gh_k \mathbf{{\nabla}} (\eta) {\color{blue} - \mathbf{{\nabla}} (h q)_k + \left[ q \mathbf{{\nabla}} z \right]_k}\\ ...\\ {\color{blue}\partial_t \left( h T \right)_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} T \right)_k} & {\color{blue} = 0,}\\ {\color{blue}q(z)} & {\color{blue} = \int_0^z g \Delta \rho(T) dz} \end{aligned}
- The non-hydrostatic extension adds vertical momentum and the non-hydrostatic pressure i.e. \displaystyle \begin{aligned} \partial_t h_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \right)_k & = 0,\\ \partial_t \left( h \mathbf{u} \right)_k + \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \mathbf{u} \right)_k & = - gh_k \mathbf{{\nabla}} (\eta) {\color{blue} - \mathbf{{\nabla}} (h \phi)_k + \left[ \phi \mathbf{{\nabla}} z \right]_k},\\ {\color{blue} \partial_t (hw)_k + \mathbf{{\nabla}} \cdot \left( hw \mathbf{u} \right)_k} & {\color{blue} = - [\phi]_k,}\\ {\color{blue} \mathbf{{\nabla}} \cdot \left( h \mathbf{u} \right)_k + \left[ w - \mathbf{u} \cdot \mathbf{{\nabla}} z \right]_k} & {\color{blue} = 0}, \end{aligned}
Additional modules include:
- Vertical viscosity and diffusion
- Vertical remapping
- Horizontal viscosity
- Surface tension
- An interface for the General Ocean Turbulence Model
- Performance statistics
- Calculation of the Reference Potential Energy
References
[popinet2020] |
Stéphane Popinet. A vertically-Lagrangian, non-hydrostatic, multilayer model for multiscale free-surface flows. Journal of Computational Physics, 418:109609, May 2020. [ DOI | http | .pdf ] |