1. Introduction
Multigrid methods have been widely developed since more than 40 years and were proposed as fast solvers to the numerical solution of elliptic problems, see e.g. [27] for steady linear and nonlinear Dirichlet Problems in finite differences, but also for Steady Navier-Stokes Equations [9,20].
The method is first defined for two levels of discretization (bi-grid case). The two key ingredients are both the separation of the high and the low mode components of the error provided by the use of coarse and fine grids (or spaces) VH and Vh respectively, and also the concentration of the main computational effort on the coarsest (lower dimensional) subspace VH⊂Vh; high modes can be represented in Vh while only low modes can be captured in VH. This leads to a drastic save in CPU computation time. The correction to the fine space components belonging to Vh is usually realized by a simple and fast numerical scheme and is associated to a high mode smoothing. Then the scheme is recursively applied on a set of nested grids (or spaces).
When considering nonlinear dissipative equations, we can distinguish two approaches for bi-grid methods:
In the first one, the low and the high mode components are explicitly handled: thanks to the parabolic regularization, it is expected that the low mode components which carry the main part of the energy of the (regular) solution have a different dynamics from the high mode components, that can be seen as a correction, see [16] and the references therein. Also, a way to speed up the numerical integration is then to apply different schemes to these two sets of components, concentrating the effort on the computation of the low modes, that belong in VH, see [14]. When dealing with spectral methods, the separation in frequency is natural but it is not the case when Finite Differences or FEM methods are used for the spatial discretization. To separate the modes, a hierarchical basis approach is used [49]: using a proper interpolation (or projection) operator between VH and Vh, one builds a transfer operator which defines a pre-conditioner for the stiffness matrices but it allows also to express the solution in terms of main part, associated to the low mode components, and of a fluctuant part, of lower magnitude, and associated to high modes components; we refer the reader to [46,47,48] and the references therein for Finite Elements discretizations, [13,38] for Finite Differences and [6,18] in Finite Volumes. These schemes showed to be efficient, however they necessitate to build and manipulate hierarchical bases.
In the second approach, the mode separation is not used explicitly and the methods consist, at each time step, in first computing the coarse approximation uH to the fine solution uh by an unconditionally implicit stable scheme and then to update the fine space approximation by using a linearized scheme at an extrapolated value ˜uh of uH in Vh. These schemes allow to reduce the computational time with an optimal error as respected to the classical scheme when choosing accurately the mesh size of Vh as respect to the one of VH. It is to be underlined that ˜uh represents the mean part of the solution while zh=uh−˜uh∈Vh represents the fluctuant part (carrying the high mode components of the solution uh∈Vh) but is not simulated in the schemes. Such methods were developed and applied to the solution of time dependent incompressible Navier-Stokes equations [2], [3], [21] and [28]. Since a linearization is used on Vh the matrix to solve at each time iteration changes and it can be costly in transient regime.
The numerical methods we propose here are somehow in between and are inspired from the approach developed in [1] for Allen-Cahn Equation: as previously described, the use of two levels of discretization allows to concentrate the effort on the coarsest, yet lower dimensional, space and at the same time to decompose the solution into its mean and fluctuant part uh=˜uh+zh. The zh are not explicitly simulated, however, they are used implicitly for a high mode stabilization as follows: consider the time integrations of the reaction-diffusion equation, in its variational form:
ddt(u,v)+(∇u,∇v)+(f(u),v)=0,∀v∈V,
|
(1)
|
where V is a proper Hilbert space.
Given two finite dimensional subspaces of V, WH and Vh, with dim(WH)<<dim(Vh), we define the bigrid-scheme as
Algorithm 1 Bi-grid Stabilized scheme for Reaction-Diffusion |
1: u0h,u0H given |
2: |
3: for k=0,1,⋯ do |
4: Step 1 (Coarse Space Implcit Scheme) |
5: (uk+1H−ukHΔt,ψH)+(∇uk+1H,∇ψH)+(f(uk+1H),ψH)=0,∀ψH∈WH |
6: Step 2 (Fine Space semi-implicit Scheme) |
7: (uk+1h−ukhΔt,ϕh)+τ(uk+1h−ukh,ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)=τ(uk+1H−ukH,ϕh),∀ϕh∈Vh |
8: end for |
It is not necessary to have WH⊂Vh, an inf-sup like compatibility condition has to be satisfied for defining uniquely the prolongation ˜u, [1]. The competition between the terms τ(uk+1h−ukh,ϕh) and τ(uk+1H−ukH,ϕh) are interpreted as a high mode filter and τ>0 is the stabilization parameter [1] and allow to compense the explicit treatment of the nonlinear term. Furthermore, this stabilization has few influence on the global dynamics, [1].
The aim of the present work is to adapt this two-grid scheme to Navier-Stokes equations. To this end, we consider a projection method that splits the time resolution into two steps: firstly a parabolic equation on the velocity and secondly an elliptic equation on the pressure. The bi-grid stabilization will be applied to the first step.
The paper is organized as follows: in Section 2 we first present briefly the principle of the bi-grid framework (reference scheme, separation of the modes, high mode stabilization), then, after recalling the definition and some properties of the projection scheme (reference scheme), we propose different bi-grid projection schemes. Section 3 is dedicated to the numerical results. We consider the classical benchmark lid-driven cavity problem. When computing the steady states, the results we obtain agree with those of the literature, also an important gain of CPU time is obtained as respect to classical methods, for a comparable precision. The article ends in Section 4 with concluding remarks. All the computation have been realized using FreeFem++ [19].
2. Derivation of the bi-grid projection schemes
We here build the bi-grid high mode stabilized projection schemes. For that purpose, we first recall the different approaches of the bi-grid schemes in finite elements and then describe the stabilization procedure, for reaction diffusion problems. Then, we present briefly the projection schemes in finite elements we will start from to introduce the new Bi-grid Projection Schemes.
2.1. Principle of the bi-grid approach
As stated in the introduction, when considering nonlinear dissipative equations, a well known way to obtain a gain in CPU time is to consider two levels of discretization and to concentrate the main computational effort on the lower dimensional approximation space WH, while the higher accurate approximation to the solution on the fine space Vh is updated by using a simple semi-implicit (yet linear) scheme. The general pattern of a bi-grid scheme for the reaction diffusion equation (1) writes as
Algorithm 2 Bi-grid Scheme for Reaction-Diffusion |
1: u0h,u0H given |
2: |
3: for k=0,1,⋯ do |
4: Step 1 (Coarse Space Implicit Scheme) |
5: (uk+1H−ukHΔt,ψH)+(∇uk+1H,∇ψH)+(f(uk+1H),ψH)=0,∀ψH∈WH |
6: Step 2 (Fine Space semi-implicit Scheme) |
7: (uk+1h−ukhΔt,ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)+(f′(uk+1H)uk+1h,ϕh)=0,∀ϕh∈Vh |
8: end for |
This approach was proposed by [21,28,30]. However, f′(uk+1H), the linearized of f at uk+1H must be computed at each time step, changing the matrix to solve at each iteration. A way to avoid this drawback is to consider a classical semi-implicit scheme and to compense the lack of stability by adding, e.g., a first order damping term τ(uk+1h−ukh), obtaining as second step:
1: Step 2 (Stabilized Fine Space semi-implicit Scheme) |
2: (uk+1h−ukhΔt,ϕh)+τ(uk+1h−ukh,ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)=0,∀ϕh∈Vh |
This stabilization procedure allows to obtain unconditionally stable time scheme for large values of τ>0, that can be tuned. The resulting scheme is fast, however, it can slow down drastically the dynamics, particularly convergence to steady states occurs in longer times. This is due to the fact that the damping acts on all the mode components, including the low ones which are associated to the mean part of the function and carry the main part of the L2 energy, when considering a Fourier-like interpretation. A way to overcome this drawback is to apply the stabilization to the only high mode components zh of uh which correspond to a fluctuent part of uh; the stability of a scheme is indeed related to its capability to contain the propagation of the high frequencies. Hence the scheme becomes
1: Step 2 (High Mode Stabilized Fine Space semi-implicit Scheme) |
2: (uk+1h−ukhΔt,ϕh)+τ(P(uk+1h−ukh),ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)=0,∀ϕh∈Vh |
where P(uk+1h−ukh) capture the high mode components of uk+1h−ukh.
At this point we can distinguish two main ways to decompose uh as a sum of its mean part ˜uh and its fluctuent part zh in finite elements:
● Hierarchical basis in Finite Elements: the fine space FEM approximation space Vh is decomposed as Vh=VH⨁Wh⊂H1, where VH⊂Vh is the coarse FEM space that can capture only low modes, and Wh is the complementary space, generated by the basis functions of Vh that do not belong in VH, and that capture high mode components. When using P1 finite elements, the components of Wh of a function uh∈Vh are built as proper local interpolation error from uH∈VH. The functions of approximation Vh can be uniquely decomposed as
with uH∈VH and zh∈Wh. It has been showed that the linear change of variable S:uh→(uH,zh) provides an efficient pre-conditioner for the stiffness matrices but also proceeds to a scale separation [10,11,33,34,49].
The spatial discretization reads then to a differential system satisfied by uH and zh, namely
ddt(uH+zh,ϕH)+(∇(uH+zh),∇ϕH)+(f(uH+zh),ϕH)=0,∀ϕH∈VH,
|
(3)
|
ddt(uH+zh,ψh)+(∇(uH+zh),∇ψh)+(f(uH+zh),ψh)=0,∀ψh∈Vh.
|
(4)
|
New time marching methods are obtained applying two different schemes for uh and for zh; particularly, the separation of the scales allows to use a simple and fast scheme for the zh components and to save computational time, with a good accuracy. Approximations and simplifications can be applied to each equation, particularly using an approached law linking high and low mode components of type Φ(uH)=zh, [33,34].
The approach followed in [35] is technically different but is based on the same principle: Denoting by PH the L2 orthogonal projection from Vh on VH, the decomposition uh=uH+wh with uH=PHuh and wh=(Id−PH)uh is used, making uH and wh orthogonal. They proposed and analyzed schemes of Nonlinear Galerkin type, says in which an asymptotic approach law Φ(uH)=wh) is implemented together with a time marching scheme on uH. A drawback is that one must build a basis for (Id−PH)Vh.
Finally let us mention similar developments in finite differences [12,13] and spectral methods [14,16,17,29]
● A L2-like filtering, used in [1] and to which we will concentrate: we define first the prolongation operator P:VH→Vh by
(uH−P(uH),ϕh)=0,∀ϕh∈Vh.
|
(5)
|
Then, setting ˜uh=P(uH), we write
We now apply the high mode stabilization to the zh components and get, after usual simplifications
1: Step 2 (High Mode Stabilized Fine Space semi-implicit Scheme) |
2: (uk+1h−ukhΔt,ϕh)+τ(zk+1h−zkh,ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)=0,∀ϕh∈Vh |
and using the identity
(zk+1h−zkh,ϕh)=(uk+1h−ukh,ϕh)−(˜uk+1h−˜ukh,ϕh)=(uk+1h−ukh,ϕh)−(uk+1H−ukH,ϕh),∀ϕh∈Vh
|
we can write the high mode stabilized bi-grid scheme as
Algorithm 3 Bi-grid Stabilized scheme for Reaction-Diffusion |
1: u0h,u0H given |
2: |
3: for k=0,1,⋯ do |
4: Step 1 (Coarse Space Implicit Scheme) |
5: (uk+1H−ukHΔt,ψH)+(∇uk+1H,∇ψH)+(f(uk+1H),ψH)=0,∀ψH∈WH |
6: Step 2 (Fine Space semi-implicit Scheme) |
7: (uk+1h−ukhΔt,ϕh)+τ(uk+1h−ukh,ϕh)+(∇uk+1h,∇ϕh)+(f(ukh),ϕh)=τ(uk+1H−ukH,ϕh),∀ϕh∈Vh |
8: end for |
We now consider incompressible Navier-Stokes equations. FEM Bi-grid methods for incompressible NSE as proposed, e.g., in [2,3,21,28,30], are built using the pattern of scheme 2, and written as following. Given two pairs of FEM spaces (XH,YH) and (Xh,Yh) satisfying the discrete inf-sup condition, with XH⊂Xh and YH⊂Yh, one defines the bi-grid iterations as
Algorithm 4 Bi-grid Scheme for Navier-Stokes Equation |
1: u0h,u0H given |
2: |
3: for k=0,1,⋯ do |
4: Step 1 (Coarse Space Implicit Scheme) |
5: (uk+1H−ukHΔt,ψH)+1Re(∇uk+1H,∇ψH)+((uk+1H.∇)uk+1H,ψH)−(div(ψH),pk+1H)=(f,ψH),∀ψH∈XH |
6: (div(uk+1H),qH)=0,∀qH∈YH |
7: Step 2 (Fine Space semi-implicit Scheme) |
8: (uk+1h−ukhΔt,ϕh)+1Re(∇uk+1h,∇ϕh)+(uk+1H.∇uk+1h,ϕh)−(div(ψh),pk+1h)=(f,ψh),∀ψh∈Xh |
9: (div(uk+1h),qh)=0,∀qh∈Yh |
10: end for |
We have used here the simple linearization of the nonlinear term (uk+1H.∇uk+1h,ϕh) proposed in [21], but other linearizations can be considered. At each step the method needs to solve first a mixed nonlinear FEM problem on the coarse pair FEM spaces (XH,YH), then a linear mixed FEM problem on the fine FEM spaces (Xh,Yh); in this last step, the underlying matrix changes at each iteration. To avoid this drawback and to apply the stabilized bi-grid method, as described in Algorithm 3, we will use a projection method. In such a case the computation of the velocity is decoupled from the one of the pressure, the intermediary velocity satisfies a nonlinear convection-diffusion equation. The main idea is then to apply a stabilized bi-grid scheme to this equation to speed up the resolution. We present below several options of this approach.
2.2. Bi-grid projection schemes in finite elements
First of all, let us recall the framework of the Projection Schemes in Finite elements and then derive the new bi-grid stabilized methods.
The mixed variational formulation of the motion of a viscous and incompressible fluid in a domain Ω is described by the unsteady Navier-Stokes equation
{(∂u∂t,v)+(u⋅∇u,v)−ν(∇u,∇v)−(p,divv)=(f,v),∀v∈X=(H10(Ω))d(divu,q)=0,∀q∈Y=L2(Ω)
|
where Ω is a domain of Rd,d=2,3 of lipschizian bound ∂Ω,→n the normal outside unit and a time interval [0,T],T>0.
Here is a choice of the approximation spaces Xh and Yh for the velocity and the pressure
Xh={v∈C0(ˉΩ)2|v|κ∈P22,∀κ∈Th,v=0 on ∂Ω},
|
(6)
|
Yh={q∈C0(ˉΩ)|q|κ∈P1,∀κ∈Th}∩L20(Ω).
|
(7)
|
The degrees of freedom for the velocity are the vertices of the triangulation and the midpoints of the edges of the triangles of the triangulation Th. The degrees of freedom for the pressure are the vertices of Th assumed to be uniformly regular. It is well known that because of the constraint of incompressibility, the choice of Xh and Yh is not arbitrary. They must satisfy a suitable compatibility condition, the "inf-sup" condition of Babuška-Brezzi (cf. [4,7]):
infq∈Yhsupu∈Xh∫Ωq(divu)dx||q||L2(Ω)||∇u||L2(Ω)≥β∗,
|
(8)
|
where β∗ is independent of h. All the results presented in this paper are done with the Taylor-Hood finite element P2/P1.
Let us consider the semi-discretization in time and focus on marching schemes. Let uk≃u(x,kΔt) be a sequence of functions; Δt is the time step. We compare our method to the projection method applied on the fine grid. It is a fractional step-by-step method of decoupling the computation of the velocity from that of the pressure, by first solving a convection-diffusion problem such that the resulting velocity is not necessarily zero divergence; then in a second step, the latter is projected onto a space of functions with zero divergence in order to satisfy the incompressibility condition (cf. [15,24,25,26,40,42,43]). We start by presenting the implicit reference scheme [40]:
Algorithm 5 Reference Scheme |
1: for k=0,1,⋯ do |
2: Find u∗h in Xh (u∗h−ukhΔt,ψh)+ν(∇u∗h,∇ψh)+((u∗h⋅∇)u∗h,ψh)=(f,ψh),∀ψh∈Xh |
3: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
4: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ψh)=0,∀ψh∈Xh |
5: end for |
This will be our reference scheme, used on the coarse FEM Space. It enjoys of unconditional stability properties, see Temam [40], chapter Ⅲ, section 7.3 and [41].
Remark 2.1. We could use also an incremental projection method introduced by Goda [22], see also [24]. Goda has proven that adding a previous value of the gradient of the pressure (∇pk) in the first step of the projection method then rectify the value of the velocity in the second step will improve the accuracy, in other words, he proposed the following algorithm:
Algorithm 6 Incremental Reference |
1: for k=0,1,⋯ do |
2: Find u∗h in Xh |
3: (u∗h−ukhΔt,ψh)+ν(∇u∗h,∇ψh)+((u∗h⋅∇)u∗h,ψh)+(∇pkh,ψh)=(f,ψh),∀ψh∈Xh |
4: Find pk+1h in Yh α(div∇pk+1h−div∇pkh,χh)=(divu∗hΔt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+αΔt(∇pk+1h−∇pkh),ψh)=0,∀ψh∈Xh |
6: end for |
The results obtained are similar to the one produced by the non incremental scheme to which we focus for a sake of simplicity.
We can now derive the bi-grid schemes.
Our first approach consists in separating in scales the intermediate velocity u∗h which we introduce according to the projection method of Chorin-Temam [15,40,42,43]. First we compute u∗H on the coarse space XH and then stabilize the high frequencies of u∗h on the fine space Xh. In all our bi-grid schemes we solve the nonlinear problem using the usual Picard fixed point method on the coarse space:
Initilisation: set u∗,0H=ukH,For m≥0 up to convergenceFind u∗,m+1H solution of (u∗,m+1H,ϕH)+Δt(∇u∗,m+1H,∇ϕH)=(u∗,mH,ϕH)+Δt((u∗,mH.∇)u∗,mH,ϕH), ∀ϕH∈XHEndSet u∗H=u∗,m+1H
|
Only few iterations are needed at each time step (4 at the beginning and only 1 close to the steady state) making this simple fixed point method efficient and well adapted in this context.
In the same way we solve the nonlinear problem in the reference scheme on a fine grid. Based on the free divergence condition, we find the pressure ph whose mean is equal to zero. We end up finding uh and restricting it to the coarse grid to get ukH for the next iteration.
Algorithm 7 Two grids Algo1 |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (u∗H−ukHΔt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find u∗h in Xh |
(1+τΔt)(u∗h−ukhΔt,ϕh)+ν(∇u∗h,∇ϕh)+((ukh⋅∇)ukh,ϕh)=τ(u∗H−ukH,ϕh)+(f,ϕh),∀ϕh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
6: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
7: end for |
We propose in the second algorithm to replace (ukh.∇)ukh by (u∗H⋅∇)u∗h. We obtain:
Algorithm 8 Variant of the Two grids Algo1 : Two grids Algo2 |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (u∗H−ukHΔt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find u∗h in Xh |
(1+τΔt)(u∗h−ukhΔt,ϕh)+((u∗H⋅∇)u∗h,ϕh)=τ(u∗H−ukH,ϕh)+(f,ϕh),∀ϕh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
6: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
7: end for |
The second approach that we consider in the following is to find directly uk+1H by the projection method applied on the coarse grid. By this technique, we do not need to restrict uk+1h to XH to define uk+1H.
Algorithm 9 Two grids Algo3 |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (u∗H−ukHΔt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find pk+1H in YH (div∇pk+1H,χH)=(divu∗HΔt,χH),∀χH∈YH |
4: Find uk+1H in XH (uk+1H−u∗H+Δt∇pk+1H,ψH)=0,∀ψH∈XH |
5: Find u∗h in Xh |
(1+τΔt)(u∗h−ukhΔt,ϕh)+ν(∇u∗h,∇ϕh)+((u∗h⋅∇)u∗h,ϕh)=τ(u∗H−ukH,ϕh)+(f,ϕh),∀ϕh∈Xh |
6: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
7: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
8: end for |
Algorithm 10 Variant of the Two grids Algo3: Two grids Algo4 |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (u∗H−ukHΔt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find pk+1H in YH (div∇pk+1H,χH)=(divu∗HΔt,χH),∀χH∈YH |
4: Find uk+1H in XH (uk+1H−u∗H+Δt∇pk+1H,ψH)=0,∀ψH∈XH |
5: Find u∗h in Xh |
(1+τΔt)(u∗h−ukhΔt,ϕh)+ν(∇u∗h,∇ϕh)+((u∗H⋅∇)u∗h,ϕh)=τ(u∗H−ukH,ϕh)+(f,ϕh),∀ϕh∈Xh |
6: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
7: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
8: end for |
Remark 2.2. We have considered above only first order time marching schemes. However, the stabilization technique can be applied/adapted to more accurate methods such as BDF. For instance, when looking to the classical Gear-Scheme. We refer to [45], [44] and to [24] where an incremental projection method has been introduced. We can propose the following one grid algorithm, considered as our reference second-order in time scheme:
Algorithm 11 Non-Incremental Second-order Reference Scheme |
1: for k=0,1,⋯ do |
2: Find u∗h in Xh |
3: (3u∗h−4ukh+uk−1h2Δt,ψh)+ν(∇u∗h,∇ψh)+((u∗h⋅∇)u∗h,ψh)+(∇pkh,ψh)=(f,ψh),∀ψh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(div3u∗h2Δt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+23Δt∇pk+1h,ψh)=0,∀ψh∈Xh. |
6: end for |
Since the time scheme used on the equation in u∗h is a second accurate Gear's one, it is natural to associate a second order stabilization, namely related to the discretization of the second derivative in time. Hence, when one grid only is used, the damping term to add will be
τ(u∗h−2ukh+uk−1h,ϕh)≃τΔt2(∂2u∂t2,ϕh),
|
as proposed in [39] for the stabilization of semi-explicit schemes applied to reaction diffusion problems, when using one-grid FEM. Now, we can apply this stabilization procedure to the high mode components, as presented below, and we can derive the following new bi-grids algorithms, considering several options:
Algorithm 12 Two grids Second-order Algo1Order2 |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (3u∗H−4ukH+uk−1H2Δt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)s=(f,ψH),∀ψH∈XH |
3: Find u∗h in Xh |
(3u∗h−4ukh+uk−1h2Δt,ϕh)+ν(∇u∗h,∇ϕh)+((ukh⋅∇)ukh,ϕh)+τ(u∗h−2ukh+uk−1h,ϕh) |
=τ(u∗H−2ukH+uk−1H,ϕh)+(f,ϕh),∀ϕh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(div3u∗h2Δt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+23Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
6: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
7: end for |
Algorithm 13 Variant of the Two grids Second-order "Algo1Order2" algorithm: "Algo2Order2" |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (3u∗H−4ukH+uk−1H2Δt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find u∗h in Xh |
(3u∗h−4ukh+uk−1h2Δt,ϕh)+ν(∇u∗h,∇ϕh)+((u∗H⋅∇)u∗h,ϕh)+τ(u∗h−2ukh+uk−1h,ϕh) |
=τ(u∗H−2ukH+uk−1H,ϕh)+(f,ϕh),∀ϕh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(div3u∗h2Δt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+23Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
6: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
7: end for |
Algorithm 14 Two grids Second-order "Algo3Order2" |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (3u∗H−4ukH+uk−1H2Δt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find u∗h in Xh |
(3u∗h−4ukh+uk−1h2Δt,ϕh)+ν(∇u∗h,∇ϕh)+((ukh⋅∇)ukh,ϕh)+τ(u∗h−2ukh+uk−1h,ϕh) |
=τ(u∗H−2ukH+uk−1H,ϕh)+(f,ϕh),∀ϕh∈Xh |
4: Find pk+1h in Yh (div∇pk+1h,χh)=(div3u∗h2Δt,χh),∀χh∈Yh |
5: Find uk+1h in Xh (uk+1h−u∗h+23Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
6: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
7: end for |
Algorithm 15 Variant of the Two grids Second-order "Algo3Order2" algorithm: "Algo4Order2" |
1: for k=0,1,⋯ do |
2: Find u∗H in XH (3u∗H−4ukH+uk−1H2Δt,ψH)+ν(∇u∗H,∇ψH)+((u∗H⋅∇)u∗H,ψH)=(f,ψH),∀ψH∈XH |
3: Find pk+1H in YH (div∇pk+1H,χH)=(div3u∗H2Δt,χH),∀χH∈YH |
4: Find uk+1H in XH (uk+1H−u∗H+23Δt∇pk+1H,ϕH)=0,∀ϕH∈XH |
5: Find u∗h in Xh |
(3u∗h−4ukh+uk−1h2Δt,ϕh)+ν(∇u∗h,∇ϕh)+((u∗H⋅∇)u∗h,ϕh)+τ(u∗h−2ukh+uk−1h,ϕh) |
=τ(u∗H−2ukH+uk−1H,ϕh)+(f,ϕh),∀ϕh∈Xh |
6: Find pk+1h in Yh (div∇pk+1h,χh)=(div3u∗h2Δt,χh),∀χh∈Yh |
7: Find uk+1h in Xh (uk+1h−u∗h+23Δt∇pk+1h,ϕh)=0,∀ϕh∈Xh |
8: Solve in XH (uk+1H−uk+1h,ψH)=0,∀ψH∈XH |
9: end for |
3. Numerical results
3.1. The lid driven cavity
We simulate the Navier-Stokes equations in 2D by a stabilization technique. We use the unit square mesh [0,1]×[0,1] and vary the dimensions of the coarse and fine FEM spaces. We choose as spaces of approximation the well-known Taylor-Hood element P2/P1 for the velocity and the pressure respectively. Here are the results of the driven cavity flow obtained by adopting the variational formulation provided by the projection technique (Chorin-Temam) proposed by the two preceding steps. In this case the velocity is imposed only in the upper boundary with u=(1,0) and zero Dirichlet conditions are imposed on the rest of the boundary (see Figure 5).
There is a relationship between R=dim(XH)dim(Xh) (or R=dim(YH)dim(Yh)) and the gain in CPU time: the smaller R is, the faster but the less accurate the scheme is. We here concentrate on a factor 2 between the mesh sizes of XH and that of Xh, say H≃2h, then R≃0.25. This simple situation is to be first considered before looking to optimal ratio R. It gives a simple framework for exploring the multilevel case in which the bi-grid scheme is recursively applied using a fine FEM space and a sequence of coarse FEM spaces. We mention the optimal relations between H and h, such as h=O(H2) proposed in [3] for NSE (with a comparable CPU ratio reduction as for our methods taking H≃2h) and H=O(h1/3) in [35] for Reaction-Diffusion equations.
3.1.1. Computation of steady states
These flow patterns in Figures 1, 2, 3, 4 fit with earlier results of Bruneau et al. [9], Ghia et al. [20], Goyon [23], Pascal [37] and Vanka [45]. Also, the numerical values and the localization of the extrema of the vorticity and of the stream function are good agreement with the ones given in these references.
3.1.2. CPU time reduction
In Figures 6-7 we observe that the bi-grid schemes are faster in computation time than reference the implicit scheme (Algorithm 5) applied on the fine space Vh. However, the gain in CPU time is mainly obtained in the transient phase. Indeed, since a stationary solution is computed, the reference scheme will need only one nonlinear iteration at each time step in the neighborhood of the steady state: it means that only a linear system has then to be solved at each iteration, exactly as for the semi-implicit scheme. Therefore, in a neighborhood of the steady state, an iteration of the bi-grid method needs an additional implicit iteration on the coarse grid and becomes then more expensive in CPU time.
We denote by t1G and t2G respectively the computational time (CPU) of the resolution of the reference scheme on a single grid and the resolution by the bi-grid method. We compute the number of nonlinear iterations as a function of time and compute the L2 norm of ∂u∂t; we use the approximation ∂u∂t|t=tk≃uk+1−ukΔt. We identify the time t∗ from which the reference scheme (Algorithm 5) uses only one linear iteration at each time step and we define θs as the associated threshold value of ‖∂u∂t‖L2(Ω. We then can obtain an heuristic criteria to define a simple strategy to save more CPU time and we modify the bi-grid scheme as follows: as long as ‖∂u∂t‖>θs we apply the bi-grid scheme and as soon as ‖∂u∂t‖L2(Ω)≤θs we apply the reference scheme on the fine space Vh. We report in Table 1 (resp. Table 2) the CPU times for the four bi-grid algorithms (resp. on-grid scheme with Algorithm 7). We notice that the ratio t2Gt1G is now equal to 0.7 instead of 0.9 when no threshold strategy was applied on the values of ∂u∂t.
Table 1. Non incremental Navier-Stokes Re=2000,Δt=10−3 and P2/P1.
80×40 points | Algorithm 7 | Algorithm 8 | Algorithm 9 | Algorithm 10 |
t1G at T=70 (in sec.) | 136366 | 136366 | 136366 | 136366 |
t2G at T=70 (in sec.) | 118398 | 129836 | 131503 | 132104 |
t2Gt1G | 0.868 | 0.952 | 0.964 | 0.969 |
θs | 0.00521845 | 0.00521845 | 0.00521845 | 0.00521845 |
t1G (in sec.) | 74803.8 | 74803.8 | 74803.8 | 74803.8 |
t2G (in sec.) | 54363.8 | 60544.3 | 61401.9 | 60842.7 |
t2Gt1G | 0.727 | 0.809 | 0.821 | 0.813 |
Table 2. Non incremental Navier-Stokes for the Algorithm 7 Re=2000,3200,5000,7500 and P2/P1.
80×40 points | Re=2000 | Re=3200 | Re=5000 | Re=7500 |
| Δt=10−3 | Δt=10−3 | Δt=10−3 | Δt=5×10−4 |
Final time | T=70 | T=130 | T=148 | T=195 |
t1G at T(in sec.) | 136366 | 227543 | 299998 | 846647 |
t2G at T (in sec.) | 118398 | 203692 | 237105 | 670244 |
t2Gt1G | 0.868 | 0.8952 | 0.7904 | 0.791 |
θs | 0.00521845 | 0.00502797 | 0.00321512 | 0.00462578 |
t1G (in sec.) | 74803.8 | 132604 | 256175 | 758398 |
t2G (in sec.) | 54363.8 | 102922 | 188600 | 565283 |
t2Gt1G | 0.727 | 0.776 | 0.736 | 0.745 |
As for the first order algorithms, the second order bi-grid schemes are faster in computation time than the (second order) reference scheme (Algorithm 11). A gain in CPU is obtained see Figure 8 and Tables 3, 4, 5, 6 for Re=100,400,1000 and 2000.
Table 3. Non incremental second order Navier-Stokes Re=100,Δt=10−2 and P2/P1.
80×40 points | Algorithm 12 | Algorithm 13 | Algorithm 14 | Algorithm 15 |
t1G at T=17 (in sec.) | 3825.49 | 3825.49 | 3825.49 | 3825.49 |
t2G at T=17 (in sec.) | 3448.5 | 2758.86 | 3189.22 | 3357.44 |
t2Gt1G | 0.901 | 0.721 | 0.834 | 0.878 |
θs | 0.000538847 | 0.000538847 | 0.000538847 | 0.000538847 |
t1G (in sec.) | 1812.3 | 1812.3 | 1812.3 | 1812.3 |
t2G (in sec.) | 1327.1 | 1060.33 | 1211.73 | 1286.01 |
t2Gt1G | 0.732 | 0.585 | 0.669 | 0.710 |
Table 4. Non incremental second order Navier-Stokes Re=400,Δt=10−2 and P2/P1.
80×40 points | Algorithm 12 | Algorithm 13 | Algorithm 14 | Algorithm 15 |
t1G at T=35 (in sec.) | 8565.76 | 8565.76 | 8565.76 | 8565.76 |
t2G at T=35 (in sec.) | 7334.26 | 5804.16 | 6731.14 | 6416.9 |
t2Gt1G | 0.856 | 0.678 | 0.786 | 0.749 |
θs | 0.000442771 | 0.000442771 | 0.000442771 | 0.000442771 |
t1G (in sec.) | 5479 | 5479 | 5479 | 5479 |
t2G (in sec.) | 4022.09 | 3209.97 | 3685.41 | 3508.57 |
t2Gt1G | 0.734 | 0.586 | 0.673 | 0.640 |
Table 5. Non incremental second order Navier-Stokes Re=1000,Δt=3×10−3 and P2/P1.
80×40 points | Algorithm 12 | Algorithm 13 | Algorithm 14 | Algorithm 15 |
t1G at T=56 (in sec.) | 38900.4 | 38900.4 | 38900.4 | 38900.4 |
t2G at T=56 (in sec.) | 36594.2 | 31834.6 | 33335.9 | 33493.8 |
t2Gt1G | 0.941 | 0.818 | 0.857 | 0.861 |
θs | 0.00147126 | 0.00147126 | 0.00147126 | 0.00147126 |
t1G (in sec.) | 20786.7 | 20786.7 | 20786.7 | 20786.7 |
t2G (in sec.) | 15856.7 | 13376.5 | 13917.3 | 13661 |
t2Gt1G | 0.763 | 0.644 | 0.670 | 0.657 |
Table 6. Non incremental second order Navier-Stokes Re=2000,Δt=10−3 and P2/P1.
80×40 points | Algorithm 12 | Algorithm 13 | Algorithm 14 | Algorithm 15 |
t1G at T=70 (in sec.) | 141635 | 141635 | 141635 | 141635 |
t2G at T=70 (in sec.) | 121453 | 128157 | 120371 | 141042 |
t2Gt1G | 0.858 | 0.905 | 0.850 | 0.996 |
θs | 0.00514984 | 0.00514984 | 0.00514984 | 0.00514984 |
t1G (in sec.) | 79614.3 | 79614.3 | 79614.3 | 79614.3 |
t2G (in sec.) | 58606.9 | 61953.7 | 57919.8 | 67550.1 |
t2Gt1G | 0.736 | 0.778 | 0.728 | 0.848 |
Algorithm 16 Non-incremental semi-implicit scheme |
1: for k=0,1,⋯ do |
2: Find u∗h in Xh (u∗h−ukhΔt,ψh)+ν(∇u∗h,∇ψh)+((ukh⋅∇)ukh,ψh)=(f,ψh),∀ψh∈Xh |
3: Find pk+1h in Yh (div∇pk+1h,χh)=(divu∗hΔt,χh),∀χh∈Yh |
4: Find uk+1h in Xh (uk+1h−u∗h+Δt∇pk+1h,ψh)=0,∀ψh∈Xh |
5: end for |
The relative performances of semi-implicit reference one grid and of the bi-grid schemes in stability time are the same as for the first order stabilized bi-grid algorithms: the high mode stabilization allows to take larger time steps Δt.
3.1.3. Enhanced stability : comparison with a semi-implicit scheme
As presented in the previous sections, the bi-grid methods are faster than the unconditionally stable reference scheme (Algorithm 5). To illustrate the stabilization properties of the bi-grid schemes, we make now a comparison with the semi-implicit scheme (applied on whole the fine space Xh) and which consists in treating the nonlinear term (uk⋅∇)uk explicitly. Particularly we compare the maximum time steps Δt that can be taken for each of the schemes and compare the respective final CPU time on the time interval [0,T]. We concentrate on moderate and High Reynolds numbers Re=2000,3200,5000 and Re=7500. We give hereafter in Tables 7, 8, 9 and 10 the results comparing the stability of the bi-grid Algorithms 7, 8, 9, 10 and the following semi-implicit scheme:
Table 7. Re=2000,dim(XH)=6561,dim(YH)=1681,dim(Xh)=25921,dim(Yh)=6561,P2/P1 elements.
Scheme | τ | Δt | Stability | Δt | Stability | τ | Δt | Stability |
Algorithm 7 | 0.5 | 0.001 | yes | 0.003 | no | 140 | 0.005 | yes |
Algorithm 8 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 9 | 0.5 | 0.001 | yes | 0.003 | no | 200 | 0.005 | yes |
Algorithm 10 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 16 | | 0.001 | yes | 0.007 | no | | 0.005 | no |
Table 8. Re=3200,dim(XH)=6561,dim(YH)=1681,dim(Xh)=25921,dim(Yh)=6561,P2/P1 elements.
Scheme | τ | Δt | Stability | Δt | Stability | τ | Δt | Stability |
Algorithm 7 | 0.5 | 0.001 | yes | 0.003 | no | 200 | 0.005 | yes |
Algorithm 8 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 9 | 0.5 | 0.001 | yes | 0.003 | no | 300 | 0.005 | yes |
Algorithm 10 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 16 | | 0.001 | yes | 0.003 | no | | 0.005 | no |
Table 9. Re=5000,dim(XH)=6561,dim(YH)=1681,dim(Xh)=25921,dim(Yh)=6561,P2/P1 elements.
Scheme | τ | Δt | Stability | Δt | Stability | τ | Δt | Stability |
Algorithm 7 | 0.5 | 0.001 | yes | 0.003 | no | 300 | 0.005 | yes |
Algorithm 8 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 9 | 0.5 | 0.001 | yes | 0.003 | no | 500 | 0.005 | yes |
Algorithm 10 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 16 | | 0.001 | yes | 0.003 | no | | 0.005 | no |
Table 10. Re=7500,dim(XH)=6561,dim(YH)=1681,dim(Xh)=25921,dim(Yh)=6561,P2/P1 elements.
Scheme | τ | Δt | Stability | Δt | Stability | τ | Δt | Stability |
Algorithm 7 | 0.5 | 0.001 | yes | 0.003 | no | 400 | 0.005 | yes |
Algorithm 8 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 9 | 0.5 | 0.001 | yes | 0.003 | no | 900 | 0.005 | yes |
Algorithm 10 | 0.5 | 0.001 | yes | 0.003 | yes | 0.5 | 0.005 | yes |
Algorithm 16 | | 0.001 | yes | 0.003 | no | | 0.005 | no |
We observe in Figure 9 that the dynamics of the convergence to the steady state of the bi-grid method is similar to the one of the implicit and semi-implicit schemes. We note also that the stability of the bi-grid scheme is guaranteed for large values of τ. For example, for Re=1000 and Δt=0.007, Algorithm 7 was unstable for τ=0.5 but taking a τ=30 we can have a stable scheme without deteriorating the history of the convergence to the steady state. In order to locate our gain at time step Δt, we present in Table 12 a comparison between the maximum time step allowing the stability of the semi-implicit scheme and our Algorithm 7 for the minimum value of τ necessary for stabilization.
Table 11. Non incremental Navier-Stokes Δt maximum and stability.
| Re=400 | Re=1000 |
Algorithm 16 | Δt=10−2 | Δt=10−2 | Δt=5×10−3 | Δt=5×10−3 |
Algorithm 7 | Δt=0.1 | Δt=0.5 | Δt=0.1 | Δt=0.5 |
| τ=30 | τ=30 | τ=100 | τ=100 |
DtAlgo7DtAlgo16 | 10 | 50 | 20 | 100 |
Table 12. Non incremental Navier-Stokes Δt maximum and stability.
| Re=2000 | Re=3200 | Re=5000 | Re=7500 |
Algorithm 16 | Δt=10−3 | Δt=10−3 | Δt=10−3 | Δt=10−3 | Δt=10−3 | Δt=5×10−4 |
Algorithm 7 | Δt=0.01 | Δt=0.1 | Δt=0.01 | Δt=0.1 | Δt=0.01 | Δt=0.01 |
| τ=200 | τ=300 | τ=240 | τ=400 | τ=340 | τ=500 |
DtAlgo7DtAlgo16 | 10 | 100 | 10 | 100 | 10 | 20 |
For small Reynolds number (Re=100), we do not obtain an enhanced stability (larger Δt) as compared to the semi-implicit scheme. The latter is stable even for large values of the time step Δt. When considering larger values of Re, say Re=400 to Re=7500, the bi-grid scheme appears as 10 times to 100 times more stable than the semi-implicit one. As a consequence, the gain in CPU time to compute the steady state increases: the stability of the semi-implicit scheme is limited by Δt=0.005 while the bi-grid algorithm remains stable for τ=100 and Δt=0.1 and 0.5.
3.2. Precision test: Comparison with an exact solution
In order to show the accuracy of the bi-grid schemes, we simulate the Navier-Stokes equations for a Bercovier-Engelman type solution [5], say
(u1,u2)=(−2x2y(1−y)(1−2y)(1−x)2expsint,2y2x(1−x)(1−2x)(1−y)2expsint),p=(x−0.5)(y−0.5),
|
and with the corresponding term f. We can observe in Figures 10 and 11 that the solutions coincide with the reference one at final time T=56 and that the L2 norm of the error of the bi-grid schemes is of the order of Δt on all interval time.
4. Concluding remarks and further developments
The new bi-grid projection schemes introduced in this work allow to reduce the CPU time when compared to fully implicit projection scheme, for a comparable precision. Their stability is enhanced as compared to semi-implicit projection scheme (larger time steps can be used). We choose to stabilize only the velocity: the stabilization we used on the high mode components is simple, directly derived from the technique introduced for reaction-diffusion equation in [1] and does not deteriorate the consistency.
The numerical results we obtained on the benchmark driven cavity, corresponding to laminar regimes, agree with the ones of the literature, particularly the dynamics of the convergence to the steady state is close to the one of classical methods. This is a first and encouraging step before considering a strategy of multi-grid or multilevel adaptations of our methods, using more than 2 nested FEM spaces. We have used here FEM methods for the spatial discretization, but the approach is applicable to others discretizations techniques such as finite differences or spectral methods.
As further developments, the following topics could be considered
● Stabilization on the pressure. Of course other type of stabilization techniques can be considered, e.g. such as those applied to the pressure and related also to artificial compressibility approach [40]; we refer to the pressure stabilization method introduced by Brezzi and Pitk¨aranta [8] for the Stokes problem and to Olshanski and al. [36] for the Navier-Stokes equations. The mass conservation (divergence free condition) is modified as
where ϵ>0 is a small positive real number. High mode stabilization on p can be obtained by solving the In such a context a high-mode stabilization on the pressure can be obtained as follows: First of all, solution of the pressure in YH:
(∇pk+1H,∇ψH)=−(∇u∗H,ψH),∀ψH∈YH,(uk+1H,ϕH)=(u∗H,ϕH)−Δt(∇pk+1H,ϕH),∀ϕH∈XH,
|
Then, we make the correction on the fine space Yh
τ(pk+1h,ψh)+(∇pk+1h,∇ψh)=τ(pkh,ψh)+τ(pk+1H−pkH,ψh)−(∇u∗h,ψh),∀ψh∈Yh,(uk+1h,ψH)=(u∗h,ϕh)−Δt(∇pk+1h,ϕh),∀ψh∈Xh.
|
● Adaptation to models of turbulence. Laminar regimes are interesting at first sight to validate the approach up to high Reynolds numbers (Re=7500), even not in turbulence regime; this was the scope of our paper. An issue that can be considered is to apply the bi-grid approach to turbulence modeling, using a modified viscosity term. Smagorinsky's turbulence model can be considered. Numerical simulations, with different choices of the turbulent viscosity constant, can be compared to some other studies that consider this benchmark problem. In such cases the turbulence is modeled by introducing a turbulent viscosity νT, e.g., as follows:
ut+(u.∇)u−∇((ν+νT)∇u)+∇p=f x∈Ω,t≥0,
|
(9)
|
Here ν>0 is a constant viscosity, νT=βδ|u−ˉu|, where ˉu is a local average of u, β>0, δ>0. This model of Smagorinsky's type is considered, e.g., in [32]. In a more recent work [31], Layton has considered
We refer also to [16].
● 3D flows.We have considered the two-dimensional case. The application of the bi-grid approach should be applied as an issue to the 3D case. A larger gain in CPU time can be expected since for H≃2h we have R=dim(XH)dim(Xh)≃0.25 in 2D while R≃0.125 in 3D. Notice that when looking to NSE equations, different behavior of the small eddies (high frequency components) can occur in space dimension 2 and space dimension 3, see [16] and the references therein.
Acknowledgment
The authors would like to thank the three anonymous for their valuable and constructive remarks that helped to improve the paper.
This project has been partly founded with support from the National Council for Scientific Research in Lebanon and the Lebanese University; it was also supported by LAMFA, UMR CNRS 7352, at Université de Picardie Jules Verne, Amiens, France and by the Fédération de Recherche ARC, CNRS FR 3399.
Conflict of interest
All authors declare no conflicts of interest in this paper