# Streamline upwind Petrov–Galerkin pressure-stabilizing Petrov–Galerkin formulation for incompressible Navier–Stokes equations

The streamline upwind Petrov–Galerkin pressure-stabilizing Petrov–Galerkin formulation for incompressible Navier–Stokes equations can be used for finite element computations of high Reynolds number incompressible flow using equal order of finite element space (i.e. $\mathbb {P} _{k}-\mathbb {P} _{k}$) by introducing additional stabilization terms in the Navier–Stokes Galerkin formulation.
The finite element (FE) numerical computation of incompressible Navier–Stokes equations (NS) suffers from two main sources of numerical instabilities arising from the associated Galerkin problem. Equal order finite elements for pressure and velocity, (for example, $\mathbb {P} _{k}-\mathbb {P} _{k},\;\forall k\geq 0$), do not satisfy the inf-sup condition and leads to instability on the discrete pressure (also called spurious pressure). Moreover, the advection term in the Navier–Stokes equations can produce oscillations in the velocity field (also called spurious velocity). Such spurious velocity oscillations become more evident for advection-dominated (i.e., high Reynolds number $Re$) flows. To control instabilities arising from inf-sup condition and convection dominated problem, pressure-stabilizing Petrov–Galerkin (PSPG) stabilization along with Streamline-Upwind Petrov-Galerkin (SUPG) stabilization can be added to the NS Galerkin formulation.

## The incompressible Navier–Stokes equations for a Newtonian fluid

Let $\Omega \subset \mathbb {R} ^{3}$ be the spatial fluid domain with a smooth boundary $\partial \Omega \equiv \Gamma$, where $\Gamma =\Gamma _{N}\cup \Gamma _{D}$ with $\Gamma _{D}$ the subset of $\Gamma$ in which the essential (Dirichlet) boundary conditions are set, while $\Gamma _{N}$ the portion of the boundary where natural (Neumann) boundary conditions have been considered. Moreover, $\Gamma _{N}=\Gamma \setminus \Gamma _{D}$, and $\Gamma _{N}\cap \Gamma _{D}=\emptyset$. Introducing an unknown velocity field $\mathbf {u} (\mathbf {x} ,t):\Omega \times [0,T]\rightarrow \mathbb {R} ^{3}$ and an unknown pressure field $p(\mathbf {x} ,t):\Omega \times [0,T]\rightarrow \mathbb {R}$, in absence of body forces, the incompressible Navier–Stokes (NS) equations read ${\begin{cases}{\frac {\partial \mathbf {u} }{\partial t}}+(\mathbf {u} \cdot \nabla )\mathbf {u} -{\frac {1}{\rho }}\nabla \cdot {\boldsymbol {\sigma }}(\mathbf {u} ,p)=\mathbf {0} &{\text{in }}\Omega \times (0,T],\\\nabla \cdot {\mathbf {u} }=0&{\text{in }}\Omega \times (0,T],\\\mathbf {u} =\mathbf {g} &{\text{on }}\Gamma _{D}\times (0,T],\\{\boldsymbol {\sigma }}(\mathbf {u} ,p)\mathbf {\hat {n}} =\mathbf {h} &{\text{on }}\Gamma _{N}\times (0,T],\\\mathbf {u} (\mathbf {x} ,0)=\mathbf {u} _{0}(\mathbf {x} )&{\text{in }}\Omega \times \{0\},\end{cases}}$ where $\mathbf {\hat {n}}$ is the outward directed unit normal vector to $\Gamma _{N}$, ${\boldsymbol {\sigma }}$ is the Cauchy stress tensor, $\rho$ is the fluid density , and $\nabla$ and $\nabla \cdot$ are the usual gradient and divergence operators. The functions $\mathbf {g}$ and $\mathbf {h}$ indicate suitable Dirichlet and Neumann data, respectively, while $\mathbf {u} _{0}$ is the known initial field solution at time $t=0$.
For a Newtonian fluid, the Cauchy stress tensor ${\boldsymbol {\sigma }}$ depends linearly on the components of the strain rate tensor: ${\boldsymbol {\sigma }}(\mathbf {u} ,p)=-p\mathbf {I} +2\mu \mathbf {S} (\mathbf {u} ),$ where $\mu$ is the dynamic viscosity of the fluid (taken to be a known constant) and $\mathbf {I}$ is the second order identity tensor, while $\mathbf {S} (\mathbf {u} )$ is the strain rate tensor $\mathbf {S} (\mathbf {u} )={\frac {1}{2}}{\big\nabla \mathbf {u} +(\nabla \mathbf {u} )^{T}{\big ]}.$
The first of the NS equations represents the balance of the momentum and the second one the conservation of the mass, also called continuity equation (or incompressible constraint). Vectorial functions $\mathbf {u} _{0}$, $\mathbf {g}$, and $\mathbf {h}$ are assigned.
Hence, the strong formulation of the incompressible Navier–Stokes equations for a constant density, Newtonian and homogeneous fluid can be written as:
Find, $\forall t\in (0,T]$, velocity $\mathbf {u} (\mathbf {x} ,t)$ and pressure $p(\mathbf {x} ,t)$ such that: ${\begin{cases}{\frac {\partial \mathbf {u} }{\partial t}}+(\mathbf {u} \cdot \nabla )\mathbf {u} +\nabla {\hat {p}}-2\nu \nabla \cdot \mathbf {S} (\mathbf {u} )=\mathbf {0} &{\text{in }}\Omega \times (0,T],\\\nabla \cdot {\mathbf {u} }=0&{\text{in }}\Omega \times (0,T],\\\left(-{\hat {p}}\mathbf {I} +2\nu \mathbf {S} (\mathbf {u} )\right)\mathbf {\hat {n}} =\mathbf {h} &{\text{on }}\Gamma _{N}\times (0,T],\\\mathbf {u} =\mathbf {g} &{\text{on }}\Gamma _{D}\times (0,T]\;,\\\mathbf {u} (\mathbf {x} ,0)=\mathbf {u} _{0}(\mathbf {x} )&{\text{in }}\Omega \times \{0\},\end{cases}}$ where, $\nu ={\frac {\mu }{\rho }}$ is the kinematic viscosity, and ${\hat {p}}={\frac {p}{\rho }}$ is the pressure rescaled by density (however, for the sake of clearness, the hat on pressure variable will be neglect in what follows).
In the NS equations, the Reynolds number shows how important is the non linear term, $(\mathbf {u} \cdot \nabla )\mathbf {u}$, compared to the dissipative term, $\nu \nabla \cdot \mathbf {S} (\mathbf {u} ):$ ${\frac {(\mathbf {u} \cdot \nabla )\mathbf {u} }{\nu \nabla \cdot \mathbf {S} (\mathbf {u} )}}\approx {\frac {\frac {U^{2}}{L}}{\nu {\frac {U}{L^{2}}}}}={\frac {UL}{\nu }}=\mathrm {Re} .$
The Reynolds number is a measure of the ratio between the advection convection terms, generated by inertial forces in the flow velocity, and the diffusion term specific of fluid viscous forces. Thus, $\mathrm {Re}$ can be used to discriminate between advection-convection dominated flow and diffusion dominated one. Namely:
* for "low" $\mathrm {Re}$, viscous forces dominate and we are in the viscous fluid situation (also named Laminar Flow),
* for "high" $\mathrm {Re}$, inertial forces prevail and a slightly viscous fluid with high velocity emerges (also named Turbulent Flow).

