The dynamic k-equation


   subroutine tkeeq(nlev,dt,u_taus,u_taub,z0s,z0b,h,NN,SS)

The transport equation for the turbulent kinetic energy, $ k$, follows immediately from the contraction of the Reynolds-stress tensor. In the case of a Boussinesq-fluid, this equation can be written as

$\displaystyle \dot{k} = {\cal D}_k + P + G - \epsilon \; , \quad$ (152)

where $ \dot{k}$ denotes the material derivative of $ k$. $ P$ and $ G$ are the production of $ k$ by mean shear and buoyancy, respectively, and $ \epsilon$ the rate of dissipation. $ {\cal D}_k$ represents the sum of the viscous and turbulent transport terms. For horizontally homogeneous flows, the transport term $ {\cal D}_k$ appearing in (152) is presently expressed by a simple gradient formulation,

$\displaystyle {\cal D}_k = \dfrac{\partial}{\partial {z}} \left( \dfrac{\nu_t}{\sigma_k} \dfrac{\partial {k}}{\partial {z}} \right) \; , \quad$ (153)

where $ \sigma_k$ is the constant Schmidt-number for $ k$.

In horizontally homogeneous flows, the shear and the buoyancy production, $ P$ and $ G$, can be written as

\begin{displaymath}\begin{array}{rcl} P &=& - {\langle u'w' \rangle} \dfrac{\par... \ [3mm] G &=& {\langle w'b' \rangle} \; , \quad \end{array}\end{displaymath} (154)

see (50). Their computation is discussed in section 4.8.

The rate of dissipation, $ \epsilon$, can be either obtained directly from its parameterised transport equation as discussed in section 4.15, or from any other model yielding an appropriate description of the dissipative length-scale, $ l$. Then, $ \epsilon$ follows from the well-known cascading relation of turbulence,

$\displaystyle \epsilon = (c_\mu^0)^3 \frac{k^{\frac{3}{2}}}{l} \; , \quad$ (155)

where $ c_\mu^0$ is a constant of the model.


   use turbulence,   only: P,B,num
   use turbulence,   only: tke,tkeo,k_min,eps
   use turbulence,   only: k_bc, k_ubc, k_lbc, ubc_type, lbc_type
   use turbulence,   only: sig_k
   use util,         only: Dirichlet,Neumann
   number of vertical layers
   integer,  intent(in)                :: nlev
   time step (s)
   REALTYPE, intent(in)                :: dt
   surface and bottom
   friction velocity (m/s)
   REALTYPE, intent(in)                :: u_taus,u_taub
   surface and bottom
   roughness length (m)
   REALTYPE, intent(in)                :: z0s,z0b
   layer thickness (m)
   REALTYPE, intent(in)                :: h(0:nlev)
   square of shear and buoyancy
   frequency (1/s^2)
   REALTYPE, intent(in)                :: NN(0:nlev),SS(0:nlev)
   Original author(s): Lars Umlauf
                      (re-write after first version of
                       H. Burchard and K. Bolding)

Karsten Bolding 2012-12-28