Can you all give me (at least) one example about convection-dominated problem in order that I can test it (them) on FreeFEM++. If possible, please give me specific examples (it/they contain(s) full equations, boundary condition, initial condition, value of parameters, code in FreeFEM++,...)


For $-\epsilon \Delta u + \mathbf{v}\cdot\nabla u = f$, where $\epsilon \ll |\mathbf{v}|$. You can refer to this paper:

For the all diffusion-convection-reaction equation For $-\nabla\cdot(A\nabla u) + \mathbf{b}\cdot\nabla u + cu= f$, you can refer to

  • A posteriori energy-norm error estimates for advection-diffusion equations approximated by weighted interior penalty methods, section 4.2, the right hand side $f$ is computed using the true solution.

When the second order term is totally gone $ \mathbf{b}\cdot\nabla u + \mu u= f$ (meaning the solution is less and less smooth and the problem becomes harder), there are two examples I know:

  • http://hpfem.org/hermes-doc/hermes-examples/html/src/hermes2d/benchmarks-general/stabilized-advection-reaction.html

  • A Posteriori Error Estimation for Interior Penalty Finite Element Approximations of the Advection-Reaction Equation, section 5. Since this is behind a paywall, I am list it here: Let $\Omega = \{(x,y)\in (0,1)\times (0,1)\}$. $\Omega^-$ is the left edge of the square. True solution $u$ satisfies $$ \left\{ \begin{aligned} \mu u + \mathbf{b}\cdot \nabla u &= f, \\ u|_{\partial \Omega^-} &= g, \end{aligned} \right. $$ with $$ \mathbf{b} = \binom{y+1}{-x}\frac{1}{\sqrt{x^2 + (y+1)^2}}, \quad \mu= 0.1 $$ and $g(x,y)$ chosen so that the exact solution is: $$ u(x,y) = e^{\mu \sqrt{x^2 + (y+1)^2} \arcsin\left(\frac{y+1}{\sqrt{x^2 + (y+1)^2}}\right)} \arctan\left(\frac{\sqrt{x^2 + (y+1)^2} - 1.5}{\epsilon}\right). $$


The Erikkson-Johnson model problem is useful if you're interested in boundary layer behavior for a steady state equation. It's the only exact solution with a boundary layer for the homogeneous convection-diffusion equation that I've encountered so far.

If you take the convection vector $\beta = (1,0)^T$, then convection-diffusion reduces to

$ u_{,x} - \epsilon \Delta u = 0 $

with boundary conditions on the whole boundary

$ \left.u\right|_{\partial \Omega} = \left.u_{\rm exact} \right|_{\partial \Omega}. $

The solution can be found through separation of variables (the solution is given here on page 19 as well).

For highly convection-dominated regimes, manufactured solutions for convection-diffusion often lead to forcing terms with strong gradients themselves, such that evaluation of convergence rates or exact error tends to depend more on numerical integration of the forcing (or the error $u-u_h$!) rather than behavior of the method.

A note: you can also generalize the Erikkson-Johnson solution to a convection-diffusion-reaction equation by adding $u_{\rm exact}$ as a zero-order forcing term to the RHS (integration error matters less for a zero order term with small diffusion, since integration error around the boundary layer is an $O(\epsilon)$ error).

  • $\begingroup$ Nice addition+1, somehow I was gonna include this example in my answer, and forgot when writing up the answer. $\endgroup$
    – Shuhao Cao
    Sep 9 '13 at 19:57
  • $\begingroup$ Thanks. Yours are definitely more common; I don't see too many people doing convergence rate studies on convection-dominated boundary layer problems, so EJ solution doesn't pop up too much. $\endgroup$
    – Jesse Chan
    Sep 9 '13 at 22: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.