Navier–Stokes equations

In physics, the Navier–Stokes equations (/nævˈj stks/), named after Claude-Louis Navier and George Gabriel Stokes, describe the motion of viscous fluid substances.

These balance equations arise from applying Isaac Newton's second law to fluid motion, together with the assumption that the stress in the fluid is the sum of a diffusing viscous term (proportional to the gradient of velocity) and a pressure term—hence describing viscous flow. The main difference between them and the simpler Euler equations for inviscid flow is that Navier–Stokes equations also factor in the Froude limit (no external field) and are not conservation equations, but rather a dissipative system, in the sense that they cannot be put into the quasilinear homogeneous form:

${\displaystyle \mathbf {y} _{t}+\mathbf {A} (\mathbf {y} )\mathbf {y} _{x}=0.}$

Navier–Stokes equations are useful because they describe the physics of many phenomena of scientific and engineering interest. They may be used to model the weather, ocean currents, water flow in a pipe and air flow around a wing. The Navier–Stokes equations, in their full and simplified forms, help with the design of aircraft and cars, the study of blood flow, the design of power stations, the analysis of pollution, and many other things. Coupled with Maxwell's equations, they can be used to model and study magnetohydrodynamics.

The Navier–Stokes equations are also of great interest in a purely mathematical sense. Despite their wide range of practical uses, it has not yet been proven whether solutions always exist in three dimensions and, if they do exist, whether they are smooth – i.e. they are infinitely differentiable at all points in the domain. These are called the Navier–Stokes existence and smoothness problems. The Clay Mathematics Institute has called this one of the seven most important open problems in mathematics and has offered a US\$1 million prize for a solution or a counterexample.[1][2]

Flow velocity

The solution of the equations is a flow velocity. It is a vector field - to every point in a fluid, at any moment in a time interval, it gives a vector whose direction and magnitude are those of the velocity of the fluid at that point in space and at that moment in time. It is usually studied in three spatial dimensions and one time dimension, although the two (spatial) dimensional case is often useful as a model, and higher-dimensional analogues are of both pure and applied mathematical interest. Once the velocity field is calculated, other quantities of interest such as pressure or temperature may be found using dynamical equations and relations. This is different from what one normally sees in classical mechanics, where solutions are typically trajectories of position of a particle or deflection of a continuum. Studying velocity instead of position makes more sense for a fluid; however for visualization purposes one can compute various trajectories. In particular, the streamlines of a vector field, interpreted as flow velocity, are the paths along which a massless fluid particle would travel. These paths are the integral curves whose derivative at each point is equal to the vector field, and they can represent visually the behavior of the vector field at a point in time.

General continuum equations

The Navier–Stokes momentum equation can be derived as a particular form of the Cauchy momentum equation, whose general convective form is

${\displaystyle {\frac {D\mathbf {u} }{Dt}}={\frac {1}{\rho }}\nabla \cdot {\boldsymbol {\sigma }}+\mathbf {g} }$

By setting the Cauchy stress tensor ${\displaystyle {\boldsymbol {\sigma }}}$  to be the sum of a viscosity term ${\displaystyle {\boldsymbol {\tau }}}$  (the deviatoric stress) and a pressure term ${\displaystyle -p\mathbf {I} }$  (volumetric stress) we arrive at

Cauchy momentum equation (convective form)

${\displaystyle \rho {\frac {D\mathbf {u} }{Dt}}=-\nabla p+\nabla \cdot {\boldsymbol {\tau }}+\rho \,\mathbf {g} }$

where

• ${\displaystyle {\frac {D}{Dt}}}$  is the material derivative, defined as ${\displaystyle {\frac {\partial }{\partial t}}+\mathbf {u} \cdot \nabla }$ ,
• ${\displaystyle \rho }$  is the density,
• u is the flow velocity,
• ${\displaystyle \nabla \cdot }$  is the divergence,
• p is the pressure,
• t is time,
• ${\displaystyle {\boldsymbol {\tau }}}$  is the deviatoric stress tensor, which has order two,
• g represents body accelerations acting on the continuum, for example gravity, inertial accelerations, electrostatic accelerations, and so on,

In this form, it is apparent that in the assumption of an inviscid fluid -no deviatoric stress- Cauchy equations reduce to the Euler equations.

Assuming conservation of mass we can use the continuity equation, ${\displaystyle {\frac {\partial \rho }{\partial t}}+\nabla \cdot (\rho \,\mathbf {u} )=0}$  to arrive to the conservation form of the equations of motion. This is often written:[3]

Cauchy momentum equation (conservation form)

${\displaystyle {\frac {\partial }{\partial t}}(\rho \,\mathbf {u} )+\nabla \cdot (\rho \,\mathbf {u} \otimes \mathbf {u} )=-\nabla p+\nabla \cdot {\boldsymbol {\tau }}+\rho \,\mathbf {g} }$

where is the outer product:

${\displaystyle \mathbf {u} \otimes \mathbf {v} =\mathbf {u} \mathbf {v} ^{\mathrm {T} }.}$

The left side of the equation describes acceleration, and may be composed of time-dependent and convective components (also the effects of non-inertial coordinates if present). The right side of the equation is in effect a summation of hydrostatic effects, the divergence of deviatoric stress and body forces (such as gravity).

All non-relativistic balance equations, such as the Navier–Stokes equations, can be derived by beginning with the Cauchy equations and specifying the stress tensor through a constitutive relation. By expressing the deviatoric (shear) stress tensor in terms of viscosity and the fluid velocity gradient, and assuming constant viscosity, the above Cauchy equations will lead to the Navier–Stokes equations below.

Convective acceleration

An example of convection. Though the flow may be steady (time-independent), the fluid decelerates as it moves down the diverging duct (assuming incompressible or subsonic compressible flow), hence there is an acceleration happening over position.

A significant feature of the Cauchy equation and consequently all other continuum equations (including Euler and Navier–Stokes) is the presence of convective acceleration: the effect of acceleration of a flow with respect to space. While individual fluid particles indeed experience time-dependent acceleration, the convective acceleration of the flow field is a spatial effect, one example being fluid speeding up in a nozzle.

Compressible flow

Remark: here, the Cauchy stress tensor is denoted ${\displaystyle {\boldsymbol {\sigma }}}$  (instead of ${\displaystyle {\boldsymbol {\tau }}}$  as it was in the general continuum equations and in the incompressible flow section).

The compressible momentum Navier–Stokes equation results from the following assumptions on the Cauchy stress tensor:[4]

• the stress is Galileian invariant: it does not depend directly on the flow velocity, but only on spatial derivatives of the flow velocity. So the stress variable is the tensor gradient u.
• the stress is linear in this variable: σ(∇u) = C : (∇u), where C is the fourth-order tensor representing the constant of proportionality, called the viscosity or elasticity tensor, and : is the double-dot product.
• the fluid is assumed to be isotropic, as with gases and simple liquids, and consequently V is an isotropic tensor; furthermore, since the stress tensor is symmetric, by Helmholtz decomposition it can be expressed in terms of two scalar Lamé parameters, the bulk viscosity λ and the dynamic viscosity μ, as it is usual in linear elasticity:
Linear stress constitutive equation (expression used for elastic solid)

${\displaystyle {\boldsymbol {\sigma }}=\lambda (\nabla \cdot \mathbf {u} )\mathbf {I} +2\mu {\boldsymbol {\varepsilon }}}$

where I is the identity tensor, ε(∇u) ≡ 1/2u + 1/2(∇u)T is the rate-of-strain tensor and ∇ · u is the rate of expansion of the flow. So this decomposition can be explicited as:
${\displaystyle {\boldsymbol {\sigma }}=\lambda (\nabla \cdot \mathbf {u} )\mathbf {I} +\mu \left(\nabla \mathbf {u} +(\nabla \mathbf {u} )^{\mathrm {T} }\right).}$

Since the trace of the rate-of-strain tensor in three dimensions is:

${\displaystyle \operatorname {tr} ({\boldsymbol {\varepsilon }})=\nabla \cdot \mathbf {u} .}$

The trace of the stress tensor in three dimensions becomes:

${\displaystyle \operatorname {tr} ({\boldsymbol {\sigma }})=(3\lambda +2\mu )\nabla \cdot \mathbf {u} .}$

So by alternatively decomposing the stress tensor into isotropic and deviatoric parts, as usual in fluid dynamics:[5]

${\displaystyle {\boldsymbol {\sigma }}=\left(\lambda +{\tfrac {2}{3}}\mu \right)\left(\nabla \cdot \mathbf {u} \right)\mathbf {I} +\mu \left(\nabla \mathbf {u} +\left(\nabla \mathbf {u} \right)^{\mathrm {T} }-{\tfrac {2}{3}}\left(\nabla \cdot \mathbf {u} \right)\mathbf {I} \right)}$

Introducing the second viscosity ζ,

${\displaystyle \zeta \equiv \lambda +{\tfrac {2}{3}}\mu ,}$

we arrive to the linear constitutive equation in the form usually employed in thermal hydraulics:[4]

Linear stress constitutive equation (expression used for fluids)

${\displaystyle {\boldsymbol {\sigma }}=\zeta (\nabla \cdot \mathbf {u} )\mathbf {I} +\mu \left(\nabla \mathbf {u} +(\nabla \mathbf {u} )^{\mathrm {T} }-{\tfrac {2}{3}}(\nabla \cdot \mathbf {u} )\mathbf {I} \right)}$

Both second viscosity ζ and dynamic viscosity μ need not be constant – in general, they depend on density, on each other (the viscosity is expressed in pressure), and in compressible flows also on temperature. Any equation expliciting one of these transport coefficient in the conservation variables is called an equation of state.[6]