### The weak formulation of the Navier–Stokes equations

The weak formulation of the strong formulation of the NS equations is obtained by multiplying the first two NS equations by test functions $\mathbf {v}$ and $q$, respectively, belonging to suitable function spaces, and integrating these equation all over the fluid domain $\Omega$. As a consequence: ${\begin{aligned}&\int _{\Omega }{\frac {\partial \mathbf {u} }{\partial t}}\cdot \mathbf {v} \,d\Omega +\int _{\Omega }(\mathbf {u} \cdot \nabla )\mathbf {u} \cdot \mathbf {v} \,d\Omega +\int _{\Omega }\nabla p\cdot \mathbf {v} \,d\Omega \,-\int _{\Omega }2\nu \nabla \cdot \mathbf {S} (\mathbf {u} )\cdot \mathbf {v} \,d\Omega =0,\\&\int _{\Omega }\nabla \cdot \mathbf {u} \,q\,d\Omega =0.\end{aligned}}$
By summing up the two equations and performing integration by parts for pressure ($\nabla p$) and viscous ($\nabla \cdot \mathbf {S} (\mathbf {u} )$) term: $\int _{\Omega }{\frac {\partial \mathbf {u} }{\partial t}}\cdot \mathbf {v} \,d\Omega +\int _{\Omega }(\mathbf {u} \cdot \nabla )\mathbf {u} \cdot \mathbf {v} \,d\Omega \,+\int _{\Omega }\nabla \cdot \mathbf {u} \,q\,d\Omega -\int _{\Omega }p\nabla \cdot \mathbf {v} \,d\Omega +\int _{\partial \Omega }p\mathbf {v} \cdot \mathbf {\hat {n}} \,d\Gamma \,+\int _{\Omega }2\nu \mathbf {S} (\mathbf {u} ):\nabla \mathbf {v} \,d\Omega -\int _{\partial \Omega }2\nu \mathbf {S} (\mathbf {u} )\cdot \mathbf {v} \cdot \mathbf {\hat {n}} \,d\Gamma \,=0.$
Regarding the choice of the function spaces, it's enough that $p$ and $q$, $\mathbf {u}$ and $\mathbf {v}$, and their derivative, $\nabla \mathbf {u}$ and $\nabla \mathbf {v}$ are square-integrable functions in order to have sense in the integrals that appear in the above formulation. Hence, ${\begin{aligned}&{\mathcal {Q}}=L^{2}(\Omega )=\left\{q\in \Omega {\text{ s.t. }}\Vert q\Vert _{L^{2}}={\sqrt {\int _{\Omega }{\vert q\vert ^{2}\ d\Omega }}}<\infty \right\},\\&{\mathcal {V}}=\{\mathbf {v} \in [L^{2}(\Omega )]^{3}{\text{ and }}\nabla \mathbf {v} \in [L^{2}(\Omega )]^{3\times 3},\,\mathbf {v} |_{\Gamma _{D}}=\mathbf {g} \},\\&{\mathcal {V}}_{0}=\{\mathbf {v} \in {\mathcal {V}}{\text{ s.t. }}\mathbf {v} |_{\Gamma _{D}}=\mathbf {0} \}.\end{aligned}}$
Having specified the function spaces ${\mathcal {V}}$, ${\mathcal {V}}_{0}$ and ${\mathcal {Q}}$, and by applying the boundary conditions, the boundary terms can be rewritten as $\int _{\Gamma _{D}\cup \Gamma _{N}}p\mathbf {v} \cdot \mathbf {\hat {n}} \,d\Gamma +\int _{\Gamma _{D}\cup \Gamma _{N}}-2\nu S(\mathbf {u} )\cdot \mathbf {v} \cdot \mathbf {\hat {n}} \,d\Gamma ,$ where $\partial \Omega =\Gamma _{D}\cup \Gamma _{N}$. The integral terms with $\Gamma _{D}$ vanish because $\mathbf {v} |_{\Gamma _{D}}=\mathbf {0}$, while the term on $\Gamma _{N}$ become $\int _{\Gamma _{N}}[p\mathbf {I} -2\nu S(\mathbf {u} )]\cdot \mathbf {v} \cdot \mathbf {\hat {n}} \,d\Gamma =-\int _{\Gamma _{N}}\mathbf {h} \cdot \mathbf {v} \,d\Gamma ,$
The weak formulation of Navier–Stokes equations reads:
Find, for all $t\in (0,T]$, $(\mathbf {u} ,p)\in \{{\mathcal {V}}\times {\mathcal {Q}}\}$, such that $\left({\frac {\partial \mathbf {u} }{\partial t}},\mathbf {v} \right)+c(\mathbf {u} ,\mathbf {u} ,\mathbf {v} )+b(\mathbf {u} ,q)-b(\mathbf {v} ,p)+a(\mathbf {u} ,\mathbf {v} )=f(\mathbf {v} )$
with $\mathbf {u} |_{t=0}=\mathbf {u} _{0}$, where ${\begin{aligned}\left({\frac {\partial \mathbf {u} }{\partial t}},\mathbf {v} \right)&:=\int _{\Omega }{\frac {\partial \mathbf {u} }{\partial t}}\cdot \mathbf {v} \,d\Omega ,\\b(\mathbf {u} ,q)&:=\int _{\Omega }\nabla \cdot \mathbf {u} \,q\,d\Omega ,\\a(\mathbf {u} ,\mathbf {v} )&:=\int _{\Omega }2\nu \mathbf {S} (\mathbf {u} ):\nabla \mathbf {v} \,d\Omega ,\\c(\mathbf {w} ,\mathbf {u} ,\mathbf {v} )&:=\int _{\Omega }(\mathbf {w} \cdot \nabla )\mathbf {u} \cdot \mathbf {v} \,d\Omega ,\\f(\mathbf {v} )&:=-\int _{\Gamma _{N}}\mathbf {h} \cdot \mathbf {v} \,d\Gamma .\end{aligned}}$

