1 Introduction

High-dimensional transport equations frequently arise in science and engineering. In this paper we will consider the linear equation

$$\begin{aligned} \begin{aligned}&\partial _t u + {\varvec{\beta }}(t,{\varvec{r}}) \cdot \nabla _{{\varvec{r}}} u + \sigma (t,{\varvec{r}}) \, u = f(t,{\varvec{r}}), \quad \text {in } (0,T) \times \Omega \\&u(0,{\varvec{r}}) = u_0({\varvec{r}}) \end{aligned} \end{aligned}$$
(1)

subject to the inflow boundary condition

$$\begin{aligned} u=g \quad \text {on } \Gamma _{\varvec{r}}^- = \big \{(t,{\varvec{r}})\in (0,T)\times \partial \Omega \,\big \vert \, {\varvec{\beta }}(t,{\varvec{r}})\cdot {\varvec{n}}({\varvec{r}}) < 0 \big \} \end{aligned}$$
(2)

where \({\varvec{n}}({\varvec{r}})\) is the outward unit normal of the boundary, and \({\varvec{\beta }},\,f, \,\sigma ,\, g,\, u_0\) are smooth enough functions. We will focus on the case where the variable \({\varvec{r}}\) can be partitioned into \({\varvec{r}}= ({\varvec{x}}, {\varvec{v}})\) and \({\varvec{x}}, {\varvec{v}}\) are d-dimensional variables with \(d=1,2,3\) (i.e., space and velocity). We assume that \(\Omega = \Omega ^{(1)}\times \Omega ^{(2)}\) is a product domain with \(\Omega ^{(1)}, \Omega ^{(2)}\subset {\mathbb {R}}^d\), i.e.

$$\begin{aligned} u: (0,T) \times \Omega ^{(1)}\times \Omega ^{(2)}\rightarrow {\mathbb {R}} \end{aligned}$$

is a function in time and two variables with dimension d.

Simulations of such systems are computationally demanding since the time evolution of an up to six-dimensional function has to be calculated. Applying standard discretization schemes leads to an evolution equation in \({\mathcal {O}}(n^{2d})\) degrees of freedom, where n is the number of grid points in one dimension and a corresponding high computational effort. To tackle the problem, methods such as particle methods [1], adaptive multiscale methods [2, 3] and tensor product methods [4] have been used.

Sparse grids [5] are a means of overcoming the curse of dimensionality and have been applied to transport equations [6] as well as to kinetic equations: in [7, 8] interpolation on sparse grids is used in a semi-Lagrangian method while [9] uses sparse grids with discontinuous ansatz functions. In these approaches tensor products of one-dimensional bases are used, restricting the domain to rectangular regions. However, finite element spaces can also be used in the construction of sparse grid spaces [10, 11] allowing for greater geometric flexibility.

The related problem of radiative transfer has been studied widely. In [12] standard finite element discretization has been used to solve the stabilized equation. To cope with the high dimensionality, sparse grids of finite element spaces [13], sparse tensor product of multilevel finite element spaces and spherical harmonics [14] as well as a corresponding sparse grid combination technique [15] have been used. More recently adaptive schemes are applied to solve the parameter dependent transport equation [16, 17].

Our aim is to use sparse grid spaces based upon finite element spaces to devise a stable, convergent and efficient method for the solution of kinetic equations in moderately complex geometrical domains. We also focus on their efficient implementation using well-established finite element libraries and fast algorithms.

For the discretization of space continuous piecewise polynomial finite element spaces for each domain \(\Omega ^{(i)}\) are used. Compared to discontinuous elements less degrees of freedom are needed to represent these functions. This is especially important as this factor enters quadratically in the degrees of freedom of the sparse grid space.

The time domain is partitioned and on each time strip space-time elements are constructed by tensorizing polynomials in time with sparse grids in space. Using this space in a Galerkin method results in transport equations on each time strip, where the result of the previous step enters the current step as an initial condition. Enforcing this condition weakly leads to discontinuous functions in time.

However, it is known that the finite element method is unstable if the solution has discontinuities and hence has to be stabilized. One option is to use the streamline diffusion method [18]. There, an artificial diffusion is added in the direction of the streamline leading to a stable scheme, while still keeping the order of the method.

This method can be interpreted as an implicit time-stepping scheme, where stabilized transport equations have to be solved on each time strip. For that purpose matrix-free iterative methods are applied. For an efficient calculation the sparse grid functions are represented as a linear combination of functions in anisotropic full grid spaces, which is also used in the combination technique (see [19] and references therein). This leads to regular data structures and fast applications of the discretization matrices by exploiting the tensor product structure. Finally, the combination technique will serve as a preconditioner for the iterative solution of the corresponding equations [20].

We will proceed along the following lines. In Sect. 2 sparse grid spaces are introduced, and the weak form, including streamline diffusion, is employed to derive discrete equations for each time step. This algorithm is analyzed in Sect. 3 in the case of constant coefficients with respect to stability and convergence. Section 4 describes the algorithm for efficient computations based on the tensor product structure and multilevel spaces. The algorithm is applied to test cases in Sect. 5 as well as to Vlasov-Poisson equations in one and two spatial dimensions.

In the following we denote by \(C \lesssim D\) that C is bounded by a multiple of D independently of the level of the sparse grid. \(C \sim D\) is defined as \(C \lesssim D\) and \(D \lesssim C\).

2 Discretization and weak formulation

In this section we introduce the weak formulation of the transport problem including streamline diffusion [18] for stabilization. For the discretization we will use a sparse grid based on finite elements and discontinuous polynomials in time. Finite element spaces have been used in the construction of sparse grids, realized either by wavelet-type [13, 21] or multilevel frames [11]. We will represent sparse grids as in [22]. This enables us to use classical nested finite element spaces. We partition the time domain, use discontinuous piecewise polynomials and a full tensor product with the sparse grid, see [23] in the case of parabolic equations. Eventually this will lead us to an implicit time-stepping scheme.

Let \(\Omega ^{(1)}\) and \(\Omega ^{(2)}\) be two open polyhedral Lipschitz domains in d dimensions and \(V^{(i)}_1\) conforming finite element spaces on \(\Omega ^{(i)}\) of piecewise polynomial ansatz functions. Define nested multilevel finite element spaces

$$\begin{aligned} V^{(i)}_1 \subset V^{(i)}_2 \subset \ldots \subset H^1(\Omega ^{(i)}), \quad i=1,2 \end{aligned}$$

by uniform refinement such that \(\dim V^{(i)}_\ell \sim 2^{d\ell }\). Based on these spaces the sparse tensor product space of level \(L=1,2,\ldots \)

$$\begin{aligned} V_L = \sum _{\vert {\varvec{\ell }}\vert _1 = L + 1} V^{(1)}_{\ell _1} \otimes V^{(2)}_{\ell _2}, \quad {\varvec{\ell }}= [\ell _1,\ell _2], \, \vert {\varvec{\ell }}\vert _1 = \ell _1+\ell _2 \end{aligned}$$
(3)

is constructed with \(\dim V_L \lesssim L 2^{d L}\) [22]. Up to a logarithmic factor the number of degrees of freedom scales like a standard globally refined finite element discretization of a d-dimensional domain.

In the time domain \(J=(0,T)\) define \(0 = t_0< t_1< \cdots < t_N = T\) and the partition

$$\begin{aligned} {\mathcal {I}} = \{ I_j \}_{j=1,\ldots ,N},\quad I_j = (t_{j-1},t_j), \quad \vert {\mathcal {I}}\vert = \max _{j=1,\ldots ,N}(t_j - t_{j-1}). \end{aligned}$$

The discrete function space is defined as the set of all piecewise polynomials of order r with coefficients in \(V_L\), i.e.

$$\begin{aligned} V_{L,{\mathcal {I}}} = \big \{ v\in L^2\big ( J; V_L\big ) \,\big \vert \, v\vert _I \in {\mathbb {P}}^r(I; V_L) \text { for all } I\in {\mathcal {I}} \big \}, \end{aligned}$$

where \({\mathbb {P}}^r\) denotes the polynomials degree r.

We will use the space \(V_{L,{\mathcal {I}}}\) in a Galerkin scheme to compute an approximate solution of (1) and (2).

For that purpose, we use the streamline diffusion method on each time strip \(I_j\) [18]. The initial condition of (1) and the inflow condition (2) are enforced in a weak sense:

For \(j=1,2,\ldots ,N\) find a function \(U_j \in {\mathbb {P}}^r(I_j, V_L)\) on the time strip \(I_j \in {\mathcal {I}}\), \(j=1,\ldots ,N\), such that

$$\begin{aligned} a_j^{(\delta )}(U_j,w) = b_j^{(\delta )}(w), \quad \text {for all } w \in {\mathbb {P}}^r(I_j, V_L) \end{aligned}$$
(4)

where \(\delta > 0\) is the parameter for the streamline diffusion and

$$\begin{aligned} \begin{aligned} a_j^{(\delta )}(v,w)&= \int _{I_j} \big (\partial _t v + \partial _{\varvec{\beta }}v + \sigma v, w + \delta (\partial _t w + \partial _{\varvec{\beta }}w)\big ) - \langle v, w\rangle _{{\widehat{\Gamma }}^-(t)} \, \mathrm d t + (v_{j-1}^+, w_{j-1}^+) \\ b_j^{(\delta )}(w)&= \int _{I_j} \big (f, w + \delta (\partial _t w + \partial _{\varvec{\beta }}w)\big ) - \langle g, w\rangle _{{\widehat{\Gamma }}^-(t)} \, \mathrm d t +(U_{j-1}^-, w_{j-1}^+). \end{aligned} \end{aligned}$$

