Template Function es::marusic_jones_speed

Function Documentation

template <typename T_z, typename T_pi_j>
T_z es::marusic_jones_speed(T_z const &z, T_pi_j const pi_j, const double kappa, const double z_0, const double delta, const double u_inf, const double u_tau)

Compute speed profile according to Marusic and Jones’ relations.

Templated so that it can be called with active scalars (allows use of autodiff), doubles/floats, Eigen::Arrays (directly) or Eigen::VectorXds (via template specialisation) of z values.

Speed is computed as:

\[\begin{split} \frac{\overline{U}}{U_{\tau}} & = & \frac{1}{\kappa} \ln \left( \frac{z+z_0}{k_s} \right) + Br + \frac{\Pi_j}{\kappa} W_c[\eta, \Pi_j] \\ W_c[\eta, \Pi_j] & = & 2 \eta^2 \left( 3 - 2\eta \right) - \frac{1}{3\Pi_j}\eta^3 \\ \eta & = & \frac{z+z_0}{\delta + z_0} \end{split}\]

which reduces to the defecit relation:

\[ U_{D}^{*} = \frac{U_\infty-\overline{U}}{U_{\tau}} = -\frac{1}{\kappa} \ln \left( \eta \right) + \frac{1}{3\kappa} \left(\eta^3 - 1 \right) + 2 \frac{\Pi_j}{\kappa} \left(1 - 3\eta^2 + 2\eta^3 \right) \]

Parameters
  • z: Height(s) in m at which you want to get speed.
  • pi_j: Jones’ modification of the Coles wake factor. Double or AutoDiffScalar type acccepted.
  • kappa: von Karman constant
  • z_0: Roughness length - represents distance of hypothetical smooth wall from actual rough wall z0 = 0.25k_s (m)
  • delta: Boundary layer thickness (m)
  • u_inf: Speed of flow at z = delta (m/s)
  • u_tau: Shear / skin friction velocity (governed by ratio parameter S = u_inf / u_tau)