1 Introduction

Due to its physical importance, the Navier–Stokes problem with mixed boundary conditions has been handled in the literature either by finite element discretization [18] or by discretization by the spectral and the spectral element method [917]. Such mixed boundary conditions are related to a large number of flows, for instance, in the case of a fluid on both sides of a membrane or for the well-known Green–Taylor flow; see [18].

We assume that the domain Ω is a cube where \(\Gamma _{m}\) is one of its faces. We propose a discretization of this problem by the spectral method [19, 20]: The discrete problem relies on high degree polynomial approximation and is constructed by the Galerkin method with numerical integration. Note that the spectral and spectral element discretizations of this formulation were studied in [14] and [12] in the case of conditions on the normal component of velocity and the tangential components of vorticity on the whole boundary. However, different arguments are needed here since the variational formulation is rather different. In particular, we have chosen to work with exactly divergence-free discrete velocities, which seems necessary for the discrete problem to be well posed. The numerical analysis of this discretization was performed in [11].

We overview the Newton-type iterative algorithm that is used to solve the nonlinear discrete problem. Relying once more on the arguments in [8], we check its convergence. We also outline our algorithm for finding an appropriate initial condition in order to initiate Newton’s method. Then, we present the matrices of the linear system derived from the discrete problem.

In [13], the generalized minimal residual method (GMRES) [21] is used to solve the stationary Stokes problem. However, this method is not easy to implement since the matrix is not symmetric and needs a huge number of iterations to converge. In [22], a direct method was proposed permitting to simplify and to improve the resolution. For the nonstationary case, subject of this paper, we will use the global resolution based on the good results shown in [22]. The discretization in time by the implicit Euler method permits us to stabilize the discrete problem. The resulting global matrix is now symmetric and positively defined making the use of the gradient conjugate method possible. As a result, we obtain high accuracy with an optimized number of iterations.

Finally, we present some numerical experiments, which confirm the good convergence of our algorithm and the benefit of this formulation. These numerical experiments are coherent with the theoretical results and the optimality of discretization [11].

An outline of the paper is as follows:

• In Sect. 2, we present the continuous, full discrete problems and the error estimate.

• Sect. 3 is devoted to the description and the convergence of the iterative algorithm used to solve the nonlinear discrete problem.

• In Sect. 4, a detailed description of the linear matrix system is provided. We conclude by presenting some numerical experiments.

2 The continuous and the full discrete problems

We assume that the three-dimensional domain Ω is bounded and simply connected. Ω is its Lipschitz continuous connected boundary. Let \([0; T]\) be an interval in \({\mathbb{R}}\) where T is a positive real. \(\Gamma _{m}\) and Γ are the two connected parts of the partition without overlap of the boundary Ω. “m” denotes the membrane.

\({\mathbf{x}}=(x,y,z)\) and n stands for the unit outward normal vector. We consider the time-dependent Navier–Stokes equations:

$$ \textstyle\begin{cases} { \frac{\partial \upsilon}{\partial t}}({ \mathbf{x}},t)-\nu \Delta \upsilon ({ \mathbf{x}},t)+(\upsilon \cdot \nabla \upsilon ) ({\mathbf{x}},t)+\nabla P({\mathbf{x}},t)={ \mathbf{f}}({\mathbf{x}},t) &\text{in }\Omega \times [0,T], \\ \operatorname{div}\upsilon ({\mathbf{x}},t)=0 &\text{in }\Omega \times [0,T], \\ \upsilon ({\mathbf{x}},t)={\mathbf{0}} &\text{on }\Gamma \times [0,T], \\ \upsilon ({\mathbf{x}},t) . {\mathbf{n}}({\mathbf{x}})=0 &\text{on } \Gamma _{m}\times [0,T], \\ \operatorname{\mathbf{curl}}\upsilon ({\mathbf{x}},t)\times {\mathbf{n}}({\mathbf{x}})={ \mathbf{0}} &\text{on }\Gamma _{m}\times [0,T], \\ \upsilon ({\mathbf{x}},0)=\upsilon _{0} &\text{in }\Omega , \end{cases}$$
(1)

f is a density of forces and ν is a positive viscosity. The unknowns are the velocity υ and the pressure P of the fluid.

We introduce the unknown vorticity \(\tau =\operatorname{\mathbf{curl}}\upsilon \) (see [4, 2326]), and since

$$ \upsilon .\nabla \upsilon =\tau \times \upsilon +{\frac{1}{2}}\operatorname{\mathbf{grad}} \vert \upsilon \vert ^{2}, $$

problem (1) is equivalent to the following problem:

$$\begin{aligned}& \textstyle\begin{cases} { \frac{\partial \upsilon}{\partial t}} +\nu \operatorname{\mathbf{curl}}\tau + \tau \times \upsilon +\nabla p ={\mathbf{f}} &\text{in } \Omega \times [0,T], \\ \operatorname{div} \upsilon =0 &\text{in } \Omega \times [0,T], \\ \tau =\operatorname{\mathbf{curl}}\upsilon &\text{in } \Omega \times [0,T], \\ \upsilon . {\mathbf{n}}=0 &\text{on } \partial \Omega \times [0,T], \\ \upsilon \times {\mathbf{n}}={\mathbf{0}} &\text{on } \Gamma \times [0,T], \\ \tau \times {\mathbf{n}}={\mathbf{0}} &\text{on } \Gamma _{m} \times [0,T], \\ \upsilon =\upsilon _{0} &\text{in } \Omega , \end{cases}\displaystyle \end{aligned}$$
(2)

such that

$$ p=P+{\frac{1}{2}} \vert \upsilon \vert ^{2}. $$

Let B a separable Banach space. We recall that:

\((\cdot ,\cdot )\) is the \(L^{2}(\Omega )\) scalar product,

\(L_{0}^{2}(\Omega )\) is the space of functions in \(L^{2}(\Omega )\) which have a null integral on Ω,

\(H({\operatorname{div}},\Omega )=\{{\mathbf{u}}\in L^{2}(\Omega )^{3}; \operatorname{div}{\mathbf{u}}\in L^{2}(\Omega )\}\),

\(H({{\mathbf{curl}}},\Omega )=\{{\mathbf{v}}\in L^{2}(\Omega )^{3}; \operatorname{\mathbf{curl}}{\mathbf{v}}\in L^{2}(\Omega )^{3}\}\),