By computing the divergence of the stress tensor, since the divergence of tensor u is 2u and the divergence of tensor (∇u)T is ∇(∇ · u), one finally arrives to the compressible (most general) Navier–Stokes momentum equation:[7]

Navier–Stokes momentum equation (convective form)

${\displaystyle \rho \left({\frac {\partial \mathbf {u} }{\partial t}}+\mathbf {u} \cdot \nabla \mathbf {u} \right)=-\nabla {\bar {p}}+\mu \,\nabla ^{2}\mathbf {u} +{\tfrac {1}{3}}\mu \,\nabla (\nabla \cdot \mathbf {u} )+\rho \mathbf {g} .}$

The above equation can also be written in the form

Navier–Stokes momentum equation (convective form)

${\displaystyle \rho {\frac {D\mathbf {u} }{Dt}}=-\nabla {\bar {p}}+\mu \,\nabla ^{2}\mathbf {u} +{\tfrac {1}{3}}\mu \,\nabla (\nabla \cdot \mathbf {u} )+\rho \mathbf {g} .}$

where ${\displaystyle D/Dt}$  is the material derivative. The left hand side changes in the conservation form of the Navier–Stokes momentum equation:

Navier–Stokes momentum equation (conservation form)

${\displaystyle {\frac {\partial }{\partial t}}(\rho \,\mathbf {u} )+\nabla \cdot (\rho \,\mathbf {u} \otimes \mathbf {u} )=-\nabla {\bar {p}}+\mu \,\nabla ^{2}\mathbf {u} +{\tfrac {1}{3}}\mu \,\nabla (\nabla \cdot \mathbf {u} )+\rho \mathbf {g} .}$

Bulk viscosity is assumed to be constant, otherwise it should not be taken out of the last derivative. The effect of the volume viscosity ζ is that the mechanical pressure is not equivalent to the thermodynamic pressure:[8]

${\displaystyle {\bar {p}}\equiv p-\zeta \,\nabla \cdot \mathbf {u} ,}$

This difference is usually neglected, sometimes by explicitly assuming ζ = 0, but it could have an impact in sound absorption and attenuation and shock waves.[9] The convective acceleration term can also be written as

${\displaystyle \mathbf {u} \cdot \nabla \mathbf {u} =(\nabla \times \mathbf {u} )\times \mathbf {u} +{\frac {1}{2}}\nabla \mathbf {u} ^{2}}$ ,

where the vector ${\displaystyle (\nabla \times \mathbf {u} )\times \mathbf {u} }$  is known as the Lamb vector.

For the special case of an incompressible flow, the pressure constrains the flow so that the volume of fluid elements is constant: isochoric flow resulting in a solenoidal velocity field with ∇ · u = 0.[10]

Incompressible flow

The incompressible momentum Navier–Stokes equation results from the following assumptions on the Cauchy stress tensor:[4]

• the stress is Galilean invariant: it does not depend directly on the flow velocity, but only on spatial derivatives of the flow velocity. So the stress variable is the tensor gradient u.
• the fluid is assumed to be isotropic, as with gases and simple liquids, and consequently τ is an isotropic tensor; furthermore, since the deviatoric stress tensor can be expressed in terms of the dynamic viscosity μ:
Stokes' stress constitutive equation (expression used for incompressible elastic solids)
${\displaystyle {\boldsymbol {\tau }}=2\mu {\boldsymbol {\varepsilon }}}$
where
${\displaystyle {\boldsymbol {\varepsilon }}={\frac {1}{2}}\left(\mathbf {\nabla u} +\mathbf {\nabla u} ^{\mathrm {T} }\right)}$
is the rate-of-strain tensor. So this decomposition can be explicited as:[4]
Stokes's stress constitutive equation (expression used for incompressible viscous fluids)
${\displaystyle {\boldsymbol {\tau }}=\mu \left(\nabla \mathbf {u} +\nabla \mathbf {u} ^{\mathrm {T} }\right)}$

Dynamic viscosity μ need not be constant – in incompressible flows it can depend on density and on pressure. Any equation expliciting one of these transport coefficient in the conservative variables is called an equation of state.[6]

The divergence of the deviatoric stress is given by:

${\displaystyle \nabla \cdot {\boldsymbol {\tau }}=2\mu \nabla \cdot {\boldsymbol {\varepsilon }}=\mu \nabla \cdot \left(\nabla \mathbf {u} +\nabla \mathbf {u} ^{\mathrm {T} }\right)=\mu \,\nabla ^{2}\mathbf {u} }$

because ${\displaystyle \nabla \cdot \mathbf {u} =0}$  for an incompressible fluid. Incompressibility rules out density and pressure waves like sound or shock waves, so this simplification is not useful if these phenomena are of interest. The incompressible flow assumption typically holds well with all fluids at low Mach numbers (say up to about Mach 0.3), such as for modelling air winds at normal temperatures.[11] For incompressible (uniform density ρ0) flows the following identity holds:

${\displaystyle {\frac {1}{\rho _{0}}}\nabla p=\nabla \left({\frac {p}{\rho _{0}}}\right)\equiv \nabla w}$

where w is the specific (with the sense of per unit mass) thermodynamic work, the internal source term. Then the incompressible Navier–Stokes equations are best visualised by dividing for the density:

Incompressible Navier–Stokes equations (convective form)

${\displaystyle {\frac {\partial \mathbf {u} }{\partial t}}+(\mathbf {u} \cdot \nabla )\mathbf {u} -\nu \,\nabla ^{2}\mathbf {u} =-\nabla w+\mathbf {g} .}$

where 𝜈 = μ/ρ0 is called the kinematic viscosity.

A laminar flow example

Velocity profile (laminar flow):

${\displaystyle u(x)=0,\quad u(y)=u,\quad u(z)=0}$

for the y-direction, simplify the Navier–Stokes equation:

${\displaystyle 0=-{\frac {dP}{dx}}+\mu \left({\frac {d^{2}u}{dy^{2}}}\right)}$

Integrate twice to find the velocity profile with boundary conditions y = h, u = 0, y = −h, u = 0:

${\displaystyle u={\frac {1}{2\mu }}{\frac {dP}{dx}}y^{2}+Ay+B}$

From this equation, substitute in the two boundary conditions to get two equations:

{\displaystyle {\begin{aligned}0&={\frac {1}{2\mu }}{\frac {dP}{dx}}h^{2}+Ah+B\\0&={\frac {1}{2\mu }}{\frac {dP}{dx}}h^{2}-Ah+B\end{aligned}}}

${\displaystyle B=-{\frac {1}{2\mu }}{\frac {dP}{dx}}h^{2}}$

Substitute and solve for A:

${\displaystyle A=0}$

Finally this gives the velocity profile:

${\displaystyle u={\frac {1}{2\mu }}{\frac {dP}{dx}}(y^{2}-h^{2})}$

It is well worth observing the meaning of each term (compare to the Cauchy momentum equation):

${\displaystyle \overbrace {\underbrace {\frac {\partial \mathbf {u} }{\partial t}} _{\begin{smallmatrix}{\text{Variation}}\end{smallmatrix}}+\underbrace {(\mathbf {u} \cdot \nabla )\mathbf {u} } _{\begin{smallmatrix}{\text{Convection}}\end{smallmatrix}}} ^{\text{Inertia (per volume)}}\overbrace {-\underbrace {\nu \,\nabla ^{2}\mathbf {u} } _{\text{Diffusion}}=\underbrace {-\nabla w} _{\begin{smallmatrix}{\text{Internal}}\\{\text{source}}\end{smallmatrix}}} ^{\text{Divergence of stress}}+\underbrace {\mathbf {g} } _{\begin{smallmatrix}{\text{External}}\\{\text{source}}\end{smallmatrix}}.}$

The higher-order term, namely the shear stress divergence ∇ · τ, has simply reduced to the vector laplacian term μ2u.[12] This laplacian term can be interpreted as the difference between the velocity at a point and the mean velocity in a small surrounding volume. This implies that – for a Newtonian fluid – viscosity operates as a diffusion of momentum, in much the same way as the heat conduction. In fact neglecting the convection term, incompressible Navier–Stokes equations lead to a vector diffusion equation (namely Stokes equations), but in general the convection term is present, so incompressible Navier–Stokes equations belong to the class of convection-diffusion equations.

In the usual case of an external field being a conservative field:

${\displaystyle \mathbf {g} =-\nabla \phi }$

${\displaystyle h\equiv w+\phi }$

one can finally condense the whole source in one term, arriving to the incompressible Navier–Stokes equation with conservative external field:

${\displaystyle {\frac {\partial \mathbf {u} }{\partial t}}+(\mathbf {u} \cdot \nabla )\mathbf {u} -\nu \,\nabla ^{2}\mathbf {u} =-\nabla h.}$

The incompressible Navier–Stokes equations with conservative external field is the fundamental equation of hydraulics. The domain for these equations is commonly a 3 or less Euclidean space, for which an orthogonal coordinate reference frame is usually set to explicit the system of scalar partial differential equations to be solved. In 3D orthogonal coordinate systems are 3: Cartesian, cylindrical, and spherical. Expressing the Navier–Stokes vector equation in Cartesian coordinates is quite straightforward and not much influenced by the number of dimensions of the euclidean space employed, and this is the case also for the first-order terms (like the variation and convection ones) also in non-cartesian orthogonal coordinate systems. But for the higher order terms (the two coming from the divergence of the deviatoric stress that distinguish Navier–Stokes equations from Euler equations) some tensor calculus is required for deducing an expression in non-cartesian orthogonal coordinate systems.

