# Projection method (fluid dynamics)

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Projection_method_(fluid_dynamics)
> Markdown URL: https://mediated.wiki/source/Projection_method_(fluid_dynamics).md
> Source: https://en.wikipedia.org/wiki/Projection_method_(fluid_dynamics)
> Source revision: 1345823771
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

In [computational fluid dynamics](/source/Computational_fluid_dynamics), the **projection method**, also called **Chorin's projection method**, is an effective means of [numerically](/source/Numerical_analysis) solving time-dependent [incompressible fluid-flow](/source/Incompressible_flow) problems. It was originally introduced by [Alexandre Chorin](/source/Alexandre_Chorin) in 1967[1][2] as an efficient means of solving the incompressible [Navier-Stokes equations](/source/Navier-Stokes_equation). The key advantage of the projection method is that the computations of the [velocity](/source/Flow_velocity) and the pressure fields are decoupled.

## The algorithm

The algorithm of the projection method is based on the [Helmholtz decomposition](/source/Helmholtz_decomposition) (sometimes called Helmholtz-Hodge decomposition) of any [vector field](/source/Vector_field) into a [solenoidal](/source/Solenoidal_field) part and an [irrotational](/source/Irrotational_field) part. Typically, the algorithm consists of two stages. In the first stage, an intermediate velocity that does not satisfy the incompressibility constraint is computed at each time step. In the second, the pressure is used to project the intermediate velocity onto a space of divergence-free velocity field to get the next update of velocity and pressure.

## Helmholtz–Hodge decomposition

Main article: [Helmholtz-Hodge decomposition](/source/Helmholtz-Hodge_decomposition)