\(H_{*}(\operatorname{\mathbf{curl}},\Omega )=\{{\mathbf{v}}\in H({{\mathbf{curl}}},\Omega ); {\mathbf{v}}\times {\mathbf{n}}=0 {\mathrm{on}} \Gamma \}\),

\(L^{p}(0,T;B)=\{v \text{ measurable on } \mathopen{]}0,T\mathclose{[} \text{ such that } \int _{0}^{T}\|v(\cdot ,t)\|^{p}_{B} dt<\infty \}\),

\(H^{s}(0,T;B)=\{v \in L^{2}(0,T;B); \partial ^{m} v\in L^{2}(0,T;B); m\leq s\}\).

\(L^{p}(0,T;B)\) is a Banach space equipped with the norm

$$ \Vert v \Vert _{L^{p}(0,T;B)}=\textstyle\begin{cases} (\int _{0}^{T} \Vert v(\cdot ,t) \Vert ^{p}_{B} dt)^{\frac{1}{p}}, &\text{for } 1\leq p < + \infty, \\ \sup_{0\leq t\leq T} \Vert v(\cdot ,t) \Vert _{B}, &\text{for } p = + \infty, \end{cases} $$

and \(H^{s}(0,T;B)\) is a Hilbert space equipped with the scalar product

$$ (v,w)_{H^{s}(0,T;B)}= \Biggl(\sum_{i=0}^{s} \bigl(\partial ^{i} v,\partial ^{i} w \bigr)^{2}_{L^{2}(0,T;B)} \Biggr)^{\frac{1}{2}}. $$

Finally, we define as well \(\mathfrak{L}(B)\) the Banach space of linear and continuous functions on B into \({\mathbb{R}}\) provided with the norm

$$ \forall L\in \mathfrak{L}(B),\quad \Vert L \Vert _{ \mathfrak{L}(B)}=\sup _{f\in B/\{0\}} { \frac { \vert L(f) \vert }{ \Vert f \Vert _{B}}}. $$

Then the velocity’s space is defined as

$$ {\mathbb{X}}(\Omega )=H_{0}(\operatorname{div},\tau )\cap H_{*}(\operatorname{\mathbf{curl}}, \tau ), $$
(3)

which is provided with the following norm:

$$ \bigl( \Vert \operatorname{div} {\mathbf{v}} \Vert ^{2}_{L^{2}(\Omega )} + \Vert \operatorname{\mathbf{curl}} {\mathbf{v}} \Vert ^{2}_{L^{2}(\Omega )^{3}} \bigr)^{\frac{1}{2}}. $$
(4)

We denote by \({\mathbb{X}}(\Omega )^{\prime }\) the dual space of \({\mathbb{X}}(\Omega )\). Then, if \({\mathbf{f}}\in L^{2}(0,T;{\mathbb{X}}(\Omega )^{\prime })\), then problem (2) is equivalent to the following variational formulation. See [11] for the proof.

Find \((\tau (t),\upsilon (t),p(t)) \in L^{2}(\Omega )^{3} \times { \mathbb{X}}(\Omega ) \times L^{2}_{0}(\Omega )\) such that

$$ \begin{aligned} &\forall {\mathbf{v}}\in {\mathbb{X}}( \Omega ),\quad \bigl( \partial _{t}\upsilon (t) ,{\mathbf{v}} \bigr) + { \mathbf{a}} \bigl(\tau (t),\upsilon (t);{ \mathbf{v}} \bigr) + K \bigl(\tau (t), \upsilon (t);{\mathbf{v}} \bigr) + {\mathbf{b}} \bigl({\mathbf{v}},p(t) \bigr)= \bigl\langle {\mathbf{f}}(t),{\mathbf{v}}\bigr\rangle , \\ &\forall q\in L_{0}^{2}(\Omega ),\quad {\mathbf{b}} \bigl( \upsilon (t),q \bigr)=0, \\ &\forall \boldsymbol{\vartheta }\in L^{2}(\Omega )^{3}, \quad { \mathbf{a}} \bigl( \tau (t),\upsilon (t);\boldsymbol{\vartheta } \bigr)=0, \\ &\upsilon (0)=\upsilon _{0} \quad \text{in } \Omega , \end{aligned} $$
(5)

where \(\langle .,.\rangle \) is the duality product between \({\mathbb{X}}(\Omega )^{\prime }\) and \({\mathbb{X}}(\Omega )\), and \({\mathbf{a}}(.,.;.)\), \({\mathbf{b}}(,.,)\) \({\mathbf{a}}(.,.;.)\) are defined as follows:

$$ \begin{aligned} &{\mathbf{a}} \bigl(\tau (t),\upsilon (t);{ \mathbf{v}} \bigr)=\nu \int _{\tau}\operatorname{\mathbf{curl}}\tau ({\mathbf{x}},t) \cdot { \mathbf{v}}({ \mathbf{x}})\,d{\mathbf{x}}, {\mathbf{b}} \bigl(\upsilon (t),q \bigr)=- \int _{ \tau}\operatorname{div}\upsilon ({\mathbf{x}},t) q({ \mathbf{x}}) \,d{\mathbf{x}}, \\ &{\mathbf{a}} \bigl(\tau (t),\upsilon (t);\boldsymbol{\vartheta } \bigr)= \int _{\tau}\tau ({\mathbf{x}},t)\cdot \boldsymbol{\vartheta }({ \mathbf{x}})\,d{\mathbf{x}}- \int _{\tau} \upsilon ({\mathbf{x}},t)\cdot \operatorname{ \mathbf{curl}} \boldsymbol{\vartheta }({ \mathbf{x}})\,d{\mathbf{x}}. \end{aligned} $$
(6)

While we define the trilinear form \(K(.,.;.)\) as

$$ K \bigl(\tau (t),\upsilon (t);{\mathbf{v}} \bigr)= \int _{\tau}(\tau \times \upsilon ) ({ \mathbf{x}},t)\cdot { \mathbf{v}}({\mathbf{x}})\,d{\mathbf{x}}. $$
(6)

We have the following inf-sup condition (see [6] or ([27] Chap. I, Cor. 2.4) for its proof):

There exists \(\alpha >0\) such that

$$ \forall q \in L_{0}^{2}(\Omega ),\quad \sup _{{\mathbf{v}}\in {\mathbb{X}}( \Omega )} { \frac{{\mathbf{b}}({\mathbf{v}},q)}{ \Vert {\mathbf{v}} \Vert _{{\mathbb{X}}(\Omega )}}} \ge \alpha \Vert q \Vert _{L^{2}(\Omega )}. $$
(7)