The incompressible Navier–Stokes equation is composite, the sum of two orthogonal equations,

{\displaystyle {\begin{aligned}{\frac {\partial \mathbf {u} }{\partial t}}&=\Pi ^{S}\left(-(\mathbf {u} \cdot \nabla )\mathbf {u} +\nu \,\nabla ^{2}\mathbf {u} \right)+\mathbf {f} ^{S}\\\rho ^{-1}\,\nabla p&=\Pi ^{I}\left(-(\mathbf {u} \cdot \nabla )\mathbf {u} +\nu \,\nabla ^{2}\mathbf {u} \right)+\mathbf {f} ^{I}\end{aligned}}}

where ΠS and ΠI are solenoidal and irrotational projection operators satisfying ΠS + ΠI = 1 and fS and fI are the non-conservative and conservative parts of the body force. This result follows from the Helmholtz Theorem (also known as the fundamental theorem of vector calculus). The first equation is a pressureless governing equation for the velocity, while the second equation for the pressure is a functional of the velocity and is related to the pressure Poisson equation.

The explicit functional form of the projection operator in 3D is found from the Helmholtz Theorem:

${\displaystyle \Pi ^{S}\,\mathbf {F} (\mathbf {r} )={\frac {1}{4\pi }}\nabla \times \int {\frac {\nabla ^{\prime }\times \mathbf {F} (\mathbf {r} ')}{|\mathbf {r} -\mathbf {r} '|}}dV',\quad \Pi ^{I}=1-\Pi ^{S}}$

with a similar structure in 2D. Thus the governing equation is an integro-differential equation similar to Coulomb and Biot-Savart law, not convenient for numerical computation.

An equivalent weak or variational form of the equation, proved to produce the same velocity solution as the Navier–Stokes equation,[13] is given by,

${\displaystyle \left(\mathbf {w} ,{\frac {\partial \mathbf {u} }{\partial t}}\right)=-\left(\mathbf {w} ,\left(\mathbf {u} \cdot \nabla \right)\mathbf {u} \right)-\nu \left(\nabla \mathbf {w} :\nabla \mathbf {u} \right)+\left(\mathbf {w} ,\mathbf {f} ^{S}\right)}$

for divergence-free test functions w satisfying appropriate boundary conditions. Here, the projections are accomplished by the orthogonality of the solenoidal and irrotational function spaces. The discrete form of this is eminently suited to finite element computation of divergence-free flow, as we shall see in the next section. There one will be able to address the question "How does one specify pressure-driven (Poiseuille) problems with a pressureless governing equation?".

The absence of pressure forces from the governing velocity equation demonstrates that the equation is not a dynamic one, but rather a kinematic equation where the divergence-free condition serves the role of a conservation equation. This all would seem to refute the frequent statements that the incompressible pressure enforces the divergence-free condition.

Variational form of the incompressible Navier-Stokes equations

Strong form

Consider the incompressible Navier-Stokes equations for a Newtonian fluid of constant density ${\displaystyle \rho }$  in a domain ${\displaystyle \Omega \in \mathbb {R} ^{d}}$  (with ${\displaystyle d=2,3}$ ) with boundary ${\displaystyle \partial \Omega =\Gamma _{D}\cup \Gamma _{N}}$ , being ${\displaystyle \Gamma _{D}}$  and ${\displaystyle \Gamma _{N}}$  portions of the boundary where respectively a Dirichlet and a Neumann boundary condition is applied (${\displaystyle \Gamma _{D}\cap \Gamma _{N}=\emptyset }$ ):[14]

${\displaystyle {\begin{cases}\rho {\dfrac {\partial {\boldsymbol {u}}}{\partial t}}+\rho ({\boldsymbol {u}}\cdot \nabla ){\boldsymbol {u}}-\nabla \cdot {\boldsymbol {\sigma }}({\boldsymbol {u}},p)={\boldsymbol {f}}&{\text{ in }}\Omega \times (0,T)\\\nabla \cdot {\boldsymbol {u}}=0&{\text{ in }}\Omega \times (0,T)\\{\boldsymbol {u}}={\boldsymbol {g}}&{\text{ on }}\Gamma _{D}\times (0,T)\\\sigma ({\boldsymbol {u}},p){\boldsymbol {\hat {n}}}={\boldsymbol {h}}&{\text{ on }}\Gamma _{N}\times (0,T)\\{\boldsymbol {u}}(0)={\boldsymbol {u}}_{0}&{\text{ in }}\Omega \times \{0\}\end{cases}}}$

${\displaystyle {\boldsymbol {u}}}$  is the fluid velocity, ${\displaystyle p}$  the fluid pressure, ${\displaystyle {\boldsymbol {f}}}$  a given forcing term, ${\displaystyle {\boldsymbol {\hat {n}}}}$  the outward directed unit normal vector to ${\displaystyle \Gamma _{N}}$ , and ${\displaystyle {\boldsymbol {\sigma }}({\boldsymbol {u}},p)}$  the stress tensor[disambiguation needed] defined as:[14]

${\displaystyle {\boldsymbol {\sigma }}({\boldsymbol {u}},p)=-p{\boldsymbol {I}}+2\mu {\boldsymbol {\epsilon }}({\boldsymbol {u}}).}$

Let ${\displaystyle \mu }$  be the dynamic viscosity of the fluid, ${\displaystyle {\boldsymbol {I}}}$  the second order identity tensor and ${\displaystyle {\boldsymbol {\epsilon }}({\boldsymbol {u}})}$  the strain-rate tensor defined as:[14]

${\displaystyle {\boldsymbol {\epsilon }}({\boldsymbol {u}})={\frac {1}{2}}((\nabla {\boldsymbol {u}})+(\nabla {\boldsymbol {u}})^{T}).}$

The functions ${\displaystyle {\boldsymbol {g}}}$  and ${\displaystyle {\boldsymbol {h}}}$  are given Dirichlet and Neumann boundary data, while ${\displaystyle {\boldsymbol {u}}_{0}}$  is the initial condition. The first equation is the momentum balance equation, while the second represents the mass conservation, i.e. continuity equation. Assuming constant dynamic viscosity, using the vectorial identity ${\displaystyle \nabla \cdot (\nabla {\boldsymbol {f}})^{T}=\nabla (\nabla \cdot {\boldsymbol {f}})}$  and exploiting mass conservation, the divergence of the total stress tensor in the momentum equation can also be expressed as:[14]

${\displaystyle \nabla \cdot {\boldsymbol {\sigma }}({\boldsymbol {u}},p)=\nabla \cdot (-p{\boldsymbol {I}}+2\mu {\boldsymbol {\epsilon }}({\boldsymbol {u}}))=-\nabla p+2\mu \nabla \cdot {\boldsymbol {\epsilon }}({\boldsymbol {u}})=-\nabla p+2\mu \nabla \cdot {\bigg [}{\frac {1}{2}}((\nabla {\boldsymbol {u}})+(\nabla {\boldsymbol {u}})^{T}).{\bigg ]}=-\nabla p+\mu (\Delta {\boldsymbol {u}}+\nabla \cdot (\nabla {\boldsymbol {u}})^{T})=-\nabla p+\mu (\Delta {\boldsymbol {u}}+\nabla \underbrace {(\nabla \cdot {\boldsymbol {u}})} _{=0})=-\nabla p+\mu \Delta {\boldsymbol {u}}.}$

Moreover, note that the Neumann boundary conditions can be rearranged as:[14]

${\displaystyle \sigma ({\boldsymbol {u}},p){\boldsymbol {\hat {n}}}=(-p{\boldsymbol {I}}+2\mu {\boldsymbol {\epsilon }}({\boldsymbol {u}})){\boldsymbol {\hat {n}}}=-p{\boldsymbol {\hat {n}}}+\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}.}$

Weak Form

In order to find a variational form of the Navier-Stokes equations, firstly, consider the momentum equation[14]

${\displaystyle \rho {\dfrac {\partial {\boldsymbol {u}}}{\partial t}}-\mu \Delta {\boldsymbol {u}}+\rho ({\boldsymbol {u}}\cdot \nabla ){\boldsymbol {u}}+\nabla p={\boldsymbol {f}}}$

multiply it for a test function ${\displaystyle {\boldsymbol {v}}}$ , defined in a suitable space ${\displaystyle V}$ , and integrate both members with respect to the domain ${\displaystyle \Omega }$ :[14]

${\displaystyle \int _{\Omega }\rho {\dfrac {\partial {\boldsymbol {u}}}{\partial t}}\cdot {\boldsymbol {v}}-\int _{\Omega }\mu \Delta {\boldsymbol {u}}\cdot {\boldsymbol {v}}+\int _{\Omega }\rho ({\boldsymbol {u}}\cdot \nabla ){\boldsymbol {u}}\cdot {\boldsymbol {v}}+\int _{\Omega }\nabla p\cdot {\boldsymbol {v}}=\int _{\Omega }{\boldsymbol {f}}\cdot {\boldsymbol {v}}}$

Counter-integrating by parts the diffusive and the pressure terms and by using the Gauss' theorem:[14]

${\displaystyle -\int _{\Omega }\mu \Delta {\boldsymbol {u}}\cdot {\boldsymbol {v}}=\int _{\Omega }\mu \nabla {\boldsymbol {u}}\cdot \nabla {\boldsymbol {v}}-\int _{\partial \Omega }\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}\cdot {\boldsymbol {v}}}$
${\displaystyle \int _{\Omega }\nabla p\cdot {\boldsymbol {v}}=-\int _{\Omega }p\nabla \cdot {\boldsymbol {v}}+\int _{\partial \Omega }p{\boldsymbol {v}}\cdot {\boldsymbol {\hat {n}}}}$

