When using the SIMPLE method on a mesh with a collocated variable arrangement, the following interpolation is used for the advecting velocities:

\begin{equation} u_f = \overline{u}_f - \overline{D}_f\left(\left(\nabla P\right)_f - \overline{\left(\nabla P\right)}_f\right) \end{equation}

where the over bar denotes a geometrically interpolated quantity and

\begin{equation} D_P = \frac{V_P}{a_P} \end{equation}

where $V_P$ is the volume of cell $P$ and $a_P$ is the central coefficient arising from the discretized momentum equation,

\begin{equation} a_Pu_P + \sum_{F}a_Fu_F = -V_P\nabla P \end{equation}

Anyways, my question is, how do you correctly determine $\overline{D}_f$ at boundaries? I recently wrote a SIMPLE solver for unstructured meshes, but have noticed that the largest continuity errors are always occurring at the boundary cells, leading me to think I may have accounted for this term incorrectly (I simply extrapolate it to the boundary face). This term can be very important in the computations as it also shows up in the pressure correction equation. I also have some difficulty getting the solver to converge when using inlet/outlet boundary conditions.

  • $\begingroup$ I'm struggling with the same question, so no definite answer. Option 1, extrapolate like you do. Option 2, simply take $u_f=\bar{u}_f$ at the boundaries and disregard the rest. Option 3, derive the expression from the momentum equation and see how the derivation changes when you add a boundary. Note that when the pressure is linear, the additional term drops out, so by using a manufactured solution with linear pressure you can determine whether this is indeed the problem. Perhaps the continuity errors are large at boundaries for other reasons, e.g. first-order approximation. $\endgroup$
    – chris
    Commented May 8, 2015 at 6:38
  • $\begingroup$ You are interpolating velocity to faces using Rhie-Chow so you could calculate mass fluxes which you need as a source for pressure correction eq. On boundaries you already know mass fluxes so no need to interpolate there, as they are already prescribed. $\endgroup$ Commented May 8, 2015 at 7:03
  • $\begingroup$ Im writing code about SIMPLE ALGORITM to solve navier stokes equation could you please accord some help! $\endgroup$
    – Mounia Z-m
    Commented May 24, 2018 at 13:45

2 Answers 2


You specify an appropriate boundary condition for all flow variables including velocity over the whole boundary of the computational domain, which essentially means you know the face velocity on the boundary and you do not need to construct a Rhie-Chow face velocity.


Thanks for the replies everyone, I simply just use an extrapolation ($D_f$ was needed for the pressure correction equation, but not the Rhie-Chow interpolation since $u_b$ is specified) and it seems to be working okay as long as the extrapolation scheme is consistent with the one used for $u_b$, $p_b$ and $p'_b$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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