See ([28], Chap. III, Theo. 1.1) and ([29], Chap. V) for the proof of existence of solution of problem (5).

Now we make a partition of \([0,T]\) into subintervals \([t_{p-1},t_{p}]\) for \(1\leq p\leq P\) such that \(0=t_{0}< t_{1}<\cdots<t_{P}=T\). Let \(h_{p}=t_{p}-t_{p-1}\) and \(h=(h_{1},h_{2},\ldots,h_{P})\) be the time step such that \(|h|= \max_{1\leq p\leq P}h_{p}\).

Using Euler’s implicit method, for \({\mathbf{f}}\in L^{2}(0,T;{\mathbb{X}}(\Omega )^{\prime })\) and \({\mathbf{u}}^{p}={\mathbf{u}}(.,t_{p})\), we define the time semi-discrete problem:

$$\begin{aligned}& \textstyle\begin{cases} \frac{\upsilon ^{p}-\upsilon ^{p-1}}{h_{p}} +\nu \operatorname{\mathbf{curl}} \tau ^{p} + \tau ^{p}\times \upsilon ^{p} +\nabla p^{p} ={\mathbf{f}}^{p} &\text{in } \Omega , \\ \operatorname{div} \upsilon ^{p} =0 &\text{in } \Omega , \\ \tau ^{p} =\operatorname{\mathbf{curl}}\upsilon ^{p} &\text{in } \Omega , \\ \upsilon ^{p} \cdot {\mathbf{n}}=0 & \text{on } \partial \Omega , \\ \upsilon ^{p} \times {\mathbf{n}}={\mathbf{0}} & \text{on } \Gamma , \\ \tau ^{p} \times {\mathbf{n}}={\mathbf{0}} & \text{on } \Gamma _{m}, \\ \upsilon ^{0} =\upsilon _{0} &\text{in } \Omega . \end{cases}\displaystyle \end{aligned}$$
(8)

This system of equations is equivalent to the following variational formulation:

$$ \upsilon ^{0}=\upsilon _{0} \quad \text{in } { \Omega}, $$
(9)

find \((\tau ^{p},\upsilon ^{p})_{1\leq p\leq P} \in (L^{2}(\Omega )^{3} \times {\mathbb{X}}(\Omega ))^{P}\) and \(p^{p}_{1\leq p\leq P}\in (L_{0}^{2}(\Omega ))^{P}\) such that

$$ \begin{aligned} &\forall {\mathbf{v}}\in {\mathbb{X}}( \Omega ), \quad \breve{{\mathbf{a}}} \bigl(\tau ^{p},\upsilon ^{p};{ \mathbf{v}} \bigr)+h_{p} K \bigl(\tau ^{p}, \upsilon ^{p};{\mathbf{v}} \bigr)+ h_{p} {\mathbf{b}} \bigl({ \mathbf{v}},p^{p} \bigr)= F^{p}({\mathbf{v}}), \\ &\forall q\in L_{0}^{2}(\Omega ),\quad {\mathbf{b}} \bigl( \upsilon ^{p},q \bigr)=0, \\ &\forall \boldsymbol{\vartheta }\in L^{2}(\Omega )^{3}, \quad { \mathbf{a}} \bigl( \tau ^{p},\upsilon ^{p};\boldsymbol{ \vartheta } \bigr)=0, \end{aligned} $$
(10)

where

$$ \breve{{\mathbf{a}}} \bigl(\tau ^{p},\upsilon ^{p};{ \mathbf{v}} \bigr)= \bigl(\upsilon ^{p} ,{ \mathbf{v}} \bigr) + h_{p} \nu \bigl(\operatorname{\mathbf{curl}}\tau ^{p},{ \mathbf{v}} \bigr) $$

and

$$ F^{p}({\mathbf{v}})= \bigl(\upsilon ^{p-1},{\mathbf{v}} \bigr)+h_{p}\bigl\langle {\mathbf{f}}^{p},{\mathbf{v}}\bigr\rangle . $$

Unlike to the two-dimensional case where the vorticity is a scalar function, in the three-dimensional case the vorticity is a vector field. Indeed, the variational spaces are rather different. Moreover, the existence of a solution in the three-dimensional case is only proved when the boundary of the domain Ω is smooth and the viscosity is sufficiently large enough. We refer to [11] for the proof details for the existence of a solution of problem (9)–(10).

Hereinafter, we will focus on the spectral discretization of problem (9)–(10). Thus, we assume that