Using these relations, one gets:[14]

${\displaystyle \int _{\Omega }\rho {\dfrac {\partial {\boldsymbol {u}}}{\partial t}}\cdot {\boldsymbol {v}}+\int _{\Omega }\mu \nabla {\boldsymbol {u}}\cdot \nabla {\boldsymbol {v}}+\int _{\Omega }\rho ({\boldsymbol {u}}\cdot \nabla ){\boldsymbol {u}}\cdot {\boldsymbol {v}}-\int _{\Omega }p\nabla \cdot {\boldsymbol {v}}=\int _{\Omega }{\boldsymbol {f}}\cdot {\boldsymbol {v}}+\int _{\partial \Omega }{\bigg (}\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}-p{\boldsymbol {\hat {n}}}{\bigg )}\cdot {\boldsymbol {v}}.\;\;\;\;\forall {\boldsymbol {v}}\in V}$

In the same fashion, the continuity equation is multiplied for a test function ${\displaystyle q}$  belonging to a space ${\displaystyle Q}$  and integrated in the domain ${\displaystyle \Omega }$ :[14]

${\displaystyle \int _{\Omega }q\nabla \cdot {\boldsymbol {u}}=0.\;\;\;\;\forall q\in Q.}$

The space functions are chosen as follows:

${\displaystyle V=[H_{0}^{1}(\Omega )]^{d}=\{{\boldsymbol {v}}\in [H^{1}(\Omega )]^{d}:\;\;\;{\boldsymbol {v}}={\boldsymbol {0}}{\text{ on }}\Gamma _{D}\},}$
${\displaystyle Q=L^{2}(\Omega )}$

Considering that the test function ${\displaystyle {\boldsymbol {v}}}$  vanishes on the Dirichlet boundary and considering the Neumann condition, the integral on the boundary can be rearranged as:[14]

${\displaystyle \int _{\partial \Omega }{\bigg (}\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}-p{\boldsymbol {\hat {n}}}{\bigg )}\cdot {\boldsymbol {v}}=\underbrace {\int _{\Gamma _{D}}{\bigg (}\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}-p{\boldsymbol {\hat {n}}}{\bigg )}\cdot {\boldsymbol {v}}} _{{\boldsymbol {v}}={\boldsymbol {0}}{\text{ on }}\Gamma _{D}\ }+\int _{\Gamma _{N}}\underbrace {{\bigg (}\mu {\frac {\partial {\boldsymbol {u}}}{\partial {\boldsymbol {\hat {n}}}}}-p{\boldsymbol {\hat {n}}}{\bigg )}} _{={\boldsymbol {h}}{\text{ on }}\Gamma _{N}}\cdot {\boldsymbol {v}}=\int _{\Gamma _{N}}{\boldsymbol {h}}\cdot {\boldsymbol {v}}.}$

Having this in mind, the weak formulation of the Navier-Stokes equations is expressed as:[14]

${\displaystyle {\text{find }}{\boldsymbol {u}}\in L^{2}(\mathbb {R} ^{+}\;[H^{1}(\Omega )]^{d})\cap C^{0}(\mathbb {R} ^{+}\;[L^{2}(\Omega )]^{d}){\text{ such that: }}}$
${\displaystyle {\begin{cases}\displaystyle \int _{\Omega }\rho {\dfrac {\partial {\boldsymbol {u}}}{\partial t}}\cdot {\boldsymbol {v}}+\int _{\Omega }\mu \nabla {\boldsymbol {u}}\cdot \nabla {\boldsymbol {v}}+\int _{\Omega }\rho ({\boldsymbol {u}}\cdot \nabla ){\boldsymbol {u}}\cdot {\boldsymbol {v}}-\int _{\Omega }p\nabla \cdot {\boldsymbol {v}}=\int _{\Omega }{\boldsymbol {f}}\cdot {\boldsymbol {v}}+\int _{\Gamma _{N}}{\boldsymbol {h}}\cdot {\boldsymbol {v}}.\;\;\;\;\forall {\boldsymbol {v}}\in V\\\displaystyle \int _{\Omega }q\nabla \cdot {\boldsymbol {u}}=0.\;\;\;\;\forall q\in Q.\end{cases}}}$

Discrete velocity

With partitioning of the problem domain and defining basis functions on the partitioned domain, the discrete form of the governing equation is,

${\displaystyle \left(\mathbf {w} _{i},{\frac {\partial \mathbf {u} _{j}}{\partial t}}\right)=-\left(\mathbf {w} _{i},(\mathbf {u} \cdot \nabla )\mathbf {u} _{j}\right)-\nu (\nabla \mathbf {w} _{i}:\nabla \mathbf {u} _{j})+\left(\mathbf {w} _{i},\mathbf {f} ^{S}\right).}$

It is desirable to choose basis functions which reflect the essential feature of incompressible flow – the elements must be divergence-free. While the velocity is the variable of interest, the existence of the stream function or vector potential is necessary by the Helmholtz Theorem. Further, to determine fluid flow in the absence of a pressure gradient, one can specify the difference of stream function values across a 2D channel, or the line integral of the tangential component of the vector potential around the channel in 3D, the flow being given by Stokes' Theorem. Discussion will be restricted to 2D in the following.

We further restrict discussion to continuous Hermite finite elements which have at least first-derivative degrees-of-freedom. With this, one can draw a large number of candidate triangular and rectangular elements from the plate-bending literature. These elements have derivatives as components of the gradient. In 2D, the gradient and curl of a scalar are clearly orthogonal, given by the expressions,

{\displaystyle {\begin{aligned}\nabla \phi &=\left({\frac {\partial \phi }{\partial x}},\,{\frac {\partial \phi }{\partial y}}\right)^{\mathrm {T} },\\\nabla \times \phi &=\left({\frac {\partial \phi }{\partial y}},\,-{\frac {\partial \phi }{\partial x}}\right)^{\mathrm {T} }.\end{aligned}}}

Adopting continuous plate-bending elements, interchanging the derivative degrees-of-freedom and changing the sign of the appropriate one gives many families of stream function elements.

Taking the curl of the scalar stream function elements gives divergence-free velocity elements.[15][16] The requirement that the stream function elements be continuous assures that the normal component of the velocity is continuous across element interfaces, all that is necessary for vanishing divergence on these interfaces.

Boundary conditions are simple to apply. The stream function is constant on no-flow surfaces, with no-slip velocity conditions on surfaces. Stream function differences across open channels determine the flow. No boundary conditions are necessary on open boundaries, though consistent values may be used with some problems. These are all Dirichlet conditions.

The algebraic equations to be solved are simple to set up, but of course are non-linear, requiring iteration of the linearized equations.

Similar considerations apply to three-dimensions, but extension from 2D is not immediate because of the vector nature of the potential, and there exists no simple relation between the gradient and the curl as was the case in 2D.

Pressure recovery

Recovering pressure from the velocity field is easy. The discrete weak equation for the pressure gradient is,

${\displaystyle (\mathbf {g} _{i},\nabla p)=-\left(\mathbf {g} _{i},\left(\mathbf {u} \cdot \nabla \right)\mathbf {u} _{j}\right)-\nu \left(\nabla \mathbf {g} _{i}:\nabla \mathbf {u} _{j}\right)+\left(\mathbf {g} _{i},\mathbf {f} ^{I}\right)}$

where the test/weight functions are irrotational. Any conforming scalar finite element may be used. However, the pressure gradient field may also be of interest. In this case one can use scalar Hermite elements for the pressure. For the test/weight functions gi one would choose the irrotational vector elements obtained from the gradient of the pressure element.

Non-inertial frame of reference

The rotating frame of reference introduces some interesting pseudo-forces into the equations through the material derivative term. Consider a stationary inertial frame of reference K, and a non-inertial frame of reference K', which is translating with velocity ${\displaystyle \mathbf {U} (t)}$  and rotating with angular velocity ${\displaystyle \mathbf {\Omega } (t)}$  with respect to the stationary frame. The Navier–Stokes equation observed from the non-inertial frame then becomes

Navier–Stokes momentum equation in non-inertial frame

${\displaystyle \rho {\frac {D\mathbf {u} }{Dt}}=-\nabla {\bar {p}}+\mu \,\nabla ^{2}\mathbf {u} +{\tfrac {1}{3}}\mu \,\nabla (\nabla \cdot \mathbf {u} )+\rho \mathbf {g} -\rho \left(2\mathbf {\Omega } \times \mathbf {u} +\mathbf {\Omega } \times (\mathbf {\Omega } \times \mathbf {x} )+{\frac {d\mathbf {U} }{dt}}+{\frac {d\mathbf {\Omega } }{dt}}\times \mathbf {x} \right).}$

Here ${\displaystyle \mathbf {x} }$  and ${\displaystyle \mathbf {u} }$  are measured in the non-inertial frame. The first term in the parenthesis represents Coriolis acceleration, the second term is due to centripetal acceleration, the third is due to the linear acceleration of K' with respect to K and the fourth term is due to the angular acceleration of K' with respect to K.

Other equations

The Navier–Stokes equations are strictly a statement of the balance of momentum. To fully describe fluid flow, more information is needed, how much depending on the assumptions made. This additional information may include boundary data (no-slip, capillary surface, etc.), conservation of mass, balance of energy, and/or an equation of state.

Continuity equation for incompressible fluid

Regardless of the flow assumptions, a statement of the conservation of mass is generally necessary. This is achieved through the mass continuity equation, given in its most general form as:

${\displaystyle {\frac {\partial \rho }{\partial t}}+\nabla \cdot (\rho \mathbf {u} )=0}$

or, using the substantive derivative:

${\displaystyle {\frac {D\rho }{Dt}}+\rho (\nabla \cdot \mathbf {u} )=0.}$

In the example below we can assume to have a Newtonian fluid as well as having ρ and μ both be constant.

Recall that mass continuity is simply the summation of the rate of mass in and the rate of mass out.

rate of mass accumulated = rate of mass in − rate of mass out
{\displaystyle {\begin{aligned}\Delta x\,\Delta \,y\Delta z{\frac {\partial \rho }{\partial t}}&=\Delta y\,\Delta z\left(\rho U_{x}|_{x}-\rho U_{x}|_{x+\Delta x}\right)+\Delta x\Delta z\left(\rho U_{y}|_{y}-\rho U_{y}|_{y+\Delta y}\right)+\Delta \,x\Delta y\left(\rho U_{z}|_{z}-\rho U_{z}|_{z+\Delta z}\right)\\[8pt]\Rightarrow {\frac {\partial \rho }{\partial t}}&={\frac {\rho U_{x}|_{x}-\rho U_{x}|_{x+\Delta x}}{\Delta x}}+{\frac {\rho U_{y}|_{y}-\rho U_{y}|_{y+\Delta y}}{\Delta y}}+{\frac {\rho U_{z}|_{z}-\rho U_{z}|_{z+\Delta z}}{\Delta z}}\\[6pt]&=\rho \left({\frac {U_{x}|_{x}-U_{x}|_{x+\Delta x}}{\Delta x}}+{\frac {U_{y}|_{y}-U_{y}|_{y+\Delta y}}{\Delta y}}+{\frac {U_{z}|_{z}-U_{z}|_{z+\Delta z}}{\Delta z}}\right)\\[6pt]&=-\rho \left({\frac {\partial U_{x}}{\partial x}}+{\frac {\partial U_{y}}{\partial y}}+{\frac {\partial U_{z}}{\partial z}}\right)\end{aligned}}}

Since there is no change in density ρ over time, ρ/t = 0, we have:

${\displaystyle 0=-\rho \left({\frac {\partial U_{x}}{\partial x}}+{\frac {\partial U_{y}}{\partial y}}+{\frac {\partial U_{z}}{\partial z}}\right)}$

Recall that ρ is a constant thus proving the divergence theorem above.

Stream function for 2D equations

Taking the curl of the Navier–Stokes equation results in the elimination of pressure. This is especially easy to see if 2D Cartesian flow is assumed (like in the degenerate 3D case with uz = 0 and no dependence of anything on z), where the equations reduce to:

{\displaystyle {\begin{aligned}\rho \left({\frac {\partial u_{x}}{\partial t}}+u_{x}{\frac {\partial u_{x}}{\partial x}}+u_{y}{\frac {\partial u_{x}}{\partial y}}\right)&=-{\frac {\partial p}{\partial x}}+\mu \left({\frac {\partial ^{2}u_{x}}{\partial x^{2}}}+{\frac {\partial ^{2}u_{x}}{\partial y^{2}}}\right)+\rho g_{x}\\\rho \left({\frac {\partial u_{y}}{\partial t}}+u_{x}{\frac {\partial u_{y}}{\partial x}}+u_{y}{\frac {\partial u_{y}}{\partial y}}\right)&=-{\frac {\partial p}{\partial y}}+\mu \left({\frac {\partial ^{2}u_{y}}{\partial x^{2}}}+{\frac {\partial ^{2}u_{y}}{\partial y^{2}}}\right)+\rho g_{y}.\end{aligned}}}

Differentiating the first with respect to y, the second with respect to x and subtracting the resulting equations will eliminate pressure and any conservative force. Defining the stream function ψ through

${\displaystyle u_{x}={\frac {\partial \psi }{\partial y}};\quad u_{y}=-{\frac {\partial \psi }{\partial x}}}$

results in mass continuity being unconditionally satisfied (given the stream function is continuous), and then incompressible Newtonian 2D momentum and mass conservation condense into one equation:

${\displaystyle {\frac {\partial }{\partial t}}\left(\nabla ^{2}\psi \right)+{\frac {\partial \psi }{\partial y}}{\frac {\partial }{\partial x}}\left(\nabla ^{2}\psi \right)-{\frac {\partial \psi }{\partial x}}{\frac {\partial }{\partial y}}\left(\nabla ^{2}\psi \right)=\nu \nabla ^{4}\psi }$

where 4 is the 2D biharmonic operator and ν is the kinematic viscosity, ν = μ/ρ. We can also express this compactly using the Jacobian determinant:

${\displaystyle {\frac {\partial }{\partial t}}\left(\nabla ^{2}\psi \right)+{\frac {\partial \left(\psi ,\nabla ^{2}\psi \right)}{\partial (y,x)}}=\nu \nabla ^{4}\psi .}$

This single equation together with appropriate boundary conditions describes 2D fluid flow, taking only kinematic viscosity as a parameter. Note that the equation for creeping flow results when the left side is assumed zero.

In axisymmetric flow another stream function formulation, called the Stokes stream function, can be used to describe the velocity components of an incompressible flow with one scalar function.

The incompressible Navier–Stokes equation is a differential algebraic equation, having the inconvenient feature that there is no explicit mechanism for advancing the pressure in time. Consequently, much effort has been expended to eliminate the pressure from all or part of the computational process. The stream function formulation eliminates the pressure but only in two dimensions and at the expense of introducing higher derivatives and elimination of the velocity, which is the primary variable of interest.

Properties

Nonlinearity

The Navier–Stokes equations are nonlinear partial differential equations in the general case and so remain in almost every real situation.[17][18] In some cases, such as one-dimensional flow and Stokes flow (or creeping flow), the equations can be simplified to linear equations. The nonlinearity makes most problems difficult or impossible to solve and is the main contributor to the turbulence that the equations model.

The nonlinearity is due to convective acceleration, which is an acceleration associated with the change in velocity over position. Hence, any convective flow, whether turbulent or not, will involve nonlinearity. An example of convective but laminar (nonturbulent) flow would be the passage of a viscous fluid (for example, oil) through a small converging nozzle. Such flows, whether exactly solvable or not, can often be thoroughly studied and understood.[19]

Turbulence

Turbulence is the time-dependent chaotic behavior seen in many fluid flows. It is generally believed that it is due to the inertia of the fluid as a whole: the culmination of time-dependent and convective acceleration; hence flows where inertial effects are small tend to be laminar (the Reynolds number quantifies how much the flow is affected by inertia). It is believed, though not known with certainty, that the Navier–Stokes equations describe turbulence properly.[20]

The numerical solution of the Navier–Stokes equations for turbulent flow is extremely difficult, and due to the significantly different mixing-length scales that are involved in turbulent flow, the stable solution of this requires such a fine mesh resolution that the computational time becomes significantly infeasible for calculation or direct numerical simulation. Attempts to solve turbulent flow using a laminar solver typically result in a time-unsteady solution, which fails to converge appropriately. To counter this, time-averaged equations such as the Reynolds-averaged Navier–Stokes equations (RANS), supplemented with turbulence models, are used in practical computational fluid dynamics (CFD) applications when modeling turbulent flows. Some models include the Spalart–Allmaras, kω, kε, and SST models, which add a variety of additional equations to bring closure to the RANS equations. Large eddy simulation (LES) can also be used to solve these equations numerically. This approach is computationally more expensive—in time and in computer memory—than RANS, but produces better results because it explicitly resolves the larger turbulent scales.

Applicability

Together with supplemental equations (for example, conservation of mass) and well formulated boundary conditions, the Navier–Stokes equations seem to model fluid motion accurately; even turbulent flows seem (on average) to agree with real world observations.

The Navier–Stokes equations assume that the fluid being studied is a continuum (it is infinitely divisible and not composed of particles such as atoms or molecules), and is not moving at relativistic velocities. At very small scales or under extreme conditions, real fluids made out of discrete molecules will produce results different from the continuous fluids modeled by the Navier–Stokes equations. For example, capillarity of internal layers in fluids appears for flow with high gradients.[21] For large Knudsen number of the problem, the Boltzmann equation may be a suitable replacement.[22] Failing that, one may have to resort to molecular dynamics or various hybrid methods.[23]

Another limitation is simply the complicated nature of the equations. Time-tested formulations exist for common fluid families, but the application of the Navier–Stokes equations to less common families tends to result in very complicated formulations and often to open research problems. For this reason, these equations are usually rewritten for Newtonian fluids where the viscosity model is linear; truly general models for the flow of other kinds of fluids (such as blood) do not exist.[24]

Application to specific problems

The Navier–Stokes equations, even when written explicitly for specific fluids, are rather generic in nature and their proper application to specific problems can be very diverse. This is partly because there is an enormous variety of problems that may be modeled, ranging from as simple as the distribution of static pressure to as complicated as multiphase flow driven by surface tension.

Generally, application to specific problems begins with some flow assumptions and initial/boundary condition formulation, this may be followed by scale analysis to further simplify the problem.

Visualization of (a) parallel flow and (b) radial flow.

Parallel flow

Assume steady, parallel, one dimensional, non-convective pressure-driven flow between parallel plates, the resulting scaled (dimensionless) boundary value problem is:

${\displaystyle {\frac {d^{2}u}{dy^{2}}}=-1;\quad u(0)=u(1)=0.}$

The boundary condition is the no slip condition. This problem is easily solved for the flow field:

${\displaystyle u(y)={\frac {y-y^{2}}{2}}.}$

From this point onward more quantities of interest can be easily obtained, such as viscous drag force or net flow rate.

Difficulties may arise when the problem becomes slightly more complicated. A seemingly modest twist on the parallel flow above would be the radial flow between parallel plates; this involves convection and thus non-linearity. The velocity field may be represented by a function f(z) that must satisfy:

${\displaystyle {\frac {d^{2}f}{dz^{2}}}+Rf^{2}=-1;\quad f(-1)=f(1)=0.}$

This ordinary differential equation is what is obtained when the Navier–Stokes equations are written and the flow assumptions applied (additionally, the pressure gradient is solved for). The nonlinear term makes this a very difficult problem to solve analytically (a lengthy implicit solution may be found which involves elliptic integrals and roots of cubic polynomials). Issues with the actual existence of solutions arise for R > 1.41 (approximately; this is not 2), the parameter R being the Reynolds number with appropriately chosen scales.[25] This is an example of flow assumptions losing their applicability, and an example of the difficulty in "high" Reynolds number flows.[25]

Convection

A type of natural convection which can be described by the Navier–Stokes equation is the Rayleigh–Bénard convection. It is one of the most commonly studied convection phenomena because of its analytical and experimental accessibility.

Exact solutions of the Navier–Stokes equations

Some exact solutions to the Navier–Stokes equations exist. Examples of degenerate cases — with the non-linear terms in the Navier–Stokes equations equal to zero — are Poiseuille flow, Couette flow and the oscillatory Stokes boundary layer. But also more interesting examples, solutions to the full non-linear equations, exist such as Jeffery–Hamel flow, Von Kármán swirling flow, Stagnation point flow, Landau–Squire jet, Taylor–Green vortex.[26][27][28] Note that the existence of these exact solutions does not imply they are stable: turbulence may develop at higher Reynolds numbers.

Under additional assumptions, the component parts can be separated.[29]

A two dimensional example

For example, in the case of an unbounded planar domain with two-dimensional — incompressible and stationary — flow in polar coordinates (r,φ), the velocity components (ur,uφ) and pressure p are:[30]

{\displaystyle {\begin{aligned}u_{r}&={\frac {A}{r}},\\u_{\phi }&=B\left({\frac {1}{r}}-r^{{\frac {A}{\nu }}+1}\right),\\p&=-{\frac {A^{2}+B^{2}}{2r^{2}}}-{\frac {2B^{2}\nu r^{\frac {A}{\nu }}}{A}}+{\frac {B^{2}r^{\left({\frac {2A}{\nu }}+2\right)}}{{\frac {2A}{\nu }}+2}}\end{aligned}}}

where A and B are arbitrary constants. This solution is valid in the domain r ≥ 1 and for A < −2ν.

In Cartesian coordinates, when the viscosity is zero (ν = 0), this is:

{\displaystyle {\begin{aligned}\mathbf {v} (x,y)&={\frac {1}{x^{2}+y^{2}}}{\begin{pmatrix}Ax+By\\Ay-Bx\end{pmatrix}},\\p(x,y)&=-{\frac {A^{2}+B^{2}}{2\left(x^{2}+y^{2}\right)}}\end{aligned}}}
A three-dimensional example

For example, in the case of an unbounded Euclidean domain with three-dimensional — incompressible, stationary and with zero viscosity (ν = 0) — radial flow in Cartesian coordinates (x,y,z), the velocity vector v and pressure p are:[citation needed]

{\displaystyle {\begin{aligned}\mathbf {v} (x,y,z)&={\frac {A}{x^{2}+y^{2}+z^{2}}}{\begin{pmatrix}x\\y\\z\end{pmatrix}},\\p(x,y,z)&=-{\frac {A^{2}}{2\left(x^{2}+y^{2}+z^{2}\right)}}.\end{aligned}}}

There is a singularity at ${\displaystyle x=y=z=0}$ .

Wire model of flow lines along a Hopf fibration.

A steady-state example with no singularities comes from considering the flow along the lines of a Hopf fibration. Let r be a constant radius of the inner coil. One set of solutions is given by:[31]

{\displaystyle {\begin{aligned}\rho (x,y,z)&={\frac {3B}{r^{2}+x^{2}+y^{2}+z^{2}}}\\p(x,y,z)&={\frac {-A^{2}B}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{3}}}\\\mathbf {u} (x,y,z)&={\frac {A}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{2}}}{\begin{pmatrix}2(-ry+xz)\\2(rx+yz)\\r^{2}-x^{2}-y^{2}+z^{2}\end{pmatrix}}\\g&=0\\\mu &=0\end{aligned}}}

for arbitrary constants A and B. This is a solution in a non-viscous gas (compressible fluid) whose density, velocities and pressure goes to zero far from the origin. (Note this is not a solution to the Clay Millennium problem because that refers to incompressible fluids where ρ is a constant, neither does it deal with the uniqueness of the Navier–Stokes equations with respect to any turbulence properties.) It is also worth pointing out that the components of the velocity vector are exactly those from the Pythagorean quadruple parametrization. Other choices of density and pressure are possible with the same velocity field:

Other choices of density and pressure

Another choice of pressure and density with the same velocity vector above is one where the pressure and density fall to zero at the origin and are highest in the central loop at z = 0, x2 + y2 = r2:

{\displaystyle {\begin{aligned}\rho (x,y,z)&={\frac {20B\left(x^{2}+y^{2}\right)}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{3}}}\\p(x,y,z)&={\frac {-A^{2}B}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{4}}}+{\frac {-4A^{2}B\left(x^{2}+y^{2}\right)}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{5}}}.\end{aligned}}}

In fact in general there are simple solutions for any polynomial function f where the density is:

${\displaystyle \rho (x,y,z)={\frac {1}{r^{2}+x^{2}+y^{2}+z^{2}}}f\left({\frac {x^{2}+y^{2}}{\left(r^{2}+x^{2}+y^{2}+z^{2}\right)^{2}}}\right).}$

Wyld diagrams

Wyld diagrams are bookkeeping graphs that correspond to the Navier–Stokes equations via a perturbation expansion of the fundamental continuum mechanics. Similar to the Feynman diagrams in quantum field theory, these diagrams are an extension of Keldysh's technique for nonequilibrium processes in fluid dynamics. In other words, these diagrams assign graphs to the (often) turbulent phenomena in turbulent fluids by allowing correlated and interacting fluid particles to obey stochastic processes associated to pseudo-random functions in probability distributions.[32]

Representations in 3D

Cartesian coordinates

From the general form of the Navier–Stokes, with the velocity vector expanded as u = (ux,uy,uz), sometimes respectively named u, v, w, we may write the vector equation explicitly,