## Finite element Galerkin formulation of Navier–Stokes equations

In order to numerically solve the NS problem, first the discretization of the weak formulation is performed. Consider a triangulation $\Omega _{h}$, composed by tetrahedra ${\mathcal {T}}_{i}$, with $i=1,\ldots ,N_{\mathcal {T}}$ (where $N_{\mathcal {T}}$ is the total number of tetrahedra), of the domain $\Omega$ and $h$ is the characteristic length of the element of the triangulation.
Introducing two families of finite-dimensional sub-spaces ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$, approximations of ${\mathcal {V}}$ and ${\mathcal {Q}}$ respectively, and depending on a discretization parameter $h$, with $\dim {\mathcal {V}}_{h}=N_{V}$ and $\dim {\mathcal {Q}}_{h}=N_{Q}$, ${\mathcal {V}}_{h}\subset {\mathcal {V}}\;\;\;\;\;\;\;\;\;{\mathcal {Q}}_{h}\subset {\mathcal {Q}},$ the discretized-in-space Galerkin problem of the weak NS equation reads:
Find, for all $t\in (0,T]$, $(\mathbf {u} _{h},p_{h})\in \{{\mathcal {V}}_{h}\times {\mathcal {Q}}_{h}\}$, such that ${\begin{aligned}&\left({\frac {\partial \mathbf {u} _{h}}{\partial t}},\mathbf {v} _{h}\right)+c(\mathbf {u} _{h},\mathbf {u} _{h},\mathbf {v} _{h})+b(\mathbf {u} _{h},q_{h})-b(\mathbf {v} _{h},p_{h})+a(\mathbf {u} _{h},\mathbf {v} _{h})=f(\mathbf {v} _{h})\\&\;\;\;\;\;\;\;\;\;\;\forall \mathbf {v} _{h}\in {\mathcal {V}}_{0h}\;\;,\;\;\forall q_{h}\in {\mathcal {Q}}_{h},\end{aligned}}$ with $\mathbf {u} _{h}|_{t=0}=\mathbf {u} _{h,0}$, where $\mathbf {g} _{h}$ is the approximation (for example, its interpolant) of $\mathbf {g}$, and ${\mathcal {V}}_{0h}=\{\mathbf {v} _{h}\in {\mathcal {V}}_{h}{\text{ s.t. }}\mathbf {v} _{h}|_{\Gamma _{D}}=\mathbf {0} \}.$
Time discretization of discretized-in-space NS Galerkin problem can be performed, for example, by using the second order Backward Differentiation Formula (BDF2), that is an implicit second order multistep method. Divide uniformly the finite time interval $[0,T]$ into $N_{t}$ time step of size $\delta t$ $t_{n}=n\delta t,\;\;\;n=0,1,2,\ldots ,N_{t}\;\;\;\;\;N_{t}={\frac {T}{\delta t}}.$
For a general function $z$, denoted by $z^{n}$ as the approximation of $z(t_{n})$. Thus, the BDF2 approximation of the time derivative reads as follows: $\left({\frac {\partial \mathbf {u} _{h}}{\partial t}}\right)^{n+1}\simeq {\frac {3\mathbf {u} _{h}^{n+1}-4\mathbf {u} _{h}^{n}+\mathbf {u} _{h}^{n-1}}{2\delta t}}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\text{for }}n\geq 1.$
So, the fully discretized in time and space NS Galerkin problem is:
Find, for $n=0,1,\ldots ,N_{t}-1$, $(\mathbf {u} _{h}^{n+1},p_{h}^{n+1})\in \{{\mathcal {V}}_{h}\times {\mathcal {Q}}_{h}\}$, such that ${\begin{aligned}\left({\frac {3\mathbf {u} _{h}^{n+1}-4\mathbf {u} _{h}^{n}+\mathbf {u} _{h}^{n-1}}{2\delta t}},\mathbf {v} _{h}\right)&+c(\mathbf {u} _{h}^{*},\mathbf {u} _{h}^{n+1},\mathbf {v} _{h})+b(\mathbf {u} _{h}^{n+1},q_{h})-b(\mathbf {v} _{h},p_{h}^{n+1})+a(\mathbf {u} _{h}^{n+1},\mathbf {v} _{h})=f(\mathbf {v} _{h}),\\&\;\;\;\;\;\;\;\;\;\;\forall \mathbf {v} _{h}\in {\mathcal {V}}_{0h}\;\;,\;\;\forall q_{h}\in {\mathcal {Q}}_{h},\end{aligned}}$ with $\mathbf {u} _{h}^{0}=\mathbf {u} _{h,0}$, and $\mathbf {u} _{h}^{*}$ is a quantity that will be detailed later in this section.
The main issue of a fully implicit method for the NS Galerkin formulation is that the resulting problem is still non linear, due to the convective term, $c(\mathbf {u} _{h}^{*},\mathbf {u} _{h}^{n+1},\mathbf {v} _{h})$. Indeed, if $\mathbf {u} _{h}^{*}=\mathbf {u} _{h}^{n+1}$ is put, this choice leads to solve a non-linear system (for example, by means of the Newton or Fixed point algorithm) with a huge computational cost. In order to reduce this cost, it is possible to use a semi-implicit approach with a second order extrapolation for the velocity, $\mathbf {u} _{h}^{*}$, in the convective term: $\mathbf {u} _{h}^{*}=2\mathbf {u} _{h}^{n}-\mathbf {u} _{h}^{n-1}.$