Here \(\partial _{\varvec{\beta }}u = {\varvec{\beta }}\cdot \nabla u\), \(u_j^\pm = \lim _{t\rightarrow t_j^\pm } u(t, \cdot )\), \(U_0^- = u_0\). By \((\cdot ,\cdot )\) and \(\Vert \cdot \Vert \) denote the inner product and norm on \(L^2(\Omega )\), respectively. For the boundary define

$$\begin{aligned} {\widehat{\Gamma }}^\pm (t) = \big \{{\varvec{r}}\in \partial \Omega \,\big \vert \, {\varvec{\beta }}(t,{\varvec{r}}) \cdot {\varvec{n}}({\varvec{r}}) > rless 0 \big \} \end{aligned}$$

and for any \({\widehat{\Gamma }} \subset \partial \Omega \)

$$\begin{aligned} \langle u,v\rangle _{{\widehat{\Gamma }}} = \int _{{\widehat{\Gamma }}} ({\varvec{\beta }}\cdot {\varvec{n}}) \, u v \, \mathrm d {\varvec{s}}, \quad \vert u\vert _{{\widehat{\Gamma }}}^2 = \int _{{\widehat{\Gamma }}} \vert {\varvec{\beta }}\cdot {\varvec{n}}\vert u^2 \, \mathrm d {\varvec{s}}. \end{aligned}$$

Equation (4) can be solved successively, resulting in an implicit time-stepping procedure. Finally, the approximate solution \(U \in V_{L,{\mathcal {I}}}\) is composed of the solutions \(U_j\) with potential jumps at \(t_j\).

3 Analysis—constant coefficients

In this section the stability and convergence of the discretization is analyzed for the case of constant coefficients \({\varvec{\beta }}\) and \(\sigma \). Hence, for the rest of this section we assume \({\varvec{\beta }}\in {\mathbb {R}}^{2d}\), \(\sigma \geqslant 0\), \(f\in L^2(J\times \Omega )\) and \(g\in L^2(J \times {\widehat{\Gamma }}^-)\). A similar analysis for stationary transport dominated problems has been carried out in [6] and for parabolic equations in [23]. For an introduction to discontinuous time-stepping schemes and finite element spaces see [24].

However, these results have to be adapted to the current setting. With respect to stability, the weak formulation of the boundary condition has to be taken into account. To show convergence, classical approximation results for piecewise polynomial ansatz functions have to be combined with sparse grid estimates to handle the tensor product ansatz functions.

For the analysis we formulate the problem on the space \(V_{L,{\mathcal {I}}}\) by summing up (4) for \(j=1,\ldots ,N\). This gives

$$\begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(U,w) = B_{{\mathcal {I}}}^{(\delta )}(u_0,f,g; w) \quad \text {for all } \, w \in V_{L,{\mathcal {I}}}, \end{aligned}$$
(5)

where

$$\begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(v,w)&= \sum _{j=1}^N \int _{I_j} \big ( \partial _t v + \partial _{\varvec{\beta }}v + \sigma v, w + \delta ( \partial _t w + \partial _{\varvec{\beta }}w) \big ) - \langle v, w\rangle _{{\widehat{\Gamma }}^-} \, \mathrm d t \nonumber \\&\quad + \sum _{j=1}^{N-1} ([v]_j, w_j^+) + (v_0^+, w_0^+) \end{aligned}$$
(6)
$$\begin{aligned} B_{{\mathcal {I}}}^{(\delta )}(u_0,f,g; w)&= \sum _{j=1}^N \int _{I_j} \big ( f, w + \delta ( \partial _t w + \partial _{\varvec{\beta }}w) \big ) - \langle g, w\rangle _{{\widehat{\Gamma }}^-} \, \mathrm d t + \big ( u_0, w_{0}^+ \big ) \end{aligned}$$
(7)

with the jump term \([v]_j = v_j^+ - v_j^-\). Note that the boundaries \({\widehat{\Gamma }}^\pm \) are now time independent.

For the analysis the streamline diffusion norm

$$\begin{aligned} \begin{aligned} {\Vert \!|}v {\Vert \!|}_{\delta }^2&= \sum _{j=1}^N \int _{I_j} \sigma \Vert v\Vert ^2 + \delta \Vert \partial _t v + \partial _{\varvec{\beta }}v\Vert ^2 + \vert v\vert ^2_{\partial \Omega } \, \mathrm d t \\&\quad + \sum _{j=1}^{N-1} \Vert [v]_j \Vert ^2 + \Vert v_0^+\Vert ^2 + \Vert v_N^-\Vert ^2 \end{aligned} \end{aligned}$$
(8)

will play a central role. This norm gives extra control of the variations in the direction of the streamline.

3.1 Stability

In the first step we show that the method is stable with respect to the streamline diffusion norm. The following equivalence plays a central role.

Lemma 1

Let \(v \in H^1(J \times \Omega )\), \(\sigma \geqslant 0\), \(0 < \delta \) and \(\delta <1/\sigma \) in the case \(\sigma > 0\). Then

$$\begin{aligned} \frac{1}{2} {\Vert \!|}v {\Vert \!|}_{\delta }^2 \leqslant A_{{\mathcal {I}}}^{(\delta )}(v,v) \leqslant \frac{3}{2} {\Vert \!|}v {\Vert \!|}_{\delta }^2. \end{aligned}$$
(9)

Proof

Applying Green’s identity

$$\begin{aligned} \int _{I_j} (\partial _t v, w) \, \mathrm d t&= \big (v_j^-, w_j^-\big ) - \big (v_{j-1}^+,w_{j-1}^+\big ) -\int _{I_j} \big ( v, \partial _t w \big ) \, \mathrm dt \\ \int _{I_j} (\partial _{\varvec{\beta }}v, w) \, \mathrm d t&= \int _{I_j} \langle v, w\rangle _{\partial \Omega } - (v, \partial _{\varvec{\beta }}w) \, \mathrm d t \end{aligned}$$

on (6) gives

$$\begin{aligned} \begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(v,w)&= \sum _{j=1}^N \int _{I_j} (-v, \partial _t w + \partial _{\varvec{\beta }}w) + (\sigma v, w + \delta (\partial _t w + \partial _{\varvec{\beta }}w)) \, \mathrm d t \\&\quad + \sum _{j=1}^N \int _{I_j}\delta (\partial _t v + \partial _{\varvec{\beta }}v, \partial _t w + \partial _{\varvec{\beta }}w) + \langle v, w\rangle _{{\widehat{\Gamma }}^+} \, \mathrm d t \\&\quad + \sum _{j=1}^{N-1} (v_j^-, -[w]_j) + (v_N^-,w_N^-). \end{aligned} \end{aligned}$$
(10)

Averaging the two forms for \(A_{{\mathcal {I}}}^{(\delta )}(v,v)\) gives

$$\begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(v,v)&= \sum _{j=1}^N \int _{I_j} \sigma \Vert v\Vert ^2 + \frac{1}{2} \vert v\vert ^2_{\partial \Omega } + \delta \Vert \partial _t v + \partial _{\varvec{\beta }}v\Vert ^2 \, \mathrm d t \nonumber \\&\quad + \sum _{j=1}^N \int _{I_j} \delta \sigma (v, \partial _t v + \partial _{\varvec{\beta }}v) \, \mathrm d t + \frac{1}{2} \sum _{j=1}^{N-1} \Vert [v]_j \Vert ^2 + \frac{1}{2} \Vert v_0^+\Vert ^2 + \frac{1}{2} \Vert v_N^-\Vert ^2. \end{aligned}$$
(11)

For \(\sigma = 0\)

$$\begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(v,v)&= \sum _{j=1}^N \int _{I_j} \frac{1}{2} \vert v\vert ^2_{\partial \Omega } + \delta \Vert \partial _t v + \partial _{\varvec{\beta }}v\Vert ^2 \, \mathrm d t + \frac{1}{2} \sum _{j=1}^{N-1} \Vert [v]_j \Vert ^2 + \frac{1}{2} \Vert v_0^+\Vert ^2 + \frac{1}{2} \Vert v_N^-\Vert ^2, \end{aligned}$$

hence (9) holds. In the case \(\sigma > 0\) the second term can be estimated by

$$\begin{aligned} \Big \vert \sum _{j=1}^N \int _{I_j} \delta \sigma (v, \partial _t v + \partial _{\varvec{\beta }}v) \, \mathrm d t \Big \vert \leqslant \sum _{j=1}^N \int _{I_j} \frac{\delta \sigma ^2}{2} \Vert v\Vert ^2 + \frac{\delta }{2} \Vert \partial _t v + \partial _{\varvec{\beta }}v\Vert ^2\, \mathrm d t. \end{aligned}$$

Using \(\delta < 1 / \sigma \), the equivalence follows directly using the definition of the streamline diffusion norm (8). \(\square \)

Now we use the Lemma to prove stability.

Theorem 2

If \(\delta >0\) and \(\delta < 1/\sigma \) in the case \(\sigma >0\), the weak form of the streamline diffusion equation with constant coefficients (5) has a unique solution U. If \(\sigma > 0\) the system is stable in the sense that the solution satisfies

$$\begin{aligned} {\Vert \!|}U {\Vert \!|}_{\delta }^2 \lesssim \sum _{j=1}^N \int _{I_j} \Vert f\Vert ^2 + \vert g\vert ^2_{{\widehat{\Gamma }}^-} \, \mathrm d t + \Vert u_0\Vert ^2. \end{aligned}$$

For the case \(\sigma = 0\) a similar bound can be derived where, however, the constant depends exponentially on the final time T.

Proof

For \(\sigma > 0\) applying Cauchy and Young’s inequality on (7) gives