{\displaystyle {\begin{aligned}x&:\ &\rho \left({\frac {\partial u_{x}}{\partial t}}+u_{x}{\frac {\partial u_{x}}{\partial x}}+u_{y}{\frac {\partial u_{x}}{\partial y}}+u_{z}{\frac {\partial u_{x}}{\partial z}}\right)&=-{\frac {\partial p}{\partial x}}+\mu \left({\frac {\partial ^{2}u_{x}}{\partial x^{2}}}+{\frac {\partial ^{2}u_{x}}{\partial y^{2}}}+{\frac {\partial ^{2}u_{x}}{\partial z^{2}}}\right)+{\frac {1}{3}}\mu {\frac {\partial }{\partial x}}\left({\frac {\partial u_{x}}{\partial x}}+{\frac {\partial u_{y}}{\partial y}}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{x}\\y&:\ &\rho \left({\frac {\partial u_{y}}{\partial t}}+u_{x}{\frac {\partial u_{y}}{\partial x}}+u_{y}{\frac {\partial u_{y}}{\partial y}}+u_{z}{\frac {\partial u_{y}}{\partial z}}\right)&=-{\frac {\partial p}{\partial y}}+\mu \left({\frac {\partial ^{2}u_{y}}{\partial x^{2}}}+{\frac {\partial ^{2}u_{y}}{\partial y^{2}}}+{\frac {\partial ^{2}u_{y}}{\partial z^{2}}}\right)+{\frac {1}{3}}\mu {\frac {\partial }{\partial y}}\left({\frac {\partial u_{x}}{\partial x}}+{\frac {\partial u_{y}}{\partial y}}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{y}\\z&:\ &\rho \left({\frac {\partial u_{z}}{\partial t}}+u_{x}{\frac {\partial u_{z}}{\partial x}}+u_{y}{\frac {\partial u_{z}}{\partial y}}+u_{z}{\frac {\partial u_{z}}{\partial z}}\right)&=-{\frac {\partial p}{\partial z}}+\mu \left({\frac {\partial ^{2}u_{z}}{\partial x^{2}}}+{\frac {\partial ^{2}u_{z}}{\partial y^{2}}}+{\frac {\partial ^{2}u_{z}}{\partial z^{2}}}\right)+{\frac {1}{3}}\mu {\frac {\partial }{\partial z}}\left({\frac {\partial u_{x}}{\partial x}}+{\frac {\partial u_{y}}{\partial y}}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{z}.\end{aligned}}}

Note that gravity has been accounted for as a body force, and the values of gx, gy, gz will depend on the orientation of gravity with respect to the chosen set of coordinates.

${\displaystyle {\frac {\partial \rho }{\partial t}}+{\frac {\partial \left(\rho u_{x}\right)}{\partial x}}+{\frac {\partial \left(\rho u_{y}\right)}{\partial y}}+{\frac {\partial \left(\rho u_{z}\right)}{\partial z}}=0.}$

When the flow is incompressible, ρ does not change for any fluid particle, and its material derivative vanishes: /Dt = 0. The continuity equation is reduced to:

${\displaystyle {\frac {\partial u_{x}}{\partial x}}+{\frac {\partial u_{y}}{\partial y}}+{\frac {\partial u_{z}}{\partial z}}=0.}$

Thus, for the incompressible version of the Navier–Stokes equation the second part of the viscous terms fall away (see Incompressible flow).

This system of four equations comprises the most commonly used and studied form. Though comparatively more compact than other representations, this is still a nonlinear system of partial differential equations for which solutions are difficult to obtain.

Cylindrical coordinates

A change of variables on the Cartesian equations will yield[11] the following momentum equations for r, φ, and z[33]

{\displaystyle {\begin{aligned}r:\ &\rho \left({\frac {\partial u_{r}}{\partial t}}+u_{r}{\frac {\partial u_{r}}{\partial r}}+{\frac {u_{\phi }}{r}}{\frac {\partial u_{r}}{\partial \phi }}+u_{z}{\frac {\partial u_{r}}{\partial z}}-{\frac {u_{\phi }^{2}}{r}}\right)=\\&\quad =-{\frac {\partial p}{\partial r}}+\mu \left({\frac {1}{r}}{\frac {\partial }{\partial r}}\left(r{\frac {\partial u_{r}}{\partial r}}\right)+{\frac {1}{r^{2}}}{\frac {\partial ^{2}u_{r}}{\partial \phi ^{2}}}+{\frac {\partial ^{2}u_{r}}{\partial z^{2}}}-{\frac {u_{r}}{r^{2}}}-{\frac {2}{r^{2}}}{\frac {\partial u_{\phi }}{\partial \phi }}\right)+{\frac {1}{3}}\mu {\frac {\partial }{\partial r}}\left({\frac {1}{r}}{\frac {\partial \left(ru_{r}\right)}{\partial r}}+{\frac {1}{r}}{\frac {\partial u_{\phi }}{\partial \phi }}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{r}\\[8px]\phi :\ &\rho \left({\frac {\partial u_{\phi }}{\partial t}}+u_{r}{\frac {\partial u_{\phi }}{\partial r}}+{\frac {u_{\phi }}{r}}{\frac {\partial u_{\phi }}{\partial \phi }}+u_{z}{\frac {\partial u_{\phi }}{\partial z}}+{\frac {u_{r}u_{\phi }}{r}}\right)=\\&\quad =-{\frac {1}{r}}{\frac {\partial p}{\partial \phi }}+\mu \left({\frac {1}{r}}{\frac {\partial }{\partial r}}\left(r{\frac {\partial u_{\phi }}{\partial r}}\right)+{\frac {1}{r^{2}}}{\frac {\partial ^{2}u_{\phi }}{\partial \phi ^{2}}}+{\frac {\partial ^{2}u_{\phi }}{\partial z^{2}}}+{\frac {2}{r^{2}}}{\frac {\partial u_{r}}{\partial \phi }}-{\frac {u_{\phi }}{r^{2}}}\right)+{\frac {1}{3}}\mu {\frac {1}{r}}{\frac {\partial }{\partial \phi }}\left({\frac {1}{r}}{\frac {\partial \left(ru_{r}\right)}{\partial r}}+{\frac {1}{r}}{\frac {\partial u_{\phi }}{\partial \phi }}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{\phi }\\[8px]z:\ &\rho \left({\frac {\partial u_{z}}{\partial t}}+u_{r}{\frac {\partial u_{z}}{\partial r}}+{\frac {u_{\phi }}{r}}{\frac {\partial u_{z}}{\partial \phi }}+u_{z}{\frac {\partial u_{z}}{\partial z}}\right)=\\&\quad =-{\frac {\partial p}{\partial z}}+\mu \left({\frac {1}{r}}{\frac {\partial }{\partial r}}\left(r{\frac {\partial u_{z}}{\partial r}}\right)+{\frac {1}{r^{2}}}{\frac {\partial ^{2}u_{z}}{\partial \phi ^{2}}}+{\frac {\partial ^{2}u_{z}}{\partial z^{2}}}\right)+{\frac {1}{3}}\mu {\frac {\partial }{\partial z}}\left({\frac {1}{r}}{\frac {\partial \left(ru_{r}\right)}{\partial r}}+{\frac {1}{r}}{\frac {\partial u_{\phi }}{\partial \phi }}+{\frac {\partial u_{z}}{\partial z}}\right)+\rho g_{z}.\end{aligned}}}

The gravity components will generally not be constants, however for most applications either the coordinates are chosen so that the gravity components are constant or else it is assumed that gravity is counteracted by a pressure field (for example, flow in horizontal pipe is treated normally without gravity and without a vertical pressure gradient). The continuity equation is:

${\displaystyle {\frac {\partial \rho }{\partial t}}+{\frac {1}{r}}{\frac {\partial }{\partial r}}\left(\rho ru_{r}\right)+{\frac {1}{r}}{\frac {\partial \left(\rho u_{\phi }\right)}{\partial \phi }}+{\frac {\partial \left(\rho u_{z}\right)}{\partial z}}=0.}$

This cylindrical representation of the incompressible Navier–Stokes equations is the second most commonly seen (the first being Cartesian above). Cylindrical coordinates are chosen to take advantage of symmetry, so that a velocity component can disappear. A very common case is axisymmetric flow with the assumption of no tangential velocity (uφ = 0), and the remaining quantities are independent of φ:

{\displaystyle {\begin{aligned}\rho \left({\frac {\partial u_{r}}{\partial t}}+u_{r}{\frac {\partial u_{r}}{\partial r}}+u_{z}{\frac {\partial u_{r}}{\partial z}}\right)&=-{\frac {\partial p}{\partial r}}+\mu \left({\frac {1}{r}}{\frac {\partial }{\partial r}}\left(r{\frac {\partial u_{r}}{\partial r}}\right)+{\frac {\partial ^{2}u_{r}}{\partial z^{2}}}-{\frac {u_{r}}{r^{2}}}\right)+\rho g_{r}\\\rho \left({\frac {\partial u_{z}}{\partial t}}+u_{r}{\frac {\partial u_{z}}{\partial r}}+u_{z}{\frac {\partial u_{z}}{\partial z}}\right)&=-{\frac {\partial p}{\partial z}}+\mu \left({\frac {1}{r}}{\frac {\partial }{\partial r}}\left(r{\frac {\partial u_{z}}{\partial r}}\right)+{\frac {\partial ^{2}u_{z}}{\partial z^{2}}}\right)+\rho g_{z}\\{\frac {1}{r}}{\frac {\partial }{\partial r}}\left(ru_{r}\right)+{\frac {\partial u_{z}}{\partial z}}&=0.\end{aligned}}}
Spherical coordinates

In spherical coordinates, the r, φ, and θ momentum equations are[11] (note the convention used: θ is polar angle, or colatitude,[34] 0 ≤ θ ≤ π):

{\displaystyle {\begin{aligned}r:\ &\rho \left({\frac {\partial u_{r}}{\partial t}}+u_{r}{\frac {\partial u_{r}}{\partial r}}+{\frac {u_{\phi }}{r\sin {\theta }}}{\frac {\partial u_{r}}{\partial \phi }}+{\frac {u_{\theta }}{r}}{\frac {\partial u_{r}}{\partial \theta }}-{\frac {u_{\phi }^{2}+u_{\theta }^{2}}{r}}\right)=\\&\quad =-{\frac {\partial p}{\partial r}}+\mu \left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}{\frac {\partial u_{r}}{\partial r}}\right)+{\frac {1}{r^{2}\sin ^{2}{\theta }}}{\frac {\partial ^{2}u_{r}}{\partial \phi ^{2}}}+{\frac {1}{r^{2}\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(\sin {\theta }{\frac {\partial u_{r}}{\partial \theta }}\right)-2{\frac {u_{r}+{\frac {\partial u_{\theta }}{\partial \theta }}+u_{\theta }\cot {\theta }}{r^{2}}}-{\frac {2}{r^{2}\sin {\theta }}}{\frac {\partial u_{\phi }}{\partial \phi }}\right)+\\&\quad +{\frac {1}{3}}\mu {\frac {\partial }{\partial r}}\left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}u_{r}\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(u_{\theta }\sin {\theta }\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial u_{\phi }}{\partial \phi }}\right)+\rho g_{r}\\[8px]\phi :\ &\rho \left({\frac {\partial u_{\phi }}{\partial t}}+u_{r}{\frac {\partial u_{\phi }}{\partial r}}+{\frac {u_{\phi }}{r\sin {\theta }}}{\frac {\partial u_{\phi }}{\partial \phi }}+{\frac {u_{\theta }}{r}}{\frac {\partial u_{\phi }}{\partial \theta }}+{\frac {u_{r}u_{\phi }+u_{\phi }u_{\theta }\cot {\theta }}{r}}\right)=\\&\quad =-{\frac {1}{r\sin {\theta }}}{\frac {\partial p}{\partial \phi }}+\mu \left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}{\frac {\partial u_{\phi }}{\partial r}}\right)+{\frac {1}{r^{2}\sin ^{2}{\theta }}}{\frac {\partial ^{2}u_{\phi }}{\partial \phi ^{2}}}+{\frac {1}{r^{2}\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(\sin {\theta }{\frac {\partial u_{\phi }}{\partial \theta }}\right)+{\frac {2\sin {\theta }{\frac {\partial u_{r}}{\partial \phi }}+2\cos {\theta }{\frac {\partial u_{\theta }}{\partial \phi }}-u_{\phi }}{r^{2}\sin ^{2}{\theta }}}\right)+\\&\quad +{\frac {1}{3}}\mu {\frac {1}{r\sin {\theta }}}{\frac {\partial }{\partial \phi }}\left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}u_{r}\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(u_{\theta }\sin {\theta }\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial u_{\phi }}{\partial \phi }}\right)+\rho g_{\phi }\\[8px]\theta :\ &\rho \left({\frac {\partial u_{\theta }}{\partial t}}+u_{r}{\frac {\partial u_{\theta }}{\partial r}}+{\frac {u_{\phi }}{r\sin {\theta }}}{\frac {\partial u_{\theta }}{\partial \phi }}+{\frac {u_{\theta }}{r}}{\frac {\partial u_{\theta }}{\partial \theta }}+{\frac {u_{r}u_{\theta }-u_{\phi }^{2}\cot {\theta }}{r}}\right)=\\&\quad =-{\frac {1}{r}}{\frac {\partial p}{\partial \theta }}+\mu \left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}{\frac {\partial u_{\theta }}{\partial r}}\right)+{\frac {1}{r^{2}\sin ^{2}{\theta }}}{\frac {\partial ^{2}u_{\theta }}{\partial \phi ^{2}}}+{\frac {1}{r^{2}\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(\sin {\theta }{\frac {\partial u_{\theta }}{\partial \theta }}\right)+{\frac {2}{r^{2}}}{\frac {\partial u_{r}}{\partial \theta }}-{\frac {u_{\theta }+2\cos {\theta }{\frac {\partial u_{\phi }}{\partial \phi }}}{r^{2}\sin ^{2}{\theta }}}\right)+\\&\quad +{\frac {1}{3}}\mu {\frac {1}{r}}{\frac {\partial }{\partial \theta }}\left({\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(r^{2}u_{r}\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(u_{\theta }\sin {\theta }\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial u_{\phi }}{\partial \phi }}\right)+\rho g_{\theta }.\end{aligned}}}

