1 Introduction

The flux reconstruction (FR) [2] method is a versatile numerical approach to approximating the solution of advection–diffusion equations and can be generalised to arbitrary order accuracy. A compelling advantage of the FR method is the dominance of locally structured computation in the algorithm, making it highly efficient on modern GPU hardware [3]. Furthermore, the FR method can be thought of as a generalisation of the discontinuous Galerkin (DG) [4, 5] method over the set of different lifting functions. Within the FR literature, these lifting functions are realised through what are called a correction functions. In the seminal work of Huynh [2], it was shown that changes to the correction function could result in significantly different numerical characteristics.

Families of correction functions can be formed by considering different norms in order to prove linear stability. The proofs of linear stability generally look to show that for a system such as:

$$\begin{aligned} \frac{\partial u(x,t)}{\partial {t}} + \frac{\partial f(u)}{\partial {x}} = 0, \quad \textrm{for} \quad u(x,t=0)=u_0(x), \quad x\in K\subset \mathbb {R}, \quad \textrm{and} \quad f = au.\nonumber \\ \end{aligned}$$
(1.1)

The objective of stability proofs for FR was to find some correction function where the following is true:

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert u\Vert ^2_A \le 0, \end{aligned}$$
(1.2)

for some norm A, such as in the work of Vincent et al. [6]. It was later shown by Allaneau and Jameson [7] and Zwanenburg and Nadarajah [8] that there is an equivalence between FR and linearly filtered DG. The work of Vincent et al. [9] defined a wider—multi-parameter—set of stable FR schemes which can be interpreted as a wider set of filters, with the filter implicitly defined by A. Concurrently, Ranocha et al. [10] showed how FR could be cast into a summation-by-parts (SBP) formulation to achieve the same results.

In the work of Castonguay et al. [1], and later that of Williams et al. [11], a stable set of FR schemes on triangles was defined that is analogous to those defined in 1D by Vincent et al. [6]. For simulations of real flows, triangular elements are advantageous due to the ease of mesh generation for complex geometries, such as via Delaunay triangulation. Concurrently to these works on FR, Balan et al. [12] defined a spectral difference (SD) method on triangles. The FR and SD methods are closely related [13]; however, previous works like that of Veilleux et al. [14] have used Fourier analysis with upwinding to find stable SD schemes. In general, SD schemes on triangles are weakly unstable, and we would like to answer if stable SD methods on triangles can be found as a subset of linearly stable FR methods.

The objective of this work is twofold, firstly we investigate the FR method on triangles further through the use of the SBP framework. We seek to extend the current definition of linearly stable FR methods on triangles from that of Castonguay et al. [1] to a definition analogous to that of Vincent et al. [9]. Furthermore, we will study the conditions needed for stability, symmetry, and conservation. Secondly, using this extended definition of stable FR on triangles we investigate the connection between FR and SD, and whether linearly stable SD methods can be found within this set of FR methods. With this in mind, this work is structured as follows. In Sect. 2 we introduce the FR method, previous correction functions, and the SBP framework. The main results of this work are presented in Sect. 3, where linear stability of the FR method on triangles is explored, and conditions are set out for conservation and symmetry. In Sect. 4, we define the new set of stable FR methods for several orders and prescribe there stability conditions. Then in Sect. 5 we use this extended range of stable FR of schemes to investigate SD on triangles. In Sect. 6 we present some brief numerical results from using the newly found FR schemes and finally conclusions are drawn in Sect. 7.

2 Preliminaries

2.1 Flux Reconstruction

The flux reconstruction (FR) method of Huynh [2] can be applied to advection and advection–diffusion systems as a method of spatial discretisation. In this work we solely focus on advection systems, and we now give a brief introduction to the FR method in one dimension. For a more detailed description of the method, readers can see references Huynh [2], Witherden and Vincent [15] and references therein.

Beginning with (3.1), the first stage of FR is to subdivide the domain K into N compatible sub-domains, \(\{K\}_{i\le N}\), such that:

$$\begin{aligned} K = \bigcup ^N_{i=1} K_i \quad \textrm{and} \quad K_i \cap K_j = {\left\{ \begin{array}{ll} K_i &{}\text{ if } i=j\\ \emptyset &{}\text{ otherwise } \end{array}\right. }. \end{aligned}$$
(2.1)

A reference sub-domain \(\hat{K}=[-1,1]\) is defined with the transformation \(T_i:K_i\mapsto \hat{K}\), such that interpolation and differentiation operators can be more efficiently applied. Here we will only consider affine elements, i.e. where \(T_i\) is a linear functional. For a given polynomial order, k, \(k+1\) solution points are placed in the sub-domains at the physical locations \(\{x_{ij}\}_{0\le j\le k}\), and in the reference sub-domain at \(\{\xi _{j}\}_{0\le j\le k}\).

Polynomials of the solution and flux functions from element \(K_i\) can be fitted in \(\hat{K}\) using a Lagrange finite-element as

$$\begin{aligned} \hat{u}_i(\xi )= & {} \sum ^k_{j=0}u_i(x_j)l_j(\xi ), \quad \textrm{and} \quad \hat{f}^\delta _i(\xi ) = \sum ^k_{j=0}f(u_i(x_j))l_j(\xi ), \quad \textrm{for}\nonumber \\ l_n(\xi )= & {} \prod ^{k}_{\begin{array}{c} j=0\\ j\ne n \end{array}}\frac{\xi - \xi _j}{\xi _n - \xi _j}. \end{aligned}$$
(2.2)

To the flux we have added superscript \(\delta \) to symbolise its correspondence to a discontinuous solution. An approximation to the continuous flux gradient is then formed via the correction procedure as

$$\begin{aligned} \frac{\partial \hat{f}}{\partial {\xi }} = \frac{\partial \hat{f}^\delta }{\partial {\xi }} + \left( \hat{f}^\textrm{num}_L - \hat{f}^\delta _L \right) \frac{\textrm{d} h_L}{\textrm{d} \xi } + \left( \hat{f}^\textrm{num}_R - \hat{f}^\delta _R \right) \frac{\textrm{d} h_R}{\textrm{d} \xi }. \end{aligned}$$
(2.3)

The last and penultimate terms on the right-hand side are used to correct the discontinuous flux to continuous; required for the method to be conservative. Subscripts L and R are used to denote a quantity at the left or right interface and in the case of \(\hat{f}^\delta \) these values are interpolated. For \(\hat{f}^\textrm{num}\) these are interface values that are common to the all the elements that share that interface point. Later for linear equations we will define how this is set, but for alternative equation sets approximate Riemann solver offer a suitable means of setting \(\hat{f}^\textrm{num}\).

In (2.3) we introduced the functions \(h_L\) and \(h_R\), these are the correction functions with the boundary conditions \(h_L(-1)=h_R(1)=1\) and \(h_R(-1)=h_L(1)=0\). Due to \(u_i\in \mathbb {P}_k\), we have that \(h_L,h_R\in \mathbb {P}_{k+1}\). Although it is not necessary, it is typical to set \(h_L\) and \(h_R\) as degree \(k+1\) polynomials. The primary aim of this paper is then how to set these correction functions such that methods are linearly stable.

Lastly, the corrected flux gradient can be coupled to an explicit time integration method, such as SSP-RK3, or coupled to some more complex implicit time-integration system, such as diagonally implicit Runge–Kutta [16].

2.2 Correction Functions

In the earliest paper on the subject of FR, Huynh [2] noted the different numerical properties realised by changing the correction function. In the later works of Vincent et al. [6, 17], these correction functions were extended to form continuous classes of functions in one-dimension. With all but one of the correction functions put forward by Huynh [2] being found to be in that class. In the more recent work by Trojak and Witherden [18], a weighted norm was used in the continuous analysis framework of Vincent et al. [6] to produce yet another one parameter family of correction functions with Jacobi orthogonal polynomials as the basis. This idea can be taken to the natural conclusion for any weight function that is positive almost every by using the three-term recurrence relation to generate sets of monic orthogonal polynomials [19].

An alternative approach that was taken by Trojak [20] was to extend the norm used to define stability. Previously, a limited Sobolev norm was used that was sufficient to define the topology of the approximation space, but does not fully capture it. The high order terms at the interfaces that occur in the stability analysis can not be reconciled with the analysis of Vincent et al. [17], it nonetheless showed that it was possible to construct vast sets of correction functions.

In the work of Castonguay et al. [1], an analogous family of correction functions to Vincent et al. [6] was defined on equilateral triangles. To define this, first consider the (mk)-differentiation operator in two dimensions as

$$\begin{aligned} D^{m,k} = \frac{\partial ^k}{\partial x^{p-m+1}\partial y^{m-1}}. \end{aligned}$$
(2.4)

The Dubiner basis [21] can then be defined as

Definition 2.1

(Dubiner Basis) The set

$$\begin{aligned} \phi _i(x,y) = \frac{2}{3^{1/4}}(1-b)^v\psi ^{(0,0)}_v(a)\psi _w^{(2v+1,0)}(b) \end{aligned}$$
(2.5)

is orthogonal over a reference equilateral triangle, where

$$\begin{aligned} a = \frac{3x}{2-\sqrt{3}y}, \quad \textrm{and}\quad b = \frac{2\sqrt{3}y-1}{3}. \end{aligned}$$
(2.6)

The orders w and v, are then integer solutions to:

$$\begin{aligned} 0= v^2 - (2k+3)v - 2(w-i+1)\quad \textrm{for}\quad 0\le v,w \quad \textrm{and} \quad w+v\le k. \end{aligned}$$
(2.7)

where \(\psi ^{(\alpha ,\beta )}_i\) is a normalised Jacobi polynomial and \(\psi _i^{(0,0)}=\psi _i\) is a normalised Legendre polynomial. With this definition we can define the set of basis polynomial as

$$\begin{aligned} \mathbb {Q}_k = \{\phi _i\}_{i\le (k+1)(k+2)/2} \end{aligned}$$
(2.8)

We can now define the correction function family of Castonguay et al. [1] in the following lemma

Lemma 2.2

(Castonguay et al. correction functions) For a flux point j at the \(\overline{\textbf{x}}_j\) and with surface quadrature wight \(w_j\), then defining the reconstructed divergence of the correction corresponding to point j as

$$\begin{aligned} \nabla \cdot \textbf{h}_j = \sum ^N_{i=1}\sigma _i\phi _i, \end{aligned}$$
(2.9)

then if the modal coefficients are found from

$$\begin{aligned} c\sum ^{N}_{l=1}\sigma _l\sum ^{k+1}_{m=1}\left( {\begin{array}{c}k\\ m-1\end{array}}\right) D^{m,k}\phi _iD^{m,k}\phi _l=-\sigma _i+w_j\delta _{ij}\phi _i(\overline{\textbf{x}}_j), \end{aligned}$$
(2.10)

a sufficient condition for linear stability of the resulting FR method is that \(c>0\).

Proof

See Castonguay et al. [1]. \(\square \)

Remark 2.3

Both the Dubiner basis and the Castonguay correction functions are defined on a triangle with a total order basis [22]. This is the most commonly used basis for simplex elements due to the trace space being a polynomial space, and so we will restrict our investigation to these elements.

The work discussed until now used a continuous approach to find correction functions. A different insight may be gained if a discrete approach is used. This was the approach used by Vincent et al. [9] to produce an extended range of stable corrections, which was later encompassed in the work of Trojak [20]. This discrete approach was further formalised within the summation-by-parts framework in the work of Ranocha et al. [10]. In that work it was also shown how a skew-symmetric split form with a lumped mass matrix could be used to prove stability for Burgers’ equation, but not in the general case.

2.3 Summation-By-Parts

Many advances have been made in the theory of DG and FR methods by considering the discrete problem. A foundation of these analytic techniques is the definition of summation-by-parts (SBP) operators.

First let us define the basic discrete operators that will be used throughout this work. If \(u_i\) is an approximation in element \(K_i\) to the function \(u\in C^1(K)\), where for our domain we have \(K\subset \mathbb {R}^d\). Then for some set of \(N_s\) solution points \(\textbf{x}_i=\{\textbf{x}_{i,j}\}_{j\le N_s}\) we have the vector \(\textbf{u}_i=u_i(\textbf{x}_i)\), which is the evaluation of \(u_i\) at the solution points. If \(l_j(\textbf{x})\) is the Lagrange polynomial corresponding to \(l_j(\textbf{x}_{i,k})=\delta _{jk}\), then we can define a mass matrix as

$$\begin{aligned} \textbf{u}_i^T\textbf{M}\textbf{u}_i = \int _{K_i} \left( \sum ^{N_s}_{j=1}u_i(\textbf{x}_{i,j})l_j(\textbf{x})\right) ^2\textrm{d}\textbf{x}. \end{aligned}$$
(2.11)

If we call the cardinal axes \(x_1,\dots ,x_d\), then we can define the differentiation operators

$$\begin{aligned} \textbf{D}_{x_1}\textbf{u}_i = \sum ^{N_s}_{j=1}u_i(\textbf{x}_{i,j})\frac{\textrm{d} l_j(\textbf{x})}{\textrm{d} x_1}, \quad \textbf{D}_{x_2}\textbf{u}_i = \sum ^{N_s}_{j=1}u_i(\textbf{x}_{i,j})\frac{\textrm{d} l_j(\textbf{x})}{\textrm{d} x_2}, \quad \dots \end{aligned}$$
(2.12)

In the following we will drop the subscript i for clarity except where it is explicitly needed.

Moving on to define SBP in higher-dimensions, we start with the analogy of integration-by-parts in higher dimensions

Definition 2.4

(Divergence integration-by-parts) For a scalar field, \(v\in C^1(K)\) and a vector field, \(\textbf{W}\in (C^1(K))^d\), in the closed domain \(K\subset \mathbb {R}^d\) with boundary \(\partial K\), then

$$\begin{aligned} \int _K v\nabla \cdot \textbf{W}\textrm{d}K + \int _K\nabla v\cdot \textbf{W}\textrm{d}K = \int _{\partial K} v\textbf{W}\cdot \textbf{n} \textrm{d}S. \end{aligned}$$
(2.13)

With this we may then define the generalised SBP relation as

Definition 2.5

(Generalised Summation-by-parts) For solutions \(u\in C^1(K)\) and \(U\in (C^1(K))^d\), let \(u_i\) and \(U_i\) be approximations in element \(K_i\) such that for some nodal point set \(\textbf{x}_i\{\textbf{x}_{i,j}\}_{j\le N_s}\) we have \(\textbf{u}_i = u_i(\textbf{x}_i)\) and \(\textbf{U}_i = U_i(\textbf{x}_i)\), then a set of operators is said to satisfy the generalised SBP property if:

$$\begin{aligned} \textbf{MD} + \textbf{G}^T\hat{\textbf{M}} = \textbf{L}^T_{\partial K}\textbf{W}_{\partial K}\textbf{N}\hat{\textbf{L}}_{\partial K}, \end{aligned}$$
(2.14)

where the divergence and gradient operators are defined as

$$\begin{aligned} \textbf{DU}_i = [\textbf{D}_{x_1}, \textbf{D}_{x_2}, \dots ]\textbf{U}_i = \nabla \cdot U_i \quad \textrm{and} \quad \textbf{Gu}_i = \begin{bmatrix} \textbf{D}_{x_1}\\ \textbf{D}_{x_2}\\ \vdots \end{bmatrix}\textbf{u} = \nabla u_i. \end{aligned}$$
(2.15)

Then defining the interpolation operator \(\textbf{L}_{\partial K}:K\mapsto \partial K\), and surface mass matrix, \(\textbf{W}_{\partial K}\), such that

$$\begin{aligned} \textbf{u}_i^T\textbf{L}_{\partial K}\textbf{W}_{\partial K}\textbf{N}\hat{\textbf{L}}_{\partial K}\textbf{U}_i = \int _{\partial K}u_iU_i\cdot \textbf{n}_i\textrm{d}s, \end{aligned}$$
(2.16)

where \(\textbf{n}\) is a vector of outwards facing normals at the interface. Finally, the Kronecker product of a matrix with the identity matrix is denoted by

$$\begin{aligned} \hat{\textbf{A}} = \textbf{I}_d\otimes \textbf{A}. \end{aligned}$$
(2.17)

Examples of the matrices defined here can be found in Sect. B.

Remark 2.6

From this definition of SBP we see that the restriction on the mass matrix is that it should accurately integrate all functions in at least \(\mathbb {Q}_{2k-1}\). From the definition of the mass matrix in (2.11) this is true, however, in many applications this may not be true if using a quadrature. This case is explicitly handled in Sect. A.

SBP is simply a discrete restatement of integration-by-parts. The advantage is it permits the development of discrete analogues of continuous properties of the physical system. The earliest discussion of SBP in the context of finite element methods, to the authors’ knowledge, is that of Fisher and Carpenter [23]. This was an adaptation of ideas previously used throughout the finite difference community. There are many works studying SBP in a finite difference context, with some of the earliest works including Carpenter and Otto [24] and Olsson [25]. An important work in concreting the utility of these approaches is that of Carpenter et al. [26]. There it was shown that for finite differences applied to hyperbolic systems, a scheme with energy bounded via SBP leads to the solution being bounded in the continuous problem. This is important as it shows consistency of the discrete stability analysis and the continuous problem.

In general the exploration of SBP operators has largely focused on one-dimension, but some recent works have move beyond this. For example, on tensor-product elements [27]. In the work of Hicken et al. [28] they were able to extend the theory to simplex elements using the generalisation of SBP by Fernández et al. [29]. The form given in [29] is analogous to that shown in Definition 2.5.

The operators set out in Definition 2.5 can then be used to construct the FR scheme. First consider a linear advection equation such as

$$\begin{aligned} \frac{\partial u}{\partial {t}} + \nabla \cdot \textbf{f} = 0, \end{aligned}$$
(2.18)

where \(\textbf{f}=\textbf{a}u\). The FR discretisation of the spatial derivatives can be written within the SBP framework as:

$$\begin{aligned} \frac{\partial \textbf{u}}{\partial {t}} = -\textbf{D}\textbf{F} - \textbf{C}\left[ (\textbf{n}\cdot \textbf{F}^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F})\right] \end{aligned}$$
(2.19)