$$\begin{aligned}&B^{(\delta )}(u_0, f,g; v) \\&\quad \leqslant \sum _{j=1}^N \int _{I_j} (\frac{1}{\sigma } + \delta ) \Vert f\Vert ^2 + \frac{\sigma }{4} \Vert v\Vert ^2 + \frac{\delta }{4} \Vert \partial _t v + \partial _{\varvec{\beta }}v\Vert ^2 + \vert g\vert ^2_{{\widehat{\Gamma }}^-_x} + \frac{1}{4} \vert v\vert ^2_{{\widehat{\Gamma }}^-} \, \mathrm d t \\&\quad \quad + \Vert u_0\Vert ^2 + \frac{1}{4} \Vert v_0^+\Vert ^2 \\&\quad \leqslant \frac{1}{2} A_{{\mathcal {I}}}^{(\delta )}(v,v) + \sum _{j=1}^N \int _{I_j} (\frac{1}{\sigma } + \delta ) \Vert f\Vert ^2 + \vert g\vert ^2_{{\widehat{\Gamma }}^-} \, \mathrm d t + \Vert u_0\Vert ^2, \end{aligned}$$

where Lemma 1 was used in the last step. The solution U satisfies

$$\begin{aligned} A_{{\mathcal {I}}}^{(\delta )}(U,U)&= B_{{\mathcal {I}}}^{(\delta )}(u_0, f,g; U) \\&\leqslant \frac{1}{2} A_{{\mathcal {I}}}^{(\delta )}(U,U) + \sum _{j=1}^N \int _{I_j} (\frac{1}{\sigma } + \delta ) \Vert f\Vert ^2 + \vert g\vert ^2_{{\widehat{\Gamma }}^-} \, \mathrm d t + \Vert u_0\Vert ^2. \end{aligned}$$

Bringing \(A_{{\mathcal {I}}}^{(\delta )}(U,U)\) to the left side and using (9) gives the inequality which also shows the existence and uniqueness of the solution.

For the case \(\sigma =0\) one can introduce a positive constant term by change of the unknown to \(w(t,\cdot ) = \mathrm e^{-\alpha t} \, u(t,\cdot )\) which leads to an exponential factor \(\mathrm e^{\alpha T}\) in the bound [18]. \(\square \)

3.2 Approximation

In the following we will derive error estimates for the orthogonal projection onto \(V_{L,{\mathcal {I}}}\), which will be used in the convergence proof in Sect. 3.3. For the result we will combine estimates for sparse grids and well known approximation results from one-dimensional finite element discretization for the time domain.

Following [22] we assume that the approximation property

$$\begin{aligned} \inf _{v_\ell \in V^{(i)}_\ell } \Vert u - v_\ell \Vert _{H^q(\Omega ^{(i)})} \lesssim h_\ell ^{s-q} \Vert u\Vert _{H^s(\Omega ^{(i)})}, \quad u \in H^s(\Omega ^{(i)}), \quad i=1,2 \end{aligned}$$

holds for \(q<\gamma \), \(q\leqslant s \leqslant r+1\) uniformly in the level \(\ell \) (note that we replaced r by \(r+1\)). Here \(h_\ell = 2^{-\ell }\) and

$$\begin{aligned} \gamma = \sup \big \{s\in {\mathbb {R}}\,\vert \, V^{(1)}_\ell \subset H^s(\Omega ^{(1)}), \, V^{(2)}_\ell \subset H^s(\Omega ^{(2)}) \big \}. \end{aligned}$$

Define for \(s>0\) the Sobolev spaces of mixed order [25]

$$\begin{aligned} H^{s}_{\textrm{mix}}(\Omega ) = H^{s,s}_{\textrm{mix}}(\Omega ), \quad H^{s_1,s_2}_{\textrm{mix}}(\Omega )= H^{s_1}(\Omega ^{(1)}) \otimes H^{s_2}(\Omega ^{(2)}) \end{aligned}$$

and denote the corresponding norm by \(\Vert \cdot \Vert _{H^{s}_{\textrm{mix}}}\). Then the following approximation results hold.

Theorem 3

([22]) Let \(0<s\leqslant r\) and denote by \(P_L\) the \(L^2\)-orthogonal projection onto \(V_L\). Then

$$\begin{aligned} \Vert u- P_L u\Vert _{L^2(\Omega )}&\lesssim 2^{-(s+1) L} \sqrt{L}\Vert u \Vert _{H^{s+1}_\textrm{mix}(\Omega )} \\ \Vert u- P_L u\Vert _{H^1(\Omega )}&\lesssim 2^{-s L} \sqrt{L} \Vert u \Vert _{H^{s+1}_\textrm{mix}(\Omega )} \end{aligned}$$

if \(u \in H^{s+1}_{\textrm{mix}}(\Omega )\).

Proof

The inequalities directly follow from [22, Thm. 1] for the case \(n_1=n_2=d\), \(\sigma =1\), and Examples 1 and 2. \(\square \)

Finally, define the space

$$\begin{aligned} {\mathcal {H}}^s(J\times \Omega ) = H^s(J) \otimes L^2(\Omega ) \cap L^2(J) \otimes H^{s}_{\textrm{mix}}(\Omega ) \end{aligned}$$

with classical regularity with respect to time and a mixed regularity with respect to \({\varvec{x}}\) and \({\varvec{v}}\). The corresponding norm reads

$$\begin{aligned} \Vert u\Vert _{{\mathcal {H}}^s}^2 = \int _0^T \Vert \partial _t^s u\Vert _{L^2(\Omega )}^2 + \Vert u\Vert _{H^{s}_{\textrm{mix}}(\Omega )}^2 \, \mathrm d t. \end{aligned}$$

With this type of regularity we can show the following approximation result.

Theorem 4

Let \(L\in {\mathbb {N}}\) and let \({\mathcal {I}}\) be a time partition such that \(\vert {\mathcal {I}}\vert \sim h = 2^{-L}\). For \(u \in L^2(J\times \Omega )\) define

$$\begin{aligned} u_h = (P_{{\mathcal {I}}} \otimes P_L)\, u, \end{aligned}$$

where \(P_{{\mathcal {I}}}\) is the \(L^2\)-orthogonal projection onto the continuous piecewise polynomials of degree r with respect to the partition \({\mathcal {I}}\). For \(0 < s \leqslant r\) and \(u\in {\mathcal {H}}^{s+1}\)

$$\begin{aligned} \Vert u - u_h \Vert _{L^2(J\times \Omega )}&\lesssim 2^{-(s+1)L} \sqrt{L} \, \Vert u\Vert _{{\mathcal {H}}^{s+1}} \sim h^{s+1} \, (\ln h)^{1/2} \, \Vert u\Vert _{{\mathcal {H}}^{s+1}}\,,\\ \Vert u - u_h \Vert _{H^1(J\times \Omega )}&\lesssim 2^{-s L} \sqrt{L} \, \Vert u\Vert _{{\mathcal {H}}^{s+1}} \sim h^{s} \, (\ln h)^{1/2} \, \Vert u\Vert _{{\mathcal {H}}^{s+1}}\,, \end{aligned}$$

where the constants are independent of L and u.

Proof

For the proof we will use norms of the projection operators. For the time domain, the operator \(P_{{\mathcal {I}}}\) satisfies

$$\begin{aligned} \Vert v - P_{{\mathcal {I}}}v \Vert _{L^2(J)} \lesssim \vert {\mathcal {I}}\vert ^{s+1} \Vert \partial _t^{s+1} v\Vert _{L^2(J)}, \quad \Vert v - P_{{\mathcal {I}}}v \Vert _{H^1(J)} \lesssim \vert {\mathcal {I}}\vert ^{s} \Vert \partial _t^{s+1} v\Vert _{L^2(J)} \end{aligned}$$

for \(v\in H^{s+1}(I)\). Hence, the norm corresponding operators can be bounded by

$$\begin{aligned} \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow L^2(J)} \lesssim 2^{-(s+1) L}, \quad \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow H^1(J)} \lesssim 2^{-sL}.\end{aligned}$$

For the projectors onto \(V_L\) it follows from Theorem 3 that

$$\begin{aligned} \Vert I-P_L \Vert _{H_{\textrm{mix}}^{s+1}(\Omega )\rightarrow L^2(\Omega )} \lesssim 2^{-(s+1) L} \sqrt{L}, \quad \Vert I-P_L \Vert _{H_{\textrm{mix}}^{s+1}(\Omega )\rightarrow H^1(\Omega )} \lesssim 2^{-s L} \sqrt{L}. \end{aligned}$$

Now, the projection error with respect to \(L^2(J\times \Omega )\) can be estimated by

$$\begin{aligned}&\Vert u - u_h \Vert _{L^2(J \times \Omega )} \\&\quad = \Vert (I-P_{{\mathcal {I}}}) \otimes P_L \, u + P_{{\mathcal {I}}} \otimes (I-P_L) \, u + (I-P_{{\mathcal {I}}}) \otimes (I-P_L) u\Vert _{L^2(J \times \Omega )} \\&\quad \leqslant \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow L^2(J)} \, \Vert P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} \\&\quad \quad + \Vert P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow L^2(J)} \, \Vert I-P_L \Vert _{H_{\textrm{mix}}^{s+1}(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{L^2(J) \otimes H^{s+1}_{\textrm{mix}}(\Omega )} \\&\quad \quad + \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow L^2(J)} \, \Vert I-P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )}. \end{aligned}$$

Using the bounds of the projection operators and the fact that

$$\begin{aligned} \Vert P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow L^2(J)}, \, \Vert P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )}, \, \Vert I - P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )} \lesssim 1 \end{aligned}$$

due to the orthogonality of the projectors it follows that

$$\begin{aligned} \Vert u - u_h \Vert _{L^2(J \times \Omega )}&\lesssim 2^{-(s+1) L} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} + 2^{-(s+1) L} \sqrt{L} \Vert u\Vert _{L^2(J) \otimes H^{s+1}_{\textrm{mix}}(\Omega )} \\&\quad + 2^{-(s+1) L} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} \\&\lesssim 2^{-(s+1)L} \sqrt{L} \Vert u\Vert _{{\mathcal {H}}^{s+1}}. \end{aligned}$$

