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.