where \(\textbf{C}\) is the correction function matrix.

In the previous work of Castonguay et al. [1] and Vincent et al. [9], the modal form was used in the presentation of the stable correction functions as the forms are far sparser. Transformation from a nodal to modal representation is defined via

$$\begin{aligned} \textbf{u} = \textbf{V}\tilde{\textbf{u}}, \end{aligned}$$
(2.20)

where \(\tilde{\textbf{u}}\) is a vector of modal coefficients, and \(\textbf{V}\) is the Vandermonde matrix. Throughout the rest of this work we will use a tilde to denote a matrix of vector in the modal representation.

3 Linear Stability Analysis

To study linear stability, we prescribe the system being solved as a generalised linear advection equation with the form:

$$\begin{aligned} \frac{\partial u}{\partial {t}} + \nabla \cdot (u\otimes \textbf{a}) = 0, \quad \textrm{for} \quad \textbf{a} = [a_{x_1},a_{x_2},\dots ]^T. \end{aligned}$$
(3.1)

First we consider the known correction function where FR corresponds to DG, here stability is found in the \(L_2\) norm induced by \(\textbf{M}\). We do this to demonstrate the use of the SBP framework in higher dimensions and to more clearly set out the interface treatment.

Lemma 3.1

(Linear Stability) Setting the nodal solution as \(\textbf{u}_i=u(\textbf{x}_i)\) and linear nodal flux as \(\textbf{F} = [a_{x_1},a_{x_2},\dots ]^T\otimes \textbf{u}\), then for the FR scheme applied to (3.1), the following conditions

$$\begin{aligned} \textbf{C}= & {} \textbf{M}^{-1}\textbf{L}_\partial ^T\textbf{W}_\partial , \end{aligned}$$
(3.2)
$$\begin{aligned} \textbf{W}_\partial= & {} \textrm{diag}(\textbf{w}_\partial ), \quad \text {and} \quad \textbf{w}_i\ge 0, \end{aligned}$$
(3.3)

and

$$\begin{aligned} (\textbf{n}\cdot F)^{\textrm{num} +}_j&= \frac{1}{2}(\textbf{n}_j^+\cdot \textbf{a})(u_j^+ + u_j^-) - \frac{1}{2}\kappa |\textbf{n}_j^+\cdot \textbf{a}|(u_j^- - u_j^+), \quad \text {and} \end{aligned}$$
(3.4a)
$$\begin{aligned} (\textbf{n}\cdot F)^{\textrm{num} -}_j&= \frac{1}{2}(\textbf{n}_j^-\cdot \textbf{a})(u_j^- + u_j^+) - \frac{1}{2}\kappa |\textbf{n}_j^-\cdot \textbf{a}|(u_j^+ - u_j^-), \quad \text {for} \quad \kappa \in [0,1], \end{aligned}$$
(3.4b)

are sufficient for energy stability in the norm induced by the mass matrix, \(\textbf{M}\), i.e.

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert _M^2 \le 0. \end{aligned}$$
(3.5)

Proof

The FR method applied to (3.1) can be written as

$$\begin{aligned} \frac{\textrm{d} \textbf{u}}{\textrm{d} t} = -\textbf{DF} - \textbf{C}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F}\right] . \end{aligned}$$

Then multiplying this by \(\textbf{u}^T\textbf{M}\) we get

$$\begin{aligned} \textbf{u}^T\frac{\textrm{d} }{\textrm{d} t}\textbf{Mu} = -\textbf{u}^T\textbf{MDF} - \textbf{u}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F}\right] , \end{aligned}$$
(3.6)

we can then apply (2.14) to obtain a second equation

$$\begin{aligned} \textbf{u}^T\frac{\textrm{d} }{\textrm{d} t}\textbf{Mu} = \textbf{u}^T\textbf{G}^T\hat{\textbf{M}}\textbf{F} - \textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - \textbf{u}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F}\right] . \end{aligned}$$
(3.7)

(3.6) and (3.7) can then be combined to give

$$\begin{aligned} 2\textbf{u}^T\frac{\textrm{d} }{\textrm{d} t}\textbf{Mu} = \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert _M^2 = - \textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - 2\textbf{u}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F}\right] \end{aligned}$$
(3.8)

here we have used the symmetry of \(\textbf{M}\) which leads to \(\textbf{u}^T\textbf{G}^T\hat{\textbf{M}}\textbf{F} - \textbf{u}^T\textbf{MDF}=0\). Then applying (3.2) we recover

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert _M^2 = \textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - 2\textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial (\textbf{n}\cdot \textbf{F})^\textrm{num} = \textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial (\textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - 2(\textbf{n}\cdot \textbf{F})^\textrm{num}).\nonumber \\ \end{aligned}$$
(3.9)

Now considering a mesh of multiple elements and focusing on a single point on the boundary of an element, say point j. Using the condition that \(\textbf{W}_\partial \) is diagonal, then the global contribution to the right-hand-side of (3.9) from point j is:

$$\begin{aligned} u_j^-w_j^-\left[ (\textbf{n}_j^-\cdot F_j^-) - 2(\textbf{n}\cdot F)^{\textrm{num}-}_j\right] + u_j^+w_j^+\left[ (\textbf{n}^+_j\cdot F_j^+) - 2(\textbf{n}\cdot F)^{\textrm{num}+}_j\right] . \end{aligned}$$
(3.10)

Here − and \(+\) are the contributions from either side of the interface, and from (3.3) \(w_j\) is the positive surface quadrature weight at j. Then setting the numerical flux from (3.4) we obtain

$$\begin{aligned}{} & {} u_j^-w_j^-\left[ (\textbf{n}_j^-\cdot F_j^-) - 2(\textbf{n}\cdot F)^{\textrm{num}-}_j\right] + u_j^+w_j^+\left[ (\textbf{n}^+_j\cdot F_j^+) - 2(\textbf{n}\cdot F)^{\textrm{num}+}_j\right] \nonumber \\{} & {} \quad = u_j^+u_j^-(\textbf{n}_j\cdot \textbf{a})(w_j^--w_j^+) - \kappa |\textbf{n}_j\cdot \textbf{a}|(u_j^--u_j^+)(w_j^-u_j^--w_j^+u_j^+), \end{aligned}$$
(3.11)

where we have used \(\textbf{n}_j^+=-\textbf{n}_j^-\) by definition for a conformal mesh. Applying (3.15a) we recover

$$\begin{aligned}{} & {} u_j^+u_j^-(\textbf{n}_j\cdot \textbf{a})(w_j^--w_j^+) - \kappa |\textbf{n}_j\cdot \textbf{a}|(u_j^--u_j^+)(w_j^-u_j^--w_j^+u_j^+)\nonumber \\{} & {} \quad = -\kappa |\textbf{n}_j\cdot \textbf{a}|w^+_j(u_j^--u_j^+)^2\le 0, \end{aligned}$$
(3.12)