### Finite element formulation and the INF-SUP condition

Let's define the finite element (FE) spaces of continuous functions, $X_{h}^{r}$ (polynomials of degree $r$ on each element ${\mathcal {T}}_{i}$ of the triangulation) as $X_{h}^{r}=\left\{v_{h}\in C^{0}({\overline {\Omega }}):v_{h}|_{{\mathcal {T}}_{i}}\in \mathbb {P} _{r}\ \forall {\mathcal {T}}_{i}\in \Omega _{h}\right\}\;\;\;\;\;\;\;\;\;r=0,1,2,\ldots ,$ where, $\mathbb {P} _{r}$ is the space of polynomials of degree less than or equal to $r$.
Introduce the finite element formulation, as a specific Galerkin problem, and choose ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$ as ${\mathcal {V}}_{h}\equiv [X_{h}^{r}]^{3}\;\;\;\;\;\;\;\;{\mathcal {Q}}_{h}\equiv X_{h}^{s}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;r,s\in \mathbb {N} .$
The FE spaces ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$ need to satisfy the inf-sup condition(or LBB): $\exists \beta _{h}>0\;{\text{ s.t. }}\;\inf _{q_{h}\in {\mathcal {Q}}_{h}}\sup _{\mathbf {v} _{h}\in {\mathcal {V}}_{h}}{\frac {b(q_{h},\mathbf {v} _{h})}{\Vert \mathbf {v} _{h}\Vert _{H^{1}}\Vert q_{h}\Vert _{L^{2}}}}\geq \beta _{h}\;\;\;\;\;\;\;\;\forall h>0,$
with $\beta _{h}>0$, and independent of the mesh size $h.$ This property is necessary for the well posedness of the discrete problem and the optimal convergence of the method. Examples of FE spaces satisfying the inf-sup condition are the so named Taylor-Hood pair $\mathbb {P} _{k+1}-\mathbb {P} _{k}$ (with $k\geq 1$), where it can be noticed that the velocity space ${\mathcal {V}}_{h}$ has to be, in some sense, "richer" in comparison to the pressure space ${\mathcal {Q}}_{h}.$ Indeed, the inf-sup condition couples the space ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$, and it is a sort of compatibility condition between the velocity and pressure spaces.
The equal order finite elements, $\mathbb {P} _{k}-\mathbb {P} _{k}$ ($\forall k$), do not satisfy the inf-sup condition and leads to instability on the discrete pressure (also called spurious pressure). However, $\mathbb {P} _{k}-\mathbb {P} _{k}$ can still be used with additional stabilization terms such as Streamline Upwind Petrov-Galerkin with a Pressure-Stabilizing Petrov-Galerkin term (SUPG-PSPG).
In order to derive the FE algebraic formulation of the fully discretized Galerkin NS problem, it is necessary to introduce two basis for the discrete spaces ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$ $\{{\boldsymbol {\phi }}_{i}(\mathbf {x} )\}_{i=1}^{N_{V}}\;\;\;\;\;\;\{\psi _{k}(\mathbf {x} )\}_{k=1}^{N_{Q}},$ in order to expand our variables as $\mathbf {u} _{h}^{n}=\sum _{j=1}^{N_{V}}U_{j}^{n}{\boldsymbol {\phi }}_{j}(\mathbf {x} ),\;\;\;\;\;\;\;\;\;\;q_{h}^{n}=\sum _{l=1}^{N_{Q}}P_{l}^{n}\psi _{l}(\mathbf {x} ).$
The coefficients, $U_{j}^{n}$ ($j=1,\ldots ,N_{V}$) and $P_{l}^{n}$ ($l=1,\ldots ,N_{Q}$) are called degrees of freedom (d.o.f.) of the finite element for the velocity and pressure field, respectively. The dimension of the FE spaces, $N_{V}$ and $N_{Q}$, is the number of d.o.f, of the velocity and pressure field, respectively. Hence, the total number of d.o.f $N_{d.o.f}$ is $N_{d.o.f}=N_{V}+N_{Q}$.
Since the fully discretized Galerkin problem holds for all elements of the space ${\mathcal {V}}_{h}$ and ${\mathcal {Q}}_{h}$, then it is valid also for the basis. Hence, choosing these basis functions as test functions in the fully discretized NS Galerkin problem, and using bilinearity of $a(\cdot ,\cdot )$ and $b(\cdot ,\cdot )$, and trilinearity of $c(\cdot ,\cdot ,\cdot )$, the following linear system is obtained: ${\begin{cases}\displaystyle M{\frac {3\mathbf {U} ^{n+1}-4\mathbf {U} ^{n}+\mathbf {U} ^{n-1}}{2\delta t}}+A\mathbf {U} ^{n+1}+C(\mathbf {U} ^{*})\mathbf {U} ^{n+1}+\displaystyle {B^{T}\mathbf {P} ^{n+1}=\mathbf {F} ^{n}}\\\displaystyle {B\mathbf {U} ^{n+1}=\mathbf {0} }\end{cases}}$ where $M\in \mathbb {R} ^{N_{V}\times N_{V}}$ , $A\in \mathbb {R} ^{N_{V}\times N_{V}}$, $C(\mathbf {U} ^{*})\in \mathbb {R} ^{N_{V}\times N_{V}}$, $B\in \mathbb {R} ^{N_{Q}\times N_{V}}$, and $F\in \mathbb {R} ^{N_{V}}$ are given by ${\begin{aligned}&M_{ij}=\int _{\Omega }{\boldsymbol {\phi }}_{j}\cdot {\boldsymbol {\phi }}_{i}d\Omega \\&A_{ij}=a({\boldsymbol {\phi }}_{j},{\boldsymbol {\phi }}_{i})\\&C_{ij}(\mathbf {u} ^{*})=c(\mathbf {u} ^{*},{\boldsymbol {\phi }}_{j},{\boldsymbol {\phi }}_{i}),\\&B_{kj}=b({\boldsymbol {\phi }}_{j},\psi _{k}),\\&F_{i}=f({\boldsymbol {\phi }}_{i})\end{aligned}}$ and $\mathbf {U}$ and $\mathbf {P}$ are the unknown vectors $\mathbf {U} ^{n}={\BigU_{1}^{n},\ldots ,U_{N_{V}}^{n}{\Big )}^{T},\;\;\;\;\;\;\;\;\;\;\;\;\mathbf {P} ^{n}={\BigP_{1}^{n},\ldots ,P_{N_{Q}}^{n}{\Big )}^{T}.$
Problem is completed by an initial condition on the velocity $\mathbf {U} (0)=\mathbf {U} _{0}$. Moreover, using the semi-implicit treatment $\mathbf {U} ^{*}=2\mathbf {U} ^{n}-\mathbf {U} ^{n-1}$, the trilinear term $c(\cdot ,\cdot ,\cdot )$ becomes bilinear, and the corresponding matrix is $C_{ij}=c(\mathbf {u} ^{*},{\boldsymbol {\phi }}_{j},{\boldsymbol {\phi }}_{i})=\int _{\Omega }(\mathbf {u} ^{*}\cdot \nabla ){\boldsymbol {\phi }}_{j}\cdot {\boldsymbol {\phi }}_{i}\,d\Omega ,$
Hence, the linear system can be written in a single monolithic matrix ($\Sigma$, also called monolithic NS matrix) of the form ${\begin{bmatrix}K&B^{T}\\B&0\end{bmatrix}}{\begin{bmatrix}\mathbf {U} ^{n+1}\\\mathbf {P} ^{n+1}\end{bmatrix}}={\begin{bmatrix}\mathbf {F} ^{n}+{\frac {1}{2\delta t}}M(4\mathbf {U} ^{n}-\mathbf {U} ^{n-1})\\\mathbf {0} \end{bmatrix}},\;\;\;\;\;\Sigma ={\begin{bmatrix}K&B^{T}\\B&0\end{bmatrix}}.$ where K=3/2δt M+A+C(U$^∗$){\textstyle K={\frac {3}{2\delta t}}M+A+C(U^{*})}.