For the second inequality of the theorem note that

$$\begin{aligned} H^1(J\times \Omega ) = H^1(J) \otimes L^2(\Omega ) \cap L^2(J) \otimes H^{1,0}_{\textrm{mix}}(\Omega ) \cap L^2(J) \otimes H^{0,1}_{\textrm{mix}}(\Omega ) \end{aligned}$$

We estimate each contribution like in the previous case:

$$\begin{aligned}&\Vert u - u_h \Vert _{H^1(J) \otimes L^2(\Omega )} \\&\quad \leqslant \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow H^1(J)} \, \Vert P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} \\&\quad \quad + \Vert P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow H^1(J)} \, \Vert I-P_L \Vert _{H_{\textrm{mix}}^{s+1}(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{L^2(J) \otimes H^{s+1}_{\textrm{mix}}(\Omega )} \\&\quad \quad + \Vert I-P_{{\mathcal {I}}} \Vert _{H^{s+1}(J)\rightarrow H^1(J)} \, \Vert I-P_L \Vert _{L^2(\Omega )\rightarrow L^2(\Omega )} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} \end{aligned}$$

and use the inverse inequality of \(P_{{\mathcal {I}}}\) to bound \(\Vert P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow H^1(J)} \lesssim \vert {\mathcal {I}}\vert ^{-1}\sim 2^{L}\) which leads to

$$\begin{aligned} \Vert u - u_h \Vert _{H^1(J) \otimes L^2(\Omega )} \lesssim 2^{-s L} \sqrt{L}\, \Vert u\Vert _{{\mathcal {H}}^{s+1}}. \end{aligned}$$

In the same manner

$$\begin{aligned}&\Vert u - u_h \Vert _{L^2(J) \otimes H^{1,0}_{\textrm{mix}}(\Omega )} \\&\quad \leqslant \Vert (I-P_{{\mathcal {I}}}) \Vert _{H^{s+1}(J)\rightarrow L^2(J)} \, \Vert P_L \Vert _{L^2(\Omega ) \rightarrow H_{\textrm{mix}}^{1,0}(\Omega )} \Vert u\Vert _{H^{s+1}(J) \otimes L^2(\Omega )} \\&\quad \quad + \Vert P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow L^2(J)} \, \Vert I-P_L \Vert _{H_{\textrm{mix}}^{s+1}(\Omega )\rightarrow H^1(\Omega )} \Vert u\Vert _{L^2(J) \otimes H^{s+1}_{\textrm{mix}}(\Omega )} \\&\quad \quad + \Vert I-P_{{\mathcal {I}}} \Vert _{L^2(J)\rightarrow L^2(J)} \, \Vert I-P_L \Vert _{H^{s+1}_{\textrm{mix}}(\Omega )\rightarrow H^{1,0}_{\textrm{mix}}(\Omega )}\Vert u\Vert _{L^2(J) \otimes H^{s+1}_{\textrm{mix}}(\Omega )} \\&\quad \lesssim 2^{-s L} \sqrt{L} \Vert u\Vert _{{\mathcal {H}}^{s+1}}. \end{aligned}$$

Here we use the inverse inequality \(\Vert P_L \Vert _{L^2(\Omega ) \rightarrow H^1(\Omega )} \lesssim 2^{L}\). The last norm with respect to \(L^2(J) \otimes H^{0,1}_{\textrm{mix}}(\Omega )\) is treated analogously. Summing up all contributions proves the second inequality. \(\square \)

3.3 Convergence

Using the approximation result from the previous section we can prove the convergence of the discrete solution.

Theorem 5

Let u be a solution of the transport problem (1) and (2) in the case of constant coefficients and \(\sigma \geqslant 0\) and assume that \(u \in {\mathcal {H}}^{s+1}\) for \(0<s\leqslant r\). Let U be the solution of the discrete equations (5) for level L, where \(\vert {\mathcal {I}}\vert \sim h = 2^{-L}\) and \(\delta \sim h\). Then

$$\begin{aligned} {\Vert \!|}U-u {\Vert \!|}_{\delta } \lesssim h^{s+1/2} \, (\ln h)^{1/2} \, \Vert u\Vert _{{\mathcal {H}}^{s+1}}. \end{aligned}$$

Proof

The proof follows along the lines of [24, Thm. 13.7] and [6]. Decompose the error

$$\begin{aligned} e = U - u = (U - u_h) + (u_h - u) = \theta + \rho , \quad u_h = (P_{{\mathcal {I}}} \otimes P_L) u. \end{aligned}$$

The streamline diffusion norm can be estimated by

$$\begin{aligned} {\Vert \!|}e {\Vert \!|}_{\delta } \leqslant {\Vert \!|}\theta {\Vert \!|}_{\delta } + {\Vert \!|}\rho {\Vert \!|}_{\delta }. \end{aligned}$$
(12)

For the first term note that

$$\begin{aligned} {\Vert \!|}\theta {\Vert \!|}_{\delta }^2 \lesssim A_{{\mathcal {I}}}^{(\delta )}(\theta , \theta ) = -A_{{\mathcal {I}}}^{(\delta )}(\rho , \theta ),\end{aligned}$$

where the Galerkin orthogonality has been used. Applying (10) for the right hand side, using Young’s inequality and Lemma 1 gives the estimate

$$\begin{aligned}&\vert A_{{\mathcal {I}}}^{(\delta )}(\rho , \theta )\vert \\&\quad \leqslant \sum _{j=1}^{N} \int _{I_j} 2 \delta ^{-1} \Vert \rho \Vert ^2 + \frac{\delta }{8} \Vert \partial _t \theta + \partial _{\varvec{\beta }}\theta \Vert ^2 + \sigma \Vert \rho \Vert ^2 + \frac{\sigma }{4} \Vert \theta \Vert ^2 + \vert \rho \vert _{{\widehat{\Gamma }}^+}^2 + \frac{1}{4} \vert \theta \vert _{{\widehat{\Gamma }}^+}^2 \\&\quad \quad \quad \quad + 2 \delta \Vert \partial _t\rho + \partial _{\varvec{\beta }}\rho \Vert ^2 + \frac{\delta }{8} \Vert \partial _t\theta + \partial _{\varvec{\beta }}\theta \Vert ^2 + 2 \delta \sigma ^2 \Vert \rho \Vert ^2 + \frac{\delta }{8} \Vert \partial _t \theta + \partial _{\varvec{\beta }}\theta \Vert ^2 \, \mathrm d t\\&\quad \quad + \sum _{j=1}^{N} \Vert \rho _j\Vert ^2 + \frac{1}{4} \sum _{j=1}^{N-1} \Vert [\theta ]_j\Vert ^2 + \frac{1}{4} \Vert \theta _N^-\Vert ^2 \\&\quad \leqslant \frac{1}{2} A_{{\mathcal {I}}}^{(\delta )}(\theta ,\theta ) \\&\quad \quad + C \big [ \sum _{j=1}^N \int _{I_j} (1+\delta ^{-1}) \Vert \rho \Vert ^2 + \delta \Vert \partial _t \rho + \partial _{\varvec{\beta }}\rho \Vert ^2 + \vert \rho \vert _{{\widehat{\Gamma }}^+}^2\, \mathrm dt + \sum _{j=1}^N \Vert \rho _j\Vert ^2 \big ]. \end{aligned}$$

Here we used the fact that \(\rho \) is continuous in time. Hence it follows that

$$\begin{aligned} {\Vert \!|}\theta {\Vert \!|}_{\delta }^2 \lesssim \sum _{j=1}^N \int _{I_j} (1+\delta ^{-1}) \Vert \rho \Vert ^2 + \delta \Vert \partial _t \rho + \partial _{\varvec{\beta }}\rho \Vert ^2 + \vert \rho \vert _{{\widehat{\Gamma }}^+}^2\, \mathrm dt + \sum _{j=1}^N \Vert \rho _j\Vert ^2. \end{aligned}$$

For the second term in (12)

$$\begin{aligned} {\Vert \!|}\rho {\Vert \!|}_{\delta }^2 \lesssim \sum _{j=1}^N \int _{I_j} \Vert \rho \Vert ^2 + \delta \Vert \partial _t \rho + \partial _{\varvec{\beta }}\rho \Vert ^2 + \vert \rho \vert ^2_{\partial \Omega } \, \mathrm d t + \Vert \rho _0\Vert ^2 + \Vert \rho _N\Vert ^2, \end{aligned}$$

where again the continuity of \(\rho \) was used. Applying the trace inequality on each strip \(I_j\times \Omega \) gives

$$\begin{aligned} \Vert \rho _{j-1} \Vert ^2 + \Vert \rho _j \Vert ^2 + \int _{I_j} \vert \rho \vert _{\partial \Omega }^2 \, \mathrm d t&\lesssim \Vert \rho \Vert _{L^2(I_j\times \Omega )} \cdot \Vert \rho \Vert _{H^1(I_j\times \Omega )} \\&\lesssim \delta ^{-1} \Vert \rho \Vert _{L^2(I_j\times \Omega )}^2 + \delta \Vert \rho \Vert _{H^1(I_j\times \Omega )}^2. \end{aligned}$$

Using

$$\begin{aligned} \int _{I_j} \Vert \partial _t \rho + \partial _{\varvec{\beta }}\rho \Vert ^2\, \mathrm d t \lesssim \Vert \rho \Vert _{H^1(I_j\times \Omega )}^2, \end{aligned}$$

summing up and applying Theorem 4 gives

$$\begin{aligned} {\Vert \!|}e {\Vert \!|}_{\delta }^2 \lesssim \big (1 + \delta ^{-1}\big ) \Vert \rho \Vert _{L^2(J\times \Omega )}^2 + \delta \Vert \rho \Vert _{H^1(J\times \Omega )}^2 \lesssim h_L^{2s+1} \, \ln h_L \, \Vert u\Vert _{{\mathcal {H}}^{s+1}}^2 \end{aligned}$$

