On this page

Second mandatory assignment

Deadline for submission is November 13’th. Submit by email, preferably in jupyter notebook format.

1) Implement a nonlinear solver for the Falkner-Skan equation (70).

1a) Vary the parameter \(\beta\) and reproduce Fig. 4-11 (a) and (b) in [Whi06].

1b) What happens at \(\beta=-0.19884\)? At \(-0.19884 \leq \beta \leq 0\) there are according to White at least two possible solutions. One solution is shown in Fig. 4-11a in White. Another solution shows negative values for \(f^{''}(0)\), thus indicating backflow close to the wall. Using different initial guesses for the solution it should be possible to obtain both solutions. Show these in a plot for \(\beta = -0.1\).

2) Perform benchmarks 2.2 a) and 2.2 b) of Schaefer and Turek and report your results comparing with Table 3 and 4 of the benchmark.

3) Consider a fully developed turbulent plane channel flow. The wall friction velocity \(v^*=\sqrt{\nu\partial \overline{u}/\partial y}_{wall}=0.05\) and the turbulent Reynolds number \(Re_{\tau} = v^*/\nu = 1000\).

3a) Use the Mixing length model and implement a solver for a plane turbulent channel flow.

\[\begin{split} \begin{aligned} 0 &= \nu \frac{\partial^2 \overline{u}}{\partial y^2} - \frac{1}{\rho} \frac{\partial \overline{p}}{\partial x} - \frac{\partial \overline{u'v'}}{\partial y}, \\ \overline{u'v'} &= -\nu_T \frac{\partial \overline{u}}{\partial y}, \\ \nu_t &= l^2 |\frac{\partial \overline{u}}{\partial y}|, \\ l &= \kappa y \left(1 - \exp\left( -\frac{y^+}{A}\right) \right), \\ y^+ &= \frac{y v^*}{\nu}. \end{aligned} \end{split}\]

The constants \(\kappa=0.41\) and \(A=26\).

  • Hint 1: the pressure gradient is constant and can be computed from \(v^*\) by integrating the momentum equation across the channel.

  • Hint 2: use a mesh skewed towards the walls. You should resolve the solution up to at least \(y^+=1\) (or \(y\approx\nu/v^*\) for the first inner node of the computational mesh). To compute a skewed mesh you could for example do something like this

    from numpy import arctan
    mesh = IntervalMesh(100, 0, 1)
    x = mesh.coordinates()
    x[:, 0] = arctan(pi*(x[:, 0])) / arctan(pi)
    

    which gives \(y^+=2.31\) for first internal node and thus is not dense enough! Modify the mesh and check the location of the first inner node to ensure that it’s less than \(\nu/v^*\). How many nodes do you need to ensure \(y^+<1\) if you use a regularly spaced mesh that is not skewed towards the wall?

3b) Verify that the solution approximates the theoretical results

\[\begin{split} \begin{aligned} y^+ &= u^+\quad \mathrm{for} \quad y^+ < 5, \\ u^+ &= \frac{1}{\kappa} \ln y^+ + B \quad \mathrm{for} \quad y^+ > 30, \end{aligned} \end{split}\]

where the “constant” \(B=5.5\). Can you improve the agreement with the computational results by modifying the constants? What is the value of the turbulent viscosity \(\nu_T\) at the center of the channel? Do you believe this value is reasonable?

4) Derive from first principles

4a) the Reynolds Averaged Navier Stokes equations (Eq. 6-13 in [Whi06]).

4b) the turbulence kinetic energy equation (Eq. 6.17 in [Whi06]).

4c) the Reynolds stress equation (Eq. 6-18 in [Whi06]).

See, e.g., this book for more details about derivation.

Whi06(1,2,3,4)

Frank M. White. Viscous Fluid Flow. McGraw-Hill, third edition, 2006.