$$ \Omega =\mathopen{]}-1,1 \mathclose{[}^{3} \quad \text{and}\quad \Gamma _{m}= \mathopen{]}-1, 1\mathclose{[}^{2}\times \{\mathrm{1}\}. $$

Let the discrete polynomial spaces

$$ {\mathbb{X}}_{N} = {\mathbb{X}}(\Omega ) \cap {\mathbb{P}}_{N,N-1,N-1}( \Omega ) \times {\mathbb{P}}_{N-1,N,N-1}(\Omega ) \times { \mathbb{P}}_{N-1,N-1,N}( \Omega ) $$
(11)

for the approximation of the velocity and

$$ {\mathbb{Y}}_{N} ={\mathbb{P}}_{N-1,N,N}(\Omega ) \times {\mathbb{P}}_{N,N-1,N}( \Omega ) \times {\mathbb{P}}_{N,N,N-1}( \Omega ) $$
(12)

for the approximation of the vorticity. We consider for the approximation of pressure in \(L_{0}^{2}(\Omega )\) the polynomial subspace \({\mathbb{M}}_{N}\) of \(L_{0}^{2}(\Omega ) \cap {\mathbb{P}}_{N-1}(\Omega )\), see [11] for the definition of \({\mathbb{M}}_{N}\).

For a good approximation of the nonlinear term \(K(.,.;.)\), we will make a more precise numerical integration (see [30] and [12]). Let \(M\geq N\). Fixing \(\epsilon _{0} = -1\) and \(\epsilon _{M} = 1\), we make known that the \(M-1\) nodes \(\epsilon _{i}\), \(1 \le i \le M-1\), and the \(M+1\) weights \(\rho _{i}\), \(0 \le i \le M\), of the Gauss–Lobatto quadrature formula such that

$$ \forall \phi \in {\mathbb{P}}_{2M-1}(-1,1),\quad \int _{-1}^{1} \phi (x) dx = \sum _{i = 0}^{M} \phi (\epsilon _{i}) \rho _{i}. $$
(13)

Let discrete scalar product be defined on \({\mathbb{P}}_{M}(\Omega )\) as: For continuous functions ϕ and χ on Ω̄,

$$ (\phi ,\psi )_{N} =\sum_{i = 0}^{M} \sum_{j = 0}^{M} \sum _{k = 0}^{M} \phi (\epsilon _{i},\epsilon _{j},\epsilon _{k})\chi (\epsilon _{i}, \epsilon _{j},\epsilon _{k}) \rho _{i}\rho _{j} \rho _{k}. $$
(14)

Then, based on the Galerkin method combined with the Gauss–Lobatto quadrature formula, we find the following discrete problem from problem (9)–(10):

$$ \text{ If } \upsilon _{N}^{0}={\gimel _{N}}(\upsilon _{0}), $$
(15)

knowing \(\upsilon ^{p-1}\), find \((\tau ^{p}_{N},\upsilon ^{p}_{N},p^{p}_{N})\) in \({\mathbb{X}}_{N}\times {\mathbb{Y}}_{N} \times {\mathbb{M}}_{N}\) such that, for \(1\leq p\leq P\),

$$ \begin{aligned} &\forall {\mathbf{v}}_{N} \in {\mathbb{X}}_{N},\quad \breve{{\mathbf{a}}}_{N} \bigl(\tau ^{p}_{N},\upsilon ^{p}_{N}; { \mathbf{v}}_{N} \bigr) + h_{p} K_{N} \bigl(\tau ^{p}_{N},\upsilon ^{p}_{N}; { \mathbf{v}}_{N} \bigr) + h_{p} {\mathbf{b}}_{N} \bigl({ \mathbf{v}}_{N},p^{p}_{N} \bigr) = F^{p}_{N}(v_{N}) , \\ &\forall q_{N} \in {\mathbb{M}}_{N}, \quad {\mathbf{b}}_{N} \bigl(\upsilon ^{p}_{N},q_{N} \bigr) = 0, \\ &\forall \boldsymbol{\vartheta }_{N} \in {\mathbb{Y}}_{N},\quad {\mathbf{a}}_{N} \bigl( \tau ^{p}_{N},\upsilon ^{p}_{N};\boldsymbol{\vartheta }_{N} \bigr) = 0, \end{aligned} $$
(16)

where \(\gimel _{N}\) is the Lagrange interpolating operator. The bilinear forms \(\breve{{\mathbf{a}}}_{N}(\cdot ,\cdot ;\cdot )\), \({\mathbf{b}}_{N}(\cdot ,\cdot )\) and \({\mathbf{a}}_{N}(\cdot ,\cdot ;\cdot )\) are defined by

$$ \begin{aligned} & \breve{{\mathbf{a}}}_{N} \bigl(\tau ^{p}_{N},\upsilon ^{p}_{N}; { \mathbf{v}}_{N} \bigr) = \bigl(\upsilon _{N}^{p},{ \mathbf{v}}_{N} \bigr)_{N} +\tau _{k}\nu \bigl({ \mathbf{curl}} \tau ^{p}_{N} ,{\mathbf{v}}_{N} \bigr)_{N}, \\ & {\mathbf{b}}_{N}({\mathbf{v}}_{N},q_{N}) = - (\operatorname{div} {\mathbf{v}}_{N}, q_{N})_{N},\quad \text{and}\quad \\ & {\mathbf{a}}_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N}; \boldsymbol{\varphi }_{N} \bigr) = \bigl(\tau ^{p}_{N},\boldsymbol{\varphi }_{N} \bigr)_{N} - \bigl(\upsilon ^{p}_{N}, {\mathbf{curl}} \boldsymbol{\varphi }_{N} \bigr)_{N}. \end{aligned} $$
(17)

While the discrete nonlinear term \(K_{N}(.,.;)\) is defined as follows:

$$ K_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N}; {\mathbf{v}}_{N} \bigr)= \bigl( \tau ^{p}_{N} \times \upsilon ^{p}_{N},{ \mathbf{v}}_{N} \bigr)_{N}. $$
(18)

The compatibility of the two spaces \({\mathbb{M}}_{N}\) and \({\mathbb{X}}_{N}\) is done by the next inf-sup condition proved in ([15], lem. a.6):

There exists \(\gamma >0\) independent of N such that

$$ \forall q_{N} \in {\mathbb{M}}_{N}, \sup _{{\mathbf{v}}_{N} \in { \mathbb{X}}_{N}} { \frac {{\mathbf{b}}_{N}({\mathbf{v}}_{N}, q_{N})}{ \Vert {\mathbf{v}}_{N} \Vert _{{\mathbb{X}}_{N}}}} \ge \gamma N^{-1} \Vert q_{N} \Vert _{L^{2}(\Omega )}. $$
(19)

The well-posedness of problem (15)–(16) is due to the inf-sup condition (19). We refer the reader to the paper [11] for the detailed proof. In the following theorem, we summarize the existence result of the solution.

Theorem 2.1

Assuming that \(({\mathbf{f}},\upsilon _{0})\) is continuous on \(([0,T]\times \bar{\Omega})\times \bar{\Omega}\) and knowing \(\upsilon ^{p-1}_{N}\) at each time step p, problem (15)(16) has at least a solution \((\tau ^{p}_{N},\upsilon ^{p}_{N},p^{p}_{N})\) in \({\mathbb{Y}}_{N} \times {\mathbb{X}}_{N} \times {\mathbb{M}}_{N}\). Moreover, the couple \((\tau ^{p}_{N},\upsilon ^{p}_{N})\) satisfies the following stability condition:

$$ \bigl\Vert \upsilon ^{p}_{N} \bigr\Vert ^{2}_{L^{2}(\Omega )^{3}}+\nu \sum_{i=1}^{p} \bigl\Vert \tau _{N}^{i} \bigr\Vert ^{2}_{L^{2}( \Omega )^{3}} \leq \bigl\Vert \upsilon _{N}^{0} \bigr\Vert ^{2}_{L^{2}(\Omega )^{3}} + {\frac{27^{2}}{2\nu}} \sum _{i=1}^{p} h_{i}\Vert { \gimel}_{N} \bigl({\mathbf{f}}^{i} \bigr)\Vert ^{2}_{L^{2}(\Omega )^{3}}. $$
(20)

.

By using the findings in [31], we prove an optimal a priori error estimates for the three unknowns stated in the following theorem (see [11]).

Theorem 1