which completes the proof. \(\square \)

4 Numerical algorithm

In this section we describe how the discrete equation (4) on each time strip \(I_j\), \(j=1,\ldots ,N\) is solved. Now we allow the coefficients \({\varvec{\beta }}, \, \sigma \) to be functions with sufficient regularity. The aim is to use data structures which enable the efficient representation of the sparse grid functions as well as efficient calculations. For that purpose, we use standard finite element libraries and exploit the tensor product structure of the problem. Therefore we will concentrate on coefficient functions which exhibit a tensor product structure.

4.1 Sparse grid representation

Traditionally sparse grid spaces are built on multilevel decomposition and require special basis functions resulting in quite sophisticated operations in Galerkin schemes. This problem can be overcome by representing sparse grid functions as a combination of anisotropic full grid spaces and performing all the computations on these regular spaces. For sparse grids based on finite element spaces this approach has been used in [11, 22], for example. This idea is closely connected with the sparse grid combination technique introduced in [26], see also [19].

Here in this section, the focus is on the representation of sparse grid functions. In contrast to the combination technique, we will continue to solve the problem on the whole space \(V_L\) and not only combining the solutions of the anisotropic spaces. However, later in Sect. 4.3 we will use the combination technique as a preconditioner for the sparse grid system.

The key is the representation of the space \(V_L\) in (3) as a sum of anisotropic full grid spaces \(V^{(1)}_{\ell _1} \otimes V^{(2)}_{\ell _2}\) with \(\ell _1 + \ell _2 = L+1\). Note that this is not a direct sum. For representing a function we use the finite element basis

$$\begin{aligned} V^{(i)}_\ell = {{\,\textrm{span}\,}}\big \{ \varphi ^{(i)}_{\ell ,k} \,\big \vert \, k = 1, \ldots , n^{(i)}_\ell \big \}, \quad n^{(i)}_\ell = \dim V^{(i)}_\ell \end{aligned}$$

for \(i=1,2\) and a basis for the polynomials on \(I_j\):

$$\begin{aligned} {\mathbb {P}}^r(I_j,{\mathbb {R}}) = {{\,\textrm{span}\,}}\{ \eta _s^{(j)} \,\vert \, s = 0, \ldots , r \}. \end{aligned}$$

For notational simplicity we will omit the index j in the following.

Hence a function \(U\in {\mathbb {P}}^r(I_j, V_L)\) can be written as

$$\begin{aligned} \begin{aligned} U(t,{\varvec{x}}, {\varvec{v}}) = \sum _{\vert {\varvec{\ell }}\vert _1 = L+1} \, \sum _{\begin{array}{c} 0\leqslant s \leqslant r \\ {\varvec{k}}\leqslant {\varvec{n}}_{{\varvec{\ell }}} \end{array}} u^{({\varvec{\ell }})}_{s,{\varvec{k}}} \, \eta _s(t) \, \varphi ^{(1)}_{\ell _1,k_1}({\varvec{x}}) \, \varphi ^{(2)}_{\ell _2,k_2}({\varvec{v}}), \quad {\varvec{n}}_{{\varvec{\ell }}} = [n^{(1)}_{\ell _1},n^{(2)}_{\ell _2}]. \end{aligned} \end{aligned}$$

The representation however is not unique since the functions

$$\begin{aligned} \eta _s \otimes \varphi ^{(1)}_{\ell _1,k_1} \otimes \varphi ^{(2)}_{\ell _2,k_2}, \quad 0\leqslant s\leqslant r, \, {\varvec{k}}\leqslant {\varvec{n}}_{\varvec{\ell }}, \, \vert {\varvec{\ell }}\vert _1 = L+1, \end{aligned}$$
(13)

are just a spanning set and not a basis. This leads to additional degrees of freedom, which are negligible for the interesting case of \(d=2,3\), however.

4.2 Discrete equations and matrices

We will now use the spanning set (13) to derive a system of linear equations for the discrete equation (4) in weak form for a time strip \(I_j\). Omitting again the index j gives

$$\begin{aligned} A^{(\delta )} {\varvec{u}}= {\varvec{b}}^{(\delta )}, \quad {\varvec{u}}= \big [ {\varvec{u}}_{{\varvec{\ell }}}\big ]_{\vert {\varvec{\ell }}\vert _1 = L+1}, \quad {\varvec{u}}_{{\varvec{\ell }}} = \big [ u^{({\varvec{\ell }})}_{s,{\varvec{k}}} \big ]_{\begin{array}{c} 0\leqslant s \leqslant r \\ {\varvec{k}}_i \leqslant {\varvec{n}}_{{\varvec{\ell }}} \end{array}}. \end{aligned}$$
(14)

where the blocks are given by