The theoretical background of projection type method is the decomposition theorem of [Ladyzhenskaya](/source/Olga_Aleksandrovna_Ladyzhenskaya) sometimes referred to as Helmholtz–Hodge Decomposition or simply as Hodge decomposition. It states that the vector field \mathbf{u} defined on a [simply connected](/source/Simply_connected_space) domain can be uniquely decomposed into a divergence-free ([solenoidal](/source/Solenoidal_vector_field)) part \mathbf{u}_{\text{sol}} and an [irrotational](/source/Conservative_vector_field#Irrotational_vector_fields) part \mathbf{u}_{\text{irrot}}. [3]

Thus,

- \mathbf{u} = \mathbf{u}_{\text{sol}} + \mathbf{u}_{\text{irrot}} = \mathbf{u}_{\text{sol}} + \nabla \phi

since \nabla \times \nabla \phi = 0 for some scalar function, \,\phi. Taking the divergence of equation yields

- \nabla\cdot \mathbf{u} = \nabla^2 \phi \qquad ( \text{since,} \; \nabla\cdot \mathbf{u}_{\text{sol}} = 0 )

This is a [Poisson equation](/source/Poisson_equation) for the scalar function \,\phi. If the vector field \mathbf{u} is known, the above equation can be solved for the scalar function \,\phi and the divergence-free part of \mathbf{u} can be extracted using the relation

- \mathbf{u}_{\text{sol}} = \mathbf{u} - \nabla \phi

This is the essence of solenoidal projection method for solving incompressible Navier–Stokes equations.

## Chorin's projection method

The incompressible Navier-Stokes equation ([differential form](/source/Differential_form) of momentum equation) may be written as

- \frac {\partial \mathbf{u}} {\partial t} + (\mathbf{u}\cdot\nabla)\mathbf{u} = - \frac {1}{\rho} \nabla p + \nu \nabla^2 \mathbf{u}

In [Chorin](/source/Alexandre_Chorin)'s original version of the projection method, one first computes an intermediate velocity, \mathbf{u}^*, explicitly using the momentum equation by ignoring the [pressure gradient](/source/Pressure_gradient) term:

- \quad (1) \qquad \frac {\mathbf{u}^* - \mathbf{u}^n} {\Delta t} = -(\mathbf{u}^n \cdot\nabla) \mathbf{u}^n + \nu \nabla^2 \mathbf{u}^n

where \mathbf{u}^n is the velocity at \,nth time step. In the second half of the algorithm, the *projection* step, we correct the intermediate velocity to obtain the final solution of the time step \mathbf{u}^{n+1}:

- \quad (2) \qquad \mathbf{u}^{n+1} = \mathbf{u}^* - \frac {\Delta t}{\rho} \, \nabla p ^{n+1}

One can rewrite this equation in the form of a time step as

- \frac {\mathbf{u}^{n+1} - \mathbf{u}^*} {\Delta t} = - \frac {1}{\rho} \, \nabla p ^{n+1}

to make clear that the algorithm is really just an [operator splitting](/source/Operator_splitting) approach in which one considers the viscous forces (in the first half step) and the pressure forces (in the second half step) separately.

Computing the right-hand side of the second half step requires knowledge of the pressure, \,p, at the\,(n+1) time level. This is obtained by taking the [divergence](/source/Divergence) and requiring that \nabla\cdot \mathbf{u}^{n+1} = 0, which is the divergence (continuity) condition, thereby deriving the following Poisson equation for \,p^{n+1},

- \nabla ^2 p^{n+1} = \frac {\rho} {\Delta t} \, \nabla\cdot \mathbf{u}^*

It is instructive to note that the equation written as

- \mathbf{u}^* = \mathbf{u}^{n+1} + \frac {\Delta t}{\rho} \, \nabla p ^{n+1}

is the standard Hodge decomposition if [boundary condition](/source/Boundary_value_problem) for \,p on the domain boundary, \partial \Omega are \nabla p^{n+1}\cdot \mathbf{n} = 0. In practice, this condition is responsible for the errors this method shows close to the boundary of the domain since the real pressure (i.e., the pressure in the exact solution of the Navier-Stokes equations) does not satisfy such boundary conditions.

For the explicit method, the boundary condition for \mathbf{u}^* in equation (1) is natural. If \mathbf{u}\cdot \mathbf{n} = 0 on \partial \Omega, is prescribed, then the space of divergence-free vector fields will be orthogonal to the space of irrotational vector fields, and from equation (2) one has

- \frac {\partial p^{n+1}} {\partial n} = 0 \qquad \text{on} \quad \partial \Omega

The explicit treatment of the boundary condition may be circumvented by using a [staggered grid](/source/Staggered_grid) and requiring that \nabla\cdot \mathbf{u}^{n+1} vanish at the pressure nodes that are adjacent to the boundaries.

A distinguishing feature of Chorin's projection method is that the velocity field is forced to satisfy a discrete continuity constraint at the end of each time step.

## General method

Typically the projection method operates as a two-stage fractional step scheme, a method which uses multiple calculation steps for each numerical time-step. In many projection algorithms, the steps are split as follows:

1. First the system is progressed in time to a mid-time-step position, solving the above transport equations for mass and momentum using a suitable [advection](/source/Advection) method. This is denoted the *predictor* step.
1. At this point an initial projection may be implemented such that the mid-time-step velocity field is enforced as divergence free.
1. The *corrector* part of the algorithm is then progressed. These use the time-centred estimates of the velocity, density, etc. to form final time-step state.
1. A final projection is then applied to enforce the divergence restraint on the velocity field. The system has now been fully updated to the new time.

## References

1. Chorin, A. J. (1967), ["The numerical solution of the Navier-Stokes equations for an incompressible fluid"](http://math.berkeley.edu/~chorin/chorin67.pdf), *Bull. Am. Math. Soc.*. **73** (6): 928–931, [doi:10.1090/S0002-9904-1967-11853-6](https://doi.org/10.1090/S0002-9904-1967-11853-6)

1. Chorin, A. J. (1968), "Numerical Solution of the Navier-Stokes Equations", *Math. Comp.*. **22** (104): 745–762, [doi:10.1090/s0025-5718-1968-0242392-2](https://doi.org/10.1090/s0025-5718-1968-0242392-2)

1. Chorin, A. J. & J. E. Marsden (1993). *A Mathematical Introduction to Fluid Mechanics*. 3rd ed. [Springer-Verlag](/source/Springer_Science%2BBusiness_Media). ISBN 0-387-97918-2.

---
Adapted from the Wikipedia article [Projection method (fluid dynamics)](https://en.wikipedia.org/wiki/Projection_method_(fluid_dynamics)) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Projection_method_(fluid_dynamics)?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