Assume that the data \({\mathbf{f}}\in L^{2}(0,T;H^{\mu}(\tau ))\); \({\mu}>{\frac{3}{2}}\). There exist an integer \(N^{*}\) and a real number \(h^{*}>0\) such that, for all \(N\geq N^{*}\) and \(| h| \leq h^{*}\), problem (15)(16) has a unique solution. Moreover, this solution satisfies for all \(1\leq p\leq P\) the following error estimate:

$$ \begin{aligned} & \bigl\Vert \tau ^{p} - \tau _{N}^{p} \bigr\Vert _{L^{2}( \Omega )^{3}} + \bigl\Vert \upsilon ^{p}-\upsilon ^{p}_{N} \bigr\Vert _{{ \mathbb{X}}(\Omega )} + N^{-1} \bigl\Vert p^{p}-p^{p}_{N} \bigr\Vert _{L^{2}( \Omega )} \\ &\quad \leq C \bigl( \bigl( \vert h \vert +N^{1-s} \bigr) \bigl( \bigl\Vert \tau ^{p} \bigr\Vert _{H^{s-{ \frac{3}{4}}}(\Omega )^{3}} + \bigl\Vert \upsilon ^{p} \bigr\Vert _{H^{s}( \Omega )^{3}}+ \bigl\Vert p^{p} \bigr\Vert _{H^{s}(\Omega )} \bigr) \\ &\qquad {}+ \bigl( \vert h \vert +N^{-\mu} \bigr) \Vert {\mathbf{f}} \Vert _{L^{2}(0,T;H^{\mu}( \Omega ))} \bigr), \end{aligned} $$
(21)

where C is a positive constant which depends only on the data f and \(\upsilon ^{j}\), \(0\leq j\leq {p-1}\).

3 The iterative algorithm and its convergence

We introduce the kernel \(\mathrm{V}_{N} \) of the bilinear form \({\mathbf{b}}_{N}(\cdot ,\cdot )\)

$$ \mathrm{V}_{N} = \bigl\{ {\mathbf{v}}_{N} \in {\mathbb{X}}_{N}; \forall q_{N} \in {\mathbb{M}}_{N}, {\mathbf{b}}_{N}({\mathbf{v}}_{N},q_{N}) = 0 \bigr\} , $$
(22)

which coincides with the space of divergence-free polynomials in \({\mathbb{X}}_{N}\) (see [15], Lem. 3.2., for the proof).

We also introduce kernel \(\mathrm{W}_{N}\) of the form \({\mathbf{a}}_{N}(\cdot ,\cdot ;\cdot )\)

$$ \mathrm{W}_{N} = \bigl\{ (\boldsymbol{\vartheta }_{N},{\mathbf{v}}_{N}) \in {\mathbb{Y}}_{N} \times \mathrm{V}_{N}; \forall \boldsymbol{\varphi }_{N} \in {\mathbb{Y}}_{N}, {\mathbf{a}}_{N}( \boldsymbol{\vartheta }_{N},{\mathbf{v}}_{N};\boldsymbol{\varphi }_{N}) = 0 \bigr\} . $$
(23)

Then we remark that \((\tau ^{p}_{N},\upsilon ^{p}_{N})\) is a solution of the following problem:

Knowing \(\upsilon ^{p-1}_{N}\), find \((\tau ^{p}_{N},\upsilon ^{p}_{N}) \in \mathrm{W}_{N}\) such that, for all \(1\leq p\leq P\),

$$ \forall {\mathbf{v}}_{N} \in \mathrm{V}_{N},\quad \breve{{\mathbf{a}}}_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N}; {\mathbf{v}}_{N} \bigr) + h_{p} K_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N};{ \mathbf{v}}_{N} \bigr) = F^{p}_{N}({\mathbf{v}}_{N}). $$
(24)

Let \({\chi}_{N}={\mathbb{Y}}_{N}\times \mathrm{V}_{N}\), and we denote by \({\mathit{S}}_{N}\) the operator such that \({\mathit{S}}_{N}F^{p}\) is the solution \((\tau ^{p}_{N},\upsilon ^{p}_{N})\) of the problem:

\(\upsilon _{N}^{0}={\gimel _{N}}(\upsilon _{0})\), knowing \(\upsilon ^{p-1}_{N}\), find \((\tau ^{p}_{N},\upsilon ^{p}_{N}) \in \mathrm{W}_{N}\) such that, for any \(1\leq p\leq P\),

$$ \forall {\mathbf{v}}_{N} \in \mathrm{V}_{N},\quad {\breve{{\mathbf{a}}}}_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N}; {\mathbf{v}}_{N} \bigr) = F^{p}_{N}({\mathbf{v}}_{N}). $$
(25)

We define \({\mathit{G}}_{N}\) the mapping from \({\chi}_{N}\) into a \(({\mathbb{X}}_{N})^{\prime }\) dual space of \({\mathbb{X}}_{N}\) such that:

$$ \begin{aligned} &\forall \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N} \bigr)\in {\chi}_{N}, \quad 1\leq p \leq P, \quad\forall {\mathbf{v}}_{N}\in {\mathbb{X}}_{N}, \\ & \bigl\langle {\mathit{G}}_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N} \bigr),{\mathbf{v}}_{N} \bigr\rangle = h_{p} K_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N}; {\mathbf{v}}_{N} \bigr)-F^{p}_{N}({ \mathbf{v}}_{N}). \end{aligned} $$

It is easily verified that problem (24) is equivalent to

$$ \bigl(\tau ^{p}_{N},\upsilon ^{p}_{N} \bigr)+ {\mathit{S}}_{N} { \mathit{G}}_{N} \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N} \bigr)=0. $$
(26)

We apply the Newton method to problem (26), which leads us to solving the l-iterative equation

$$ \begin{aligned} & \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l} \bigr) \\ &\quad = \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr) \\ &\qquad {} - \bigl(Id + {\mathit{S}}_{N}{\mathit{D}} {\mathit{G}}_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr) \bigr)^{-1} \\ &\qquad {}\times \bigl( \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr)+{\mathit{S}}_{N}{\mathit{G}}_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr) \bigr), \end{aligned} $$
(27)

where D is the Fréchet derivative. Then, if we multiply equation (27) and use the inf-sup condition (19), we conclude that this equation is equivalently written as follows:

Given an initial condition \(((\tau ^{p}_{N})_{0},(\upsilon ^{p}_{N})_{0})\in {\mathbb{Y}}_{N} \times{\mathbb{X}}_{N}\), we solve the following problem:

$$ \text{ If } \bigl(\upsilon _{N}^{0} \bigr)_{l}={\gimel _{N}}(\upsilon _{0}), $$
(28)

knowing \((\upsilon ^{p-1})_{l}\), find \(((\tau ^{p}_{N})_{l},(\upsilon ^{p}_{N})_{l},(p^{p}_{N})_{l})\) in \({\mathbb{X}}_{N}\times {\mathbb{Y}}_{N} \times {\mathbb{M}}_{N}\) such that, for \(1\leq p\leq P\),

$$ \begin{aligned} &\forall {\mathbf{v}}_{N} \in {\mathbb{X}}_{N}, \\ &\breve{{\mathbf{a}}}_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr) + h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr) +h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; {\mathbf{v}}_{N} \bigr) \\ &\quad {}-h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; {\mathbf{v}}_{N} \bigr) + h_{p} { \mathbf{b}}_{N} \bigl({\mathbf{v}}_{N}, \bigl(p^{p}_{N} \bigr)_{l} \bigr) = F^{p}_{N}({ \mathbf{v}}_{N}) , \\ &\forall q_{N} \in {\mathbb{M}}_{N}, \quad {\mathbf{b}}_{N} \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{l},q_{N} \bigr) = 0, \\ &\forall \boldsymbol{\vartheta }_{N} \in {\mathbb{Y}}_{N},\quad {\mathbf{a}}_{N} \bigl( \bigl( \tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l};\boldsymbol{\vartheta }_{N} \bigr) = 0. \end{aligned} $$
(29)

For each value of \(l\geq 1\), problem (29) is equivalent to a square linear system. We refer to the papers [31] and ([27], Chap. IV, Thm. 6.3) for the detailed proof of this iterative scheme. For any \(l\geq 1\), problem (29) has a unique solution \(((\tau ^{p}_{N})_{l},(\upsilon ^{p}_{N})_{l},(p^{p}_{N})_{l})\). The convergence of the sequence \(((\tau ^{p}_{N})_{l},(\upsilon ^{p}_{N})_{l},(p^{p}_{N})_{l})_{l}\) is quadratic to the solution \((\tau ^{p}_{N},\upsilon ^{p}_{N},p^{p}_{N})\) of problem (15)–(16). Moreover, for \(1\leq p\leq P\), the sequence \(((\tau ^{p}_{N})_{l},(\upsilon ^{p}_{N})_{l})_{l}\) satisfies

$$ \bigl\Vert \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l} \bigr) - \bigl(\tau ^{p}_{N}, \upsilon ^{p}_{N} \bigr) \bigr\Vert _{{\chi}_{N}} \leq K \bigl\Vert \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr) - \bigl(\tau ^{p}_{N},\upsilon ^{p}_{N} \bigr) \bigr\Vert _{{\chi}_{N}} $$
(30)

such that the constant \(K<1\). In general, the key point of Newton’s method is to find an initial condition \(((\tau ^{p}_{N})_{0},(\upsilon ^{p}_{N})_{0})\) very close to the solution \((\tau ^{p}_{N},\upsilon ^{p}_{N})\) in such a way that we have

$$ \bigl\Vert \tau ^{p}_{N}- \bigl(\tau ^{p}_{N} \bigr)_{0} \bigr\Vert _{L^{2}(\Omega )^{3}} + \bigl\Vert \upsilon ^{p}_{N}- \bigl(\upsilon ^{p}_{N} \bigr)_{0} \bigr\Vert _{{\mathbb{X}}_{N}} \leq c N^{-1}. $$
(31)

For this, we use the continuation method. For simplicity, we consider the following modified bilinear form:

$$ \bar{{\mathbf{a}}} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr)={ \frac{h_{p}}{\nu}} \breve{{\mathbf{a}}}_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl( \upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr) $$

and the pseudo-pressure \(({\bar{p}}^{p}_{N})_{l}={\frac{h_{p}}{\nu}}(p^{p}_{N})_{l}\). We set \(\zeta ^{p}={\frac{h_{p}}{\nu}}\), then we can equivalently write the problem as follows:

$$ \begin{aligned} &\forall {\mathbf{v}}_{N} \in {\mathbb{X}}_{N}, \\ &\bar{{\mathbf{a}}}_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; { \mathbf{v}}_{N} \bigr) +\zeta ^{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr) +\zeta ^{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; {\mathbf{v}}_{N} \bigr) \\ &\quad {}-\zeta ^{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; { \mathbf{v}}_{N} \bigr) + { \mathbf{b}}_{N} \bigl({\mathbf{v}}_{N}, \bigl({\bar{p}}^{p}_{N} \bigr)_{l} \bigr) = \zeta ^{p} F^{p}_{N}({ \mathbf{v}}_{N}) , \\ &\forall q_{N} \in {\mathbb{M}}_{N},\quad {\mathbf{b}}_{N} \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{l},q_{N} \bigr) = 0, \\ &\forall \boldsymbol{\vartheta }_{N} \in {\mathbb{Y}}_{N},\quad {\mathbf{a}}_{N} \bigl( \bigl( \tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l};\boldsymbol{\vartheta }_{N} \bigr) = 0. \end{aligned} $$
(32)

Now, for all \(1\leq p\leq P\), we fix the parameter \((\zeta ^{p}_{m})_{0\leq m\leq M}\) such that

$$ \zeta ^{p}_{0}< \zeta ^{p}_{1}< \cdots< \zeta ^{p}_{M}=\zeta ^{p}. $$
(33)

If \(\zeta ^{p}=\zeta ^{p}_{m}\), we consider \(((\tau ^{p}_{N})_{l}(\zeta ^{p}_{m}),(\upsilon ^{p}_{N})_{l}( \zeta ^{p}_{m}),(p^{p}_{N})_{l}(\zeta ^{p}_{m}) )\) to be the solution of problem (32). Then we develop the following algorithm. At each time step, \(1\leq p\leq P\).

(1) Initialization: If \(\zeta ^{p}_{0}=0\), the solution \((\tau ^{p}_{N}(\zeta ^{p}_{0}),\upsilon ^{p}_{N}(\zeta ^{p}_{0}),p^{p}_{N}( \zeta ^{p}_{0}) )\) of its corresponding Stokes problem is equal to zero.