where we further assume that \(w_j^-=w_j^+\) i.e. the flux points used here have some degree of rotational symmetry. And hence summing over the domain we recover the required result of

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert ^2_M \le 0. \end{aligned}$$
(3.13)

\(\square \)

As described in Sect. 2, Vincent et al. [9] and later Ranocha et al. [10] were able to derive a multi-parameter extended-range set of FR methods in one dimension that were linearly stable. These methods were found to be stable in a modified norm such that:

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\textbf{u}^T(\textbf{M}+\textbf{Q})\textbf{u} = \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert _{M+Q}^2 \le 0 \end{aligned}$$
(3.14)

We now generalise this set of methods to higher dimensions in the following lemma

Lemma 3.2

(Extended-range linear stability) For the conditions set out in Lemma 3.1, with the additional constraints that

$$\begin{aligned}&\textbf{Q} - \textbf{Q}^T = 0 \end{aligned}$$
(3.15a)
$$\begin{aligned}&\textbf{QD}_{x_i} + \textbf{D}^T_{x_i}\textbf{Q}^T = 0 \quad \forall \; i\in \{1,\cdots ,d\} \end{aligned}$$
(3.15b)
$$\begin{aligned}&\textbf{v}^T(\textbf{M} + \textbf{Q})\textbf{v} > 0, \quad \forall \; \textbf{v}\in \mathbb {R}^{N_k}\setminus 0 \end{aligned}$$
(3.15c)

and the modified condition that

$$\begin{aligned} \textbf{C} = (\textbf{M} + \textbf{Q})^{-1}\textbf{L}_\partial ^T\textbf{W}_\partial , \end{aligned}$$
(3.16)

then FR applied to (3.1) is stable in the norm induced by \((\textbf{M}+\textbf{Q})\), i.e.

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert ^2_{M+Q} \le 0. \end{aligned}$$
(3.17)

Proof

Following the same steps as in the proof of Lemma 3.1 and using the modified condition in (3.16) we obtain

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert _{M+Q}^2 = -2\textbf{u}^T\textbf{QDF} - \textbf{u}^T\textbf{L}^T_\partial \textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - 2\textbf{u}^T(\textbf{M}+\textbf{Q})\textbf{C}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_\partial \textbf{F}\right] \nonumber \\ \end{aligned}$$
(3.18)

Then applying (3.15a) and (3.15b), the first term of the right-hand-side is found to be zero, and so proceeding with the proof of Lemma 3.1, we achieve the required results of

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\Vert \textbf{u}\Vert ^2_{M+Q} \le 0 \end{aligned}$$
(3.19)

The final condition (3.15c) is used to ensure that the norm induced by \(\textbf{M}+\textbf{Q}\) is a valid norm.

\(\square \)

Examples of the matrices defined here can be found in Sect. B.

Remark 3.3

A stricter condition on \(\textbf{Q}\) is \(\textbf{QD} =- \textbf{G}^T\hat{\textbf{Q}}\); however, when looking for a \(\textbf{Q}\) that satisfies this the solution \(\textbf{Q}=\textbf{0}\) is typically recovered. Alternatively, if the less strict condition (3.15b) is used, a wider range of valid \(\textbf{Q}\) matrices can be found that still guarantee linear stability.

Remark 3.4

By finding a norm \(\Vert \textbf{u}\Vert _{M+Q}\) where the solution norm monotonically decays in time, we can use the equivalence of norms to infer stability. Therefore, as \(c\Vert \textbf{u}\Vert _M\le \Vert \textbf{u}|_{M+Q}\le C\Vert \textbf{u}\Vert _M\), the norm \(\Vert \textbf{u}\Vert _M\) may not decay monotonically in time, but its rate of decay must remain bounded.

It is often convenient to consider methods in the modal form rather than the nodal form, but to be confident that a scheme found to be stable in modal form is stable in nodal form consider the following:

Corollary 3.5

(Nodal-modal equivalence) The stability of a scheme that satisfies conditions (3.3), (3.4), (3.15), and (3.16) is independent of modal or nodal representation, provided \(\textbf{V}\) is invertible.

Proof

To prove this it is sufficient to show that the conditions (3.15), if satisfied in one frame, are satisfied in the other. First consider the transform of \(\textbf{Q}\) as

$$\begin{aligned} \tilde{\textbf{Q}} = \textbf{V}^T\textbf{Q}\textbf{V}, \end{aligned}$$
(3.20)

clearly if \(\textbf{Q}=\textbf{Q}^T\) then \(\tilde{\textbf{Q}}=\tilde{\textbf{Q}}^T\). Next considering the skew symmetry property we have

$$\begin{aligned} \textbf{QD} = \textbf{V}^{-T}\tilde{\textbf{Q}}\textbf{V}^{-1}\textbf{V}\tilde{\textbf{D}}\textbf{V}^{-1} = \textbf{V}^{-T}\tilde{\textbf{Q}}\tilde{\textbf{D}}\textbf{V}^{-1} \end{aligned}$$
(3.21)

and

$$\begin{aligned} -\textbf{D}^T\textbf{Q} = -(\textbf{V}\tilde{\textbf{D}}\textbf{V}^{-1})^T\textbf{V}^{-T}\tilde{\textbf{Q}}\textbf{V}^{-1} = -\textbf{V}^{-T}\tilde{\textbf{D}}^T\tilde{\textbf{Q}}\textbf{V}^{-1}. \end{aligned}$$
(3.22)

Therefore, if \(\textbf{QD} = -\textbf{D}^T\textbf{Q}\), then \(\tilde{\textbf{Q}}\tilde{\textbf{D}}=-\tilde{\textbf{D}}^T\tilde{\textbf{Q}}\). Lastly for (3.15c) we have to show that if \(\textbf{M}+\textbf{Q}\) is positive definite, then so is \(\tilde{\textbf{M}}+\tilde{\textbf{Q}}\). Considering this property we have that:

$$\begin{aligned} \textbf{w}^T(\textbf{M}+\textbf{Q})\textbf{V}^{-1}\textbf{w} = \textbf{w}^T\textbf{V}^{-T}(\tilde{\textbf{M}}+\tilde{\textbf{Q}})\textbf{V}^{-1}\textbf{w} = \textbf{v}^T(\tilde{\textbf{M}}+\tilde{\textbf{Q}})\textbf{v} > 0, \end{aligned}$$
(3.23)

which holds as \(\textbf{V}\) is full rank. This completes the proof. \(\square \)

3.1 Conservation

Lemma 3.6

(Linear conservation) Consider the d-dimensional FR method with linear flux function such that, for Banach space V, \(\textbf{u}\in V\) and \(\textbf{F} = F(\textbf{u})\in (V^\prime ,V)^d\), then sufficient conditions for conservation are that the gradient operator is are least first order accurate, i.e.

$$\begin{aligned} \textbf{G1} = \textbf{0}, \end{aligned}$$
(3.24)

and that the lifting operator is such that

$$\begin{aligned} \textbf{1}^T\textbf{MC} = \textbf{1}^T\textbf{L}^T_\partial \textbf{W}_\partial . \end{aligned}$$
(3.25)

Proof

Let \(\textbf{u}_i=u(\textbf{x}_i)\) and \(\textbf{F} = F(\textbf{u})\), then the FR method can be written as

$$\begin{aligned} \frac{\textrm{d} \textbf{u}}{\textrm{d} t} = -\textbf{DF} - \textbf{C}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_{\partial }\textbf{F}\right] \end{aligned}$$
(3.26)

Then multiplying by \(\textbf{1}^T\textbf{M}\) we obtain

$$\begin{aligned} \textbf{1}^T\frac{\textrm{d} }{\textrm{d} t}\textbf{Mu}= \frac{\textrm{d} }{\textrm{d} t}\textbf{1}^T\textbf{Mu} = -\textbf{1}^T\textbf{MDF} - \textbf{1}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_{\partial }\textbf{F}\right] . \end{aligned}$$

Then applying (2.14) we obtain

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\textbf{1}^T\textbf{Mu} = \textbf{1}^T\textbf{G}^T\hat{\textbf{M}}\textbf{F} - \textbf{1}^T\textbf{L}_\partial ^T\textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - \textbf{1}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_{\partial }\textbf{F}\right] . \end{aligned}$$

