How could averaging something like that possibly work out well for you?

Background: The Navier-Stokes Equation

A familiar sight to any fluids-focused profession, the Navier-Stokes Equation (NS) is a partial differential equation that describes the conservation of momentum of a viscous fluid subject to internal and external forces. Paired with a mass conservation equation, the set of equations mathematically describe the motion of a viscous fluid.

Below is the nondimensional incompressible NS Equation:

\[\frac{\partial}{\partial t} (u_i) + \frac{\partial}{\partial x_j} (u_i u_j) = - \frac{\partial}{\partial x_i} (p) + \frac{1}{\text{Re}} \frac{\partial^2}{\partial x_j^2} (u_i)\]

Breaking apart each term:

  • \(\frac{\partial}{\partial t} (u_i)\) = time rate of change in momentum
  • \(\frac{\partial}{\partial x_j} (u_i u_j)\) = change in momentum from fluid advection
  • \(\frac{\partial}{\partial x_i} (p)\) = change in momentum from pressure forces
  • \(\frac{1}{\text{Re}} \frac{\partial^2}{\partial x_j^2} (u_i)\) = change in momentum from viscous forces

For a 3D flow, there are four unknowns: \(u_1, u_2, u_3, \text{ and } p\). As the NS equation is a vector equation, secretly, we already have three equations. The mass conservation equation serves as the final piece to this system, but we’re going to skip it for now since it’s not relevant to the Reynolds Equations.

Reynolds Decomposition

Before deriving the Reynolds Equations, it’s useful to first understand the concept of Reynolds decomposition. Proposed by Osborne Reynolds (such a legend), the Reynolds decomposition states that in a fluid, the velocity, \(u_i\), can be decomposed into the sum of its expected value (the mean) and the fluctuation about the mean. Mathematically this looks like:

\[\begin{aligned} u_i &= \langle u_i \rangle + u_i'\\ &= \overline{u}_i + u_i' \end{aligned}\]

Now why would that be useful to us? Thinking about this from a practical perspective, for many engineering applications, we usually care only about the mean quantities to make an accurate prediction. If we knew the mean flow-field, we could extract pieces of information such as the “average” lift and drag over an airfoil or the “average” temperature in a pipe. We may not need information from the fluctuating flow-field to make an engineering design choice, and in fact, this idea underpins the usefulness of the Reynolds Averaged Navier Stokes equations.

Reynolds Averaged Navier Stokes (RANS)

We can begin by taking the average of each term in the NS equation. Taking advantage of the linear properties of the average operator, each term becomes:

\[\begin{aligned} \left\langle\frac{\partial}{\partial t} (u_i) \right\rangle &= \frac{\partial}{\partial t}(\langle u_i \rangle) = \frac{\partial}{\partial t}(\overline{u}_i) \\ \left\langle \frac{\partial}{\partial x_j} (u_i u_j) \right\rangle &= \frac{\partial}{\partial x_j} (\langle u_i u_j \rangle)\\ \left\langle - \frac{\partial}{\partial x_i} (p) \right\rangle &= - \frac{\partial}{\partial x_i} (\overline{p})\\ \left\langle \frac{1}{\text{Re}} \frac{\partial^2}{\partial x_j^2} (u_i) \right\rangle &= \frac{1}{\text{Re}} \frac{\partial^2}{\partial x_j^2} (\overline{u}_i)\\\\ \end{aligned}\]

Ok, most of these make sense — by taking the average, the terms looks mostly the same, except that now we are solving for the average velocity, \(\overline{u}_i\), instead of the full velocity \(u_i\). However, the second term has a new component \(\langle u_i u_j \rangle\) that is not similar to anything we’ve seen before.

Let’s apply Reynolds decomposition to this term to break it down:

\[\begin{aligned} \langle u_i u_j \rangle &= \langle (\overline{u}_i + u_i')(\overline{u}_j + u_j') \rangle\\ &= \overline{u}_i \overline{u}_j + \overline{u}_j \langle u_i' \rangle + \overline{u}_i \langle u_j' \rangle + \langle u_i' u_j' \rangle\\ \end{aligned}\]