(2) Iterations: We suppose that \(((\tau ^{p}_{N})_{L}(\zeta ^{p}_{m-1}),(\upsilon ^{p}_{N})_{L}( \zeta ^{p}_{m-1}) )\) is known where the integer \(L \geq 1\) is fixed. Then the initial condition \(((\tau ^{p}_{N})_{0}(\zeta ^{p}_{m}),(\upsilon ^{p}_{N})_{0}( \zeta ^{p}_{m}))\) is \(((\tau ^{p}_{N})_{L}(\zeta ^{p}_{m-1}),(\upsilon ^{p}_{N})_{L}( \zeta ^{p}_{m-1}) )\) and problem (32) is solved when \(\zeta ^{p}=\zeta ^{p}_{m}\) for \(1\leq l \leq L\).

The iterations are stopped until \(m=M-1\), and the initial condition \(((\tau ^{p}_{N})_{0},(\upsilon ^{p}_{N})_{0} )\) is taken equal to \(((\tau ^{p}_{N})_{L}(\zeta ^{p}_{M-1}),(\upsilon ^{p}_{N})_{L}( \zeta ^{p}_{M-1}) )\).

For fixed \(1\leq p\leq P\), we consider the mapping φ

such that \(\varphi (\zeta ^{p})= ((\tau ^{p}_{N})_{l}(\zeta ^{p}),(\upsilon ^{p}_{N})_{l}( \zeta ^{p}),(p^{p}_{N})_{l}(\zeta ^{p}) )\). It is easily shown that φ is Lipschitz and continuous on any bounded interval of \({\mathbb{R}}^{+}\), and that

$$ \lim_{L\rightarrow +\infty} \bigl(\zeta ^{p}_{m}-\zeta ^{p}_{m-1} \bigr)=0. $$

The previous algorithm provides an initial condition which satisfies (31). However, for the numerical experiments, we take low values of M and L, and also smaller values of N than the final one. But, in any case, we have the convergence.

3.1 Resolution algorithm

After the estimation of the initial condition using Newton’s method, we propose the following algorithm for solving problem (15)–(16).

Step 1

Resolution of the linear Stokes problem:

$$ \text{If}\quad \upsilon _{N}^{0}={\gimel _{N}}( \upsilon _{0}), $$

knowing \((\upsilon ^{p-1})_{0}\), find \(((\tau ^{p}_{N})_{0},(\upsilon ^{p}_{N})_{0},(p^{p}_{N})_{0})\) in \({\mathbb{X}}_{N}\times {\mathbb{Y}}_{N} \times {\mathbb{M}}_{N}\) such that

$$ \begin{aligned} &\forall {\mathbf{v}}_{N} \in { \mathbb{X}}_{N},\quad \breve{{\mathbf{a}}}_{N}( \bigl(\tau ^{p}_{N} \bigr)_{0}, \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{0}; { \mathbf{v}}_{N} \bigr) + h_{p} {\mathbf{b}}_{N} \bigl({\mathbf{v}}_{N}, \bigl(p^{p}_{N} \bigr)_{0} \bigr) = F^{p}_{N}(v_{N}) , \\ &\forall q_{N} \in {\mathbb{M}}_{N},\quad {\mathbf{b}}_{N} \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{0},q_{N} \bigr) = 0, \\ &\forall \boldsymbol{\vartheta }_{N} \in {\mathbb{Y}}_{N},\quad {\mathbf{a}}_{N} \bigl( \bigl( \tau ^{p}_{N} \bigr)_{0}, \bigl(\upsilon ^{p}_{N} \bigr)_{0};\boldsymbol{\vartheta }_{N} \bigr) = 0. \end{aligned} $$
(34)

Step 2

If \(((\tau ^{p}_{N})_{l-1},(\upsilon ^{p}_{N})_{l-1},(p^{p}_{N})_{l-1})\) is known, we solve the following problem:

\(\upsilon _{N}^{0}={\gimel _{N}}(\upsilon _{0})\), knowing \((\upsilon ^{p-1}_{N})_{l}\), find \(((\tau ^{p}_{N})_{l},(\upsilon ^{p}_{N})_{l},(p^{p}_{N})_{l})\) in \({\mathbb{X}}_{N}\times {\mathbb{Y}}_{N} \times {\mathbb{M}}_{N}\) such that

$$ \begin{aligned} &\forall {\mathbf{v}}_{N} \in { \mathbb{X}}_{N}, \\ &\breve{{\mathbf{a}}}_{N}( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{l}; { \mathbf{v}}_{N} \bigr)+h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l}; {\mathbf{v}}_{N} \bigr) + h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; {\mathbf{v}}_{N} \bigr) \\ &\quad {}+ h_{p} {\mathbf{b}}_{N} \bigl({\mathbf{v}}_{N}, \bigl(p^{p}_{N} \bigr)_{l} \bigr) = F^{p}_{N}(v_{N})+ h_{p} K_{N} \bigl( \bigl(\tau ^{p}_{N} \bigr)_{l-1}, \bigl(\upsilon ^{p}_{N} \bigr)_{l-1}; {\mathbf{v}}_{N} \bigr) , \\ &\forall q_{N} \in {\mathbb{M}}_{N},\quad {\mathbf{b}}_{N} \bigl( \bigl(\upsilon ^{p}_{N} \bigr)_{l},q_{N} \bigr) = 0, \\ &\forall \boldsymbol{\vartheta }_{N} \in {\mathbb{Y}}_{N},\quad {\mathbf{a}}_{N} \bigl( \bigl( \tau ^{p}_{N} \bigr)_{l}, \bigl(\upsilon ^{p}_{N} \bigr)_{l};\boldsymbol{\vartheta }_{N} \bigr) = 0. \end{aligned} $$

We stop the calculus under the following condition:

$$ \bigl( \bigl\Vert \bigl(\tau ^{p}_{N} \bigr)_{l} - \bigl(\tau ^{p}_{N} \bigr)_{l-1} \bigr\Vert _{L^{(} \Omega )^{3}}^{2} + \bigl\Vert \bigl(\upsilon ^{p}_{N} \bigr)_{l} - \bigl( \upsilon ^{p}_{N} \bigr)_{l-1} \bigr\Vert _{{\mathbb{X}}_{N}}^{2} \bigr)^{\frac{1}{2}}\leq \epsilon , $$

ϵ is a small positive real number.

4 Numerical experiments

In this section, we perform several numerical tests. The goal is to highlight the performance of the spectral method in two and three dimensions of space. In two dimensions, the vorticity is a scalar and \(\upsilon \times {\mathbf{n}}\) means the tangential component of υ, see [15] for the numerical analysis of the two-dimensional case. For handling some realistic tests, we consider the following nonhomogeneous boundary conditions given by

