This is a technical problem which must have been solved already. It won't be in beginners textbooks but there should be a solution somewhere. I welcome reading suggestions. Maybe someone with experience in solving Navier-Stokes equations numerically can help me. Here goes:

An incompressible fluid flowing down a pipe obeys the Navier-Stokes equations

$$\partial_t \mathbf{v} + (\mathbf{v} \cdot \nabla) \mathbf{v} = \nu \Delta \mathbf{v} - \nabla P \, ,$$

and the pressure is related to the velocity field by the incompressibility condition, $\nabla \cdot \mathbf{v} = 0$. When the flow is time dependent one usually specifies the velocity field at $t=t_0$, $\mathbf{v}(t_0,\mathbf{x}) = \mathbf{v}_0(\mathbf{x})$. The no-slip boundary condition requires the velocity to vanish on the edges of the pipe for all time $\mathbf{v}(t,r=R,\theta,z) = 0$. I use cylindrical coordinates $\mathbf{x}=(r \cos{\theta},r \sin{\theta},z)$. $R$ is the radius of the pipe.

In practice however the pressure must be expressed in terms of the velocity field at all times. To the best of my knowledge this is achieved by taking the divergence of Navier-Stokes equations. Using the incompressibility condition one can write this as

\begin{align} \nabla \cdot \left[(\mathbf{v} \cdot \nabla) \mathbf{v}\right] = (\partial_i v_j) (\partial_j v_i) = -\nabla^2 P \, . \qquad (*) \end{align}

Then the time evolution is computed as follows: Assume that instead of the no-slip boundary condition we specifiy the pressure on the boundary for all times, $P(t,R,\theta,z) = P_R(t,\theta,z)$. Then the initial velocity field $\mathbf{v}_0(\mathbf{x})$ is changed by a small time increment from $t=t_0$ in the following way,

$$\mathbf{v}(t_0+dt,\mathbf{x}) = \mathbf{v}_0(\mathbf{x}) + dt \left[ - (\mathbf{v}_0 \cdot \nabla) \mathbf{v}_0 + \nu \Delta \mathbf{v}_0 - \nabla P(t_0) \right]\, . \qquad (**)$$

The pressure at time $t_0$ is then the solution of an inhomogenous Laplace problem with the specified boundary condition given by $P_R(t_0,\theta,z)$. Specifying the pressure on the boundary $P_R(\theta,z)$ is mathematically fine. We can use this to integrate the flow equations for all times by iterating the procedure that I just outlined. It is however not very physical. We usually control the velocity field on the boundary and prefer to use the no-slip boundary condition on the velocity field.

One then goes back to the no-slip boundary condition by tuning $P_R(t_0,\theta,z)$ in such a way that $\mathbf{v}_0(t_0+dt,R,\theta,z)=0$. If we choose initial conditions such that $v_0(R,\theta,z)=0$ we extract the pressure through

$$ \nu \Delta \mathbf{v}_0(R,\theta,z) = \nabla P(t_0,R,\theta,z) \, .$$

My problem is the following: How can we be sure that this last step is possible? On the left-hand side we have an arbitrary (?) vector. It may not be possible to write it as the gradient of a scalar field. It looks like the no-slip boundary condition contains more information than the specification of $P(t,R,\theta,z) = P_R(t,\theta,z)$.

Edit (18 sept 2015): An obvious solution to my problem would be to consider a potential velocity field, $$\mathbf{v} = \mathbf{\nabla} \phi \, .$$ Indeed, in this case we can simply identify the Laplacian of the potential with the pressure on the boundary, $$\nu \nabla^2 \phi_0(R,\theta,z) = P(t_0,R,\theta,z) \, . $$

This is however a strong restriction which I do not want since I am interested in the transition to turbulence.

Edit (8 Oct 2015): I do not want to actually solve this problem numerically. I know that the scheme that I propose here is naive. What I want is to be convinced that the solution exists, is smooth and obeys the no-slip boundary conditions for all times.

  • $\begingroup$ The pipe geometry is a natural physical example but the origin of the problem is the boundary. It may be easier to solve my problem for a flow along an infinite wall instead of inside a pipe. $\endgroup$ Commented Sep 23, 2014 at 18:37
  • $\begingroup$ It looks like you're describing the SIMPLE method, or something like it. I'm an experimentalist and have generally accepted the algorithm as given (it sounds easy when you don't think about it too hard). Take a look at: engr.uky.edu/~acfd/me691-lctr-nts.pdf starting at page 133. It's a nice description of how all this works. Might help. $\endgroup$ Commented Sep 23, 2014 at 19:23
  • $\begingroup$ Thank you very much. My problem is not about the SIMPLE algorithm in particular. It is about the constraints on (and existence of) solutions of the Navier-Stokes equations with no-slip boundary conditions. Your lecture notes mention my problem though (on p55 and p60, eq 2.60) and give a reference to another book. $\endgroup$ Commented Oct 1, 2014 at 15:27
  • $\begingroup$ Since $\nu \Delta \mathbf{v} = \nabla P$ holds only on the boundary, only the normal component of $\nabla \times \nu \Delta \mathbf{v}$ needs to vanish so that, on the boundary, $\Delta \mathbf{v}$ can be written as the gradient of a scalar field. The question remains whether this is an additional constraint or already guaranteed. $\endgroup$
    – adipy
    Commented Oct 27, 2014 at 17:58
  • $\begingroup$ Why the normal component? Don't you mean the tangential one? $\endgroup$ Commented Oct 28, 2014 at 9:20

1 Answer 1


I have discussed this problem with someone who solves this type of problems numerically and got the following response:

The expression on the right-hand-side of (**) in my question is evaluated at $t_0+dt$ instead of $t_0$. This together with (*) provides two equations for $\mathbf{v}(t_0+dt)$ and $P(t_0+dt)$,

\begin{align} &\mathbf{v}(t_0+dt,\mathbf{x}) + dt \left[(\mathbf{v}(t_0+dt) \cdot \nabla) \mathbf{v}(t_0+dt) - \nu \Delta \mathbf{v}(t_0+dt) + \nabla P(t_0+dt) \right] = \mathbf{v}_0(\mathbf{x})\, , \\ & \\ &\left[\partial_i v_j(t_0+dt)\right] \left[\partial_j v_i(t_0+dt)\right] = -\nabla^2 P(t_0+dt) \, . \end{align}

These can only be solved if the pressure as well as the velocity field are fully specified at the boundaries because they are second order differential equations.

This answer is satisfying to me. It does however not tell me what I am doing wrong with my original approach. Any help would be welcome.


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.