${\displaystyle {\frac {\partial \rho }{\partial t}}+{\frac {1}{r^{2}}}{\frac {\partial }{\partial r}}\left(\rho r^{2}u_{r}\right)+{\frac {1}{r\sin {\theta }}}{\frac {\partial \rho u_{\phi }}{\partial \phi }}+{\frac {1}{r\sin {\theta }}}{\frac {\partial }{\partial \theta }}\left(\sin {\theta }\rho u_{\theta }\right)=0.}$

These equations could be (slightly) compacted by, for example, factoring 1/r2 from the viscous terms. However, doing so would undesirably alter the structure of the Laplacian and other quantities.

Navier–Stokes equations use in games

The Navier–Stokes equations are used extensively in video games in order to model a wide variety of natural phenomena. Simulations of small-scale gaseous fluids, such as fire and smoke, are often based on the seminal paper "Real-Time Fluid Dynamics for Games"[35] by Jos Stam, which elaborates one of the methods proposed in Stam's earlier, more famous paper "Stable Fluids"[36] from 1999. Stam proposes stable fluid simulation using a Navier–Stokes solution method from 1968, coupled with an unconditionally stable semi-Lagrangian advection scheme, as first proposed in 1992.

More recent implementations based upon this work run on the game systems graphics processing unit (GPU) as opposed to the central processing unit (CPU) and achieve a much higher degree of performance.[37][38] Many improvements have been proposed to Stam's original work, which suffers inherently from high numerical dissipation in both velocity and mass.

An introduction to interactive fluid simulation can be found in the 2007 ACM SIGGRAPH course, Fluid Simulation for Computer Animation.[39]

Notes

1. ^ "Millennium Prize Problems—Navier–Stokes Equation", claymath.org, Clay Mathematics Institute, March 27, 2017, retrieved 2017-04-02
2. ^ Fefferman, Charles L. "Existence and smoothness of the Navier–Stokes equation" (PDF). claymath.org. Clay Mathematics Institute. Retrieved 2017-04-02.
3. ^ Batchelor (1967) pp. 137 & 142.
4. ^ a b c d Batchelor (1967) pp. 142–148.
5. ^ Chorin, Alexandre E.; Marsden, Jerrold E. (1993). A Mathematical Introduction to Fluid Mechanics. p. 33.
6. ^ a b Batchelor (1967) p. 165.
7. ^ Batchelor (1967) pp. 147 & 154.
8. ^ Landau & Lifshitz (1987) pp. 44–45, 196
9. ^ White (2006) p. 67.
10. ^ Batchelor (1967) p. 75.
11. ^ a b c See Acheson (1990).
12. ^ Batchelor (1967) pp. 21 & 147.
13. ^ Temam, Roger (2001), Navier–Stokes Equations, Theory and Numerical Analysis, AMS Chelsea, pp. 107–112
14. Quarteroni, Alfio (2014-04-25). Numerical models for differential problems (Second ed.). Springer. ISBN 978-88-470-5522-3.
15. ^ Holdeman, J. T. (2010), "A Hermite finite element method for incompressible fluid flow", Int. J. Numer. Meth. Fluids, 64 (4): 376–408, Bibcode:2010IJNMF..64..376H, doi:10.1002/fld.2154
16. ^ Holdeman, J. T.; Kim, J. W. (2010), "Computation of incompressible thermal flows using Hermite finite elements", Comput. Meth. Appl. Mech. Eng., 199 (49–52): 3297–3304, Bibcode:2010CMAME.199.3297H, doi:10.1016/j.cma.2010.06.036
17. ^ Fluid Mechanics (Schaum's Series), M. Potter, D.C. Wiggert, Schaum's Outlines, McGraw-Hill (USA), 2008, ISBN 978-0-07-148781-8
18. ^ Vectors, Tensors, and the basic Equations of Fluid Mechanics, R. Aris, Dover Publications, 1989, ISBN 0-486-66110-5
19. ^ McGraw Hill Encyclopaedia of Physics (2nd Edition), C.B. Parker, 1994, ISBN 0-07-051400-3
20. ^ Encyclopaedia of Physics (2nd Edition), R.G. Lerner, G.L. Trigg, VHC publishers, 1991, ISBN (Verlagsgesellschaft) 3-527-26954-1, ISBN (VHC Inc.) 0-89573-752-3
21. ^ Gorban, A.N.; Karlin, I. V. (2016), "Beyond Navier–Stokes equations: capillarity of ideal gas", Contemporary Physics (Review article), 58 (1): 70–90, arXiv:1702.00831, Bibcode:2017ConPh..58...70G, doi:10.1080/00107514.2016.1256123
22. ^ Cercignani, C. (2002), "The Boltzmann equation and fluid dynamics", in Friedlander, S.; Serre, D. (eds.), Handbook of mathematical fluid dynamics, 1, Amsterdam: North-Holland, pp. 1–70, ISBN 978-0444503305;
23. ^ Nie, X.B.; Chen, S.Y.; Robbins, M.O. (2004), "A continuum and molecular dynamics hybrid method for micro-and nano-fluid flow", Journal of Fluid Mechanics (Research article), 500: 55–64, Bibcode:2004JFM...500...55N, doi:10.1017/S0022112003007225
24. ^ Öttinger, H.C. (2012), Stochastic processes in polymeric fluids, Berlin, Heidelberg: Springer Science & Business Media, doi:10.1007/9783642582905 (inactive 2019-08-19), ISBN 9783540583530
25. ^ a b Shah, Tasneem Mohammad (1972). "Analysis of the multigrid method". NASA Sti/Recon Technical Report N. 91: 23418. Bibcode:1989STIN...9123418S.
26. ^ Wang, C. Y. (1991), "Exact solutions of the steady-state Navier–Stokes equations", Annual Review of Fluid Mechanics, 23: 159–177, Bibcode:1991AnRFM..23..159W, doi:10.1146/annurev.fl.23.010191.001111
27. ^ Landau & Lifshitz (1987) pp. 75–88.
28. ^ Ethier, C. R.; Steinman, D. A. (1994), "Exact fully 3D Navier–Stokes solutions for benchmarking", International Journal for Numerical Methods in Fluids, 19 (5): 369–375, Bibcode:1994IJNMF..19..369E, doi:10.1002/fld.1650190502
29. ^ [1]
30. ^ Ladyzhenskaya, O. A. (1969), The Mathematical Theory of viscous Incompressible Flow (2nd ed.), p. preface, xi
31. ^ Kamchatno, A. M. (1982), Topological solitons in magnetohydrodynamics (PDF)
32. ^ McComb, W. D. (2008), Renormalization methods: A guide for beginners, Oxford University Press, pp. 121–128, ISBN 978-0-19-923652-7
33. ^ de' Michieli Vitturi, Mattia, Navier–Stokes equations in cylindrical coordinates, retrieved 2016-12-26
34. ^ Eric W. Weisstein (2005-10-26), Spherical Coordinates, MathWorld, retrieved 2008-01-22
35. ^ Stam, Jos (2003), Real-Time Fluid Dynamics for Games (PDF)
36. ^ Stam, Jos (1999), Stable Fluids (PDF)
37. ^ Harris, Mark J. (2004), "38", GPUGems - Fast Fluid Dynamics Simulation on the GPU
38. ^ Sander, P.; Tatarchuck, N.; Mitchell, J.L. (2007), "9.6", ShaderX5 - Explicit Early-Z Culling for Efficient Fluid Flow Simulation, pp. 553–564
39. ^ Robert Bridson; Matthias Müller-Fischer. "Fluid Simulation for Computer Animation". www.cs.ubc.ca.