If (3.24) holds, then we obtain

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\textbf{1}^T\textbf{Mu} = - \textbf{1}^T\textbf{L}_\partial ^T\textbf{W}_\partial \textbf{N}\hat{\textbf{L}}_\partial \textbf{F} - \textbf{1}^T\textbf{MC}\left[ (\textbf{n}\cdot \textbf{F})^\textrm{num} - \textbf{N}\hat{\textbf{L}}_{\partial }\textbf{F}\right] , \end{aligned}$$

and proceeding to apply (3.25) we get

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\textbf{1}^T\textbf{Mu} = - \textbf{1}^T\textbf{L}^T_\partial \textbf{W}_\partial (\textbf{n}\cdot \textbf{F})^\textrm{num}. \end{aligned}$$

The term on the right-hand side is discrete statement of divergence theorem, which in 1D would give \(f_R - f_L\). Therefore, the scheme is conservative. \(\square \)

Remark 3.7

A similar lemma can be defined for non-linear flux functions, if an intermediate set of quadrature points is used, see Chan [30].

Here we set \(\textbf{Q}=0\), but Vincent et al. [9] showed how changing \(\textbf{Q}\) could lead some methods to be non-conservative in an integral with unit measure. Conservation of the extended range of stable schemes is then considered in the following lemma

Lemma 3.8

(Conservation of extended schemes) For an FR scheme that satisfies (3.3), (3.4), (3.15), and (3.16), with a linear flux function, then if the following condition is also satisfied

$$\begin{aligned} \textbf{1}^T\textbf{M}(\textbf{M}+\textbf{Q})^{-1}\textbf{L}^T_\partial \textbf{W}_\partial = \textbf{1}^T\textbf{L}^T_\partial \textbf{W}_\partial \end{aligned}$$
(3.27)

then the scheme is conservative in that

$$\begin{aligned} \frac{\textrm{d} }{\textrm{d} t}\textbf{1}^T\textbf{Mu} = \textbf{f}_l - \textbf{f}_r \end{aligned}$$
(3.28)

This can be straightforwardly seen from Lemma 3.6 and (3.16).

Remark 3.9

What can be seen from Lemma 3.6 and Lemma 3.2 is that any FR method satisfying (3.3), (3.4), (3.15), and (3.16) for a linear flux, is automatically conservative in terms of the norm induced by \(\textbf{M}+\textbf{Q}\). However, this is not physical and could lead to schemes that are not consistent.

3.2 Symmetry Conditions

It is taken as axiomatic that the numerical method should be independent of node ordering, or element orientation. As the correction function can change the numerical characteristics of the FR method; therefore, the correction function is required to have some degree of symmetry.

Defining the cardinal axes for different face reference frames, as in Fig. 1a, the transformation of reference coordinates can be made via:

$$\begin{aligned} x^\prime (\theta ) = x\cos \theta + y\sin \theta , \quad \textrm{and} \quad y^\prime (\theta ) = -x\sin \theta + y\cos \theta . \end{aligned}$$
(3.29)

A transformation matrix, \(\tilde{\textbf{T}}_{mn}\), can then be defined which transforms the basis from the face reference space with \(\theta _m\) to \(\theta _n\). This allows rotational symmetry conditions to be imposed on \(\tilde{\textbf{Q}}\) to give

$$\begin{aligned} \tilde{\textbf{T}}_{mn}\tilde{\textbf{Q}} = \tilde{\textbf{Q}}\tilde{\textbf{T}}_{mn}. \end{aligned}$$
(3.30)

This condition ensures that a function such as \(\phi _i(x,y)\) and the same function rotated to the new reference, \(\phi ^\prime _i(x^\prime ,y^\prime )\), then have the same value in the norm induced by \(\textbf{M} + \textbf{Q}\).

Fig. 1
figure 1

Reference triangle and symmetry definitions

A further symmetry condition is that, given a pair of flux points on a face that are symmetric about some axis, the corresponding correction functions should be symmetric. This gives the condition that

$$\begin{aligned} \tilde{\textbf{S}}_x\tilde{\textbf{Q}} = \tilde{\textbf{Q}}\tilde{\textbf{S}}_x, \end{aligned}$$
(3.31)

where x is the axis of symmetry and \(\tilde{\textbf{S}}_x\) is a matrix that reflects the modes about the axis x. A comparable axial symmetry condition was proposed by Ranocha et al. [10] for use in one-dimension. Finally, when applying symmetry conditions care must be taken to not over constrain the system. This occurs when one symmetry in the reference frame of a face is a linear combination of other symmetry conditions, and is often indicated by the erroneous recovery of \(\tilde{\textbf{Q}}:=0\). For the reference triangle this means that applying two rotational symmetries and one axial symmetry is over constrained as one rational symmetry can be expressed using the other rotation and the axial symmetry.

4 Extended-Range Scheme on Triangle

Vincent et al. [9] and Ranocha et al. [10] derived an extended range of energy stable 1D correction functions and the analysis presented in Sect. 3 derived the conditions required to extend this family to triangles. We now set out this generalised extended range of stable correction functions for several orders using the reference triangle shown in Fig. 1b. Furthermore, schemes will be defined in the modal form due to the sparsity of the matrices, and is supported by Corollary 3.5.

In this section we also look to recover the single parameter schemes of Castonguay et al. [1]. This set can be cast into the SBP framework with the following definition:

Definition 4.1

(Castonguay et al. simplex method) Given the reference triangular element of Fig. 1b and a total order basis, FR is found to be stable in the broken Sobolev norm:

$$\begin{aligned} \frac{1}{2}\int _{\hat{K}} u^2 + \frac{c}{A}\sum ^{k+1}_{m=1} {{k}\atopwithdelims (){m-1}} \left( D^{m,k}u\right) ^2\textrm{d}\textbf{x}, \end{aligned}$$
(4.1)

where \(A=|\hat{K}|\). This can then be used to define \(\tilde{\textbf{Q}}_\textrm{C}\) required to recover this set of methods in the extended range of stable schemes defined here. Therefore:

$$\begin{aligned} \tilde{\textbf{Q}}_\textrm{C} = \frac{c}{A}\sum ^{k+1}_{m=1}{{k}\atopwithdelims (){m-1}}\left( \tilde{\textbf{K}}^{m,k}\right) ^T\tilde{\textbf{M}}\tilde{\textbf{K}}^{m,k}, \quad \textrm{for}\quad \tilde{\textbf{K}}^{k,m}=\tilde{\textbf{D}}_r^{k-m+1}\tilde{\textbf{D}}_s^{m-1}. \end{aligned}$$
(4.2)

In what follows we will then look if and how this \(\tilde{\textbf{Q}}_C\) matrix be recovered in the new set of schemes defined, and what the constraints on c are for stability.

4.1 \(k=2\)

Setting \(k=2\) we can find that the modal correction mass matrix is:

$$\begin{aligned} \tilde{\textbf{Q}} = \begin{bmatrix} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} (5q_0 - q_1)/4 &{} 0 &{} 0 &{} (q_0 - q_1)\sqrt{5/4} \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} q_1 &{} 0 \\ 0 &{} 0 &{} (q_0 - q_1)\sqrt{5/4} &{} 0 &{} 0 &{} q_0 \end{bmatrix}. \end{aligned}$$
(4.3)

From (3.15c) we have the requirement that \(\tilde{\textbf{M}}+\tilde{\textbf{Q}}\) is positive definite. This implies that the leading diagonal of a Cholesky factorisation of \(\tilde{\textbf{M}}+\tilde{\textbf{Q}}\) has to be real and positive, leading to the following conditions on stability:

$$\begin{aligned} q_1> -1 \quad \textrm{and} \quad 9q_0 - 5q_1 > -4. \end{aligned}$$
(4.4)

The single parameter FR scheme of Definition 4.1 is then recovered for

$$\begin{aligned} q_0 = \frac{410c}{3}, \quad \textrm{and} \quad q_1 = 150c, \end{aligned}$$
(4.5)

which leads to the stability condition that

$$\begin{aligned} c > -\frac{1}{150}. \end{aligned}$$
(4.6)

4.2 \(k=3\)

Setting \(k=3\) we can find that the modal correction mass matrix is:

(4.7)

with stability limits of:

$$\begin{aligned} 28q_0 + 7q_1 + 4\sqrt{21}q_2&> -35, \end{aligned}$$
(4.8a)
$$\begin{aligned} 21q_0 - 4\sqrt{21}q_2&> -21, \end{aligned}$$
(4.8b)
$$\begin{aligned} (7 q_0 + \sqrt{21}q_2 + 7)(7q_0 - 42q_1 + \sqrt{21} q_2 - 35)&> 0, \end{aligned}$$
(4.8c)
$$\begin{aligned} (7q_0 + \sqrt{21}q_2 + 7)(3q_0 - \sqrt{21}q_2 + 3)&>0. \end{aligned}$$
(4.8d)

The single parameter scheme of Definition 4.1 is then recovered with

$$\begin{aligned} q_0 = 6384c,\quad q_1 = \frac{27440c}{3},\quad \textrm{and} \quad q_2 = -168\sqrt{21}c, \end{aligned}$$
(4.9)

subject to the stability condition that

$$\begin{aligned} c > -\frac{1}{9800}. \end{aligned}$$
(4.10)

As an example of how the correction functions are effected by \(\tilde{\textbf{Q}}\), consider Fig. 2 which shows the divergence of the DG correction field and Fig. 3 which shows the divergence of the correction field for \(\tilde{\textbf{Q}}(q_0=1,q_1=1,q_2=1)\).

Fig. 2
figure 2

Divergence of the correction field for \(k=3\) with \(q_0=q_1=q_2=0\), i.e. DG, for two flux points shown in red (Color figure online)

Fig. 3
figure 3

Divergence of the correction field for \(k=3\) with \(q_0=q_1=q_2=1\) for two flux points shown in red (Color figure online)

4.3 \(k=4\)

Finally repeating this analysis for \(k=4\), we find the following definition of the \(\tilde{\textbf{Q}}\) matrix.

