Template Function es::marusic_jones_speed¶
- Defined in File velocity.h
Function Documentation¶
-
template <typename T_z, typename T_pi_j>
T_zes
::
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.
TODO refactor to base it on velocity deficit, keep code DRY
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 accepted.kappa
: von Karman constantz_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)