View on GitHub
Download this project as a .zip file Download this project as a tar.gz file
redbKIT
a MATLAB library for reduced-order modeling of PDEs

Navier-Stokes equations

Unsteady Navier-Stokes equations

Let $\Omega \subset \mathbb{R}^{d}$ ($d=2,3$) be an open bounded domain with piecewise smooth boundary $\Gamma = \partial \Omega$. The latter is decomposed into Dirichlet and Neumann components such that $\Gamma = \Gamma_D \cup \Gamma_N$. The Navier-Stokes equations for an incompressible, homogeneous, Newtonian fluid read:

where $\bmv=\bmv(\mathbf{x},t)$ is the fluid velocity, $p=p(\bvec{x},t)$ the pressure, $\bm{n}$ the (outward directed) normal unit vector to $\Gamma_N$, $\rho$ the fluid density and $\bm{\sigma}$ is the stress tensor defined as \begin{equation} \label{eq:NSt_stress_tensor} \bm{\sigma}(\bmv, p) = -p \mathbf{I} + 2 \mu \bm{\epsilon}(\bmv). \end{equation} Here $\mu$ denotes the dynamic viscosity of the fluid (the kinematic viscosity is given by $\nu = \mu / \rho$), while \begin{equation} \label{eq:NSt_strain_tensor} \bm{\epsilon}(\bmv) = \frac{1}{2} \big( \nabla \bmv + \nabla \bmv ^T \big) \end{equation} is the strain tensor. The functions $\bm{g} = \bm{g}(\bx, t)$, $\bm{h} = \bm{h}(\bx, t)$ indicate the Dirichlet and Neumann data, while $\bmv_0 = \bmv_0(\bx)$ is the initial condition.

Let us introduce the following functional spaces: and $M = L^2(\Omega)$. The weak formulation of \eqref{eq:NSt_cont_form} reads: for all $t \in (0,T]$, find $(\bmv(t), p(t)) \in V_D \times M$ such that \begin{equation} \label{eq:NSt_weak_form} \left( \rho \frac{\partial \bmv}{\partial t}, \bmw \right) + (\rho \bmv \cdot \nabla \bmv ,\bmw) + (\mu (\nabla \bmv + \nabla \bmv^T),\nabla \bmw) - (p, \nabla \cdot \bmw) + (\nabla \cdot \bmv,q) = (\bm{h}, \bmw)_{\Gamma_N} \end{equation} for all $ (\bmw,q) \in V \times M$, with $\bmv(0) = \bmv_0$.

Inf-Sup stable finite element approximation

Let us introduce a FE partition of the domain $\Omega$ from which we construct conforming finite element spaces $V_h \subset V$ and $M_h \subset M$. For the discrete version of problem \eqref{eq:NSt_weak_form} to be well-posed, it is well known that the velocity and pressure spaces $V_h$ and $M_h$ need to fulfill an inf-sup condition \begin{equation} \label{eq:NSt_infsup} \inf_{q_h \in M_h} \sup_{\bmw_h \in V_h} \frac{(q_h, \nabla \cdot \bmw_h)}{|\bmw_h|_V |q_h|_M} \geq \bar{\beta} > 0. \end{equation}

Two different choices of stable finite element spaces are implemented in redbKIT: $\mathbb{P}_2$-$\mathbb{P}_1$ and $\mathbb{P}_1^{\text{bubble}}$-$\mathbb{P}_1$ velocity-pressure spaces.

The semi-discrete formulation of the Navier-Stokes equations reads: for all $t \in (0,T]$, find $(\bmv_h, p_h) \in V_{D,h} \times M_h$ such that

for all $(\bmw_h,q_h) \in V_h \times M_h$, with $\bmv_h(0) = \bmv_0$.

Fully implicit BDF time discretization

For the time discretization of \eqref{eq:NSt_weak_STABLEh} we consider the Backward Differentiation Formula (BDF) scheme. To begin with, we partition the time interval $[0,T]$ into $N_t$ subintervals of equal size $\Delta t = T / N_t$ and denote by $t_n = n \Delta t$, for $n = 0 , \dots, N_t$ the discrete time instances. Moreover, we denote by $\bmv_h^n$ and $p_h^n$ the approximations of $\bmv_h$ and $p_h$ at time $t_n$, respectively. We approximate the time derivative of the velocity as

where (limiting ourselves to BDF schemes of order $\sigma = 1,2$)

and

The (fully discrete, implicit) BDF approximation of the Navier-Stokes equations reads: given $\bmv_h^{n}, \dots, \bmv_h^{n+1-\sigma}$, for $n \geq \sigma-1$ find $(\bmv_h^{n+1}, p_h^{n+1}) \in V_{h} \times M_h$ such that

