Boundary conditons for the k-equation (k-epsilon style)

*INTERFACE:*

REALTYPE function k_bc(bc,type,zi,z0,u_tau)

Computes prescribed and flux boundary conditions for the transport
equation (150). The formal parameter `bc` determines
whether `Dirchlet` or `Neumann`-type boundary conditions
are computed. Depending on the physical properties of the
boundary-layer, the parameter `type` relates either to a `visous`,
a `logarithmic`, or an `injection`-type boundary-layer.
In the latter case, the flux of TKE caused by breaking surface waves
has to be specified. Presently, there is only one possibility
to do so implemented in GOTM. It is described in section 4.7.47.
All parameters that determine the boundary layer have to be
set in `gotmturb.nml`.

Note that in this section, for brevity, denotes the distance from the wall (or the surface), and not the standard coordinate of the same name used in GOTM.

**Viscous boundary-layers**

This type is not implemented yet in GOTM.

**Logarithmic boundary-layers**

The Dirichlet (prescribed) boundary condition follows from (101) as

The Neumann (flux) boundary condition can be derived from the constancy of in the logarithmic region. This fact can be written as

**Shear-free boundary-layers with injection of TKE**

The Dirichlet (prescribed) boundary condition follows simply from the power-law in (108),

The Neumann (flux) boundary condition can be written as

which follows immediately from (108) and the expression for the turbulent diffusivity, (44). The parameter can be determined from an evaluation of (127) at . The result is

where the specification of the flux and the value of have to be determined from a suitable model of the wave breaking process.

*USES:*

IMPLICIT NONE

integer, intent(in) :: bc,type REALTYPE, intent(in) :: zi,z0,u_tau

Original author(s): Lars Umlauf

Karsten Bolding 2012-01-24