6.3 Boundary condition

In this section we will describe the numerical implementation of the boundary condition on a solid impermeable wall (2.5),

\begin{displaymath}
\vec{u}(\vec{s},t)\;=\;\vec{u}_s(\vec{s},t) \quad \ ,
\end{displaymath} (6.16)

where $\vec{s}$ is any point on the solid wall, $\vec{u}$ is the velocity of the fluid, and $\vec{u}_s$ is the prescribed velocity of the solid wall.

The above boundary condition (6.16) is a vectorial condition and it is equivalent to two conditions, namely, the normal and tangential components of the fluid velocity on the solid wall must be the same as those of the wall:

Normal condition:

\begin{displaymath}
\vec{u}(\vec{s},t) \cdot \hat{n} \;=\;\vec{u}_s(\vec{s},t) \cdot \hat{n}
\quad \ ,
\end{displaymath} (6.17)

Tangential condition:

\begin{displaymath}
\vec{u}(\vec{s},t) \times \hat{n} \;=\;\vec{u}_s(\vec{s},t) \times \hat{n}
\quad \ ,
\end{displaymath} (6.18)

where $\hat{n}$ is the unit vector normal to the solid wall; the tangential condition (6.18) is also known as the no-slip condition [14].

One possible way of satisfying the normal condition (6.17) is by first evaluating the velocity induced by the vorticity field according to the free space Biot-Savart law (2.16). We will denote this velocity by $\vec{u}_\omega$. Next we add to this an irrotational velocity $\vec{u}_\Phi$ chosen to satisfy the normal flow boundary condition. This potential flow velocity can be obtained from a scalar function $\Phi$ [14,129],

 $\displaystyle \vec{u}_\Phi$ $\textstyle \equiv$ $\displaystyle \nabla\Phi$  (6.19)
 $\displaystyle \nabla^2\Phi$ $\textstyle =$ $\displaystyle 0$  (6.20)
 $\displaystyle \nabla\Phi(\vec{s},t)\cdot\hat{n}$ $\textstyle =$ $\displaystyle (\vec{u}_s(\vec{s},t)-
\vec{u}_\omega(\vec{s},t))\cdot\hat{n}\quad \ .$  (6.21)

In an unbounded domain, the potential flow should also provide the correct velocity at large distances from the body.

However, in our computations of flows over circular cylinders discussed in section 8.2, we followed a different procedure. In our work, $\vec{u}_\Phi$ was obtained from the sum of the potential flow velocity due to uniform translation of the cylinder and the potential flow velocity due to so called ``image vortices" inside the cylinder [156,245].

The tangential boundary condition is somewhat more complicated. The velocity field produced by the vorticity and normal boundary condition produces a velocity $\vec{u}(\vec{s},t)$ of the fluid at the wall equal to

\begin{displaymath}
\vec{u}(\vec{s},t)\;=\;\vec{u}_\omega(\vec{s},t)\,+\,
\vec{u}_\Phi(\vec{s},t)
\quad \ .
\end{displaymath} (6.22)

The tangential velocity difference $(\vec{u}_s(\vec{s},t)\;-\;\vec{u}(\vec{s},t))\times \hat{n}$ is called the slip velocity [129].

Assuming that the slip velocity is zero at some given time, it will no longer be so at the end of the time step after we have convected the vortices and diffused them. One reason is that it is impossible to satisfy the no-slip boundary condition during the convection step. Also, since the no-slip boundary condition is on the velocity and not on the vorticity, there is no simple way to satisfy this boundary condition during our diffusion procedure. Instead, during our diffusion step we satisfy an approximate zero vorticity flux boundary condition, which is easy to accomplish by ``mirroring" the vortices into image vortices inside the wall.

The erroneous boundary conditions during the time step will produce an additional ``Stokes layer" of typical thickness $O(\sqrt{\nu\,\Delta t})$ compared to the solution with the true no-slip boundary condition.

We remove this erroneous Stokes layer at the end of the time step by adjusting the vortex strengths near the wall to satisfy no-slip. Of course, the detailed profile of the Stokes layer is unknown, but since its thickness is of the order of the smallest scale in our computation, this is not important. Its net vortex strength is known; since the layer is thin, it equals the slip velocity at the end of the time step.

Note, however, that the evaluation of the slip velocity is a somewhat tricky procedure. The velocity will fluctuate strongly due to local perturbations induced by the vortices immediately adjacent to the wall. Our solution to this problem is simple: since the thickness of the Stokes layer is our smallest resolved size, we can to the accuracy of our computation replace it by a regularly spaced string of vortices along the wall. The strength of this string of vortices is then constantly updated such that the no-slip boundary condition remains satisfied. To do so, we simply remove all vortices in the Stokes layer, evaluate the resulting slip, and add the string of vortices back in, with a strength given by the found local slip. More precisely, the strength of each vortex in this string is found by integrating the slip velocity over its segment of the wall.

In our numerical implementation, we chose a string of vortices at a distance of $\sqrt{0.5\,\nu\,\Delta t}$ from the wall. Note that if the error in wall velocity would be a constant during the time step, it would lead to a classical Stokes layer with in a mean diffusion distance $0.96\sqrt{\nu\,\Delta t}$. For the more reasonable assumption that the error in wall velocity increases linearly across the time step, it would produce a Stokes layer with a mean diffusion distance of $0.57\sqrt{\nu\,\Delta t}$.

This procedure was used earlier by Van Dommelen [237] and Wang [245] in random walk computations and is quite robust. Suppose that the overall vorticity level in the boundary layer is too low by a finite fraction, then we would compute a finite slip velocity. Across the thin strip at the wall represented by the string of vortices, this would produce a string of very strong vortices which would lead to a very large vorticity flux into the remaining boundary layer. This flux would quickly restore the vorticity level in the boundary layer to the correct strength.

Note that this argument does not depend critically on the parameters used, although the vorticity flux out of our string must of course be of the correct general order of magnitude. Further, in our implementation the actual strengths of the string vortices have little effect on the rest of the computation since their velocity field is almost completely canceled by the very close by image vortices within the wall.

Also, stability is enhanced by the fact that we do not just update the strengths of the vortices, but instead create a new string of vortices after first removing all vortices from the strip at the wall. This increases stability since short-scale streamwise fluctuations that might exist in the boundary layer die out across the empty potential flow strip and have little effect on our numerical determination of the slip velocity.

We chose the spacing of the vortices in the string to be $\sqrt{6\,\nu\,\Delta t}$, which is the same distance at which we place newly added vortices in our redistribution method (subsection 6.2.3).

The implementation of no-slip condition described above is admittedly a heuristic approach. However, it is simple to apply and gives accurate results as shown in chapter 8. Our computational results are in excellent agreement with analytical solutions of Van Dommelen & Shankar (unpublished), and recent higher order (fourth-order in space and time) finite difference solutions of Anderson & Reider [3] and spectral element solutions of Kruse & Fischer [120].