Abstract
Anisotropic finite elements and the Crank–Nicolson scheme are considered to solve the time dependent transport equation. Anisotropic a priori and a posteriori error estimates are derived. The sharpness of the error indicator is studied on non-adapted meshes and time steps. An adaptive algorithm in space and time is then designed to control the error at final time. Numerical results show the accuracy of the method.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Anisotropic adaptive meshes with large aspect ratio have proved to be extremely efficient for partial differential equations with free boundaries or boundary layers, see for instance [1,2,3] for applications in computational fluid dynamics. In most cases, the adaptive criteria are based on heuristics or interpolation error estimates rather than rigorous a posteriori error estimates. This is particularly the case when the time dependent transport equation is involved, since few a posteriori error estimates are available [4].
In [5], anisotropic a posteriori error estimates were derived for the time dependent transport equation discretized in space only. An adaptive algorithm with meshes having large aspect ratio was proposed. Since the error due to time discretization was not considered, small time steps were used. In this paper, the error due to time discretization is taken into account. More precisely, the order two Crank–Nicolson scheme is used and an appropriate piecewise quadratic time reconstruction is advocated, as in [6]. The quality of our error estimator is first validated on non-adapted meshes and constant time steps. An adaptive algorithm is then proposed, with goal to build a sequence of anisotropic meshes and time steps, so that the final error is close to a preset tolerance. Numerical results on adapted, anisotropic meshes and time steps show the efficiency of the method.
2 Statement of the Problem and Numerical Schemes
2.1 Problem Setting
Given an open set \(\varOmega \subset \mathbb {R}^{2}\), \(T>0\), \(\beta \in C^{1}\left( \bar{\varOmega }\right) \), \(\text {div }\beta =0\), \(f\in C\left( \left[ 0,T\right] ;L^{2}\left( \varOmega \right) \right) \) and \(u_{0}\in C(\bar{\varOmega }) \), we are looking for \(u:\varOmega \times \left[ 0,T\right] \longrightarrow \mathbb {R}\) satisfying the transport problem
where \(\varGamma ^{-}=\left\{ x\in \partial \varOmega :\beta \cdot n<0\right\} \), with n being the unit outer normal of \(\varOmega .\) With the above assumptions, the problem (1) has a unique solution \(u\in C^0([0,T]; L^2(\varOmega ))\), see for instance [7]. Throughout this paper, it will be assumed that the data T, \(\varOmega \), f, \(\beta \) and \(u_0\) are such that u is smooth enough to justify all required computations.
It is well known that the classical Galerkin formulation is unsuitable for the transport equation and that some stabilization techniques are necessary. Assume that \(\varOmega \) is a polygon and \(\varGamma ^{-}\) is the union of edges lying on \(\partial \varOmega \). For any \(h>0,\) let \(\mathcal {T}_{h}\) be a conformal triangulation of \(\bar{\varOmega }\) into triangles K of diameter \(h_K\) less than h. Let \(V_{h}\) be the set of continuous piecewise linear functions on each triangle of \(\mathcal {T}_{h}\), with zero value on \(\varGamma ^-\). A possible finite element discretization in space is to search for \(u_{h}:\varOmega \times \left( 0,T\right) \longrightarrow \mathbb {R}\) such that \(u_{h}(\cdot ,0)=r_{h}u_{0}\) (\(r_{h}\) is the Lagrange interpolant) and, for all \(0\le t \le T\)
where \(\delta _{h}>0\) is a stabilization parameter that will be specified later on. A numerical study of (2) with anisotropic finite elements has already been proposed in [5], our goal is to take into account an order two in time discretization, namely the Crank–Nicolson scheme. Let N be a non-negative integer and consider a partition \(0=t^{0}<t^{1}<\cdots <t^{N}=T.\) We denote by \(\tau ^{n+1}=t^{n+1}-t^{n}\) the time step, \(n=1,2,\ldots ,N-1\). Starting from \(u_{h}^{0}=r_{h}u_{0}\), for \(n=0,1,\ldots ,N-1\), we are looking for \(u_{h}^{n+1}\in V_{h}\) such that
where
We will only consider one mesh \(\mathcal {T}_h\) for the theoretical analysis of the scheme (3). Comments are added in the case of dynamic meshes in Sect. 4.2.
2.2 Anisotropic Finite Elements
In this paper, anisotropic finite elements will be used, that is to say meshes with possibly large aspect ratio. We will use the notations and results of [8,9,10], see also [11] for similar results. Let \(K\in \mathcal {T}_{h}\) and \(T_{K}:\hat{K}\longrightarrow K\) be the affine transformation mapping the reference triangle \(\hat{K}\) into K defined by
with \(M_{K}\in \mathbb {R}^{2\times 2},t_{K}\in \mathbb {R}^{2}.\) Observe that \(M_{K}\) is invertible, so it admits a singular value decomposition \(M_{k}=R_{K}^{T}\varLambda _{K}P_{K},\) where \(R_{K}\) and \(P_{K}\) are orthogonal matrices and
We note
where \(r_{1,K},r_{2,K}\) are the unit vectors corresponding to directions of maximum and minimum stretching, respectively, so that \(\lambda _{1,K},\lambda _{2,K}\) are the value of maximum and minimum stretching. With these notations, the following interpolation results holds for the Lagrange interpolant \(r_h\) [8, 9]:
where \(C>0\) is a constant depending only on the reference triangle \(\hat{K}\), and
where H(v) is the Hessian matrix defined by
The considerations that follow require also the use of Clément’s interpolant. Since anisotropic meshes are considered, we assume that each vertex has a number of neighbours bounded from above, uniformly with respect to h. Moreover, we suppose that for each K, the diameter of \({\Delta }\hat{K}=T_{K}^{-1}({\Delta } K)\), where \({\Delta } K\) is the union of triangles sharing a vertex with K, is uniformly bounded, independently of the mesh geometry. For more details, we refer again to [8,9,10]. In this framework, the following estimation holds
where \(R_{h}\) is the Clément’s interpolant, \(C>0\) is a constant depending only on the reference triangle \(\hat{K},\) and
with
3 Error Estimates
3.1 A Priori Error Estimates
We now prove that the solution of the numerical method (3) converges to that of problem (1) for anisotropic meshes. This has already been proved for isotropic meshes in [12]. The stabilization parameter is kept constant in time and space. The key ingredient of the proof consists in taking test functions of the form \(\displaystyle v + \delta _h \frac{\partial v}{\partial t}\) [12] and to observe that, since \(\beta \) is divergence free, we have for all \(v\in H^{1}(\varOmega ) \text{ vanishing } \text{ on } \varGamma ^{-}\)
Since \(\mathbb {P}_1\) finite elements and the Crank–Nicolson method are used, it is expected that the error at final time \(\Vert u(T) - u_{h}^{N} \Vert _{L^{2}(\varOmega )}\) reduces to in the isotropic settings.
Theorem 1
Assume that \(\beta \) is not identically zero on \(\varOmega \). Let u be the solution of (1) and let \(u_h^N\) be the solution of (3) with a constant \(\delta _h\) defined by
Let
Assume that the data T, \(\varOmega \), f, \(\beta \), \(u_0\) are such that \(u \in H^1(0,T;H^2(\varOmega ))\) and \(\displaystyle \frac{\partial ^3 u_h }{\partial t^3} \in L^2(0,T; L^2(\varOmega )).\) Let \(e(t^n)=u(t^n)-u_h^n, n=0,\ldots ,N\). Then, there exists \(C>0\) independent of the data T, \(\varOmega \), f, \(\beta \), \(u_0\), the mesh size, aspect ratio and the time step such that
where \(L_K\) is defined by (5).
Remark 1
In the case of isotropic meshes, \(\lambda _{1,K} \simeq \lambda _{2,K} \simeq h_K\) and \(L^2_K(u) \le C h_K^4 \vert u \vert ^2_{H^2(K)}\), where C is independent of the mesh size but can depend on the mesh aspect ratio. Thus, in these settings, (11) reduces to
where h.o.t. stands for higher order terms.
Remark 2
As already explained in [5], estimate (11) is optimal with respect to the space discretization parameter for anisotropic meshes. Indeed, assume that the solution u depends only on one variable and that the mesh is aligned with the solution, then the estimate (11) reduces to
and \(\max _{K\in T_{h}}\lambda _{2,K} \rightarrow 0\) is sufficient to ensure the convergence of the numerical method.
Remark 3
We have not been able to prove that
is bounded independently of h and \(\tau \). The proof is not obvious, even for parabolic problems [13], and out of the scope of the present paper. It should be noticed that an a priori error estimate can also be proved introducing the anisotropic equivalent of the hyperbolic projector used in [12]. In this case, only derivatives of the exact solutions
appear in the error bound instead of \( \displaystyle \int _0^{T} \left\| \frac{\partial ^{3} u_h}{\partial t^{3}}\right\| _{L^{2}(\varOmega )}^{2} dt\). We have completed the proof, which is not presented here since it is significantly longer than the one below.
Remark 4
As in [12], a similar analysis can be performed if \(\text {div } \beta \ne 0\) under restrictions on h and \(\tau \), with the price to pay that all the constants involved depends exponentially on the final time and the divergence of \(\beta \).
Proof
Observe that
where \(u_h(t)\) is the solution of (2). Then we apply Theorem 3.1 of [5] on \(I_1\) and we obtain
where \(C>0\) depends on the reference triangle \(\hat{K}\) only. In particular, C is independent of \(\varOmega ,f,\beta ,u_0,u,T,N\), the mesh size and aspect ratio and the time step.
We now have to estimate \(I_2\). By using several times the Fundamental Theorem of Calculus, one can derive that
where
In particular, we observe that
In the sequel, we will note \(e_h^n = u_h(t^n) -u_h^n\). By using (2), (3) and (13), the following relation holds for the numerical error
Choosing
and using (9), we therefore obtain
Using Cauchy–Schwarz and Young’s inequality yields
Multiplication by \(2\tau ^{n+1}\) and use of Cauchy–Schwarz, triangle and Young’s inequalities yield after summing from 0 to \(N-1\)
Here we use the fact that \(e_h^{0}=0\) and we have set \(\tau ^0=\tau ^{N+1}=0.\) Finally, we use the discrete Gronwall’s Lemma (see [14], Lemma 5.1) and we get
where \(\displaystyle \mu _n=\frac{\tau ^n+\tau ^{n+1}}{4T}<1.\) Since \( \sum _{n=0}^N \frac{\mu _n}{1-\mu _n} \le 1\) and using (14), we obtain
Estimates (16) and (12) together yield the result. \(\square \)
3.2 A Posteriori Error Estimate
We now prove an a posteriori error estimate involving time and space discretization for problem (3). As in [5], the following choice for the stabilization parameter \(\delta _h\) is advocated. For all \(K\in \mathcal {T}_{h}\), if \(\beta \) is not identically zero on K, then
else \(\delta _{h|K}\) is set to zero. As proposed in [6], we introduce a piecewise quadratic reconstruction of the computed solution in order to recover an \(O(\tau ^{2})\) error estimator. We shall use the following notation
Then, for \(n=1,2,3,\ldots ,N-1,\) we define
and for \(n=0\),
Observe that (18) is a Newton polynomial; for every \(n\ge 1\), \(u_{h\tau }\) is the unique quadratic polynomial in time that equals \(u_{h}^{n-1}\), \(u_{h}^{n}\), \(u_{h}^{n+1}\), at time \(t^{n-1}\), \(t^{n}\), \(t^{n+1}\), respectively.
We first prove the following lemma :
Lemma 1
We have, for all \(v_h\in V_h\):
where \(\theta \) is defined, for \((x,t)\in \bar{\varOmega }\times \left[ t^{n},t^{n+1}\right] \), by
and
Proof
We start with \(n=0\). Then
thus using (3), we get
The result is then obtained noticing that
For \(n\ge 1\), we have
so that using (3), we have
We then take the difference of (3) with superscript n and (3) with superscript \(n-1\) to obtain
Inserting into (23) yields the result. \(\square \)
We are now ready to prove our a posteriori error estimate.
Theorem 2
Assume that the data T, \(\varOmega \), f, \(\beta \), \(u_0\) are such that \(u \in L^2(0,T;H^1(\varOmega ))\cap H^1(0,T;L^2(\varOmega )).\) Let \(\delta _{h|K}\) be defined by (17). Let \(u_{h\tau }\) be defined by (18), (19) and set \(e=u-u_{h\tau }\). Then there exists \(C>0\), independent of T, \(\varOmega \), f, \(\beta \), \(u_0\), the mesh size, aspect ratio and the time step such that
where \(\omega _K\) is defined by (8), \(\theta \) by (21) and \(c_n=\left\{ \begin{array}{c} \tau ^1 \quad n=0, \\ T \quad n\ge 1 \end{array} \right. \).
Proof
Let \(t\in \left( t^{n},t^{n+1}\right) \), \(n\ge 1\). Using (9), (1), (3) and Lemma 1, we have
The triangle and Cauchy–Schwarz inequalities imply
Choosing \(v_{h}=R_{h}e\), using estimation (7) and definition of \(\delta _{h|K}\), we have
see [5] for details. Therefore we have
where we have set
and where C denotes a positive constant, independent of T, \(\varOmega \), f, \(\beta \), \(u_0\), the mesh size, aspect ratio and the time step, which may change from line to line. Using the discrete Cauchy–Schwarz and Young’s inequalities we therefore obtain
where \(\varepsilon \) is any positive number. Multiplying by \(2e^{-\varepsilon t}\) and integrating between time \(t^1\) and T, we get
Finally, we choose \(\varepsilon =\frac{1}{T}\) so that the exponential growth in time is eliminated:
In order to estimate \(\left\| e(t^{1})\right\| _{L^{2}(\varOmega }^{2}\), we proceed in the same manner to obtain
The desired estimate is obtained plugging (28) into (27). \(\square \)
Remark 5
Estimate (24) is not a standard a posteriori estimate since the exact solution u is contained in \(\omega _K(e)\). However, post-processing techniques can be applied in order to approximate \(G_K(e)\), for instance Zienkiewicz−Zhu (ZZ) post-processing. More precisely, we will replace the first order partial derivatives with respect to \(x_i\)
where, for any \(v_h\in V_h\), for any vertex P of the mesh
is an approximate \(L^2(\varOmega )\) projection of \(\partial v_h/\partial x_i\) onto \(V_h\). Numerical results already presented in [5, 6, 15,16,17] showed the efficiency of ZZ post-processing for anisotropic meshes for elliptic, parabolic, and hyperbolic problems.
Remark 6
The following a posteriori error estimate can also be proved. Starting form (25), we have
Cauchy–Schwarz inequality implies that
which yields
Estimate (29) was already pointed out in [4] and is valid for non-smooth solutions. Numerical experiments (not reported here) have shown that (29) is suboptimal for smooth solutions, thus estimate (24) should be preferred for smooth solutions.
Remark 7
We have not been able to prove a lower bound corresponding to estimate (24), this being also the case for parabolic problems with anisotropic finite elements [6]. However, for elliptic problems [16], we have been able to prove a lower bound provided that
that is to say that the error is equidistributed in both directions \(r_{1,K}, r_{2,K}\).
Remark 8
Estimate (24) can be generalized in the case \(\text {div } \beta \ne 0\) under the assumptions of the Theorem 2. In this case, the constant involved in (24) depends exponentially on the final time T and \(\displaystyle \Vert \text {div } \beta \Vert _{L^{\infty }(\varOmega )}.\) Indeed, (25) becomes
We conclude the proof using the same techniques as in Theorem 2, using the Gronwall’s Lemma to control \(\displaystyle \frac{1}{2} \int _\varOmega (\text {div } \beta ) e^2 dx\). Therefore, (24) becomes
where C and \(c_n\) are as in Theorem (2).
3.3 A Posteriori Error Indicators
We now define our error indicator
Here the anisotropic error indicator in space \(\eta ^{A}\) is defined by
with
The error indicator in time is defined by
with
with \(\theta \) given in Lemma 1 and \(c_n\) as in Theorem 2. The reader should note that the other terms in (24) have not been considered since they are of higher order. In order to check the sharpness of these error indicators, we will compare them to the true errors. To this end, we introduce the effectivity indices ei and \(ei^{ZZ}\) defined by
Here ei measures the sharpness of our space-time error indicator, whereas \(ei^{ZZ}\) measures the quality of our Zienkiewicz−Zhu post-processing.
4 Numerical Experiments
4.1 Numerical Experiments on Non-adapted Meshes with Constant Time Steps
We now investigate the sharpness of our indicators by performing numerical experiments on nonadapted meshes with constant time steps. Problem (1) is considered in the unit square \(\varOmega = (0,1)^{2}\), with \(T=0.5, f=0,\beta =(1,0)^{T}\), the initial condition is given by the smooth function
\(\varGamma ^{-}\) is the left boundary of \(\varOmega \), thus the exact solution \(u(x_1,x_2,t)\) is given by
The solution is smooth with small variations, except in a thin layer of width controlled by C, the larger C, the smaller the layer, the larger the error for a given mesh size. Several experiments have been performed on anisotropic meshes with aspect ratio varying from 50 to 500, where we keep the time step constant. In what follows, h\(_1\)–h\(_2\) denotes the mesh size in the directions \(x_1,x_2\) and \(\tau \) is the time step.
We first investigate the sharpness of the anisotropic error indicator in space \(\eta ^{A}\), choosing \(\tau = O(h^{2})\) so that the error due to time discretization is negligible, see Tables 1 and 2. It is observed that the \(L^{2}(\varOmega )\) error at final time is \(\simeq O(h^{1.8})\) while the \(L^{2}(0,T,H^{1}(\varOmega ))\) error is \(\simeq O(h)\). The post-processed ZZ gradient is asymptotically exact, while the effectivity index ei converges to a value close to 20. These results agree with those of [5].
Then, we check that the quadratic reconstruction in (18) and (19) yields an error indicator of optimal second order in time. We choose \(h\simeq O(\tau ^{2})\) so that the error due to the space discretization is negligible. The numerical results presented in the Tables 3 and 4 show that both the \(L^{2}(\varOmega )\) error at final time and the time indicator \(\eta ^{T}\) are \(\simeq O(\tau ^{2})\). The effectivity index tends to a value close to 2. Note that in this case, \(ei^{ZZ}\) is away from 1, which implies that the post-processing included in our error indicator in space \(\eta ^A\) is not accurate; but this is unimportant since \(\eta ^A\) is much smaller than the error indicator in time \(\eta ^T\).
In order to check that the effectivity index does not depend on \(\varOmega \) and T, we reproduce the same experiment on a domain \(\varOmega = (0,10) \times (0,1)\) for several values of the final time T. The corresponding results are presented in Tables 5 and 6 for \(C=60\) and meshes with aspect ratio 50. The effectivity index remains close to the values obtained previously.
In order to obtain an effectivity index close to one, we divide the space indicator \(\eta ^A\) by 20 and the time indicator \(\eta ^T\) by 2. We report the result obtain in Tables 7 and 8 where we consider the normalized error indicator
The corresponding effectivity index is shown to be near a value of 1 when . In the sequel, we will always consider the normalized indicators without introducing new notations.
4.2 An Adaptive Algorithm in Space and Time
Although the analysis in Sect. 3 is restricted to a single mesh \(\mathcal {T}_h\), we now present an adaptive space-time algorithm which involves several meshes. Then the question of interpolation between meshes is discussed.
The goal of the adaptive space-time algorithm is to control \( \Vert e(T) \Vert _{L^2(\varOmega )}\). Given a prescribed tolerance TOL, we want to ensure that
A sufficient condition is to ensure that, for \(n=0,1,2,\ldots ,N-1\)
and
The main steps of the adaptive algorithm are summarized in Fig. 1. At each time step, a new mesh is built, whenever needed. Then, the previous finite element approximation, \(u_h^n\), has to be interpolated in order to compute the current one, \(u_h^{n+1}\). More precisely, if we denote by \(\mathcal {T}_{h,i}^{n}\) and \(\mathcal {T}_{h,i+1}^{n}\) two successive meshes generated at time \(t^{n+1}\), and by \(V_{h,i}^{n}\), \(V_{h,i+1}^{n}\) the associated finite elements spaces, we consider the interpolation operator
If a new mesh has to be built, then we interpolate the values of \(u_h^{n}\) from \(V_{h,i}^{n}\) to \(V_{h,i+1}^{n}\) and compute \(u_{h}^{n+1}\in V_{h,i+1}^{n}\) such that
for all \(v_{h}\in V_{h,i+1}^{n}\) Five interpolation operators have been considered.
-
the linear Lagrange interpolation,
-
the conservative algorithm of [19],
-
the Ritz hyperbolic projection [12],
-
the modified hyperbolic projection defined below.
We give more details on the last choice. For \(g\in H^1(\varOmega )\), we define \(\pi _{h,i+1}^n : H^1(\varOmega ) \rightarrow V_{h,i+1}^{n}\) by
The projection \(\pi _{h,i+1}^n\) clearly satisfies the following property
Stability of the scheme (34) is not guaranteed with the four first interpolation operators. Stability can be proven when \(\pi _{h,i+1}^n\) is defined by (35) and \(\delta _h\) constant.
Lemma 2
Assume that \(\delta _h\) is constant and \(f=0\). Let \(u_h^{n+1}\) be the solution of (34) with \(\pi _{h,i+1}^n\) being defined by (35). Then, we have
Proof
Choose
We conclude by multiplying on each side by \(2\tau ^{n+1}\) and using (36). \(\square \)
This stability result has a little interest in practice since \(\delta _h\) is not constant for adapted meshes. In the numerical experiments, the best results have been obtained using the conservative algorithm of [19], the other four interpolation operators are shown to be less accurate.
The BL2D software [20] is used in order to build anisotropic meshes, the indicator \((\eta _K^{A})^{2}\) being equidistributed in the directions of maximum and minimum stretching \(r_{1,K}\), \(r_{2,K}\). Each triangle K is aligned with the eigenvectors of the error gradient matrix \(G_K(e)\), where ZZ post-processing is used in order to approximate \(\partial e/\partial x_i\). We shortly describe this remeshing procedure. Since the BL2D software uses informations about vertices, we need to translate the error indicator \(\eta ^A\) from triangles to vertices. We define, for all \(K \in \mathcal {T}_h\), the anisotropic error indicator in direction \(r_{i,K}\), by
and for all vertex P
Then, a sufficient condition to ensure (32) is the following. For all vertex P of the mesh, \(\eta _{P,n}^{A,i}\) should satisfy
Hereabove, the factor 3 is due to the fact that summing over all vertices is equivalent to summing 3 times over all triangles; the factor 1 / 2 to the fact that the error is equidistributed in both directions \(r_{1,K}\), \(r_{2,K}\). Also, \(N_v\) denotes the number of vertices of the current mesh. The remeshing procedure is then the following : for every P, we set
If (37) is not satisfied, we modify \(\lambda _{i,P}\) by a factor \(\beta \), else we keep it as is. Based on these stretching values, a new mesh will be generated by the BL2D software. The results for example (31) hereafter have been obtained setting \(\beta =\frac{2}{3}\), while \(\beta =\frac{1}{2}\) was set for example (38).
4.3 Numerical Results with Adapted Meshes and Adapted Time Steps
We now analyse the efficiency of the adaptive algorithm of Fig. 1. We first consider example (31) with \(C=60\). The initial mesh is an isotropic mesh with mesh size \(h=0.01\), while the initial time step is taken as \(\tau ^1 = 0.002\). The mesh and solution at final time are shown in Figs. 2 and 3 when using conservative interpolation [19], \(C=240\) and \(\textit{TOL}=0.001\).
We investigate the number of vertices, aspect ratio, number of time steps and remeshings, for various values of the prescribed tolerance TOL. The notations are summarized in Table 9, the results in Table 10. The observations are the following when using conservative interpolation.
-
The error at final time is approximatively divided by 2 when TOL is divided by 2.
-
Both effectivity indices ei and \(ei^{ZZ}\) are close to one,
-
The number of remeshing depends on the exact solution u (the larger C, the larger \(N_m\)).
-
Since the solution depends only on the \(x_1\) variable, the total number of vertices at final time is only doubled as the tolerance is divided by two (it should be multiplied by four with isotropic meshes).
-
The total number of time steps is multiplied by \(\sqrt{2}\) as the tolerance is divided by 2, which confirms the second order convergence of the error indicator in time \(\eta ^T\).
Linear interpolation, the \(L^2\) projection, the Ritz hyperbolic projection and the modified hyperbolic projection (35) yield worse results, for instance the ZZ effectivity index is away of one. This has already been been observed in [5, 17] for hyperbolic problems, whereas interpolation between meshes seems not to be an issue for parabolic problems [6].
The last test case is the stretching of a circle in a vortex flow. We again set \(\varOmega = (0,1)^{2},T=4\). The initial condition is given by
where \(C=60\) or \(C=240\). No boundary conditions along \(\partial \varOmega \) are prescribed. The velocity field is defined by
The exact solution is not known, however, since the flow is reversed at \(t=2\), we must have \(u(x_1,x_2,4)=u_0(x_1,x_2)\).
This example is not covered by our our theory, since the velocity field \(\beta \) depends on time. Although the anisotropic error indicator in space \(\eta ^A\) remains valid even for a time dependent velocity field \(\beta \), the error indicator in time \(\eta ^T\) should be modified. However, this is beyond the scope of the present study. Nevertheless, the use of the time indicator \(\eta ^T\) defined by (30) yields good results. Several meshes and numerical solutions are presented in Fig. 4 when \({ TOL}=0.025\) and conservative interpolation is used. In Figs. 5, 6, 7, and 8 and Table 11 we have checked convergence of the computed solution at final time for several values of TOL. For comparison, we present in Table 12 results with non-adapted uniform meshes and constant time steps. In Fig. 9, we compare the solution computed on a non-adapted meshes with the one obtained with the largest value \({ TOL}=0.1\) of the adaptive algorithm. Clearly, the coarsest adapted solution is more accurate than the finest non-adapted one. Note that the number of vertices of the non-adapted mesh is 200 larger than that of adapted meshes.
References
Alauzet, F., Loseille, A.: A decade of progress on anisotropic mesh adaptation for computational fluid dynamics. Comput. Aided Des. 72, 13–39 (2016)
Castro-Diaz, M.J., Hecht, F., Mohammadi, B., Pironneau, O.: Anisotropic unstructured mesh adaption for flow simulations. Int. J. Numer. Methods Fluids 25, 475–491 (1997)
Coupez, T.: Metric construction by length distribution tensor and edge based error for anisotropic adaptive meshing. J. Comput. Phys. 230, 2391–2405 (2011)
Cockburn, B., Gremaud, P.-A.: Error estimates for finite element methods for scalar conservation laws. SIAM J. Numer. Anal. 33, 522–554 (1996)
Bourgault, Y., Picasso, M.: Anisotropic error estimates and space adaptivity for a semidiscrete finite element approximation of the transient transport equation. SIAM J. Sci. Comput. 35, A1192–A1211 (2013)
Lozinski, A., Picasso, M., Prachittham, V.: An anisotropic error estimator for the Crank–Nicolson method: application to a parabolic problem. SIAM J. Sci. Comput. 31, 2757–2783 (2009)
Bardos, C.: Problèmes aux limites pour les équations aux dérivées partielles du premier ordre à coefficients réels; théorèmes d’approximations; application à l’équation du transport. Ann. Sci. de l’ É.N.S 3, 185–233 (1970)
Formaggia, L., Perotto, S.: New anisotropic a priori error estimates. Numer. Math. 89, 641–667 (2001)
Formaggia, L., Perotto, S.: Anisotropic error estimates for elliptic problems. Numer. Math. 94, 67–92 (2003)
Micheletti, S., Perotto, S., Picasso, M.: Stabilized finite elements on anisotropic meshes: a priori error estimates for the advection-diffusion and the Stokes problems. SIAM J. Numer. Anal 41, 1131–1162 (2003)
Kunert, G.: An a posteriori residual error estimator for the finite element method on anisotropic tetrahedral meshes. Numer. Math. 86, 471–490 (2000)
Burman, E.: Consistent SUPG-method for transient transport problems: stability and convergence. Comput. Methods Appl. Mech. Eng. 199, 1114–1123 (2010)
Quarteroni, A., Valli, A.: Numerical Approximation of Partial Differential Equations. Springer, Berlin (2008)
Heywood, J., Rannacher, R.: Finite-element approximation of the nonstationary Navier-Stokes problem. Part iv: error analysis for second-order time discretization. SIAM J. Numer. Anal 27, 353–384 (1990)
Picasso, M.: An anisotropic error estimator indicator based on Zienkiewicz–Zhu error estimator: application to elliptic and parabolic problems. SIAM J. Sci. Comput. 24, 1328–1355 (2003)
Picasso, M.: Adaptive finite elements with large aspect ratio based on an anisotropic error estimator involving first order derivatives. Comput. Methods Appl. Mech. Eng. 196, 14–23 (2006)
Picasso, M.: Numerical study of an anisotropic error estimator in the \(L^{2}(H^{1})\) norm for the finite element discretization of the wave equation. SIAM J. Sci. Comput. 32, 2213–2234 (2010)
Farell, P.E., Piggott, M.D., Pain, C.C., Gorman, G.J., Wilson, C.R.: Conservative interpolation between unstructured meshes via supermesh construction. Comput. Methods Appl. Mech. Eng. 198, 2632–2642 (2009)
Alauzet, F., Mehrenberger, M.: \(P^{1}\)-conservative solution interpolation on unstructured triangular meshes. Int. J. Numer. Methods Eng. 84, 1552–1588 (2010)
Laug, P., Borouchaki, H.: The BL2D Mesh Generator: Beginner’s Guide, User’s and Programmer’s Manual, Technical report RT-0194. Institut National de Recherche en Informatique et Automatique (INRIA), Rocquencourt (1996)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Dubuis, S., Picasso, M. An Adaptive Algorithm for the Time Dependent Transport Equation with Anisotropic Finite Elements and the Crank–Nicolson Scheme. J Sci Comput 75, 350–375 (2018). https://doi.org/10.1007/s10915-017-0537-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-017-0537-1