I already successfully verified my solver (SIMPLE-type FVM-method) with the following manufactured solution (3d Taylor-Green vortex) on the solution domain $[-1,1]^3$ with Dirichlet boundary conditions:

$$ \begin{align*} u &= \frac{1}{2}\sin\left(\pi x\right)\cos\left(\pi y\right)\cos\left(\pi z\right) \\[0.5em] v &= \frac{1}{2}\cos\left(\pi x\right)\sin\left(\pi y\right)\cos\left(\pi z\right) \\[0.5em] w &= -1\cos\left(\pi x\right)\cos\left(\pi y\right)\sin\left(\pi z\right). \end{align*} $$

I want to use this manufactured solution also for wall boundary conditions on all boundaries. I think this should be possible because wall boundary conditions are essentially Dirichlet boundary conditions with a vanishing normal velocity $\vec{u}\cdot\vec{n}_w$ and as you will note, my manufactured solution exhibits this behavior.

I would expect the same order for the decrease of the discretization error, but slightly different absolute values since my code doesn't discretize Dirichlet and wall boundary conditions in the same way. This is due to the fact, that on wall boundaries the transfer of momentum only is owed to shear stress. This implies that the wall normal stress vanishes. That additional condition is not automatically fulfilled if one would only apply a Dirichlet boundary condition.

However, I am not able to verify my application code using this manufactured solution with wall boundary conditions. Is this because, despite fulfilling the Dirichlet part (vanishing normal velocity), the additional requirement demanding a vanishing normal stress is not met?

Can you point me to a working manufactured solution for wall boundary conditions that I could use in my pressure based 3d incompressible Navier-Stokes solver (SIMPLE with FVM)?


There is an analytic solution by Kovasznay, published in 1947, for 2d Navier-Stokes flow. It has nonzero (and non-trivial!) boundary values.

  • $\begingroup$ Thank you, I will look into that. Do you know about 3d manufactured solutions for solution domains with wall boundaries? Do you think the manufactured solution I used doesn't work, because the wall normal directional derivative of the wall normal velocity and hence the wall normal stress does not vanish? $\endgroup$ – el_tenedor Feb 2 '15 at 21:20
  • $\begingroup$ I don't know. But if you're in a channel, then it's not particularly hard to write down other functions that satisfy whatever boundary conditions you want. $\endgroup$ – Wolfgang Bangerth Feb 3 '15 at 13:44

Here's a recent paper that focuses on 2D manufactured solutions including wall boundary conditions Eca & Hoekstra. There are 3D examples in Veluri e.a.. If you have a laminar code, then simply replace the viscosity by the manufactured effective viscosity (viscosity + eddy viscosity from manufactured turbulence). There are many other references, try searching for "code verification". In Ferziger & Peric Section 8.10.3 you will find how to ensure zero normal stress in the context of FVM and SIMPLE.

  • $\begingroup$ Thanks! But the paper you suggested only deals with 2d flow, right? I was looking for a 3d manufactured solution. Note that the wall boundaries have been implemented according to Ferziger/Peric -- actually I am using a FVM based on their caffa. Can you confirm my manufactured solution does not work, because wall normal derivatives of the velocity vector won't vanish on the specified solution domain? $\endgroup$ – el_tenedor Feb 2 '15 at 20:01
  • $\begingroup$ (I've added a ref with 3D results) Sounds to me like you still have a bug somewhere. You could start by a 2D manufactured solution using 1 cell in the third direction $\endgroup$ – chris Feb 3 '15 at 7:56
  • $\begingroup$ Tanks, I had already come across the Veluri reference, but how could you know... The problem is that the process of manufacturing solutions, as it is presented the former paper, generates source terms in the mass balance. I am not sure if this could cause problems in the solution process. Furthermore, my solver is not able to handle source terms in the mass balance (yet). $\endgroup$ – el_tenedor Feb 3 '15 at 8:55
  • $\begingroup$ I will definitely try a 2d case. When you say there could be a bug in my code, do you imply that my manufactured solution above should work on a solution domain with wall boundaries? $\endgroup$ – el_tenedor Feb 3 '15 at 8:57
  • $\begingroup$ Sorry, I misunderstood. If you want to verify your no-slip wall BC, you need a manufactured solution that matches that particular BC, e.g. from Eca&Hoekstra. If that doesn't work, you have a bug somewhere. As you point out, the Taylor vortex doesn't match the no-slip wall BC, so it cannot be used to verify that particular BC. $\endgroup$ – chris Feb 3 '15 at 13:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.