$$\begin{aligned} A^{(\delta )}_{{\varvec{\ell }}, {\varvec{\ell }}'}&= \Big [ a^{(\delta )}_j\big (\eta _{s'} \otimes \varphi ^{(1)}_{\ell _1',k_1'} \otimes \varphi ^{(2)}_{\ell _2',k_2'}, \eta _{s} \otimes \varphi ^{(1)}_{\ell _1,k_1} \otimes \varphi ^{(2)}_{\ell _2,k_2}\big ) \Big ]_{\begin{array}{c} 0\leqslant s,s'\leqslant r\\ {{\varvec{k}}\leqslant {\varvec{n}}_{{\varvec{\ell }}}}, {\varvec{k}}' \leqslant {\varvec{n}}_{{\varvec{\ell }}'} \end{array}} \\ {\varvec{b}}^{(\delta )}_{{\varvec{\ell }}}&=\Big [ b^{(\delta )}_j\big ( \eta _{s} \otimes \varphi ^{(1)}_{\ell _1,k_1} \otimes \varphi ^{(2)}_{\ell _2,k_2}\big ) \Big ]_{\begin{array}{c} 0\leqslant s\leqslant r\\ {\varvec{k}}\leqslant {\varvec{n}}_{{\varvec{\ell }}} \end{array}} \end{aligned}$$

for \(\vert {\varvec{\ell }}\vert _1, \vert {\varvec{\ell }}'\vert _1 = L+1\). Note that the matrix \(A^{(\delta )}\) is not invertible, but the system is still solvable since the right hand side is in the range of the matrix [27]. We will later use iterative methods to solve the system which are based on the application of the matrix to a vector, see Sect. 4.3.

For its efficient calculation we exploit the tensor product structure for each individual block \(A^{(\delta )}_{{\varvec{\ell }},{\varvec{\ell }}'}\). In the first step we use a quadrature rule of sufficient order for the time integration on the interval \(I_j = [t_{j-1}, t_j]\):

$$\begin{aligned} \int _{I_j} f(t) \, \mathrm d t \approx \sum _{\mu =1}^{m} w_{\mu } f(\tau _\mu ), \quad \tau _\mu \in [t_{j-1}, t_j]. \end{aligned}$$

Define for \(1 \leqslant \mu \leqslant m\)

$$\begin{aligned}&M_\mu ^{(t)} = \big [ \eta _{s'}(\tau _{\mu }) \cdot \eta _s(\tau _\mu ) \big ]_{s,s'}, \quad T_\mu ^{(t)} = \big [ \eta '_{s'}(\tau _{\mu }) \cdot \eta _s(\tau _\mu ) \big ]_{s,s'}, \\&C_\mu ^{(t)} = \big [ \eta _{s'}'(\tau _\mu ) \cdot \eta _s'(\tau _\mu ) \big ]_{s,s'}, \quad G^{(t)} = \big [ \eta _{s'}(t_{j-1}) \cdot \eta _s(t_{j-1}) \big ]_{s,s'} \end{aligned}$$

for \(0 \leqslant s,s' \leqslant r\) and

$$\begin{aligned} \begin{aligned}&M^{({\varvec{r}})}_{{\varvec{\ell }},{\varvec{\ell }}'} = \big [ (\varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \varphi _{{\varvec{\ell }},{\varvec{k}}}) \big ], \quad T^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} = \big [ (\partial _{{\varvec{\beta }}(\tau _\mu , \cdot )} \varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \varphi _{{\varvec{\ell }},{\varvec{k}}}) \big ], \\&C^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} = \big [ (\partial _{{\varvec{\beta }}(\tau _\mu , \cdot )} \varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \partial _{{\varvec{\beta }}(\tau _\mu , \cdot )}\varphi _{{\varvec{\ell }},{\varvec{k}}}) \big ], \quad K^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} = \big [ (\sigma (\tau _\mu ,\cdot ) \varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \varphi _{{\varvec{\ell }},{\varvec{k}}}) \big ], \\&{\tilde{K}}^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} = \big [ (\sigma (\tau _\mu ,\cdot ) \varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \partial _{{\varvec{\beta }}(\tau _\mu ,\cdot )} \varphi _{{\varvec{\ell }},{\varvec{k}}}) \big ], \quad G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} = \big [ \langle \varphi _{{\varvec{\ell }}',{\varvec{k}}'}, \varphi _{{\varvec{\ell }},{\varvec{k}}}\rangle _{{\widehat{\Gamma }}^-_x(\tau _\mu )} \big ] \end{aligned} \end{aligned}$$
(15)

with indices \({\varvec{k}}\leqslant {\varvec{n}}_{{\varvec{\ell }}}, \, {\varvec{k}}' \leqslant {\varvec{n}}_{{\varvec{\ell }}'}\). Hence one block can be approximated by

$$\begin{aligned} A^{(\delta )}_{{\varvec{\ell }}, {\varvec{\ell }}'}&\approx {\bar{A}}^{(\delta )}_{{\varvec{\ell }}, {\varvec{\ell }}'} \\&= \sum _{\mu }^m w_\mu \Big [ (T_\mu ^{(t)} + \delta \, C^{(t)}_{\mu })\otimes M^{({\varvec{r}})}_{{\varvec{\ell }},{\varvec{\ell }}'} + \delta \, T_\mu ^{(t)} \otimes \big (T^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\big )^T \\&\quad \quad \quad + \delta \, \big (T^{(t)}_{\mu }\big )^T \otimes \big (T^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} +K^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\big ) \\&\quad \quad \quad + M_\mu ^{(t)} \otimes \big (T^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} + \delta \, C^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} + K^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}+{\tilde{K}}^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'} - G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\big ) \Big ] \\&\quad \quad \quad + G^{(t)} \otimes M^{({\varvec{r}})}_{{\varvec{\ell }},{\varvec{\ell }}'}. \end{aligned}$$

The matrix \(M^{({\varvec{r}})}_{{\varvec{\ell }},{\varvec{\ell }}'}\) acting on the variables \({\varvec{x}}\) and \({\varvec{v}}\) has itself a tensor product structure

$$\begin{aligned} M^{({\varvec{r}})}_{{\varvec{\ell }},{\varvec{\ell }}'} = M^{(1)}_{\ell _1,\ell _1'} \otimes M^{(2)}_{\ell _2,\ell _2'}, \quad M^{(i)}_{\ell ,\ell '} = \big [ (\varphi ^{(i)}_{\ell ',k'},\varphi ^{(i)}_{\ell ,k})_{L^2(\Omega ^{(i)})} \big ]_{k,k'}\,, \end{aligned}$$

which can be exploited. In general this is not the case for the other matrices, making a 2d-dimensional integration necessary. In the following we will therefore assume that the coefficients \({\varvec{\beta }}\) and \(\sigma \) have a tensor product structure in the sense of

$$\begin{aligned} {\varvec{\beta }}(t,{\varvec{x}},{\varvec{v}})&= \sum _{i=1}^d a_i(t,{\varvec{x}}) \, b_i(t,{\varvec{v}}) \, {\varvec{e}}_i + c_i(t,{\varvec{x}}) \, d_i(t,{\varvec{v}}) \,\, {\varvec{e}}_{i+d}, \\ \sigma (t,{\varvec{x}},{\varvec{v}})&= p(t,{\varvec{x}}) \, q(t,{\varvec{v}}), \end{aligned}$$

where \({\varvec{e}}_i\) is the i-th unit vector, or can be represented (approximately) in a short sum of such tensor products. In the first case for example

$$\begin{aligned} T^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}&= \sum _{i=1}^d \Big [ \big (a_i(\tau _\mu ,\cdot ) \partial _{x_i} \varphi ^{(1)}_{\ell _1',k_1'}, \varphi ^{(1)}_{\ell _1,k_1}\big )_{L^2(\Omega ^{(1)})} \cdot \big (b_i(\tau _\mu ,\cdot ) \varphi ^{(2)}_{\ell _2',k_2'}, \varphi ^{(2)}_{\ell _2,k_2}\big )_{L^2(\Omega ^{(2)})} \big ]_{{\varvec{k}},{\varvec{k}}'} \\&\quad + \sum _{i=1}^d \Big [ \big (c_i(\tau _\mu ,\cdot ) \varphi ^{(1)}_{\ell _1',k_1'}, \varphi ^{(1)}_{\ell _1,k_1}\big )_{L^2(\Omega ^{(1)})} \cdot \big (d_i(\tau _\mu ,\cdot ) \partial _{v_i} \varphi ^{(2)}_{\ell _2',k_2'}, \varphi ^{(2)}_{\ell _2,k_2}\big )_{L^2(\Omega ^{(2)})} \big ]_{{\varvec{k}},{\varvec{k}}'} \\&= \sum _{i=1}^d \big ( A^{(\mu )}_{i,\ell _1,\ell _1'} \otimes B^{(\mu )}_{i,\ell _2,\ell _2'} + C^{(\mu )}_{i,\ell _1,\ell _1'} \otimes D^{(\mu )}_{i,\ell _2,\ell _2'} \big ) \end{aligned}$$

with appropriately defined matrices. The generalization to a short sum is straight forward. All other matrices can be treated analogously except the matrices \(G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\) for the boundary condition which in some cases may also be written in form of a tensor product, see the example in Sect. 5.2.

Using this strategy, the calculation of the factors can can be reduced to d-dimensional integrals over \(\Omega ^{(i)}\). Due to the multilevel structure of the spaces \(V^{(i)}_j\) it suffices to calculate the matrices on the finest scale and then use an interpolation operator. For \(\ell '<\ell \) denote by \(E^{(i)}_{\ell ,\ell '}\) the matrix representation of the embedding from \(V^{(i)}_{\ell '}\) in \(V^{(i)}_{\ell }\). Then for example

$$\begin{aligned} A^{(\mu )}_{i,\ell ,\ell '} = \big (E^{(i)}_{L,\ell }\big )^T \cdot A^{(\mu )}_{i,L,L} \cdot E^{(i)}_{L,\ell '}. \end{aligned}$$

For the calculation of \(A_{i,L,L}^{(\mu )}\) classical finite element libraries can be used directly.

The application of the matrix \(A^{(\delta )}\) to a vector \({\varvec{u}}\) can be done blockwise, i.e. where block \({\varvec{\ell }}\) is given by

$$\begin{aligned} \big [A^{(\delta )}\, {\varvec{u}}\big ]_{{\varvec{\ell }}} = \sum _{\vert {\varvec{\ell }}'\vert _1=L+1} A^{(\delta )}_{{\varvec{\ell }},{\varvec{\ell }}'} \cdot {\varvec{u}}_{{\varvec{\ell }}'} \end{aligned}$$

while the tensor product structure can be exploited for each block. However, the order of application is crucial [21, 28] to prevent the need to store intermediate results on full grids. Therefore to calculate

$$\begin{aligned} S^{(t)} \otimes S^{(1)}_{\ell _1,\ell _1'} \otimes S^{(2)}_{\ell _2,\ell _2'} \, {\varvec{u}}_{{\varvec{\ell }}'} \end{aligned}$$

for general matrices \(S^{(t)},S^{(1)},S^{(2)}\) we will use

$$\begin{aligned} \big (S^{(t)}\otimes \textrm{Id}^{(1)}_{\ell _1} \otimes \textrm{Id}^{(2)}_{\ell _2}\big ) \cdot \big (\textrm{Id}^{(t)} \otimes S^{(1)}_{\ell _1,\ell _1'} \otimes \textrm{Id}^{(2)}_{\ell _2}\big ) \cdot \big (\textrm{Id}^{(t)} \otimes \textrm{Id}^{(1)}_{\ell _1'} \otimes S^{(2)}_{\ell _2,\ell _2'}\big ) \cdot {\varvec{u}}_{{\varvec{\ell }}'} \end{aligned}$$

in the case \(\ell _1'+\ell _2\leqslant \ell _1 + \ell _2'\) and

$$\begin{aligned} \big (S^{(t)}\otimes \textrm{Id}^{(1)}_{\ell _1} \otimes \textrm{Id}^{(2)}_{\ell _2}\big ) \cdot \big (\textrm{Id}^{(t)} \otimes \textrm{Id}^{(1)}_{\ell _1} \otimes S^{(2)}_{\ell _2,\ell _2'}\big ) \cdot \big (\textrm{Id}^{(t)} \otimes S^{(1)}_{\ell _1,\ell _1'} \otimes \textrm{Id}^{(2)}_{\ell _2'}\big ) \cdot {\varvec{u}}_{{\varvec{\ell }}'} \end{aligned}$$

otherwise, where \(\textrm{Id}\) the identity matrix in the respective spaces. The application of such a tensor product matrix can be applied in log-linear complexity with respect to the degrees of freedom.

4.3 Solution of linear system of equations

For the solution of (14) we will use an iterative method to exploit the tensor product structure of the block matrices and use the combination technique as a preconditioner.

The sparse grid combination technique was introduced in [26] (see also [19]). Instead of solving the discretized equation on the sparse grid, solutions are computed on a sequence of anisotropic full grid spaces. They are then combined to form a sparse grid function. For a quite general class of symmetric bilinear forms it can be shown that this method has the same order of convergence as the sparse grid solution [22]. Alternatively, it can also be used as a preconditioner for the sparse grid discretization, see [20, 29] in the case of radiative transfer.

In our non-symmetric case we follow the latter approach and use the combination technique as a preconditioner for an outer Richardson iteration, see Algorithm 1. In order to compute the preconditioner we have to solve the transport equation

$$\begin{aligned} A^{(\delta )}_{{\varvec{\ell }},{\varvec{\ell }}} \, \Delta \widehat{{\varvec{u}}}_{\varvec{\ell }}= {\varvec{r}}_{{\varvec{\ell }}} \end{aligned}$$
(16)

on small anisotropic full grid spaces with levels L (line 6) and \(L-1\) (line 11).

Algorithm 1
figure a

Richardson iteration with combination technique preconditioner for the solution of (14)

For that purpose we use a preconditioned GMRES. As a first preliminary preconditioner for these systems, we use the inverse of

$$\begin{aligned} \big (T^{(t)} + \delta C^{(t)} + G^{(t)}\big ) \otimes M^{(1)}_{\ell _1,\ell _1} \otimes M^{(2)}_{\ell _2,\ell _2} \,, \end{aligned}$$

which can be computed efficiently using the LU decomposition in each product space. As a consequence the tensor product structure (see Sect. 4.2) can be used for all calculations and neither the full matrix \(A^{(\delta )}\) (14) nor the smaller matrices \(A^{(\delta )}_{{\varvec{\ell }},{\varvec{\ell }}}\) (16) have to be assembled.

Alternatively, we can also use other preconditioners like ILU or direct sparse solvers. For that purpose, however, the matrices \(A^{(\delta )}_{{\varvec{\ell }},{\varvec{\ell }}}\) for the small anisotropic full grid spaces have to be assembled. For the future it would be beneficial to devise schemes similar to [27] for the case of symmetric bilinear forms or use more advanced preconditioned iterative schemes for the anisotropic full grids [30].

Using the combination technique we compute the preconditioned residuum in line 15. Note that we used the embedding to represent the solution on spaces with level \(\vert {\varvec{\ell }}\vert _1=L+1\). For interpolation such a scheme can be shown to give the exact result [19].

The iteration is stopped, if the norm of preconditioned residuum is small enough, i.e. \(\Vert \Delta {\varvec{u}}\Vert _{H^1(J\times \Omega )} < \epsilon \), for some given tolerance \(\epsilon \).

5 Numerical experiments

In this section we present numerical examples to study the method described in Sect. 4. The implementation is based on the finite element library MFEM [31] and uses its Python wrapper PyMFEM.Footnote 1 Due to the regular data structure of the combination technique standard numerical routines from numpyFootnote 2 and scipyFootnote 3 were used. The cupyFootnote 4 library was used as a replacement for the numerical libraries to perform the calculations on a GPU with only minor code changes. The computations were carried out on a desktop computer (i9 7900, 128 GB RAM, GTX 1080).

5.1 Linear advection with constant coefficients

As the first example we consider the linear advection equation with constant coefficients in \(d+d\) dimensions

$$\begin{aligned} \begin{aligned} \partial _t u + {\varvec{1}}\cdot \nabla _{{\varvec{x}}} u + {\varvec{1}}\cdot \nabla _{{\varvec{v}}} u&= 0, \quad {\varvec{x}}, {\varvec{v}}\in [0,1]^d \\ u(0, {\varvec{x}}, {\varvec{v}})&= \sin \big (2 \pi \, \sum _{i=1}^d (x_i + v_i) \big ) \end{aligned} \end{aligned}$$
(17)

with periodic boundary conditions. The solution is given by

$$\begin{aligned} u(t, {\varvec{x}}, {\varvec{v}}) = \sin \Big (2 \pi \, \big (\sum _{i=1}^d (x_i + v_i) - 2 d t\big ) \Big ), \end{aligned}$$

which is periodic in t for \(T=1/(2d)\).

The mesh on the coarsest scale on each \(\Omega ^{(i)}\) consists of \(4^d\) d-cubes of equal size and is uniformly refined for finer scales. The finite element functions are continuous piecewise polynomials of order r for \(r=1,2\). The streamline diffusion parameter is chosen as the edge length on the finest scale. The equation is solved on one period T using discontinuous polynomials of the same order r as in the spatial discretization and \(2^{L+1}\) steps.

The numerical solution is compared to the interpolation of the analytical solution in \(V_{L+1,{\mathcal {I}}}\) and polynomial order \(r+1\). The streamline diffusion norm of the difference is computed and reported in Table 1. There the order is estimated from the errors of two successive runs. The convergence is also depicted in Fig. 1. The numerical results confirm the convergence order of \(h^{r+1/2}\) from Theorem 5.

Table 1 Error with respect to the streamline diffusion norm \({\Vert \!|}\cdot {\Vert \!|}_\delta \) and estimated order of the numerical solution of (17) on \(d+d\) dimensions after one period for sparse grid spaces with levels L and order r of the ansatz functions; h denotes the grid size of the finest level
Fig. 1
figure 1

Error with respect to the streamline diffusion norm \({\Vert \!|}\cdot {\Vert \!|}_\delta \) of the numerical solution of (17) on \(d+d\) dimensions after one period for sparse grid spaces with order r of the ansatz functions; h denotes the grid size of the finest level

5.2 L-shaped spatial domain

In the next example we solve the kinetic equation

$$\begin{aligned} \partial _t u + {\varvec{v}}\cdot \nabla _{\varvec{x}}u = 0, \quad [0,1] \times \Omega \end{aligned}$$
(18)

on a L-shaped spatial domain

$$\begin{aligned} \Omega = \Omega ^{(1)}\times \Omega ^{(2)}, \quad \Omega ^{(1)}= (-1,1)^2 \setminus [0,1]^2, \quad \Omega ^{(2)}= [-2,0] \times [0,2], \end{aligned}$$

see Fig. 2. This demonstrates the use of the method for non-rectangular domains, boundary conditions, and discontinuous solutions. We choose zero inflow boundary condition and

$$\begin{aligned} u_0({\varvec{x}},{\varvec{v}}) = \psi \Big (\frac{x_1-0.5}{0.25}\Big ) \cdot \psi \Big (\frac{x_2+0.5}{0.25}\Big ) \cdot \psi \Big (\frac{v_1+1}{0.25}\Big ) \cdot \psi \Big (\frac{v_2-1}{0.25}\Big ) \end{aligned}$$

as the initial condition. Here \(\psi \) is a \(C^1\) function centered at 0 and supported in \([-1,1]\):

$$\begin{aligned} \psi (\xi ) = {\left\{ \begin{array}{ll} (\vert \xi \vert -1)^2 \cdot (2\vert \xi \vert +1) &{} \vert \xi \vert \leqslant 1 \\ 0 &{} \vert \xi \vert > 1 \end{array}\right. } \end{aligned}$$

For the assessment of the numerical results we will concentrate on the spatial distribution

$$\begin{aligned} \rho (t,{\varvec{x}}) = \int _{\Omega ^{(2)}} u(t,{\varvec{x}},{\varvec{v}}) \, \mathrm d {\varvec{v}}. \end{aligned}$$
(19)

The initial distribution is supported in \([0.25,0.75] \times [-0.75,-0.25]\). It is transported mainly in the direction \([-1,1]^T\) such that it is completely located in \([-1,0]\times [0,1]\) at the final time \(t=1\), see Fig. 2. By the method of characteristics the solution is given by

$$\begin{aligned} u(1,{\varvec{x}},{\varvec{v}}) = {\left\{ \begin{array}{ll} u_0({\varvec{x}}-{\varvec{v}},{\varvec{v}}) &{} v_1 x_2 > v_2 x_1 \\ 0 &{} \text {otherwise} \end{array}\right. } \end{aligned}$$
(20)

for \({\varvec{x}}\in [-1,0]\times [0,1], \, {\varvec{v}}\in [-1.25,-0.75]\times [0.75,1.25]\). Outside this domain it is zero. Here, the L-shaped domain boundary leads to a discontinuous distribution.

Fig. 2
figure 2

Left: spatial mesh on the coarsest scale for domain \(\Omega ^{(1)}\). The initial distribution is supported in the light gray area and is transported mainly along the arrow. It is completely contained in the dark area at \(t=1\); right: initial spatial distribution \(\rho (0,{\varvec{x}})\)

The matrices \(G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\) from (15) corresponding to the boundary condition can be represented as a short sum of tensor products by partitioning the inflow boundary. For example the inflow at \(x_1=-1\) with normal \({\varvec{n}}= [-1,0,0,0]^T\) is given by

$$\begin{aligned} \{-1\} \times [-1,1] \times \big \{ {\varvec{v}}\in \Omega ^{(2)}\,\big \vert \, -v_1 < 0 \big \}. \end{aligned}$$

Hence its contribution to the element \({\varvec{k}},{\varvec{k}}'\) of \(G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\) can be calculated by

$$\begin{aligned} \begin{aligned} \int _{-1}^1 \int _{\Omega ^{(2)}}&\varphi ^{(1)}_{\ell _1',k_1'}(-1, x_2) \cdot \varphi ^{(1)}_{\ell _1,k_1}(-1, x_2) \\&\quad \cdot \chi _{v_1>0}({\varvec{v}}) \cdot (-v_1) \cdot \varphi ^{(2)}_{\ell _2',k_2'}({\varvec{v}}) \cdot \varphi ^{(2)}_{\ell _2,k_2}({\varvec{v}}) \, \mathrm d {\varvec{v}}\, \mathrm d x_2 \end{aligned} \end{aligned}$$

with the characteristic function \(\chi \). This integral as well as the integrals over other sections of the inflow boundary can be factorized leading to a sum of tensor product operators for \(G^{({\varvec{r}})}_{\mu ,{\varvec{\ell }},{\varvec{\ell }}'}\).

The coarsest mesh for the spatial domain \(\Omega ^{(1)}\) is depicted in Fig. 2 and the domain \(\Omega ^{(2)}\) is discretized by an \(8 \times 8\) regular grid. The equation is simulated for \(t\in [0,1]\) with linear elements (\(r=1\)).

Figure 3 (left) shows the resulting spatial distribution for \(t=1\) and \(L=5\). In order to assess the numerical result it is compared to the distribution computed from the analytical solution (20) (right). The integration with respect to \({\varvec{v}}\) was carried out numerically. The results for levels up to \(L=6\) are given in Table 2.

Fig. 3
figure 3

Left: Computed spatial distribution \(\rho (1,{\varvec{x}})\) of (18) for \(L=5\) and \(r=1\); right: error of the computed spatial distribution

Although the solution u is discontinuous the numerical distribution \(\rho \) does not show oscillations thanks to the streamline diffusion. The theoretical results do not cover this case and it is too early to assess the order of convergence numerically. However the method seems to perform reasonable in this case.

Table 2 Relative error of the spatial distribution (19) with respect to the \(L_2\)-norm and estimated order of the numerical solution of (18) at \(t=1\) for sparse grid spaces with levels L and linear elements; h denotes the grid size of the finest level

5.3 Vlasov-Poisson equation

In plasma physics the particle density function \(f(t,{\varvec{x}},{\varvec{v}})\) of electrons in a constant background ion density interacting with electrostatic fields ignoring collisions may be described by the Vlasov-Poisson equations

$$\begin{aligned} \begin{aligned}&\partial _t f + {\varvec{v}}\cdot \nabla _{\varvec{x}}f - {\varvec{E}}(f) \cdot \nabla _{\varvec{v}}f = 0 \\&\nabla _{\varvec{x}}\cdot {\varvec{E}}= -\int f(t,{\varvec{x}},{\varvec{v}}) \, \mathrm d {\varvec{v}}+ 1, \quad \nabla \times {\varvec{E}}= {\textbf{0}} \end{aligned} \end{aligned}$$

supplemented by appropriate boundary conditions [4]. The first equation fits in the framework of the transport equation (1) except for the non-linearity due to the coupling with the electrical field. Nevertheless we may still use the method in a fixed-point iteration where the transport and field equation are solved alternately.

Given some approximation of the electrical field \({\varvec{E}}^{(k)}\) we may compute the density function \(f^{(k+1)}\) by solving

$$\begin{aligned} \partial _t f^{(k+1)} + {\varvec{v}}\cdot \nabla _{\varvec{x}}f^{(k+1)} - {\varvec{E}}^{(k)}(t,{\varvec{x}}) \cdot \nabla _{\varvec{v}}f^{(k+1)} = 0. \end{aligned}$$
(21)

using the method for linear transport equation presented here. Now given \(f^{(k+1)}\) we compute the resulting electrical field by solving the Poisson equation

$$\begin{aligned} -\Delta _{\varvec{x}}\phi = -\int f^{(k+1)}(t,{\varvec{x}},{\varvec{v}}) \, \mathrm d {\varvec{v}}+ 1 \end{aligned}$$
(22)

and letting \({\varvec{E}}^{(k+1)} = -\nabla _{\varvec{x}}\phi \).

Hence to solve the coupled equation in a time strip \(I_j=[t_{j-1}, t_j]\) we alternate the two steps. Starting with \(f^{(0)}\) as the final density \(f(t_{j-1}^-)\) of the last step and the resulting electrical field \({\varvec{E}}^{(0)}\) for all \(t\in I_j\) we iterate until

$$\begin{aligned} \Vert {\varvec{E}}^{(k+1)} - {\varvec{E}}^{(k)} \Vert _{L^\infty (I_j\times \Omega ^{(1)})} + \Vert f^{(k+1)} - f^{(k)} \Vert _{H^1(I_j\times \Omega ^{(1)}\times \Omega ^{(2)})} < \epsilon \end{aligned}$$

for some tolerance \(\epsilon \).

Note that (22) has to be solved only at certain quadrature points \(\tau _\mu \in I_j\), see Sect. 4.2, and that the integral of f on the right hand side can be represented by a finite element function on the finest grid of the space domain \(\Omega ^{(1)}\). Its solution is computed by the finite element method on the same grid. The preconditioner needed to solve (21) is updated if the rate of convergence decreases significantly.

As the first test we consider the classic Landau damping. In the 1+1-dimensional case we use the initial condition

$$\begin{aligned} f(0,x,v) = f_0(x,v) = \frac{1}{\sqrt{2 \pi }} \mathrm e^{-v^2/2} \big (1 + \alpha \cos (k x) \big ) \end{aligned}$$

and parameters \(\alpha = 10^{-2}\), \(k=1/2\) on a periodic domain \((0, 4 \pi ) \times (-v_{\textrm{max}}, v_{\textrm{max}})\) with \(v_{\textrm{max}}\) big enough [4]. We choose \(v_{\textrm{max}}=6\).

We simulate the system in the time interval [0, 50]. On level \(L=1\) each domain, i. e. space and velocity, is divided into four equally sized subintervals which are refined globally for higher levels. For \(L=5\) one hundred times steps are performed, which are doubled for each increase in level. For the computation of the electrical field the midpoint rule is applied. A direct solver computes the resulting systems of linear equations for the transport as well as the potential equation.

Linear analysis shows that the electric field decays with a rate of \(\gamma \approx 0.153\) [32]. In Fig. 4 the electrical energy

$$\begin{aligned} \frac{1}{2} \, \int _{\Omega ^{(1)}} \Vert {\varvec{E}}(t,{\varvec{x}}) \Vert ^2 \, \mathrm d {\varvec{x}}\end{aligned}$$

exhibits the analytical decay rate up to \(t=25\) or \(t=30\) depending on the level L. Furthermore the invariants particle number, total energy and entropy, i.e.

$$\begin{aligned} \begin{aligned}&\int _{\Omega } f(t,{\varvec{x}},{\varvec{v}}) \, \mathrm d {\varvec{x}}\, \mathrm d {\varvec{v}}, \quad \frac{1}{2} \int _{\Omega } \vert {\varvec{v}}\vert ^2 \, f(t,{\varvec{x}},{\varvec{v}}) \, \mathrm d {\varvec{x}}\, \mathrm d {\varvec{v}}+ \frac{1}{2} \int _{\Omega ^{({\varvec{x}})}} \vert {\varvec{E}}(t,{\varvec{x}})\vert ^2 \, \mathrm d {\varvec{x}}, \quad \\&\int _{\Omega } \vert f(t,{\varvec{x}},{\varvec{v}})\vert ^2 \, \mathrm d {\varvec{x}}\, \mathrm d {\varvec{v}}\end{aligned} \end{aligned}$$
(23)

are shown. We see that the mass is almost conserved whereas the energy and entropy only up to a small error.

Fig. 4
figure 4

Simulation results of the 1+1-dimensional Landau damping for linear elements and different levels L; the electric energy including the analytical decay rate and relative error of the invariants (23)

In the 2+2-dimensional setting we use \(\Omega = (0, 4 \pi )^2 \times (-6, 6)^2\) and

$$\begin{aligned} f(0,{\varvec{x}},{\varvec{v}}) = \frac{1}{2\pi } \mathrm e^{-\vert {\varvec{v}}\vert ^2/2}\, \big ( 1 + \alpha \cos (k x_1) + \alpha \cos (k x_2)\big ), \quad \alpha = 10^{-2}, \, k = \frac{1}{2}. \end{aligned}$$

Again we simulate the system with the same settings as in the 1+1-dimensional case, where the coarsest meshes now consist of four by four squares. The results are shown in Fig. 5. Qualitatively the results of the 1+1-dimensional setting are reproduced with slightly higher errors.

Fig. 5
figure 5

Simulation results of the 2+2-dimensional Landau damping for linear elements and different levels L; the electric energy including the analytical decay rate and relative error of the invariants (23)

The second example is the two-stream instability, where two beams propagate in opposite directions. Here, small perturbations in the initial condition lead to an exponential increase in electrical energy and a subsequent saturation.

In the 1+1-dimensional case we use the periodic domain \(\Omega = (0,10\pi ) \times (-9,9)\) and the initial condition

$$\begin{aligned} f(0,x,v) = \frac{1}{2\sqrt{2\pi }} \left( \mathrm e^{-(v-v_0)^2/2} + \mathrm e^{-(v+v_0)^2/2} \right) \big (1 + \alpha \cos (k x)\big ),\end{aligned}$$

where \(\alpha = 10^{-3}\), \(k=1/5\) and \(v_0=2.4\). The results are shown in Fig. 6.

For all levels used, one observes an almost identical exponential increase of the electrical energy and a saturation where the energy remains almost constant. Regarding the physical invariants, the mass is almost conserved, while the total energy and especially the entropy show a strong increase. Comparing these results with the Landau damping, we see that this is a more challenging problem. We note that the increase in the error occurs during the time when the electrical energy increases exponentially and then remains almost constant.

Fig. 6
figure 6

Simulation results of the 1+1-dimensional two-stream instability for linear elements and different levels L

Now turning to the 2+2-dimensional case we let \(\Omega = (0,10\pi )^2 \times (-9,9)^2\) with periodic boundary condition and

$$\begin{aligned} f(0,{\varvec{x}},{\varvec{v}}) = \frac{1}{8\pi } \big ( 1 + \alpha \cos (k x_1) + \alpha \cos (k x_2)\big ) \prod _{k=1}^2 \left( \mathrm e^{-(v_i-v_0)^2/2} + \mathrm e^{-(v_i+v_0)^2/2} \right) , \end{aligned}$$

where again \(\alpha = 10^{-3}\), \(k=1/5\) and \(v_0=2.4\). The results are shown in Fig. 7.

The energy as well as the invariants show almost identical behavior as in the 1+1-dimensional case. Only the error of mass increases by several orders of magnitude, but is still small. The error of the invariants improves with increasing level L.

Fig. 7
figure 7

Simulation results of the 2+2-dimensional two-stream instability for linear elements and different levels L

In conclusion both tests show that the method can be used also in the case of nonlinear problems. However, the execution times are quite high: for the 2+2-dimensional two-stream instability the simulation takes a little less than 3 h for level \(L=5\), two days for \(L=6\), and two weeks for \(L=7\). Note that the code is still prototypical and not optimized for speed. For example, the problems (16) arising in the computation of the combination technique preconditioner were solved sequentially, although parallelization is possible. Furthermore, the solution of these systems is the most time-consuming part because of the lack of an efficient preconditioner. In contrast, the Richardson iteration as well as the fixed-point iteration of the density and the electric field require only a few iterations.

6 Outlook

In this paper we present a method which is capable of computing the solution of transport equations in moderately complex geometrical domains in up to 3+3-dimensional phase space. By representing sparse grid functions as a linear combination of grid functions in anisotropic full grid spaces, traditional finite element libraries can be used. The resulting regular data structures facilitate parallelization and the use of GPU acceleration. The resulting linear equation can be solved iteratively using a combination technique preconditioner. By using a fixed-point iteration, this can also be used to compute the solution of nonlinear Vlasov-Poisson equations.

We aim to use the method for more complex geometries—for example, to simulate a plasma in an accelerator [33]. For such realistic problems it will be necessary to further parallelize the method. Again, the combination technique naturally leads to independent problems where each problem is a transport equation on anisotropic full grids which itself can be solved on multiple machines. It remains to further investigate more efficient preconditioners for these systems.