Note: By definition, the expected value of a fluctuating quantity is 0 \((\langle u_i' \rangle = 0)\).

From the properties of the average operator we can eliminate the middle two terms:

\[\begin{aligned} \langle u_i u_j \rangle &= \overline{u}_i \overline{u}_j + \langle u_i' u_j' \rangle\\ \end{aligned}\]

Rebuilding the full equation with the remaining two terms, we obtain the following:

\[\begin{aligned} \frac{\partial}{\partial t}(\overline{u}_i) + \frac{\partial}{\partial x_j} (\overline{u}_i \overline{u}_j) &= - \frac{\partial}{\partial x_i} (\overline{p}) + \frac{\partial}{\partial x_j} \left( - \langle u_i' u_j'\rangle + \frac{1}{\text{Re}} \frac{\partial}{\partial x_j} (\overline{u}_i)\right)\\\\ \end{aligned}\]

Finally, we can further manipulate the term containing the Reynolds number factor \(\text{Re}\). Specifically, we take advantage of the incompressibility assumption that \(\vec{\nabla} \cdot \vec{u} = 0\). This allows us to add an additional term of \(\partial \overline{u}_j / \partial x_i\) as it will evaluate to zero:

\[\begin{aligned} \frac{\partial}{\partial x_j} \left(\frac{\partial}{\partial x_i} (\overline{u}_j) \right) &= \left \langle \frac{\partial}{\partial x_j} \frac{\partial \overline{u}_j}{\partial x_i} \right \rangle\\ &= \left \langle \frac{\partial}{\partial x_i} \frac{\partial \overline{u}_j}{\partial x_j} \right \rangle\\ &= 0\\ \end{aligned}\]

Adding this term in leaves us with the RANS equation:

\[\begin{aligned} \frac{\partial}{\partial t}(\overline{u}_i) + \frac{\partial}{\partial x_j} (\overline{u}_i \overline{u}_j) &= - \frac{\partial}{\partial x_i} (\overline{p}) + \frac{\partial}{\partial x_j} \left( - \langle u_i' u_j'\rangle + \frac{1}{\text{Re}} \left(\frac{\partial}{\partial x_j} (\overline{u}_i) + \frac{\partial}{\partial x_i}(\overline{u}_j) \right)\right)\\\\ \end{aligned}\]

or equivalently:

\[\begin{aligned} \frac{\partial}{\partial t}(\overline{u}_i) + \frac{\partial}{\partial x_j} (\overline{u}_i \overline{u}_j) &= - \frac{\partial}{\partial x_i} (\overline{p}) + \frac{\partial}{\partial x_j} \left( - \langle u_i' u_j'\rangle + \frac{2}{\text{Re}} \overline{S}_{ij}\right) \\\\ \end{aligned}\]

where \(\langle{u_i}'{u_j}'\rangle\) are known as the Reynolds stresses and

\[\begin{aligned} \overline{S}_{ij}& = \frac{1}{2} \left(\frac{\partial \overline{u}_i}{\partial x_j} + \frac{\partial \overline{u}_j}{\partial x_i}\right)\\ \end{aligned}\]

is the mean rate of strain tensor.

Breaking apart each term:

  • \(\frac{\partial}{\partial t}(\overline{u}_i)\) = time rate of change in mean momentum
  • \(\frac{\partial}{\partial x_j} (\overline{u}_i \overline{u}_j)\) = change in mean momentum from fluid advection
  • \(- \frac{\partial}{\partial x_i} (\overline{p})\) = change in mean momentum from pressure forces
  • \(\frac{\partial}{\partial x_j} \left( - \langle u_i' u_j'\rangle + \frac{2}{\text{Re}} \overline{S}_{ij}\right)\) = change in mean momentum from viscous forces AND fluctuations.

Within the RANS equations, we have the four unknowns we are familiar with (\(\overline{u}_i \text{ and } \overline{p}\)). Unfortunately, the Reynolds stress term \(\langle{u_i}'{u_j}'\rangle\) also contains six more unknowns. Even with the conservation of mass equation, we don’t have enough equations to solve the system yet. This known as the closure problem in fluid turbulence and requires a bit of hand-waving (turbulence models :sweat_smile: ) to get around it.

The Reynolds Stresses

Ok, so we got a final equation that looks mostly the same. Quantities we were solving for in NS have been replaced with their average equivalent. But what does the Reynolds stress term \(\langle{u_i}'{u_j}'\rangle\) doing?

Remember, we derived the RANS equations by splitting the velocities into the mean and fluctuating components. Although we are hoping to solve for the mean flow field \(\overline{u}_i\), it’s logical to assume that the fluctuating flow field still may influence our result. This is exactly the behavior the Reynolds stresses are capturing. They are responsible for the transport of momentum between the mean flow field and the fluctuating flowfield.

Notes on the Reynolds stresses \(\langle{u_i}'{u_j}'\rangle\):

  1. The Reynolds Stresses are indeed stresses.
  2. The Reynolds Stresses form a 2nd order tensor (6 unknowns).
  3. The Reynolds Stress tensor is symmetric.
  4. The diagonal components are normal stresses (positive only).
  5. The off diagonal components are shear stresses (positive or negative).
  6. Turbulent kinetic energy (\(k\)) is 1/2 of the trace.
\[k = \frac{1}{2} \langle{u_i}'{u_i}'\rangle\]
  1. The Reynolds Stress tensor is positive semi-definite. The normal stresses are always compressive and its eigenvalues are positive.
  2. The Reynolds Stress tensor admits the decomposition:

    \[\langle{u_i}'{u_j}'\rangle = \underbrace{\frac{2}{3}k \delta_{ij}}_{\text{Isotropic Stress}} + \underbrace{\left(\langle{u_i}'{u_j}'\rangle - \frac{2}{3}k \delta_{ij} \right)}_{\text{Anisotropic Stress}}\]

    The isotropic stress is a pressure-like term that does NOT influence the mean flow field. The anisotropic stress is a viscous-like term and is responsible for the transport of momentum from the mean field to the turbulent field.

  3. In the event the flow is irrotational, the Reynolds stress is a pressure-like term and has NO effect on the mean velocity. A flow is turbulent ONLY if it is rotational.
  4. The Reynolds Stress tensor is the zero-seperation, two-point correlation:
\[R_{ij}(\vec{r}, \vec{x}, t) = \langle{u_i}'(\vec{x},t) {u_j}'(\vec{x} + \vec{r}, t)\rangle\]