for all $(\bmw_h,q_h) \in V_h \times M_h$. Here, the functional $g(\cdot;t) : V_h \times M_h \rightarrow \mathbb{R}$ encodes the action of the nonhomogeneous Dirichlet condition $\bmv_h|_{\Gamma_D} = \bm{h}(t)$.

Algebraic formulation and Newton iterations

We denote by and Lagrangian FE bases for $V_h$ and $M_h$ respectively. We also denote by and the vectors of coefficients in the expansions of $\bm{v}^n_h$ and $p_h^n$ with respect to the FE bases. Finally, we set . The algebraic formulation of \eqref{eq:NSt_BDF_STABLE} reads: given , for find such that

The right-hand side term $\bm{f}(t_{n+1})$ encodes the action of Dirichlet and Neumann boundary conditions (as well as body forces, if any). The $\Nh \times \Nh$ block-partitioned matrices $\MM$ and $\AA$ are defined as

where is the velocity mass matrix, is the velocity stiffness matrix, is the divergence matrix. The nonlinear convective term is defined as

where is given by

At each timestep, the nonlinear system \eqref{eq:NSt_BDF_STABLE_ALGtierI} is solved by means of Newton’s method: given $\bU_h^{n+1,0} = \bU_h^{n}$, for $k=0,1,\dots$ until convergence we seek $\delta \bU$ such that

and then set $\bU_h^{n+1,k+1} = \bU_h^{n+1,k} + \delta \bU$. Here,

and

The convective matrices and are defined as

with

for $\qquad i,j = 1, \dots, \Nh[v]$.

Semi-implicit BDF time discretization

We now consider the BDF scheme with semi-implicit treatment of the convective term. This approach allows to mitigate the computational burden associated to the use of a fully implicit BDF scheme by linearizing the nonlinear convective terms. The linearization is done by extrapolating the convective velocity via an extrapolation formula of the same order of the BDF used.

We approximate the convective velocity at time $t^{n+1}$ with the Lagrange polynomial interpolating evaluated at time $t_{n+1}$. We thus obtain the following expression for the extrapolated velocity at time $t^{n+1}$

The (fully discrete) semi-implicit BDF approximation of the Navier-Stokes equations reads: given $\bmv_h^{n}, \dots, \bmv_h^{n+1-\sigma}$, for $n \geq \sigma-1$ find $(\bmv_h^{n+1}, p_h^{n+1}) \in V_{h} \times M_h$ such that

for all $(\bmw_h,q_h) \in V_h \times M_h$.

Algebraic formulation

At the algebraic level, we obtain the following linear system to be solved at each timestep:

SUPG-stabilized finite element approximation

Low-order approximation spaces (such as $\mathbb{P}_1$-$\mathbb{P}_1$ spaces) represent an attractive option for the apprimation of Navier-Stokes equations, since they mitigate the required computational effort; however, they do not satisfy the inf-sup condition \eqref{eq:NSt_infsup}. As a remedy, one can resorts to suitable pressure stabilizations, which allow to circumvent \eqref{eq:NSt_infsup}. Nevertheless, pressure stabilizations turn out to be inappropriate when dealing with advection dominated flows, since in this case additional terms are required to enhance the stability with respect to the convective terms and to control the incompressibility constraint.

For these reasons, we resort to the streamline upwind Petrov-Galerkin (SUPG) stabilization – formulated as in the Variational Multiscale framework – which satisfies all these requisites. To this end, let us first introduce the finite element space

Then, we define $V_h = V \cap [X_h^r]^d$, and $M_h = M \cap X_h^r$; note that we use equal-order FE spaces for the velocity and pressure variables. We also introduce the strong residuals $\bm{r}_M(\bmv_h,p_h)$ and $r_C(\bmv_h)$ of the momentum and continuity equations, respectively: \begin{equation} \label{eq:NSt_ResM} \bm{r}_M(\bmv_h,p_h) = \rho \frac{\partial \bmv_h}{ \partial t} + \rho \bmv_h \cdot \nabla \bmv_h + \nabla p - \mu \Delta \bmv_h, \end{equation} \begin{equation} \label{eq:NSt_ResC} r_C(\bmv_h) = \nabla \cdot \bmv_h. \end{equation}

The semi-discrete SUPG formulation of the Navier-Stokes equations reads: for all $t \in (0,T]$, find $(\bmv_h, p_h) \in V_{D,h} \times M_h$ such that

for all $(\bmw_h,q_h) \in V_h \times M_h$, with $\bmv_h(0) = \bmv_0$.

The stabilization parameters $\tau_M = \tau_M(\bmv_h)$ and $\tau_C = \tau_C(\bmv_h)$ are defined (element-wise) as:

where $C_I = 60 \cdot 2^{r-2}$, $\sigma$ is a constant equal to the order of the time discretization and $\Delta t$ is the time step that will be chosen for the time discretization. Moreover, $\bvec{G}_K$ and $\bvec{g}_K$ are metric tensors of the computational domain, which can be derived from the inverse Jacobian of the mapping between the reference and physical elements as

being $\xi_i$ and $x_i$ the reference and physical coordinates, respectively.

Semi-implicit BDF time discretization

For the time discretization of \eqref{eq:NSt_weak_SUPGh} we first consider the BDF scheme with semi-implicit treatment of the convective terms proposed in [Forti, Dede; 2015].

The (fully discrete) semi-implicit BDF-SUPG approximation of the Navier-Stokes equations reads: given $\bmv_h^{n}, \dots, \bmv_h^{n+1-\sigma}$, for $n \geq \sigma-1$ find $(\bmv_h^{n+1}, p_h^{n+1}) \in V_{h} \times M_h$ such that

where

is the residual of the momentum equation, and

are the stabilization parameters.

Algebraic formulation

The algebraic formulation of \eqref{eq:NSt_BDF_SUPG} reads: given , for find such that

The matrix encoding the SUPG operator is defined as

with

for $i,j=1, \dots, \Nh[v]$ and $k,l=1,\dots, \Nh[p]$. The SUPG contribute to the right-hand side is instead given by , where

Thanks to the semi-implicit treatment of the nonlinear terms, the fully-discrete system \eqref{eq:NSt_BDF_SUPG} yields a linear problem – rather than a nonlinear one – to be solved at each time $t_n$. Moreover, the matrices $\MM$ and $\AA$ are constant in time and independent of , so that they can be assembled once and for all at $t=t_0$. On the other hand, the matrices $\CC$ and $\SS$ depend on and need to be assembled at each time step.

Fully implicit BDF time discretization

For the time discretization of \eqref{eq:NSt_weak_SUPGh}, we now consider the fully implicit BDF scheme.

The (fully discrete) implicit BDF-SUPG approximation of the Navier-Stokes equations reads: given $\bmv_h^{n}, \dots, \bmv_h^{n+1-\sigma}$, for $n \geq \sigma-1$ find $(\bmv_h^{n+1}, p_h^{n+1}) \in V_{h} \times M_h$ such that

where

is the residual of the momentum equation.

Algebraic formulation and Newton iterations

The algebraic formulation of \eqref{eq:NSt_BDF_SUPGfi} reads: given , for find such that

The nonlinear term accounts for the SUPG stabilization.

At each timestep, this nonlinear system of equations is solved by means of Newton’s method: given $\bU_h^{n+1,0} = \bU_h^{n}$, for $k=0,1,\dots$ until convergence we seek $\delta \bU$ such that

and then set $\bU_h^{n+1,k+1} = \bU_h^{n+1,k} + \delta \bU$. Here,

References

Navier-Stokes equations:

  • A. Quarteroni and A. Valli. Numerical Approximation of Partial Differential Equations. Springer-Verlag, Berlin-Heidelberg, 1994.
  • H.C. Elman, D.J. Silvester, and A.J. Wathen. Finite Elements and Fast Iterative Solvers with Applications in Incompressible Fluid Dynamics. Oxford University Press, New York, 2004.

SUPG stabilization:

  • T.J.R. Hughes, G. Scovazzi, and L.P. Franca. Multiscale and stabilized methods. Wiley Online Library, 2004.
  • Y. Bazilevs, V.M. Calo, J.A. Cottrell, T.J.R. Hughes, A. Reali, and G. Scovazzi. Variational multiscale residual-based turbulence modeling for large eddy simulation of incompressible flows. Comput. Methods Appl. Mech. Engrg., 197(1-4):173 - 201, 2007.

Semi-implicit treatment of the convective term:

  • P. Gervasio, F. Saleri, and A. Veneziani. Algebraic fractional-step schemes with spectral methods for the incompressible Navier–Stokes equations. J. Comput. Phys., 214(1):347–365, 2006.
  • D. Forti and L. Dede. Semi-implicit BDF time discretization of the Navier-Stokes equations with VMS-LES modeling in a high performance computing framework. Comput. Fluids, 117(0):168–182, 2015.

BDF time discretization:

  • K. Eleda Brenan, S.L. Campbell, and L. R. Petzold. Numerical Solution of Initial-Value Problems in Differential-Algebraic Equations. SIAM, Philadelphia, 1996.
  • A. Quarteroni, R. Sacco, and F. Saleri. Numerical Mathematics. Springer, New York, second edition, 2007.