## Streamline upwind Petrov–Galerkin formulation for incompressible Navier–Stokes equations

NS equations with finite element formulation suffer from two source of numerical instability, due to the fact that:
* NS is a convection dominated problem, which means "large" $Re$, where numerical oscillations in the velocity field can occur (spurious velocity);
* FE spaces $\mathbb {P} _{k}-\mathbb {P} _{k}(\forall k)$ are unstable combinations of velocity and pressure finite element spaces, that do not satisfy the inf-sup condition, and generates numerical oscillations in the pressure field (spurious pressure).
To control instabilities arising from inf-sup condition and convection dominated problem, Pressure-Stabilizing Petrov–Galerkin(PSPG) stabilization along with Streamline-Upwind Petrov–Galerkin (SUPG) stabilization can be added to the NS Galerkin formulation.
$s(\mathbf {u} _{h}^{n+1},p_{h}^{n+1};\mathbf {v} _{h},q_{h})=\gamma \sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{\mathcal {T}}\int _{\mathcal {T}}\left[{\mathcal {L}}(\mathbf {u} _{h}^{n+1},p^{n+1})\right]^{T}{\mathcal {L}}_{ss}(\mathbf {v} _{h},q_{h})d{\mathcal {T}},$ where $\gamma >0$ is a positive constant, $\tau _{\mathcal {T}}$ is a stabilization parameter, ${\mathcal {T}}$ is a generic tetrahedron belonging to the finite elements partitioned domain $\Omega _{h}$, ${\mathcal {L}}(\mathbf {u} ,p)$ is the residual of the NS equations.
${\mathcal {L}}(\mathbf {u} ,p)={\begin{bmatrix}{\frac {\partial \mathbf {u} }{\partial t}}+(\mathbf {u} \cdot \nabla )\mathbf {u} +\nabla p-2\nu \nabla \cdot \mathbf {S} (\mathbf {u} )\\\nabla \cdot \mathbf {u} \end{bmatrix}},$ and ${\mathcal {L}}_{ss}(\mathbf {u} ,p)$ is the skew-symmetric part of the NS equations ${\mathcal {L}}_{ss}(\mathbf {u} ,p)={\begin{bmatrix}(\mathbf {u} \cdot \nabla )\mathbf {u} +\nabla p\\\mathbf {0} \end{bmatrix}}.$
The skew-symmetric part of a generic operator ${\mathcal {L}}(\mathbf {u} ,p)$ is the one for which ${\Bigl{\mathcal {L}}(\mathbf {u} ,p),(\mathbf {v} ,q){\Bigr )}=-{\Bigl(\mathbf {v} ,q),{\mathcal {L}}(\mathbf {u} ,p){\Bigr )}.$
Since it is based on the residual of the NS equations, the SUPG-PSPG is a strongly consistent stabilization method.
The discretized finite element Galerkin formulation with SUPG-PSPG stabilization can be written as:
Find, for all $t=0,1,\ldots ,N_{t}-1,$ $(\mathbf {u} _{h}^{n+1},p_{h}^{n+1})\in \{{\mathcal {V}}_{h}\times {\mathcal {Q}}_{h}\}$, such that ${\begin{aligned}&\left({\frac {3\mathbf {u} _{h}^{n+1}-4\mathbf {u} _{h}^{n}+\mathbf {u} _{h}^{n-1}}{2\delta t}},\mathbf {v} _{h}\right)+c(\mathbf {u} _{h}^{*},\mathbf {u} _{h}^{n+1},\mathbf {v} _{h})+b(\mathbf {u} _{h}^{n+1},q_{h})-b(\mathbf {v} _{h},p_{h}^{n+1})\\&\;\;\;\;\;\;\;\;\;\;\;\;+a(\mathbf {u} _{h}^{n+1},\mathbf {v} _{h})+s(\mathbf {u} _{h}^{n+1},p_{h}^{n+1};\mathbf {v} _{h},q_{h})=0\\\;\;\;\;\;\;\;\;\;\;\forall \mathbf {v} _{h}\in {\mathcal {V}}_{0h}\;\;,\;\;\forall q_{h}\in {\mathcal {Q}}_{h},\end{aligned}}$ with $\mathbf {u} _{h}^{0}=\mathbf {u} _{h,0}$, where ${\begin{aligned}s(\mathbf {u} _{h}^{n+1},p_{h}^{n+1};\mathbf {v} _{h},q_{h})&=\gamma \sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{M,{\mathcal {T}}}\left({\frac {3\mathbf {u} _{h}^{n+1}-4\mathbf {u} _{h}^{n}+\mathbf {u} _{h}^{n-1}}{2\delta t}}+(\mathbf {u} _{h}^{*}\cdot \nabla )\mathbf {u} _{h}^{n+1}+\nabla p_{h}^{n+1}+\right.\\&\left.-2\nu \nabla \cdot \mathbf {S} (\mathbf {u} _{h}^{n+1})\;{\boldsymbol {,}}\;u_{h}^{*}\cdot \nabla \mathbf {v} _{h}+{\frac {\nabla q_{h}}{\rho }}\right)_{\mathcal {T}}+\gamma \sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{C,{\mathcal {T}}}\left(\nabla \cdot \mathbf {u} _{h}^{n+1}{\boldsymbol {,}}\;\nabla \cdot \mathbf {v} _{h}\right)_{\mathcal {T}},\end{aligned}}$
and $\tau _{M,{\mathcal {T}}}$, and $\tau _{C,{\mathcal {T}}}$ are two stabilization parameters for the momentum and the continuity NS equations, respectively. In addition, the notation (a, b)$_T$=∫$_T$abdT{\textstyle \left(a{\boldsymbol {, }}\;b\right)_{\mathcal {T}}=\int _{\mathcal {T}}ab\;d{\mathcal {T}}} has been introduced, and $\mathbf {u} _{h}^{*}$ was defined in agreement with the semi-implicit treatment of the convective term.
In the previous expression of $s\left(\cdot \,;\cdot \right)$, the term ∑$_{T∈Ωh}$τ$_{M, T}$(∇p$_h$$^{n+1}$, ∇q$_h$/ρ )$_T$, {\textstyle \sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{M, {\mathcal {T}}}\left(\nabla p_{h}^{n+1}{\boldsymbol {, }}\;{\frac {\nabla q_{h}}{\rho }}\right)_{\mathcal {T}}, } is the Brezzi-Pitkaranta stabilization for the inf-sup, while the term ∑$_{T∈Ωh}$τ$_{M, T}$(u$_h$$^∗$⋅∇u$_h$$^{n+1}$, u$_h$$^∗$⋅∇v$_h$)$_T$, {\textstyle \sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{M, {\mathcal {T}}}\left(u_{h}^{*}\cdot \nabla \mathbf {u} _{h}^{n+1}{\boldsymbol {, }}\;u_{h}^{*}\cdot \nabla \mathbf {v} _{h}\right)_{\mathcal {T}}, } corresponds to the streamline diffusion term stabilization for large $\mathrm {Re}$. The other terms occur to obtain a strongly consistent stabilization.
Regarding the choice of the stabilization parameters $\tau _{M,{\mathcal {T}}}$, and $\tau _{C,{\mathcal {T}}}$: $\tau _{M,{\mathcal {T}}}=\left({\frac {\sigma _{BDF}^{2}}{\delta t^{2}}}+{\frac {\Vert \mathbf {u} \Vert ^{2}}{h_{\mathcal {T}}^{2}}}+C_{k}{\frac {\nu ^{2}}{h_{\mathcal {T}}^{4}}}\right)^{-1/2},\;\;\;\;\;\tau _{C,{\mathcal {T}}}={\frac {h_{\mathcal {T}}^{2}}{\tau _{M,{\mathcal {T}}}}},$
where: $C_{k}=60\cdot 2^{k-2}$ is a constant obtained by an inverse inequality relation (and $k$ is the order of the chosen pair $\mathbb {P} _{k}-\mathbb {P} _{k}$); $\sigma _{BDF}$ is a constant equal to the order of the time discretization; $\delta t$ is the time step; $h_{\mathcal {T}}$ is the "element length" (e.g. the element diameter) of a generic tetrahedra belonging to the partitioned domain $\Omega _{h}$. The parameters $\tau _{M,{\mathcal {T}}}$ and $\tau _{C,{\mathcal {T}}}$ can be obtained by a multidimensional generalization of the optimal value introduced in for the one-dimensional case.
Notice that the terms added by the SUPG-PSPG stabilization can be explicitly written as follows ${\begin{aligned}s_{11}^{(1)}={\biggl{\frac {3}{2}}{\frac {\mathbf {u} _{h}^{n+1}}{\delta t}}\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\;\;\;\;&\;\;\;\;s_{21}^{(1)}={\biggl{\frac {3}{2}}{\frac {\mathbf {u} _{h}^{n+1}}{\delta t}}\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\\s_{11}^{(2)}={\biggl\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {u} _{h}^{n+1}\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\;\;\;\;&\;\;\;\;s_{21}^{(2)}={\biggl\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {u} _{h}^{n+1}\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\\s_{11}^{(3)}={\biggl-2\nu \nabla \cdot \mathbf {S} &(\mathbf {u} _{h}^{n+1})\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\\s_{21}^{(3)}={\biggl-2\nu \nabla \cdot \mathbf {S} &(\mathbf {u} _{h}^{n+1})\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\\s_{11}^{(3)}={\biggl-2\nu \nabla \cdot \mathbf {S} &(\mathbf {u} _{h}^{n+1})\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\\s_{21}^{(3)}={\biggl-2\nu \nabla \cdot \mathbf {S} &(\mathbf {u} _{h}^{n+1})\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\\s_{11}^{(4)}={\biggl\nabla \cdot \mathbf {u} _{h}^{n+1}\;{\boldsymbol {,}}&\;\nabla \mathbf {\cdot } \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\end{aligned}}$
${\begin{aligned}s_{12}={\biggl\nabla p_{h}\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\;\;\;\;&\;\;\;\;s_{22}={\biggl\nabla p_{h}\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\\f_{v}={\biggl{\frac {4\mathbf {u} _{h}^{n}-\mathbf {u} _{h}^{n-1}}{2\delta t}}\;{\boldsymbol {,}}\;\mathbf {u} _{h}^{*}\cdot \nabla \mathbf {v} _{h}{\biggr )}_{\mathcal {T}},\;\;\;\;&\;\;\;\;f_{q}={\biggl{\frac {4\mathbf {u} _{h}^{n}-\mathbf {u} _{h}^{n-1}}{2\delta t}}\;{\boldsymbol {,}}\;{\frac {\nabla q_{h}}{\rho }}{\biggr )}_{\mathcal {T}},\end{aligned}}$
where, for the sake of clearness, the sum over the tetrahedra was omitted: all the terms to be intended as s$_{(I, J)}$$^{(n)}$=∑$_{T∈Ωh}$τ$_T$(⋅, ⋅)$_T${\textstyle s_{(I, J)}^{(n)}=\sum _{{\mathcal {T}}\in \Omega _{h}}\tau _{\mathcal {T}}\left(\cdot \, , \cdot \right)_{\mathcal {T}}}; moreover, the indices $I,J$ in $s_{(I,J)}^{(n)}$ refer to the position of the corresponding term in the monolithic NS matrix, $\Sigma$, and $n$ distinguishes the different terms inside each block ${\begin{bmatrix}\Sigma _{11}&\Sigma _{12}\\\Sigma _{21}&\Sigma _{22}\end{bmatrix}}\Longrightarrow {\begin{bmatrix}s_{(11)}^{(1)}+s_{(11)}^{(2)}+s_{(11)}^{(3)}+s_{(11)}^{(4)}&s_{(12)}\\s_{(21)}^{(1)}+s_{(21)}^{(2)}+s_{(21)}^{(3)}&s_{(22)}\end{bmatrix}},$
Hence, the NS monolithic system with the SUPG-PSPG stabilization becomes ${\begin{bmatrix}\ {\tilde {K}}&B^{T}+S_{12}^{T}\\{\widetilde {B}}&S_{22}\end{bmatrix}}{\begin{bmatrix}\mathbf {U} ^{n+1}\\\mathbf {P} ^{n+1}\end{bmatrix}}={\begin{bmatrix}\ \mathbf {F} ^{n}+{\frac {1}{2\delta t}}M(4\mathbf {U} ^{n}-\mathbf {U} ^{n-1})+\mathbf {F} _{v}\\\mathbf {F} _{q}\end{bmatrix}},$ where K$^~$=K+∑$_{i=1}$$^4$S$_{11}$$^{(i)}${\textstyle {\tilde {K}}=K+\sum \limits _{i=1}^{4}S_{11}^{(i)}}, and B$^~$=B+∑$_{i=1}$$^3$S$_{21}$$^{(i)}${\textstyle {\tilde {B}}=B+\sum \limits _{i=1}^{3}S_{21}^{(i)}}.
It is well known that SUPG-PSPG stabilization does not exhibit excessive numerical diffusion if at least second-order velocity elements and first-order pressure elements ($\mathbb {P} _{2}-\mathbb {P} _{1}$) are used.