$$ {\upsilon} \cdot {{\mathbf{n}}}=g_{n} \quad \text{on } \partial \Omega ,\qquad \upsilon \times {\mathbf{n}}={\mathbf{g}}_{t} \quad \text{on } \Gamma ,\quad \text{and}\quad \tau \times {\mathbf{n}}={\mathbf{k}} \times { \mathbf{n}} \quad \text{on } \Gamma _{m}. $$
(34)

Then the first equation of system (10) is modified as follows:

$$\begin{aligned}& \bigl(\partial _{t}\upsilon (t) ,{\mathbf{v}} \bigr) + {\mathbf{a}} \bigl(\tau (t),\upsilon (t);{ \mathbf{v}} \bigr) + K \bigl(\tau (t), \upsilon (t);{\mathbf{v}} \bigr) + {\mathbf{b}} \bigl({\mathbf{v}},p(t) \bigr) \\& \quad = \bigl\langle {\mathbf{f}}(t),{\mathbf{v}}\bigr\rangle - \nu ({\mathbf{k}},\upsilon \times { \mathbf{n}})_{\Gamma _{m}}. \end{aligned}$$
(35)

The GMRES method can be used for the resolution of a nonsymmetric linear system deduced from discrete problem (15)–(16). Nevertheless, this method is complex to implement and requires a high number of iterations to converge since the condition number of the matrix is high. Thus, we adopt the method in [22] which proposes the modification of the matrix linear system by adding the term \(\mathit{div}-\mathit{div}\). We obtain a symmetric system with a positive defined matrix allowing the use of the preconditioned gradient conjugate method for its resolution. Accordingly, we obtained a small number of iterations with a very good accuracy.

4.1 Time convergence

We consider the square \(\Omega =\mathopen{]}-1, 1\mathclose{[}^{2}\), \(\Gamma _{m}=\mathopen{]}-1, 1[\times \{1\}\). In order to highlight the time and space convergence, we take the following exact solution \(\tau =\operatorname{\mathbf{curl}} \upsilon \), \(\upsilon =(\upsilon _{1}, \upsilon _{2})\), and p:

$$ \begin{aligned} &\upsilon _{1}(t,x,y)=e^{t}\sin (\pi x)\sin (\pi y), \\ &\upsilon _{2}(t,x,y)=e^{t} \cos (\pi x)\cos (\pi y),\qquad p(t,x,y) = e^{-t} (x+y). \end{aligned}$$
(36)

Let \(\upsilon _{0}=\upsilon ({\mathbf{x}},0)=(0,0)\), \(T=1\), \(N=30\), and \(h \in \{0.1,0.001,0.0001\}\). We fix the viscosity \(\nu =5\cdot 10^{-2}\) and the tolerance \(\epsilon =10^{-10}\).

Figure 1 deals with time convergence curves for the solution defined in (36). We remark that the time convergence order is almost equal to 1, which confirms the result in ([11], Sect. 5, Th. 2).

Figure 1
figure 1

Time convergence

4.2 Spectral two-dimensional convergence

We fix the time step \(h=0.0001\) and N varying from 5 to 35.

We present in Fig. 2 the errors between the numerical solutions and the exact solutions defined in (36). The curves show the convergence of the velocity in \(H^{1}\)-norm, and in the \(L^{2}\)-norm for the vorticity and pressure. We observe that the errors tend to 0 when N increases, which confirms the result in ([11], Sect. 5, Th.2).

Figure 2
figure 2

Two-dimensional convergence

Figure 3 relates from top to bottom and from left to right the discrete vorticity, the two components of the discrete velocity, and the discrete pressure for the data

$$ {\mathbf{f}}= \bigl(txy^{2}, 1 \bigr),\qquad \upsilon _{0} =(0,0), \qquad (g_{n},{ \mathbf{g}}_{t})= \bigl(x^{2}y,{\mathbf{{0}}} \bigr), \qquad {\mathbf{k}}={\mathbf{0}},\quad \text{and}\quad N=35. $$
(37)
Figure 3
figure 3

Two-dimensional discrete solution for the data defined in (37)

4.3 Spectral three-dimensional convergence

Herein, we consider the cube \(\Omega =\mathopen{]}-1, 1\mathclose{[}^{3} \Gamma _{m}=\mathopen{]}-1, 1\mathclose{[}^{2}\times \{1\}\). We fix the viscosity \(\nu =5\cdot 10^{-2}\) and the tolerance \(\epsilon =10^{-10}\). We fix also the time step \(h=0.0001\) and N varying from 5 to 18.

We consider a given solution constructed thanks to the formulas \(\upsilon = \operatorname{\mathbf{curl}}\varphi \) and \(\tau = \operatorname{\mathbf{curl}}\upsilon \), where the stream function φ and the pressure are defined by

$$ \begin{aligned} &\varphi _{x}(x,y,z)= \bigl(1-y^{2} \bigr)^{3} \bigl(1-z^{2} \bigr)^{3.5},\qquad \varphi _{y}(x,y,z)= \bigl(1-z^{2} \bigr)^{3} \bigl(1-x^{2} \bigr)^{3.5}, \\ &\varphi _{z}(x,y,z)= \bigl(1-x^{2} \bigr)^{3} \bigl(1-y^{2} \bigr)^{3.5},\qquad p(x,x,z)= \bigl(1+x^{2} \bigr)^{1.5} \bigl(1+y^{2} \bigr)^{1.5} \bigl(1+z^{2} \bigr)^{1.5}. \end{aligned} $$
(38)

Figure 4 shows the convergence curves of the errors on the vorticity, the velocity, and the pressure in semi-logarithmic scales for N varying from 5 to 18, for a less regular solution defined in (38).

Figure 4
figure 4

Three-dimensional convergence

Figure 5 presents, from left to right and top to bottom, the curves of three-dimensional isovalues of the three components of the velocity and the vorticity and of the pressure, which correspond to the data of the homogeneous boundary conditions

$$ {\mathbf{f}}= \bigl(txyz^{2},1,1 \bigr),\qquad \upsilon _{0} =(0,0,0), \qquad (g_{n},{ \mathbf{g}}_{t})=(0,{ \mathbf{{0}}}),\qquad {\mathbf{k}}={\mathbf{0}}, $$
(39)

obtained with \(N = 18\).

Figure 5
figure 5

The three-dimensional discrete solution for the data defined in (39)