(4.11a)
$$\begin{aligned} \textrm{for}&{\left\{ \begin{array}{ll} \theta _0 &{}= (16\sqrt{21}q_0 + 98q_1 + 99q_2 - 9\sqrt{5}q_3)/98 \\ \theta _1 &{}= (8\sqrt{21}q_0 + 42q_1 + 75q_2 - 45\sqrt{5}q_3)/42 \\ \theta _2 &{}= (5\sqrt{105}q_0 + 20\sqrt{5}q_2 - 18q_3)/49 \\ \theta _3 &{}= (4\sqrt{21}q_0 + 147q_1 + 240q_2 - 102\sqrt{5}q_3)/147 \\ \theta _4 &{}= (2\sqrt{21}q_0 + 6q_1 + 12q_2 - 3\sqrt{5}q_3)/6 \end{array}\right. } \end{aligned}$$
(4.11b)

subject to the constraints on stability that:

$$\begin{aligned}&\theta _4 > -1 \end{aligned}$$
(4.12a)
$$\begin{aligned}&q_1 > -1\end{aligned}$$
(4.12b)
$$\begin{aligned}&- q_3^2 + \theta _3 + \theta _4 + \theta _3\theta _4 > -1 \end{aligned}$$
(4.12c)
$$\begin{aligned}&- q_0^2 + q_1 + \theta _1 + q_1\theta _1 > -1 \end{aligned}$$
(4.12d)
$$\begin{aligned}&2 \theta _2q_2 q_3 + \theta _3 (\theta _4 - q_2^2 + 1) + \theta _0 ((\theta _3 + 1) (\theta _4 + 1) - q_3^2) \nonumber \\&\quad - (\theta _4 + 1) \theta _2^2 + \theta _4 - q_2^2 - q_3^2 > -1. \end{aligned}$$
(4.12e)

The single parameter family of Definition 4.1 is then found as a subset when

$$\begin{aligned} q_0 = -30240\sqrt{21}c,\quad q_1 = 56440c,\quad q_2 = 5040c, \quad \textrm{and} \quad q_3 = -80640\sqrt{5}c, \end{aligned}$$
(4.13)

with the stability condition of:

$$\begin{aligned} c > \frac{\sqrt{1129}-115}{76204800}. \end{aligned}$$
(4.14)

The procedure to find \(\tilde{\textbf{Q}}\) and the stability conditions can be generalised for arbitrary order using a symbolic manipulation tool. Performing analysis for higher orders, the stability conditions for the single parameter Castonguay et al. [1] can be tabulated as in Table 1. For \(k>5\) it is does not seem possible to get a closed expression for the stability limit as the value of c is the root of a high order polynomial. For example, at \(k=6\) the polynomial is order seven.

Table 1 Stability limits for single parameter Castonguay et al. [1] correction functions on triangles

5 Spectral Difference Methods

The spectral difference (SD) method [31] is a high-order method similar to FR but with the flux evaluated at staggered set of points, analogous to the method of Kopriva and Kolias [32]. The nodal basis of the flux is then chosen such that it lies in the Raviart–Thomas [33] space of the approximation space.Footnote 1 This has the effect of elevating the flux function order, which has been found to give rise to better aliasing properties [34].

In the 1D linear case, SD can be found to be a member of the one parameter class of FR methods [6, 18]. Using the generalisation of Trojak and Witherden [18], the SD correction functions can be expressed as

$$\begin{aligned} h_L(x) = \frac{(-1)^k}{2}(1-x)J^{(\alpha ,\beta )}_{k-1}(x), \quad \textrm{and} \quad h_R(x) = \frac{1}{2}(x+1)J^{(\alpha ,\beta )}_{k-1}(x). \end{aligned}$$
(5.1)

Jameson [13] has previously shown that in 1D the only linearly stable SD scheme is that corresponding to \((\alpha ,\beta )=(0,0)\), i.e. the interior flux points are located at the Gauss–Legendre nodes. Trojak and Witherden [18] showed that Fourier analysis can be effectively used to find stable SD schemes with alternative point layouts for which linear stability proofs could not be constructed.

A long-standing difficulty has existed in defining linearly stable SD schemes on triangles. Schemes can be constructed for tensor product elements on a maximal order basis, such as quadrilaterals and hexahedrals. However, simplex elements have proven to be more difficult, with some schemes found via Fourier analysis that are stable under interface upwinding. The broad set of stable schemes outlined in Sect. 4 offers a promising route to find generally stable SD method.

5.1 One-Dimension

As an initial test of a procedure to find SD correction functions, we look to confirm the SD stability theorem of Jameson [13] in 1D. Here we assume that the interior flux points are placed symmetrically within an element, and when there is an odd number of interior points a single point is placed at the centre. A numerical version of this study has previously been performed by den Abeele et al. [35].

Fig. 4
figure 4

Example schematic of points in a one dimensional spectral difference element

Using a point layout similar to the example shown in Fig. 4, the nodal representation of the 1D correction functions can be written as

$$\begin{aligned} h_L(x)= & {} \frac{(1-x)x^{n}\prod ^{m}_{i=1}(x-z_i)(x+z_i)}{(-1)^{p+1}2\prod ^{m}_{i=1}(1+z_i)(1-z_i)}, \quad \textrm{and} \nonumber \\ h_R(x)= & {} \frac{(1+x)x^{n}\prod ^{m}_{i=1}(x-z_i)(x+z_i)}{2\prod ^{m}_{i=1}(1+z_i)(1-z_i)}, \end{aligned}$$
(5.2)

for \(m=\lfloor p/2\rfloor \) and \(n=p\mod 2\). This can then be differentiated and transformed into a modal representation allowing for \(\tilde{\textbf{Q}}\) to be found via:

$$\begin{aligned} \tilde{\textbf{Q}}\tilde{\textbf{C}}_\textrm{SD} = -\tilde{\textbf{M}}(\tilde{\textbf{C}}_\textrm{SD} - \tilde{\textbf{C}}_\textrm{DG}). \end{aligned}$$
(5.3)

Here the interpolation operators have been factored out by using the DG correction matrix to give system that is more straightforwardly solved. For \(k=3\), we have \(m=1\) and \(n=1\), and we find \(\tilde{\textbf{Q}}\) as

$$\begin{aligned} \tilde{\textbf{Q}} = \begin{bmatrix} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} q_1 \\ 0 &{} 0 &{} q_2 &{} 0 \\ 0 &{} q_1 &{} 0 &{} q_0 \end{bmatrix}, \;\;\textrm{for} {\left\{ \begin{array}{ll} q_0 &{}= -\frac{5(105z_1^4-161z_1^2+54)}{112},\\ q_1 &{}= \frac{3(3-5z_1^2)}{4}, \\ q_2 &{}= \frac{3-5z_1^2}{5}. \end{array}\right. } \end{aligned}$$
(5.4)

However, from (3.15b) we have the additional constraint that \(q_1 = -5q_2/3\), which can only be satisfied if \(q_1=q_2=0\). This occurs when \(z_1=\pm \sqrt{3/5}\), which when combined with the flux point at \(x=0\), gives the interior flux points as the nodes of the Gauss–Legendre quadrature. This confirms the result of Jameson [13] and when \(z_1\) is substituted into \(q_0\) we find \(q_0=3/14\), as reported by Vincent et al. [9].

Repeating this for \(k=4\), we find that

$$\begin{aligned} \tilde{\textbf{Q}} = \begin{bmatrix} 0 &{} 0 &{} 0 &{} 0 &{} q_5\\ 0 &{} 0 &{} 0 &{} q_4 &{} 0\\ 0 &{} 0 &{} q_3 &{} 0 &{} q_2\\ 0 &{} q_4 &{} 0 &{} q_1 &{} 0\\ q_5 &{} 0 &{} q_2 &{} 0 &{} q_0 \end{bmatrix},\;\; \textrm{for} \;{\left\{ \begin{array}{ll} q_0 &{}= \frac{7(z_1^2 + z_2^2) - 10}{4}q_2 + \frac{63z_1^2z_2^2 - 63(z_1^2 +z_2^2) + 55}{36}, \\[7pt] q_1 &{}= \frac{525(z_1^2+z_2^2)z_1^2z_2^2 - 175(z_1^4 + z_2^4) - 105(z_1^2 + z_2^2) - 560z_1^2z_2^2 + 198}{336},\\[7pt] q_2 &{}= -\frac{525(z_1^2 + z_2^2)z_1^2z_2^2 - 175(z_1^4 + z_2^4) - 25(z_1^2+z_2^2) - 800z_1^2z_2^2 + 146}{240},\\[7pt] q_3 &{}= \frac{20q_2 - 35z_1^2z_2^2 + 21(z_1^2+z_2^2) -15}{35(z_1^2 + z_2^2) - 50)}, \\[7pt] q_4 &{}= \frac{15z_1^2z_2^2 - 5(z_1^2 + z_2^2) + 3}{12},\\[7pt] q_5 &{}=0. \end{array}\right. }\nonumber \\ \end{aligned}$$
(5.5)

Again using the condition of (3.15b), we find that \(q_i=0 \;\forall i\in \{1,\dots ,5\}\) which is achieved when

$$\begin{aligned} z_1^2 = \frac{3}{7} - \frac{2}{7}\sqrt{\frac{6}{5}}, \quad \textrm{and} \quad z_2^2 = \frac{3}{7} + \frac{2}{7}\sqrt{\frac{6}{5}}. \end{aligned}$$

or vice versa. This again corresponds to the Gauss–Legendre quadrature and gives \(q_0=8/45\), corresponding to Vincent et al. [9].

Remark 5.1

The point symmetry imposed and the irrelevance of the ordering of the zeros is why there are multiple solutions that give a valid \(\tilde{\textbf{Q}}\). The correction functions recovered from each is the same. This symmetry can be further identified from the form of the q terms and their lack odd powers of z.

5.2 Triangular Elements

Next we extend this procedure to triangles. From the work of Balan et al. [36], we start by defining the Raviart–Thomas (RT) space in two-dimensions as

$$\begin{aligned} \mathbb{R}\mathbb{T}_k = \mathbb {Q}_{k}\otimes \begin{bmatrix}1&{}0\\ 0&{}1\end{bmatrix} + \begin{bmatrix} x\\ y \end{bmatrix}(\mathbb {Q}_{k}-\mathbb {Q}_{k-1}), \end{aligned}$$
(5.6)

which for \(k=2\) gives

$$\begin{aligned} \textrm{span}(\mathbb{R}\mathbb{T}_k) = \left\{ \begin{pmatrix}\phi _1 \\ 0 \end{pmatrix}, \begin{pmatrix}\phi _2 \\ 0 \end{pmatrix},\dots ,\begin{pmatrix}0 \\ \phi _1 \end{pmatrix}, \begin{pmatrix}0 \\ \phi _2 \end{pmatrix}, \dots , \begin{pmatrix}x\phi _3 \\ y\phi _3 \end{pmatrix}, \begin{pmatrix}x\phi _5 \\ y\phi _5 \end{pmatrix},\begin{pmatrix}x\phi _6 \\ y\phi _6 \end{pmatrix} \right\} .\nonumber \\ \end{aligned}$$
(5.7)

In the FR method, the correction functions are within an RT space, and likewise the analogy of corrections in SD are within an RT space. For SD, this two-dimensional basis is then defined via a staggered or flux point set, \(\{\pmb {\sigma }\}\), and requires normals to be associated with each point, \(\textbf{n}_s\). An example of these flux points and there normal can be seen in Fig. 5. The Lagrange basis can then be defined via the Vandermonde as

$$\begin{aligned} \textbf{V}_\textrm{RT} = \begin{bmatrix} \textbf{V}_{\textrm{RT},x}&\textbf{V}_{\textrm{RT},y} \end{bmatrix}\cdot \textbf{n}_s, \end{aligned}$$
(5.8)

where \(\textbf{V}_{\textrm{RT},x}\) and \(\textbf{V}_{\textrm{RT},x}\) are the Vandermonde matrices over \(\mathbb{R}\mathbb{T}_k\cdot [1,0]^T\) and \(\mathbb{R}\mathbb{T}_k\cdot [0,1]^T\) respectively. The Lagrange basis is then found from \(\textbf{V}_\textrm{RT}^{-1}\). Finally, the corrections are set using this basis where, from the definition of the SD method, the trace of the SD flux points are located at the FR flux points.

5.2.1 \(k=1\)

The most straightforward SD method to define on simplex element is for \(k=1\). In this case a single interior flux point is required at the element centroid, with normals in x and y. This case was not considered in Sect. 4, but the extended range of stable schemes can be found to be:

$$\begin{aligned} \tilde{\textbf{Q}} = \begin{bmatrix} 0 &{} 0 &{} 0\\ 0 &{} q_0 &{} 0\\ 0 &{} 0 &{} q_0 \end{bmatrix}, \quad \textrm{for} \quad q_0>-1. \end{aligned}$$
(5.9)

The SD correction function is then found to be recovered when \(q_0=1/3\).

5.2.2 \(k=2\)

We now consider \(k=2\), here the number of flux points is 15, but this can be reduced to 12 degrees of freedom by repeating the interior flux point with orthogonal normals [36]. Similar to the method used in one-dimension, we parameterise the interior flux point locations by \(z_1\), which can be placed using Barycentric coordinates in a manner ensuring rotational symmetry, see Fig. 5c.

Fig. 5
figure 5

Interior and boundary flux point locations and normals for SD on triangles

Using this construction, the following matrix can be formed:

$$\begin{aligned} \tilde{\textbf{A}} = \tilde{\textbf{Q}}\tilde{\textbf{C}}_\textrm{SD} + \tilde{\textbf{M}}(\tilde{\textbf{C}}_\textrm{SD} - \tilde{\textbf{C}}_\textrm{DG}), \end{aligned}$$
(5.10)

where a \(\tilde{\textbf{Q}}\) compatible with Subsect. 4.1 is sought such that \(\tilde{\textbf{A}}=0\). It was shown by Balan et al. [36] that the stability of the method is independent of the boundary flux point locations, at least for linear equations, and so to reduce the complexity of the resulting matrices we place these points in an equispaced configuration. Focusing on the value of \(\tilde{\textbf{A}}_{0,0}\) we find that

$$\begin{aligned} \tilde{\textbf{A}}_{0,0} = \frac{2-3 \sqrt{2}}{18 \root 4 \of {3} z_1 (2 z_1-1)}. \end{aligned}$$
(5.11)

It is clear that there is no value of \(z_1\in [0,1/2]\) that can satisfy \(\tilde{\textbf{A}}_{0,0}=0\).

The assumption of collocated interior flux points can be relaxed and a second parameter \(z_2\) can be introduced. Repeating the procedure above now with two variables, likewise no pair of variables, \((z_1,z_2)\), can be found for a norm in this class for which the energy monotonically decays in time. For brevity, a full display of the contradictions encountered is not given.

5.3 \(k=3\)

For \(k=3\), assuming collocated interior flux points, there are six degrees of freedom. For symmetric placement of these points there are two possible choices of orbits (0, 2, 0) and (0, 0, 1), based on the work of Witherden and Vincent [15], i.e. two three-point orbits (parameterised by \(z_1\) and \(z_2\)) or one six-point orbit (also parameterised by \(z_1\) and \(z_2\)). Examples of these orbits are shown in Fig. 5b and c.

Starting with the (0, 2, 0) configuration, we again use the result of Balan et al. [12] that stability is independent of the boundary flux point location and use equispaced boundary flux points. Forming the Raviart–Thomas space and finding \(\tilde{\textbf{A}}\), we find from the second column of \(\tilde{\textbf{A}}\) that

$$\begin{aligned} z_1 = \frac{6 + \sqrt{15}}{21}, \quad z_2 = \frac{6 - \sqrt{15}}{21}, \quad q_0 = 3/5, \quad \textrm{and} \quad q_2 = 0. \end{aligned}$$
(5.12)

and a second solution with \(z_1\) and \(z_2\) swapped. Substituting these into \(\tilde{\textbf{A}}\) and studying the first column of \(\tilde{\textbf{A}}\), we see this leads to the contradiction of

$$\begin{aligned} 45q_1 - 7 = 0 \quad \textrm{and} \quad 15q_1 + 11 = 0. \end{aligned}$$
(5.13)

Therefore, there is no \(k=3\) SD scheme with the interior flux points in the configuration (0, 2, 0) that is a form of filtered DG.

Repeating this for interior flux points in the orbit (0, 0, 1), we find in the first column of \(\tilde{\textbf{A}}\) that

$$\begin{aligned} \tilde{\textbf{A}}_{9,0} = \root 4 \of {\frac{49}{3}} \quad \textrm{and} \quad \tilde{\textbf{A}}_{6,0} = \root 4 \of {3}. \end{aligned}$$
(5.14)

Clearly this does not satisfy the condition that \(\tilde{\textbf{A}}=0\), from which we can draw the conclusion that there is no stable \(k=3\) SD scheme, in either (0, 2, 0) or (0, 0, 1), that is a form of filtered DG. Examples of the matrices defined here can be found in Sect. B.

Remark 5.2

This instability is similar to a finding presented by den Abeele et al. [35], however, in that work only Fourier analysis was used to explore stability. Stable schemes where found by Veilleux et al. [14] and Balan et al. [36] using Fourier analysis, however, in that analysis interface upwinding was required to find stable schemes. Therefore, they are not strictly linearly stable.

Summarising, we found a linearly stable SD scheme for \(k=1\). However, it was shown that for \(k=2\) and \(k=3\) no SD scheme exists in this set of linearly stable FR methods. For \(k>3\), no attempt was made to solve (5.3) due to the complexity of the algebra, therefore we are not able to say definitively if stable SD schemes exist in these cases. These results, combined with those of Balan et al. [36], den Abeele et al. [35], and Veilleux et al. [14], suggest that it will be challenging to find linearly stable SD scheme for \(k>1\) on triangles.

6 Numerical Experiments

To perform a numerical evaluation of the schemes defined here we considered the Euler vortex case [37], a two-dimensional test case for the Euler equations. A periodic domain \(\Omega =[-10,-10]^2\) subdivided into \(2(n_x-1)^2\) regular right-angles triangles was used, see Fig. 6. The system of equations was then

$$\begin{aligned} \frac{\partial \textbf{u}}{\partial {t}} + \nabla \cdot \textbf{F} = 0,\quad \textrm{for} \quad \textbf{u} = \begin{bmatrix} \rho \\ \varvec{\rho v} \\ E \end{bmatrix}, \quad \textrm{and} \quad \textbf{F} = \begin{bmatrix} \varvec{\rho v}\\ \varvec{\rho v}\otimes \textbf{v} + P\textbf{I}\\ (E + P)\textbf{v} \end{bmatrix}, \end{aligned}$$
(6.1)

for pressure P and energy E, and the initial condition was set as:

$$\begin{aligned} \rho&= \left( 1 - \frac{1}{2}\left( \frac{\beta M}{\pi }\right) ^2(\gamma - 1)\exp {(2\overline{r})}\right) ^{1/(\gamma -1)}, \end{aligned}$$
(6.2a)
$$\begin{aligned} u&= \frac{\beta y\exp {(\overline{r})}}{2\pi R}, \end{aligned}$$
(6.2b)
$$\begin{aligned} v&= 1 - \frac{\beta x\exp {(\overline{r})}}{2\pi R},\end{aligned}$$
(6.2c)
$$\begin{aligned} P&= \frac{1}{\gamma M^2}\left( 1 - \frac{1}{2}\left( \frac{\beta M}{\pi }\right) ^2(\gamma - 1)\exp {(2\overline{r})}\right) ^{\gamma /(\gamma -1)},\end{aligned}$$
(6.2d)
$$\begin{aligned} \overline{r}&= \frac{1 - x^2 - y^2}{2R^2}, \end{aligned}$$
(6.2e)

where M is the Mach number, \(\beta \) is the vortex strength, and R is the vortex width, set as 0.4, 13.5, and 1.5 respectively. The error with time can then be calculated for a series of meshes, specifically we used the definition of \(L_1\) and \(L_2\) error of

$$\begin{aligned} E_1(t) = \int _K |\rho _\textrm{exact}(t) - \rho (t)|\textrm{d}\textbf{x}, \quad \textrm{and} \quad E_2(t) = \sqrt{\int _K (\rho _\textrm{exact}(t) - \rho (t))^2\textrm{d}\textbf{x}}, \end{aligned}$$
(6.3)

where the integrals are approximated with a degree 23 quadrature.

Fig. 6
figure 6

Density contour for the Euler vortex with mesh shown for \(n_x=20\)

In these tests, solution points were positioned at the quadrature points defined by Williams et al. [38]. The common interface flux was calculated using a Rusanov flux and Einfeldt wavespeed predictions [39] at flux points located with the Gauss–Legendre quadrature. For time integration, a standard explicit RK4 method was used. Results for \(k=3\) are presented in Table 2 for \(\textbf{Q}=0\), \(\textbf{Q}_1(q_0=0.1,q_1=0.1,q_2=0.01)\), and \(\textbf{Q}_2(q_0=0,q_1=0,q_2=0.1)\). Here a constant time step of \(\Delta t=5\times 10^{-3}\) was used and the \(L_1\) and \(L_2\) error is calculated at \(t=100\). Table 3 shows the results for the test repeated for \(k=4\), with \(\textbf{Q}=0\), \(\textbf{Q}_1(q_0=0.01,q_1=0.01,q_2=0.01,q_3=0.01)\), and \(\textbf{Q}_2(q_0=0.1,q_1=0,q_2=0,q_3=0)\). At \(k=4\) a constant time step of \(\Delta t=2\times 10^{-3}\) was used, again with error calculated at \(t=100\). These data show that the correction functions tested were stable for \(t\in [0,100]\) and furthermore the expected order of accuracy was recovered. The variation in error is evidence of the changing numerical properties caused by varying the correction function.

Table 2 Error and order of the Euler vortex for \(k=3\) FR with DG at \(t=100\), \(\textbf{Q}_1(q_0=0.1,q_1=0.1,q_2=0.01)\), and \(\textbf{Q}_2(q_0=0,q_1=0,q_2=0.1)\)
Table 3 Error and order of the Euler vortex with \(k=4\) FR for DG at \(t=100\), \(\textbf{Q}_1(q_0=0.01,q_1=0.01,q_2=0.01,q_3=0.01)\), and \(\textbf{Q}_2(q_0=0.1,q_1=0,q_2=0,q_3=0)\)

7 Conclusion

A new multi-parameter set of stable flux reconstruction (FR) methods on triangles was constructed by using the summation-by-parts framework. The correction functions of Castonguay et al. [1] were found to be a subset of this new stable set of FR methods, moreover we were able to successfully expand the stability region of Castonguay et al. [1]. Using this new set of FR methods, we investigated if stable SD methods could be defined within it. We found that a stable SD scheme could be produced for \(k=1\) and that none can be produced in this set of FR methods for \(k=2\) and \(k=3\). Numerical experiments were performed for a number of the correction functions outlined in this work and it was shown that the desired order of accuracy was recovered. The approaches outlined here can be used to find similar sets of methods on other element topologies which will be the subject of future work.