This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11affiliationtext: Department of Computational and Applied Mathematics, Rice University

Entropy stable discontinuous Galerkin methods for nonlinear conservation laws on networks and multi-dimensional domains

Xinhui Wu Jesse Chan
Abstract

We present a high-order entropy stable discontinuous Galerkin (ESDG) method for nonlinear conservation laws on both multi-dimensional domains and on networks constructed from one-dimensional domains. These methods utilize treatments of multi-dimensional interfaces and network junctions which retain entropy stability when coupling together entropy stable discretizations. Numerical experiments verify the stability of the proposed schemes, and comparisons with fully 2D implementations demonstrate the accuracy of each type of junction treatment.

1 Introduction

There is an increasing interest in the mathematical modeling of physical systems posed on spatial domains with network-like structures. In this situation, the 2D (or 3D) partial differential equations (PDEs) that describe the physics of the system can be well-approximated by 1D PDEs. Simulations over network-like domains can then be performed by coupling together 1D subdomains at junctions. This reduction from fully 2D or 3D simulations to simulations over 1D domains both simplifies the construction of meshes for network-like domains and reduces computational cost Abc (2000, 2000, 2000, 2000, 2000).

Applications of network models include the simulation of gas flow in pipelines Abc (2000, 2000, 2000), water flow through channels Abc (2000, 2000, 2000), and blood flow in the human cardiovascular system Abc (2000, 2000, 2000, 2000). In gas networks, flow is governed by equations derived from the compressible Euler equations. In water flow through open channels, the physics are described by the shallow water equations. In blood vessels, the system is governed by a system of equations which closely resembles the shallow water equations Abc (2000). For each of these examples, however, the systems involved are nonlinear conservation laws. To demonstrate the idea, we present the fully 2D discretization of a river with turning channel and its 1D-2D model in Figure 1.

Refer to caption
(a)
Refer to caption
(b)
Figure 1: Lake and turning channel meshes. Fully 2D mesh (a), 1D-2D (b)

In this paper, we present new numerical treatments of one-dimensional junctions and interfaces between multi-dimensional (1D and 2D) domains. When combined with entropy stable discretizations, these interface treatments preserve an entropy inequality at the semi-discrete level. Individual 1D and 2D domains are discretized using entropy stable discontinuous Galerkin (DG) methods, which provide geometric flexibility for 2D subdomains through the use of unstructured meshes Abc (2000, 2000). It is also straightforward to increase the order of accuracy of DG methods by increasing the degree of the polynomial approximation Abc (2000). Finally, DG methods have been shown to be highly parallelizable and amenable to high performance implementations on graphics processing units (GPUs) Abc (2000, 2000, 2000).

There exist several different entropy stable DG schemes for the shallow water and compressible Euler equations Abc (2000, 2000, 2000). Traditional entropy stable DG formulations have relied on finite difference summation-by-parts (SBP) operators, which are constructed using carefully designed quadrature rules which contain boundary points while satisfying certain accuracy conditions Abc (2000). In this work, we utilize entropy stable “modal” DG formulations as introduced by Abc (2000, 2000). However, our focus is on the construction of entropy stable treatments of multi-dimensional interfaces and junctions, and are applicable to both “modal” and traditional entropy stable SBP-DG schemes. We also note that, while we consider only affine triangular meshes, the approaches presented here can be extend to curved meshes of either triangles or quadrilaterals so long as the 1D-2D interface is a straight line.

This paper is organized as follows: we begin by reviewing nonlinear conservation laws and entropy theory in Section 2. In Section 3, we review the construction of entropy stable DG methods. In Section 4, we construct entropy stable couplings for multidimensional interfaces and junctions. We present numerical experiments which validate theoretical properties of our schemes in Section 5. Finally, we conclude in Section 6 with a summary of the main results.

2 Entropy inequalities for nonlinear conservation laws

In this paper, we focus on numerical methods for system of nonlinear conservation laws. The general form of such a system in dd dimensions is

𝒖t+i=1d𝒇i(𝒖)xi=0,(𝒙,t)d×[0,],\displaystyle\frac{\partial\bm{u}}{\partial t}+\sum_{i=1}^{d}\frac{\partial\bm{f}_{i}(\bm{u})}{\partial x_{i}}=0,\hskip 28.45274pt(\bm{x},t)\in\mathbb{R}^{d}\times[0,\infty], (2.1)

where 𝒙Ωd\bm{x}\in\Omega\subseteq\mathbb{R}^{d}, 𝒖(𝒙,t)=[u1,un]T\bm{u}(\bm{x},t)=[u_{1},...u_{n}]^{T} denote the conservative variables and 𝒇i(𝒖)\bm{f}_{i}(\bm{u}) denote the flux functions. We assume that there exists a convex scalar entropy function S(𝒖)S(\bm{u}) such that

S′′(𝒖)𝑨(𝒖)=(S′′(𝒖)𝑨(𝒖))T,𝑨(𝒖)ij=(𝒇(𝒖)uj)i,\displaystyle S^{\prime\prime}(\bm{u})\bm{A}(\bm{u})=\left(S^{\prime\prime}(\bm{u})\bm{A}(\bm{u})\right)^{T},\hskip 28.45274pt\bm{A}(\bm{u})_{ij}=\left(\frac{\partial\bm{f}(\bm{u})}{\partial u_{j}}\right)_{i}, (2.2)

where 𝑨(𝒖)\bm{A}(\bm{u}) is the flux Jacobian matrix.

We next define the entropy variables 𝒗=S(𝒖)\bm{v}=S^{\prime}(\bm{u}). For values of 𝒖\bm{u} over which the entropy function is convex, the mapping between conservative variables and entropy variables is invertible. Then, it can be shown Abc (2000) that there exists entropy flux functions Fi(𝒖)F_{i}(\bm{u}) and entropy potentials ψi(𝒖)\psi_{i}(\bm{u}) such that

𝒗(𝒖)T𝒇i((u))𝒖=Fi(𝒖)T𝒖,ψi(𝒖)=𝒗(𝒖)T𝒇i(𝒖)Fi(𝒖),ψi(𝒖)=𝒇i(𝒖).\displaystyle\bm{v}(\bm{u})^{T}\frac{\partial\bm{f}_{i}(\bm{(}u))}{\partial\bm{u}}=\frac{\partial F_{i}(\bm{u})^{T}}{\partial\bm{u}},\hskip 14.22636pt\psi_{i}(\bm{u})=\bm{v}(\bm{u})^{T}\bm{f}_{i}(\bm{u})-F_{i}(\bm{u}),\hskip 14.22636pt\psi^{\prime}_{i}(\bm{u})=\bm{f}_{i}(\bm{u}). (2.3)

In regions where the solution is smooth, an entropy equality can be derived for 𝒖\bm{u} by multiplying the conservation law by 𝒗T\bm{v}^{T} and integrating over the domain. Then, using the chain rule and definition of the entropy flux, we have the following statement of entropy conservation on domain Ω\Omega

ΩS(𝒖)t=𝟎.\displaystyle\int_{\Omega}\frac{\partial S(\bm{u})}{\partial t}=\bm{0}. (2.4)

In this paper, we will construct a high order DG scheme for multi-dimensional and network domains that is entropy conservative at the semi-discrete level. By adding appropriate entropy dissipation terms at inter-element interfaces, multi-dimensional interfaces, and junctions, these entropy conservative schemes can be made entropy stable. In this work, we focus specifically on 1D junction treatments and coupling between 1D-2D domains for the shallow water equations (SWE) and the compressible Euler equations.

2.1 Shallow water equations in one and two dimensions

We begin with introducing the two-dimensional shallow water equations

t[hhuhv]+x[huhu2+gh2/2huv]+y[hvhuvhv2+gh2/2]=0.\displaystyle\frac{\partial}{\partial t}\begin{bmatrix}h\\ hu\\ hv\end{bmatrix}+\frac{\partial}{\partial x}\begin{bmatrix}hu\\ hu^{2}+gh^{2}/2\\ huv\end{bmatrix}+\frac{\partial}{\partial y}\begin{bmatrix}hv\\ huv\\ hv^{2}+gh^{2}/2\end{bmatrix}=0. (2.5)

Here, hh denotes the water height as measured from the lake or channel bottom. The velocity in the xx direction is denoted by uu and the velocity in the yy direction is denoted by vv. The gravitational constant is denoted by gg. In this example, we have the conservative variable 𝒖=[h,hu,hv]T\bm{u}=[h,hu,hv]^{T} and the flux functions are 𝒇1=[hu,hu2+gh2/2,huv]T\bm{f}_{1}=[hu,hu^{2}+gh^{2}/2,huv]^{T} and 𝒇2=[hv,huv,hv2+gh2/2]T\bm{f}_{2}=[hv,huv,hv^{2}+gh^{2}/2]^{T}.

We can derive the 1D shallow water equations from the 2D shallow water equations by assuming a rectangular domain with length LxL_{x} and LyL_{y} in the xx and yy directions, respectively. If LyLxL_{y}\ll L_{x} and wall boundary conditions are imposed, then we expect vv to be small and h,uh,u to be near-constant along the yy-direction. These simplifications result in the one-dimensional shallow water equations

t[hhu]+x[huhu2+gh2/2]=0.\displaystyle\frac{\partial}{\partial t}\begin{bmatrix}h\\ hu\end{bmatrix}+\frac{\partial}{\partial x}\begin{bmatrix}hu\\ hu^{2}+gh^{2}/2\\ \end{bmatrix}=0. (2.6)

The mathematical entropy for the shallow water equations corresponds to total energy, and is given by

S(𝒖)=12(hU2+gh2)S(\bm{u})=\frac{1}{2}\left(h\left\|U\right\|^{2}+gh^{2}\right)

where U2=u2\left\|U\right\|^{2}=u^{2} in one dimension and U2=u2+v2\left\|U\right\|^{2}=u^{2}+v^{2} in two dimensions. The entropy variables 𝒗\bm{v} in two dimensions are given by

v1=gh12U2,v2=u,v3=v.v_{1}=gh-\frac{1}{2}\left\|U\right\|^{2},\qquad v_{2}=u,\qquad v_{3}=v.

In one dimension, the entropy variables are simply 𝒗=[v1,v2]T\bm{v}=\left[v_{1},v_{2}\right]^{T}. The inverse mapping in 2D is given by

h=v1+12U2g,hu=v1+12U2gv2=hv2,hv=v1+12U2gv3=hv3.h=\frac{v_{1}+\frac{1}{2}\left\|U\right\|^{2}}{g},\qquad hu=\frac{v_{1}+\frac{1}{2}\left\|U\right\|^{2}}{g}v_{2}=hv_{2},\qquad hv=\frac{v_{1}+\frac{1}{2}\left\|U\right\|^{2}}{g}v_{3}=hv_{3}.

where we can compute U2=v22+v32\left\|U\right\|^{2}=v_{2}^{2}+v_{3}^{2} in terms of the entropy variables. The inverse mapping in 1D follows by ignoring hvhv and setting U2=v22\left\|U\right\|^{2}=v_{2}^{2}.

In this paper, we only consider systems where the conservative variables, the entropy potential, and the numerical fluxes can all be transformed between 1D and 2D.

3 Entropy stable DG discretizations in 1D and 2D

3.1 On notation

We adopt a notation which distinguishes between discretized and continuous quantities. Unless otherwise specified, continuous vector and matrix quantities are denoted using lower and upper case bold font, respectively. We denote spatially discrete quantities using a bold sans serif font. Finally, the output of continuous functions evaluated over discrete vectors is interpreted as a discrete vector.

For example, if 𝘅\bm{\mathsf{x}} denotes a vector of point locations, i.e., (𝘅)i=𝒙i(\bm{\mathsf{x}})_{i}=\bm{x}_{i}, then u(𝘅)u(\bm{\mathsf{x}}) is interpreted as the vector

(u(𝘅))i=u(𝒙i).({u}(\bm{\mathsf{x}}))_{i}={u}(\bm{x}_{i}).

Similarly, if 𝘂=u(𝘅)\bm{\mathsf{u}}={u}(\bm{\mathsf{x}}), then f(𝘂){f}(\bm{\mathsf{u}}) corresponds to the vector

(f(𝘂))i=f(u(𝒙i)).({f}(\bm{\mathsf{u}}))_{i}={f}(u(\bm{x}_{i})).

Vector-valued functions are treated similarly. For example, given a vector-valued function 𝒇:nn\bm{f}:\mathbb{R}^{n}\rightarrow\mathbb{R}^{n} and a vector of coordinates 𝘅\bm{\mathsf{x}}, (𝒇(𝘅))i=𝒇(𝒙i)\left(\bm{f}(\bm{\mathsf{x}})\right)_{i}=\bm{f}(\bm{x}_{i}).

3.2 Discretization matrices for high order DG methods

We construct entropy stable numerical schemes for networks based on high order entropy stable DG formulations in 1D and 2D. These formulations ensure entropy stability over individual segments and subdomains of a multi-dimensional network Abc (2000). We begin by introducing some mathematical notation. We denote the reference element by D^\widehat{D} with boundary D^\partial{\widehat{D}}. In 1D, the reference element is the interval [1,1][-1,1] and in 2D, the reference element is the bi-unit right triangle. We construct entropy conservative schemes on multiple elements, where the domain Ω\Omega is broken up into KK non-overlapping elements DkD^{k}. Each element can be represented as the affine mapping Φk\Phi_{k} of the reference interval D^\widehat{D}. Because this mapping is affine, JkJ^{k} (the determinant of the Jacobian of Φk\Phi_{k}) is constant over each element. We use n^i\widehat{n}_{i} to represent the iith component of the outward normal vector scaled by the face Jacobian on the boundary of the reference element.

The solution is approximated over the reference element by polynomials of total degree NN

PN(D^)={x^iy^j,(x^,y^)D^,0i+jN}.\displaystyle P^{N}(\widehat{D})=\{\widehat{x}^{i}\widehat{y}^{j},\quad(\widehat{x},\widehat{y})\in\widehat{D},\quad 0\leq i+j\leq N\}. (3.1)

We denote the dimension of PNP^{N} as Np=dim(PN(D^))N_{p}=\rm{dim}(P^{N}(\widehat{D})). Moreover, let {ϕi}i=1Np\{\phi_{i}\}_{i=1}^{N_{p}} denote a basis for PNP^{N}, such that for u(𝒙)PN(D^)u(\bm{x})\in P^{N}(\widehat{D}), there exist coefficients uiu_{i} such that

u(𝒙)=i=1Npuiϕi(𝒙^),PN(D^)=span{ϕi(𝒙^)}i=1Np.\displaystyle u(\bm{x})=\sum_{i=1}^{N_{p}}u_{i}\phi_{i}(\widehat{\bm{x}}),\hskip 28.45274ptP^{N}(\widehat{D})={\rm span}\{\phi_{i}(\widehat{\bm{x}})\}_{i=1}^{N_{p}}. (3.2)

We also assume the use of volume and surface quadrature rules {𝒙^i,wi}i=1Nq\left\{\widehat{\bm{x}}_{i},w_{i}\right\}_{i=1}^{N_{q}}, {𝒙^if,wif}i=1Nqf\left\{\widehat{\bm{x}}^{f}_{i},w^{f}_{i}\right\}_{i=1}^{N^{f}_{q}}. We denote the number of volume and surface quadrature nodes by NqN_{q} and NqfN^{f}_{q} respectively, and assume that the volume and surface rules are exact for polynomials of degree 2N12N-1 and 2N2N, respectively. We furthermore assume the volume quadrature is sufficiently accurate such that the mass matrix is positive-definite.

We now introduce quadrature-based operators. Let 𝗪\bm{\mathsf{W}} and 𝗪f\bm{\mathsf{W}}_{f} denote diagonal matrices whose entries are volume and surface quadrature weights. We then define the volume and surface quadrature interpolation matrices 𝗩q\bm{\mathsf{V}}_{q} and 𝗩f\bm{\mathsf{V}}_{f} as:

(𝗩q)ij\displaystyle(\bm{\mathsf{V}}_{q})_{ij} =ϕj(𝒙^i),1jNp,1iNq,\displaystyle=\phi_{j}(\widehat{\bm{x}}_{i}),\quad 1\leq j\leq N_{p},\quad 1\leq i\leq N_{q}, (3.3)
(𝗩f)ij\displaystyle(\bm{\mathsf{V}}_{f})_{ij} =ϕj(𝒙^if),1jNp,1iNqf,\displaystyle=\phi_{j}(\widehat{\bm{x}}_{i}^{f}),\quad 1\leq j\leq N_{p},\quad 1\leq i\leq N_{q}^{f}, (3.4)

The matrix 𝗩q\bm{\mathsf{V}}_{q} maps coefficients of 𝘂=[u1,u2,,uNp]\bm{\mathsf{u}}=\left[u_{1},u_{2},\ldots,u_{N_{p}}\right] in terms of polynomial basis to evaluations of u(𝒙)u(\bm{x}) at volume quadrature points and, similarly, the matrix 𝗩f\bm{\mathsf{V}}_{f} interpolates 𝘂\bm{\mathsf{u}} to surface quadrature points.

We now define 𝗗i\bm{\mathsf{D}}_{i} as the differentiation matrix with respect to the iith coordinate. 𝗗i\bm{\mathsf{D}}_{i} is defined implicitly by:

u(𝒙)=i=1Npuiϕi(𝒙^),ux^i=j=1Np(𝗗i𝘂)jϕj(𝒙^).\displaystyle u(\bm{x})=\sum_{i=1}^{N_{p}}u_{i}\phi_{i}(\widehat{\bm{x}}),\hskip 28.45274pt\frac{\partial u}{\partial\widehat{x}_{i}}=\sum_{j=1}^{N_{p}}(\bm{\mathsf{D}}_{i}\bm{\mathsf{u}})_{j}\phi_{j}(\widehat{\bm{x}}). (3.5)

Here, 𝗗i\bm{\mathsf{D}}_{i} maps the basis coefficients of some polynomial uPNu\in P^{N} to coefficients of its iith directional derivative with respect to the reference coordinate 𝒙^i\widehat{\bm{x}}_{i}.

With the matrix 𝗩q\bm{\mathsf{V}}_{q}, we can now introduce the element mass matrix whose entries are the evaluations of inner products of different basis functions with quadrature points:

𝗠=𝗩qT𝗪𝗩q,𝗠ij=k=1Nqwkϕj(𝒙^k)ϕi(𝒙^k)D^ϕjϕi𝑑𝒙^=(ϕj,ϕi)D^.\displaystyle\bm{\mathsf{M}}=\bm{\mathsf{V}}_{q}^{T}\bm{\mathsf{W}}\bm{\mathsf{V}}_{q},\hskip 14.22636pt\bm{\mathsf{M}}_{ij}=\sum_{k=1}^{N_{q}}w_{k}\phi_{j}(\bm{\widehat{x}}_{k})\phi_{i}(\bm{\widehat{x}}_{k})\approx\int_{\widehat{D}}\phi_{j}\phi_{i}d\bm{\widehat{x}}=(\phi_{j},\phi_{i})_{\widehat{D}}. (3.6)

We can define the quadrature-based L2L^{2} projection matrix 𝗣q\bm{\mathsf{P}}_{q}, by inverting the mass matrix:

𝗣q=𝗠1𝗩qT𝗪.\displaystyle\bm{\mathsf{P}}_{q}=\bm{\mathsf{M}}^{-1}\bm{\mathsf{V}}_{q}^{T}\bm{\mathsf{W}}. (3.7)

The matrix 𝗣q\bm{\mathsf{P}}_{q} maps a function in terms of its evaluations at quadrature points to its coefficients of the L2L^{2} projection in the basis ϕi(𝒙^)\phi_{i}(\bm{\widehat{x}}).

In d-dimensions, define the following matrices

𝗤^i=𝗠𝗗i,𝗕i=𝗪fdiag(𝒏^i),i=1,,d.\displaystyle\bm{\mathsf{\widehat{Q}}}_{i}=\bm{\mathsf{M}}\bm{\mathsf{D}}_{i},\hskip 28.45274pt\bm{\mathsf{B}}_{i}=\bm{\mathsf{W}}_{f}{\rm diag}\left(\bm{\widehat{n}}_{i}\right),\hskip 28.45274pti=1,...,d. (3.8)

With the above definitions, we have can show that Abc (2000)

𝗤^i+𝗤^iT=𝗩fT𝗕i𝗩f.\displaystyle\bm{\mathsf{\widehat{Q}}}_{i}+\bm{\mathsf{\widehat{Q}}}_{i}^{T}=\bm{\mathsf{V}}_{f}^{T}\bm{\mathsf{B}}_{i}\bm{\mathsf{V}}_{f}. (3.9)

By combining the projection matrix 𝗣q\bm{\mathsf{P}}_{q} with the matrix 𝗤^i\bm{\mathsf{\widehat{Q}}}_{i}, we can construct a nodal differentiation operator at quadrature points Abc (2000):

𝗤i=𝗣qT𝗤^i𝗣q\displaystyle\bm{\mathsf{Q}}_{i}=\bm{\mathsf{P}}_{q}^{T}\bm{\mathsf{\widehat{Q}}}_{i}\bm{\mathsf{P}}_{q} (3.10)

We also define the the matrix 𝗘\bm{\mathsf{E}}, which extrapolates volume quadrature nodes to surface quadrature nodes, as

𝗘=𝗩f𝗣q\displaystyle\bm{\mathsf{E}}=\bm{\mathsf{V}}_{f}\bm{\mathsf{P}}_{q} (3.11)

Then we have the following generalized summation-by-parts (SBP) property:

𝗤i+𝗤iT=𝗘T𝗕i𝗘\displaystyle\bm{\mathsf{Q}}_{i}+\bm{\mathsf{Q}}_{i}^{T}=\bm{\mathsf{E}}^{T}\bm{\mathsf{B}}_{i}\bm{\mathsf{E}} (3.12)

Entropy stable formulations for nonlinear conservation laws usually introduce numerical flux terms which couple together all degrees of freedom on neighboring elements Abc (2000). To avoid this, we introduce the hybridized operator 𝗤i,h\bm{\mathsf{Q}}_{i,h}, which is given explicitly as

𝗤i,h=12[𝗤i𝗤iT𝗘T𝗕i𝗕i𝗘𝗕i].\displaystyle\bm{\mathsf{Q}}_{i,h}=\frac{1}{2}\begin{bmatrix}\bm{\mathsf{Q}}_{i}-\bm{\mathsf{Q}}_{i}^{T}&\bm{\mathsf{E}}^{T}\bm{\mathsf{B}}_{i}\\ -\bm{\mathsf{B}}_{i}\bm{\mathsf{E}}&\bm{\mathsf{B}}_{i}\\ \end{bmatrix}. (3.13)

This operator is designed to be applied to vectors of solution values at both volume and surface quadrature nodes and mimics the structure of boundary terms used in hybridized DG methods Abc (2000). When used in a DG formulation, it allows one to construct entropy stable formulations using more standard DG numerical fluxes. We have the following theorem:

Theorem 3.1.

𝗤i,h\bm{\mathsf{Q}}_{i,h} satisfies the SBPlikeSBP-like property Abc (2000):

𝗤i,h+𝗤i,hT=𝗕i,h,𝗕i,h=[𝟬𝗕i],\displaystyle\bm{\mathsf{Q}}_{i,h}+\bm{\mathsf{Q}}_{i,h}^{T}=\bm{\mathsf{B}}_{i,h},\hskip 28.45274pt\bm{\mathsf{B}}_{i,h}=\begin{bmatrix}\bm{\mathsf{0}}&\\ &\bm{\mathsf{B}}_{i}\\ \end{bmatrix}, (3.14)

and 𝗤i,h𝟭=0\bm{\mathsf{Q}}_{i,h}\bm{\mathsf{1}}=0, where 𝟭\bm{\mathsf{1}} is the vector of all ones

We also construct differentiation and boundary matrices 𝗤i,hk,𝗕ik\bm{\mathsf{Q}}^{k}_{i,h},\bm{\mathsf{B}}^{k}_{i} on the physical element DkD^{k} through the chain rule and linear combinations of differentiation matrices on the reference element. These will be used to construct entropy conservative and entropy stable schemes in the following section. Let gijk=Jkxix^jg^{k}_{ij}=J^{k}\frac{\partial x_{i}}{\partial\hat{x}_{j}} denote geometric terms on DkD^{k}. Then, physical SBP operators can be constructed by taking a linear combination of the reference SBP operators

𝗤i,hk=j=1dgijk𝗤i,h.\bm{\mathsf{Q}}^{k}_{i,h}=\sum_{j=1}^{d}g^{k}_{ij}\bm{\mathsf{Q}}_{i,h}. (3.15)

It was shown in Abc (2000) that these operators satisfy a physical SBP property

𝗤i,hk+(𝗤i,hk)T=[𝟬𝗕ik],\bm{\mathsf{Q}}^{k}_{i,h}+\left(\bm{\mathsf{Q}}^{k}_{i,h}\right)^{T}=\begin{bmatrix}\bm{\mathsf{0}}&\\ &\bm{\mathsf{B}}^{k}_{i}\\ \end{bmatrix},

where 𝗕ik\bm{\mathsf{B}}^{k}_{i} is a diagonal matrix containing the iith component of the outward unit normal on DkD^{k} scaled by quadrature weights and surface Jacobian factors. We note that this construction uses the fact that gijkg^{k}_{ij} is constant over DkD^{k} for affinely mapped elements. We also introduce the physical mass matrix 𝗠k=Jk𝗠\bm{\mathsf{M}}^{k}=J^{k}\bm{\mathsf{M}}, which is scaled by a Jacobian factor. Finally, we note that physical SBP operators on curved elements can be constructed using a “split form” version of (3.15) chan2019discretely.

Finally, we introduce 𝒗h\bm{v}_{h} as the L2L^{2} projection of the entropy variables and 𝒖~\bm{\tilde{u}} as the evaluations of the conservative variables in terms of the L2L^{2} projected entropy variables

𝒖q=𝗩q𝒖h,𝒗q=𝒗(𝒖q),𝒗h=𝗣q𝒗q,\displaystyle\bm{u}_{q}=\bm{\mathsf{V}}_{q}\bm{u}_{h},\hskip 28.45274pt\bm{v}_{q}=\bm{v}(\bm{u}_{q}),\hskip 28.45274pt\bm{v}_{h}=\bm{\mathsf{P}}_{q}\bm{v}_{q}, (3.16)
𝒗~=[𝒗~q𝒗~f]=[𝗩q𝗩f]𝒗h,𝒖~=[𝒖~q𝒖~f]=𝒖(𝒗~).\displaystyle\bm{\tilde{v}}=\begin{bmatrix}\bm{\tilde{v}}_{q}\\ \bm{\tilde{v}}_{f}\end{bmatrix}=\begin{bmatrix}\bm{\mathsf{V}}_{q}\\ \bm{\mathsf{V}}_{f}\end{bmatrix}\bm{v}_{h},\hskip 28.45274pt\bm{\tilde{u}}=\begin{bmatrix}\bm{\tilde{u}}_{q}\\ \bm{\tilde{u}}_{f}\end{bmatrix}=\bm{u}(\bm{\tilde{v}}). (3.17)

Here 𝒖q\bm{u}_{q} and 𝒗q\bm{v}_{q} denote the conservative variables and entropy variables evaluated at the volume quadrature points. The vector 𝒗~\bm{\tilde{v}} denotes the evaluations of the L2L^{2} projection of the entropy variables at both volume and surface quadrature points, while 𝒖~\bm{\tilde{u}} denotes the evaluations of the conservative variables in terms of the projected entropy variables 𝒖(ΠN𝒗)\bm{u}(\Pi_{N}\bm{v}), where ΠN\Pi_{N} denotes the L2L^{2} projection operator.

3.3 Entropy conservation and flux differencing

In this section, we introduce entropy conservative numerical fluxes and discrete formulations Abc (2000, 2000, 2000, 2000). To construct entropy stable schemes in dd dimensions, we utilize entropy conservative fluxes as defined in Abc (2000):

Definition 3.1.

Let 𝐟i,S(𝐮L,𝐮R)\bm{f}_{i,S}(\bm{u}_{L},\bm{u}_{R}) be a bivariate function which is symmetric and consistent with the flux function 𝐟i(𝐮)\bm{f}_{i}(\bm{u}), for i=1,,di=1,...,d

𝒇i,S(𝒖,𝒖)=𝒇i(𝒖),𝒇i,S(𝒖,𝒗)=𝒇i,S(𝒗,𝒖).\displaystyle\bm{f}_{i,S}(\bm{u},\bm{u})=\bm{f}_{i}(\bm{u}),\hskip 28.45274pt\bm{f}_{i,S}(\bm{u},\bm{v})=\bm{f}_{i,S}(\bm{v},\bm{u}). (3.18)

𝒇i,S(𝒖L,𝒖R)\bm{f}_{i,S}(\bm{u}_{L},\bm{u}_{R}) is called entropy conservative if, for entropy variables 𝐯L=𝐯(𝐮L)\bm{v}_{L}=\bm{v}(\bm{u}_{L}) and 𝐯R=𝐯(𝐮R)\bm{v}_{R}=\bm{v}(\bm{u}_{R}),

(𝒗L𝒗R)T𝒇i,S(𝒖L,𝒖R)=ψi(𝒗(𝒖L))ψi(𝒗(𝒖R)).\displaystyle\left(\bm{v}_{L}-\bm{v}_{R}\right)^{T}\bm{f}_{i,S}\left(\bm{u}_{L},\bm{u}_{R}\right)=\psi_{i}(\bm{v}(\bm{u}_{L}))-\psi_{i}(\bm{v}(\bm{u}_{R})). (3.19)

The flux 𝒇i,S\bm{f}_{i,S} can be used to construct entropy conservative and entropy stable finite volume methods. This numerical flux can also be used to construct discretely entropy stable DG schemes using an approach referred to as flux differencing Abc (2000, 2000, 2000, 2000).

Using flux differencing Abc (2000, 2000), we can approximate the derivative of 𝒇i(𝒖(x))\bm{f}_{i}(\bm{u}(x)) using the differentiation matrices 𝗤i,hk\bm{\mathsf{Q}}^{k}_{i,h} and 𝒇i,S\bm{f}_{i,S}. We define a flux matrix 𝗙i\bm{\mathsf{F}}_{i} by evaluating 𝒇i,S\bm{f}_{i,S} using solution values at quadrature points:

(𝗙i)lm=𝒇i,S(𝒖l,𝒖m),1l,mNq.\displaystyle(\bm{\mathsf{F}}_{i})_{lm}=\bm{f}_{i,S}(\bm{u}_{l},\bm{u}_{m}),\qquad 1\leq l,m\leq N_{q}. (3.20)

Then, 𝒇i(𝒖)xi\int\frac{\partial\bm{f}_{i}(\bm{u})}{\partial x_{i}} can be approximated by the term 2(𝗤i,hk𝗙i)𝟏2(\bm{\mathsf{Q}}^{k}_{i,h}\circ\bm{\mathsf{F}}_{i})\bm{1}, where \circ denotes the Hadamard product between two matrices. A discrete entropy conservative formulation is then given as follows on an element DkD^{k}:

𝗠kd𝘂dt+i=1d[𝗩q𝗩f]T(2𝗤i,hk𝗙ik)𝟭+𝗩fT𝗕ik(𝒇i,S(𝘂~k+,𝘂~k)𝒇i(𝘂~fk))=𝗦,\displaystyle\bm{\mathsf{M}}^{k}\frac{{\rm d}\bm{\mathsf{u}}}{{\rm d}{\rm t}}+\sum_{i=1}^{d}\begin{bmatrix}\bm{\mathsf{V}}_{q}\\ \bm{\mathsf{V}}_{f}\end{bmatrix}^{T}\left(2\bm{\mathsf{Q}}^{k}_{i,h}\circ\bm{\mathsf{F}}_{i}^{k}\right)\bm{\mathsf{1}}+\bm{\mathsf{V}}_{f}^{T}\bm{\mathsf{B}}^{k}_{i}\left(\bm{f}_{i,S}(\tilde{\bm{\mathsf{u}}}^{k+},\tilde{\bm{\mathsf{u}}}^{k})-\bm{f}_{i}(\tilde{\bm{\mathsf{u}}}_{f}^{k})\right)=\bm{\mathsf{S}}, (3.21)

where 𝗦\bm{\mathsf{S}} denotes source terms depending on the bottom geometries.

Entropy stable schemes can be constructed from an entropy conservative scheme by adding appropriate penalization term that dissipate entropy at element interfaces Abc (2000). This modification converts schemes which satisfy a global entropy equality into schemes which satisfy a global entropy inequality.

4 Entropy stable coupling terms for junctions and multi-dimensional interfaces

In this section, we describe how to construct entropy conservative and entropy stable coupling terms for 1D junctions (which we will refer to as 1D-1D couplings) and couplings between 1D and 2D domains (which we will refer to as 1D-2D couplings). We refer to both individual channels in networks and 1D and 2D parts of a multi-dimensional domain as subdomains, and discretize over each individual sub-domain using the entropy stable DG methods in Abc (2000). We note, however, that the proposed approach is applicable to any entropy stable SBP-type discretization.

We proceed by designing interface coupling terms which are entropy conservative in the sense that they do not contribute to entropy production. The addition of entropy dissipation (both at coupling interfaces and over each sub-domain) then yields entropy stable schemes over networks or multi-dimensional domains.

4.1 Notation and assumptions

We first introduce notation for 1D and 2D fluxes. Let 𝒇i,S\bm{f}_{i,S} denote the 2D flux, where the subscript ii denotes the iith component of the 2D fluxes, (where i=1,2i=1,2 correspond to the xx and yy direction respectively). We denote the 1D flux vector by 𝒇S\bm{f}_{S}, without the subscript for the coordinate index. We use 𝒇J,1D\bm{f}_{J,1D} and 𝒇J,2D\bm{f}_{J,2D} to denote the numerical flux at a multi-dimensional junction on 1D and 2D sides respectively. We use 𝒇J,i\bm{f}_{J,i} to denote the fluxes at a 1D-1D junction, where the subscript ii denotes the numerical flux for the iith 1D channel. We use n1Dn_{1D} and n2Dn_{2D} to denote the sign of the outward surface normal on the 1D and 2D domains at a 1D-2D junction.

Finally, we restrict ourselves to velocity-based systems, where in dd dimensions, the conservative variables contain a velocity or momentum vector with dd components. We also assume that 1D system can be derived from 2D system by ignoring or projecting certain velocity components. We note our approach is not directly applicable to systems which do not satisfy these assumptions, such as Burger’s equation.

4.2 1D-2D domain coupling

Refer to caption
Figure 2: A 1D-2D mesh with surface and volume quadrature points overlaid.

For flows over networks of 1D channels, one approach to model junction behavior is to explicitly discretize the junction using a 2D mesh Abc (2000, 2000). Since each junction can be accurately modeled using a relatively small number of elements, this approach inherits most of the computational advantages of a purely 1D network simulation. We illustrate the construction of a 1D-2D coupling scheme using the simplified setting shown in Figure 2. We assume that the 2D domain has an interface which is perpendicular to the 1D domain. This property can be enforced when constructing meshes for 2D domains. We couple 1D and 2D domains together by treating the 1D domain as a channel with the same width of the 2D domain.

In both 1D and 2D, each cell communicates through fluxes (calculated in terms of “interior” and “exterior” values of the conservative variables) at the interfaces, and we treat the coupling interface similarly. We first compute the fluxes at the interface of the coupling in the 2D domain with the following steps. Let 𝒖2D\bm{u}_{2D} denote the vector of the conservative variables in the “interior” of 2D cell, and let 𝒖2D+\bm{u}^{+}_{2D} denotes the “exterior” values of the conservative variables from the neighbouring cell. The conservative variables in 1D have fewer fields than the variables in 2D. To resolve this mismatch, we introduce a matrix 𝑹\bm{R} to transform between 1D and 2D variables. For shallow water equations in 1D and 2D, we have

𝑹=[100n10n2],𝑹T𝑹=𝑰,\displaystyle\bm{R}=\begin{bmatrix}1&0\\ 0&n_{1}\\ 0&n_{2}\\ \end{bmatrix},\qquad\bm{R}^{T}\bm{R}=\bm{I}, (4.1)

where [n1,n2]T[n_{1},n_{2}]^{T} is the unit outward normal vector for the 1D domain with respect to the 2D coordinates. Then we can use 𝑹\bm{R} to transform between 1D and 2D variables as follows:

𝑹𝒖1D\displaystyle\bm{R}\bm{u}_{1D} =[100n10n2][hhu1D][hhu2Dhv2D],\displaystyle=\begin{bmatrix}1&0\\ 0&n_{1}\\ 0&n_{2}\\ \end{bmatrix}\begin{bmatrix}h\\ hu_{1D}\\ \end{bmatrix}\Longrightarrow\begin{bmatrix}h\\ hu_{2D}\\ hv_{2D}\\ \end{bmatrix}, (4.2)
𝑹T𝒖2D\displaystyle\bm{R}^{T}\bm{u}_{2D} =[1000n1n2][hhu2Dhv2D][hhu1D].\displaystyle=\begin{bmatrix}1&0&0\\ 0&n_{1}&n_{2}\\ \end{bmatrix}\begin{bmatrix}h\\ hu_{2D}\\ hv_{2D}\\ \end{bmatrix}\Longrightarrow\begin{bmatrix}h\\ hu_{1D}\\ \end{bmatrix}. (4.3)

Note that 𝑹T𝒖2D\bm{R}^{T}\bm{u}_{2D} constructs the 1D1D momentum from the normal component of the 2D momentum. Similarly, we can apply this 𝑹\bm{R} operator to the entropy conservative fluxes and entropy variables in both 1D and 2D.

Let 𝒖f,2D\bm{u}_{f,2D} and 𝒖f,1D\bm{u}_{f,1D} denote the vector of values of the conservative variables at surface quadrature points in the 2D and 1D domains on general elements and let 𝒖J,2D\bm{u}_{J,2D} and 𝒖J,1D\bm{u}_{J,1D} denote the vector of values of the conservative variables at surface quadrature points on the 2D and 1D side of a 1D-2D interface. Then the flux on the 2D side of the 1D-2D interface 𝒇J,2D\bm{f}_{J,2D} is defined as

𝒇J,2D(𝒖J,2D+,𝒖J,2D)=i=1dni𝒇i,S(𝒖J,2D+,𝒖J,2D),𝒖J,2D+=𝑹𝒖J,1D.\displaystyle\bm{f}_{J,2D}(\bm{u}_{J,2D}^{+},\bm{u}_{J,2D})=\sum_{i=1}^{d}n_{i}\bm{f}_{i,S}(\bm{u}_{J,2D}^{+},\bm{u}_{J,2D}),\qquad\bm{u}_{J,2D}^{+}=\bm{R}\bm{u}_{J,1D}. (4.4)

We next apply the transformation matrix 𝑹T\bm{R}^{T} to the 2D fluxes to reduce them down to 1D dimension. We define the surface flux for 1D side of the 1D-2D interface as follows:

𝒇J,1D=𝘄J,fT(𝑹T𝒇J,2D)𝘄J,fT𝟭n1D,\displaystyle\bm{f}_{J,1D}=\frac{\bm{\mathsf{w}}_{J,f}^{T}\left(\bm{R}^{T}\bm{f}_{J,2D}\right)}{\bm{\mathsf{w}}_{J,f}^{T}\bm{\mathsf{1}}}n_{1D}, (4.5)

where 𝘄J,f\bm{\mathsf{w}}_{J,f} is the vector containing the quadrature weights of the surface quadrature points on the entire 1D-2D interface. Note that operation 𝑹T𝒇J,2D\bm{R}^{T}\bm{f}_{J,2D} is performed point-wise at each surface quadrature point.

We now present a proof of entropy conservation for our 1D-2D coupling scheme. Let K1DK_{1D} and K2DK_{2D} denote the number of elements in the 1D and 2D domains respectively. Let J1DkJ^{k}_{1D} and J2DkJ^{k}_{2D} be the Jacobian on the kkth elements in the 1D and 2D domains respectively. We first introduce the following lemma:

Lemma 4.1.

Let 𝘂~1D\bm{\mathsf{\tilde{u}}}_{1D} and 𝘂~2D\bm{\mathsf{\tilde{u}}}_{2D} denote the 1D and 2D entropy projected conservative variables, and let 𝗿1D(𝘂~1D)\bm{\mathsf{r}}_{1D}(\bm{\mathsf{\tilde{u}}}_{1D}) and 𝗿2D(𝘂~2D)\bm{\mathsf{r}}_{2D}(\bm{\mathsf{\tilde{u}}}_{2D}) denote the entropy stable DG spatial formulation such that

𝗿1D(𝘂~1D)=k=1K1D([𝗩q𝗩f]T2((𝗤k(𝗤k)T)𝗙)𝟭+𝗩fT𝗕𝒇1D),\displaystyle\bm{\mathsf{r}}_{1D}(\bm{\mathsf{\tilde{u}}}_{1D})=\sum_{k=1}^{K_{1D}}(\begin{bmatrix}\bm{\mathsf{V}}_{q}\\ \bm{\mathsf{V}}_{f}\end{bmatrix}^{T}2\left(\left(\bm{\mathsf{Q}}^{k}-(\bm{\mathsf{Q}}^{k})^{T}\right)\circ\bm{\mathsf{F}}\right)\bm{\mathsf{1}}+\bm{\mathsf{V}}_{f}^{T}\bm{\mathsf{B}}\bm{f}_{1D}^{*}), (4.6)
𝗿2D(𝘂~2D)=k=1K2Di=1,2([𝗩q𝗩f]T2(𝗤ik(𝗤ik)T𝗙i)𝟭+𝗩fT𝗕ik𝒇i,2D),\displaystyle\bm{\mathsf{r}}_{2D}(\bm{\mathsf{\tilde{u}}}_{2D})=\sum_{k=1}^{K_{2D}}\sum_{i=1,2}(\begin{bmatrix}\bm{\mathsf{V}}_{q}\\ \bm{\mathsf{V}}_{f}\end{bmatrix}^{T}2\left(\bm{\mathsf{Q}}^{k}_{i}-(\bm{\mathsf{Q}}^{k}_{i})^{T}\circ\bm{\mathsf{F}}_{i}\right)\bm{\mathsf{1}}+\bm{\mathsf{V}}_{f}^{T}\bm{\mathsf{B}}^{k}_{i}\bm{f}_{i,2D}^{*}), (4.7)
(𝗙)j,k=𝒇S(𝘂~j,𝘂~k),(𝗙i)j,k=𝒇S(𝘂~j,𝘂~k),\displaystyle(\bm{\mathsf{F}})_{j,k}=\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{j},\bm{\mathsf{\tilde{u}}}_{k}),\qquad(\bm{\mathsf{F}}_{i})_{j,k}=\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{j},\bm{\mathsf{\tilde{u}}}_{k}), (4.8)

where

𝒇1D\displaystyle\bm{f}_{1D}^{*} =𝒇S(𝘂~f,1D+,𝘂~f,1D)\displaystyle=\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{f,1D}^{+},\bm{\mathsf{\tilde{u}}}_{f,1D}) (4.9)
𝒇i,2D\displaystyle\bm{f}_{i,2D}^{*} =𝒇i,S(𝘂~f,2D+,𝘂~f,2D)\displaystyle=\bm{f}_{i,S}(\bm{\mathsf{\tilde{u}}}_{f,2D}^{+},\bm{\mathsf{\tilde{u}}}_{f,2D}) (4.10)

on interior interfaces and

𝒇1D=0𝒇i,2D=0\displaystyle\bm{f}_{1D}^{*}=0\qquad\bm{f}_{i,2D}^{*}=0 (4.12)

at the junction boundaries of the 1D and 2D domains. Let 𝘃1D\bm{\mathsf{v}}_{1D} and 𝘃2D\bm{\mathsf{v}}_{2D} denote the projected entropy variables. Assuming that the entropy flux ψ(𝘂~)𝘃T𝐟=0\psi(\tilde{\bm{\mathsf{u}}})-\bm{\mathsf{v}}^{T}\bm{f}^{*}=0 on non-junction boundaries, then

𝘃1DT𝗿1D(𝘂~1D)\displaystyle\bm{\mathsf{v}}_{1D}^{T}\bm{\mathsf{r}}_{1D}(\bm{\mathsf{\tilde{u}}}_{1D}) =ψ(𝘂~J,1D)\displaystyle=\psi(\bm{\mathsf{\tilde{u}}}_{J,1D}) (4.13)
𝘃2DT𝗿2D(𝘂~2D)\displaystyle\bm{\mathsf{v}}_{2D}^{T}\bm{\mathsf{r}}_{2D}(\bm{\mathsf{\tilde{u}}}_{2D}) =i=1,2ψi(𝘂~J,2D)ni.\displaystyle=\sum_{i=1,2}\psi_{i}(\bm{\mathsf{\tilde{u}}}_{J,2D})n_{i}. (4.14)

The proof of the lemma is restatement of results from Abc (2000). Next, assume a simple 1D-2D coupling as shown in Figure 2, where we assume the 1D and 2D domain are channels of the same width denoted by AA. The 1D-2D junction terms can be expressed as

k=1K1D𝗠kd𝘂1Ddt+𝗿1D(𝘂~1D)+𝗩fT𝒇J,1D(𝘂~J,1D,𝘂~J,2D)n1D=0\displaystyle\sum_{k=1}^{K_{1D}}\bm{\mathsf{M}}^{k}\frac{{\rm d}\bm{\mathsf{u}}_{1D}}{{\rm d}{\rm t}}+\bm{\mathsf{r}}_{1D}(\bm{\mathsf{\tilde{u}}}_{1D})+\bm{\mathsf{V}}_{f}^{T}\bm{f}_{J,1D}(\bm{\mathsf{\tilde{u}}}_{J,1D},\bm{\mathsf{\tilde{u}}}_{J,2D})n_{1D}=0 (4.15)
k=1K2D𝗠kd𝘂2Ddt+𝗿1D(𝘂~2D)+𝗩fT𝗪f𝒇J,2D(𝘂~J,1D,𝘂~J,2D)n2D=0,\displaystyle\sum_{k=1}^{K_{2D}}\bm{\mathsf{M}}^{k}\frac{{\rm d}\bm{\mathsf{u}}_{2D}}{{\rm d}{\rm t}}+\bm{\mathsf{r}}_{1D}(\bm{\mathsf{\tilde{u}}}_{2D})+\bm{\mathsf{V}}_{f}^{T}\bm{\mathsf{W}}_{f}\bm{f}_{J,2D}(\bm{\mathsf{\tilde{u}}}_{J,1D},\bm{\mathsf{\tilde{u}}}_{J,2D})n_{2D}=0, (4.16)

where 𝒇J,2D(𝘂~J,1D,𝘂~J,2D)\bm{f}_{J,2D}(\bm{\mathsf{\tilde{u}}}_{J,1D},\bm{\mathsf{\tilde{u}}}_{J,2D}) and 𝒇J,1D(𝘂~J,1D,𝘂~J,2D)\bm{f}_{J,1D}(\bm{\mathsf{\tilde{u}}}_{J,1D},\bm{\mathsf{\tilde{u}}}_{J,2D}) are defined in (4.5) and (4.4) respectively. Together, these 1D-2D discretizations imply entropy conservation:

Theorem 4.2.

Let fluxes at a 1D-2D interface be defined as in (4.4) and (4.5). Let 𝘂q,1D\bm{\mathsf{u}}_{q,1D} and 𝘂q,2D\bm{\mathsf{u}}_{q,2D} denote the values of the 1D and 2D solutions at quadrature points on the kkth 1D or 2D element. Then, assuming continuity in time and that the entropy flux ψ(𝘂~)𝘃T𝐟=0\psi(\tilde{\bm{\mathsf{u}}})-\bm{\mathsf{v}}^{T}\bm{f}^{*}=0 on non-junction boundaries, the DG scheme defined by (3.21) is entropy conservative in the sense that

Ak=1K1D𝟏TJ1Dk𝗪dS(𝘂q,1D)dt+k=1K2D𝟏TJ2Dk𝗪dS(𝘂q,2D)dt=0,\displaystyle A\sum_{k=1}^{K_{1D}}\bm{1}^{T}J^{k}_{1D}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,1D})}{{\rm{d}}t}+\sum_{k=1}^{K_{2D}}\bm{1}^{T}J^{k}_{2D}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,2D})}{{\rm{d}}t}=0, (4.17)

which is a quadrature approximation to

t(AΩ1DS(𝒖)+Ω2DS(𝒖))=0,\displaystyle\frac{\partial}{\partial t}\left(A\int_{\Omega_{1D}}S(\bm{u})+\int_{\Omega_{2D}}S(\bm{u})\right)=0, (4.18)

where Ω1D\Omega_{1D} and Ω2D\Omega_{2D} denote the 1D and 2D domain respectively.

Proof.

It is sufficient to prove entropy conservation for the setup shown in Figure 2. From the results in Abc (2000) and Lemma 4.1, we only need to show that the flux contributions from 1D and 2D sides of the 1D-2D junction interface cancel. Testing with the entropy variables, scaling with the Jacobian JkJ^{k} in both domains and width AA of the 1D domain, it can be shown that the 1D and 2D schemes each satisfy

Ak=1K1D𝟏TJ1Dk𝗪dS(𝘂q,1D)dt\displaystyle A\sum_{k=1}^{K_{1D}}\bm{1}^{T}J^{k}_{1D}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,1D})}{{\rm{d}}t} =A𝟏Tn1D(ψ1D(𝘂~J,1D)𝘃~1DT𝒇S(𝘂~J,1D+,𝘂~J,1D)),\displaystyle=A\bm{1}^{T}n_{1D}\left(\psi_{1D}(\bm{\mathsf{\tilde{u}}}_{J,1D})-\bm{\mathsf{\tilde{v}}}_{1D}^{T}\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{J,1D}^{+},\bm{\mathsf{\tilde{u}}}_{J,1D})\right), (4.19)
k=1K2D𝟏TJ2Dk𝗪dS(𝘂q,2D)dt\displaystyle\sum_{k=1}^{K_{2D}}\bm{1}^{T}J^{k}_{2D}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,2D})}{{\rm{d}}t} =i=x,y𝟏T𝘄fni,2D(ψi(𝘂~J,2D)𝘃~2DT𝒇i,S(𝘂~J,2D+,𝘂~J,2D)).\displaystyle=\sum_{i=x,y}\bm{1}^{T}\bm{\mathsf{w}}_{f}n_{i,2D}\left(\psi_{i}(\bm{\mathsf{\tilde{u}}}_{J,2D})-\bm{\mathsf{\tilde{v}}}_{2D}^{T}\bm{f}_{i,S}(\bm{\mathsf{\tilde{u}}}_{J,2D}^{+},\bm{\mathsf{\tilde{u}}}_{J,2D})\right). (4.20)

Without loss of generality, we assume n1,2D=1n_{1,2D}=1 and n2,2D=0n_{2,2D}=0, so we denote n1,2Dn_{1,2D} with shorthand n2Dn_{2D}. On 1D side of the junction, the flux contribution is:

An1D(𝘃~J,1D+)T𝒇J,1D=ATn1D(𝘃~J,1D+)T𝘄J,fT(𝑹T𝒇J,2D)𝘄J,fT𝟏,\displaystyle An_{1D}\bm{\mathsf{(\tilde{v}}}_{J,1D}^{+})^{T}\bm{f}_{J,1D}=A^{T}n_{1D}\bm{\mathsf{(\tilde{v}}}_{J,1D}^{+})^{T}\frac{\bm{\mathsf{w}}_{J,f}^{T}\left(\bm{R}^{T}\bm{f}_{J,2D}\right)}{\bm{\mathsf{w}}_{J,f}^{T}\bm{1}}, (4.21)

where n1Dn_{1D} is the normal in the 1D domain. Using that 𝘄J,fT𝟭=A\bm{\mathsf{w}}_{J,f}^{T}\bm{\mathsf{1}}=A, we have the flux contribution from the 1D side is

An1D(𝘃~J,1D+)T𝘄fT(𝑹T𝒇J,2D)𝘄J,fT𝟏\displaystyle An_{1D}(\bm{\mathsf{\tilde{v}}}_{J,1D}^{+})^{T}\frac{\bm{\mathsf{w}}_{f}^{T}\left(\bm{R}^{T}\bm{f}_{J,2D}\right)}{\bm{\mathsf{w}}_{J,f}^{T}\bm{1}} (4.22)
=\displaystyle= n1D(𝘃~J,1D+)T𝘄J,fT𝑹T𝒇J,2D((𝑹𝘂~J,1D)𝟏,𝘂~J,2D))\displaystyle n_{1D}(\bm{\mathsf{\tilde{v}}}_{J,1D}^{+})^{T}\bm{\mathsf{w}}_{J,f}^{T}\bm{R}^{T}\bm{f}_{J,2D}\left((\bm{R}{\bm{\mathsf{\tilde{u}}}_{J,1D}})\bm{1},\bm{\mathsf{\tilde{u}}}_{J,2D})\right) (4.23)
=\displaystyle= n1D(𝑹𝘃~J,1D+𝟏)T𝗪J,f𝒇J,2D((𝑹𝘂~J,1D)𝟏,𝘂~J,2D))\displaystyle n_{1D}(\bm{R}\bm{\mathsf{\tilde{v}}}_{J,1D}^{+}\bm{1})^{T}\bm{\mathsf{W}}_{J,f}\bm{f}_{J,2D}\left((\bm{R}{\bm{\mathsf{\tilde{u}}}_{J,1D}})\bm{1},\bm{\mathsf{\tilde{u}}}_{J,2D})\right) (4.24)

where, 𝗪J,f\bm{\mathsf{W}}_{J,f} is a diagonal matrix that contains the surface quadrature weights at the junction interface. In going from (4.23) to (4.24), we use that 𝘄J,fT=𝟏T𝗪J,f\bm{\mathsf{w}}_{J,f}^{T}=\bm{1}^{T}\bm{\mathsf{W}}_{J,f} by the definitions of 𝗪J,f,𝘄J,f\bm{\mathsf{W}}_{J,f},\bm{\mathsf{w}}_{J,f}. We also use that since multiplication by 𝑹T\bm{R}^{T} acts on discrete solution values on junction surface quadrature points (to account for the fact that 𝘃~J,1D+\bm{\mathsf{\tilde{v}}}_{J,1D}^{+} is a scalar and 𝒇J,2D\bm{f}_{J,2D} is a vector), multiplication by 𝗪fT\bm{\mathsf{W}}_{f}^{T} and 𝑹T\bm{R}^{T} commute.

Similar in 2D, we have the following flux contribution on the junction

n2D(𝘃~J,2D+)T𝗪J,f𝒇J,2D((𝑹𝘂~J,1D)𝟏,𝘂~J,2D))\displaystyle n_{2D}(\bm{\mathsf{\tilde{v}}}_{J,2D}^{+})^{T}\bm{\mathsf{W}}_{J,f}\bm{f}_{J,2D}\left((\bm{R}{\bm{\mathsf{\tilde{u}}}_{J,1D}})\bm{1},\bm{\mathsf{\tilde{u}}}_{J,2D})\right) (4.25)

Because the outward normal for the 1D domain is the negative of the outward normal for the 2D domain, we can combine the 1D and 2D surface terms from (4.24) and (4.25) together. Using that 𝟭T𝘄J,f=A\bm{\mathsf{1}}^{T}\bm{\mathsf{w}}_{J,f}=A, we have

n1D(𝑹𝘃~J,1D+𝟏)T𝗪J,f𝒇J,2D+n2D(𝘃~J,2D+)T𝗪J,f𝒇J,2D\displaystyle n_{1D}(\bm{R}\bm{\mathsf{\tilde{v}}}_{J,1D}^{+}\bm{1})^{T}\bm{\mathsf{W}}_{J,f}\bm{f}_{J,2D}+n_{2D}(\bm{\mathsf{\tilde{v}}}_{J,2D}^{+})^{T}\bm{\mathsf{W}}_{J,f}\bm{f}_{J,2D} (4.26)
=\displaystyle= ((𝑹𝘃~J,1D+𝟏)T(𝘃~J,2D+)T)𝗪J,f𝒇J,2D((𝑹𝘂~J,1D)𝟏,𝘂~J,2D))\displaystyle\left((\bm{R}\bm{\mathsf{\tilde{v}}}_{J,1D}^{+}\bm{1})^{T}-(\bm{\mathsf{\tilde{v}}}_{J,2D}^{+})^{T}\right)\bm{\mathsf{W}}_{J,f}\bm{f}_{J,2D}\left((\bm{R}{\bm{\mathsf{\tilde{u}}}_{J,1D}})\bm{1},\bm{\mathsf{\tilde{u}}}_{J,2D})\right) (4.27)

First, note 𝘂~J,2D=𝘂(𝘃~J,2D)\bm{\mathsf{\tilde{u}}}_{J,2D}=\bm{\mathsf{u}}(\bm{\mathsf{\tilde{v}}}_{J,2D}) by construction. Then, note that the 2D mapping between conservative and entropy variables reduces to a 1D mapping in the normal direction upon multiplication by 𝑹T\bm{R}^{T}. Thus, 𝘂((𝑹𝘃1D)𝟏)=𝑹𝘂~1D𝟏\bm{\mathsf{u}}\left((\bm{R}\bm{\mathsf{v}}_{1D}\right)\bm{1})=\bm{R}\bm{\mathsf{\tilde{u}}}_{1D}\bm{1}, where 𝘂1D=𝘂(𝘃1D)\bm{\mathsf{u}}_{1D}=\bm{\mathsf{u}}(\bm{\mathsf{v}}_{1D}).

The flux contributions from 1D and 2D side of the junction cancel since the operator RR transform the 1D projected entropy variables to 2D, such that (𝑹𝘃~J,1D+𝟏)T=(𝘃~J,2D+)T(\bm{R}\bm{\mathsf{\tilde{v}}}_{J,1D}^{+}\bm{1})^{T}=(\bm{\mathsf{\tilde{v}}}_{J,2D}^{+})^{T}. Therefore, with ψ(𝘂~)𝘃T𝒇=0\psi(\tilde{\bm{\mathsf{u}}})-\bm{\mathsf{v}}^{T}\bm{f}^{*}=0 on non-junction boundaries, we have

Ak=1K1D𝟏TJk𝗪dS(𝘂q,1D)dt+k=1K2D𝟏TJk𝗪dS(𝘂q,2D)dt=0.\displaystyle A\sum_{k=1}^{K_{1D}}\bm{1}^{T}J^{k}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,1D})}{{\rm{d}}t}+\sum_{k=1}^{K_{2D}}\bm{1}^{T}J^{k}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,2D})}{{\rm{d}}t}=0. (4.28)

We note that a 2D domain can be coupled to multiple 1D domains. For example, in Figure 3, we calculate the flux for Channel 1 with fluxes from the top two cells and the flux for Channel 2 with the bottom six cells of the 1D-2D interface.

Refer to caption
Figure 3: Example of a 1D-2D mesh with multiple channels. Channel 1 with its connecting interface are shown using blue dots and channel 2 with its connecting interface are shown using red dashes.

4.3 1D-1D junction coupling

In this section, we introduce entropy stable methods to join multiple (2 or more) 1D domains together without explicitly representing the junction as a 2D domain. This approach simplifies meshing and further reduces the overall computational cost, though it may not accurately reproduce multi-dimensional effects in certain flow setting Abc (2000, 2000).

Refer to caption
Figure 4: 1D domains with directions and signs of the outward unit normal for junction.

We first present a general method to couple an arbitrary number of 1D domains at a junction. The key is to distribute shared fluxes between each domain connected to the junction in a conservative fashion. Let IJI_{J} be a set of all domains at the junction and let |IJ||I_{J}| denotes the dimension of the set. Let AiA_{i} denote the width of the iith domain at a junction. Let nJ,i=±1n_{J,i}=\pm{1} denote the outward surface normal for channel iIJi\in I_{J}, as shown in Figure 4. We introduce on channel iIJi\in I_{J} the values of solution 𝒖f,i\bm{u}_{f,i} and junction flux 𝒇J,i\bm{f}_{J,i}

𝒇J,i(𝒖f,i+,𝒖f,i)=jIJcij𝒇S(𝒖f,i,𝒖f,j),\displaystyle\bm{f}_{J,i}(\bm{u}_{f,i}^{+},\bm{u}_{f,i})=\sum_{j\in I_{J}}c_{ij}\bm{f}_{S}(\bm{u}_{f,i},\bm{u}_{f,j}), (4.29)

where we have the weighting coefficients cijc_{ij}. We require these coefficients to satisfy

jIJcij=1, and Aicij=Ajcji, for all i,j.\displaystyle\sum_{j\in I_{J}}c_{ij}=1,\textrm{ and }A_{i}c_{ij}=A_{j}c_{ji},\textrm{ for all }i,j. (4.30)

We introduce the convention that non-zero values of ciic_{ii} represent “partial” wall boundary conditions (which we describe in more detail in Section 4.3.2), where the solution of the a domain partially interacts with itself.

Let KiK_{i} denote the number of elements in the iith channel and let JikJ^{k}_{i} be the Jacobian of the kkth element of the iith channel. With Lemma 4.1, we have the following theorem:

Theorem 4.3.

Let fluxes at the 1D-1D junction interface be defined as in (4.29) with the coefficients satisfying (4.30), and let 𝘂q,i\bm{\mathsf{u}}_{q,i} denote the solution values on the quadrature points on the iith channel. Then, assuming continuity in time, the DG scheme defined by (3.21) for the entire network is entropy conservative for periodic boundary conditions

iIJAik=1Ki𝟏TJik𝗪dS(𝘂q,i)dt=0.\displaystyle\sum_{i\in I_{J}}A_{i}\sum_{k=1}^{K_{i}}\bm{1}^{T}J^{k}_{i}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,i})}{{\rm{d}}t}=0. (4.31)

This is a quadrature approximation to

ddt(iIJAiΩiS(𝒖i))=0.\displaystyle\frac{{\rm d}}{{\rm d}{\rm t}}\left(\sum_{i\in I_{J}}A_{i}\int_{\Omega_{i}}S(\bm{u}_{i})\right)=0. (4.32)
Proof.

Consider a network of 1D channels which join at a junction. Since we are using an entropy conservative DG formulation on each channel, our scheme is entropy conservative up to the coupling interface, and satisfies on each channel Abc (2000)

𝟏T𝗪dS(𝘂q,i)dt=𝟏TnJ,i(ψ(𝘂~f,i)𝘃~iT𝒇S),iIj.\displaystyle\bm{1}^{T}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,i})}{{\rm{d}}t}=\bm{1}^{T}n_{J,i}\left(\psi(\bm{\mathsf{\tilde{u}}}_{f,i})-\bm{\mathsf{\tilde{v}}}_{i}^{T}\bm{f}_{S}\right),\qquad\forall i\in I_{j}. (4.33)

Scaling by the Jacobian JikJ^{k}_{i} and width, then summing over all channels and elements gives

iIJAik=1Ki𝟏TJik𝗪dS(𝘂q,i)dt=iIJAik=1Ki𝟏TnJ,i(ψ(𝘂~f,i)𝘃~J,1DT𝒇S(𝘂~f,i+,𝘂~f,i)).\displaystyle\sum_{i\in I_{J}}A_{i}\sum_{k=1}^{K_{i}}\bm{1}^{T}J^{k}_{i}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,i})}{{\rm{d}}t}=\sum_{i\in I_{J}}A_{i}\sum_{k=1}^{K_{i}}\bm{1}^{T}n_{J,i}\left(\psi(\bm{\mathsf{\tilde{u}}}_{f,i})-\bm{\mathsf{\tilde{v}}}_{J,1D}^{T}\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{f,i}^{+},\bm{\mathsf{\tilde{u}}}_{f,i})\right). (4.34)

Notice that n+=nn^{+}=-n, where nn is the outward normal and recall that the entries of BB correspond to the value of nn at the channel. Then splitting the interface contribution between neighboring elements gives

iIJAik=1Ki𝟏TnJ,i(𝘃~iT𝒇S(𝘂~f,i+,𝘂~f,i))=\displaystyle-\sum_{i\in I_{J}}A_{i}\sum_{k=1}^{K_{i}}\bm{1}^{T}n_{J,i}\left(\bm{\mathsf{\tilde{v}}}_{i}^{T}\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{f,i}^{+},\bm{\mathsf{\tilde{u}}}_{f,i})\right)= iIJAikJ𝟏TnJ,i(𝘃~iT𝒇S(𝘂~f,i+,𝘂~f,i))\displaystyle-\sum_{i\in I_{J}}A_{i}\sum_{k\notin J}\bm{1}^{T}n_{J,i}\left(\bm{\mathsf{\tilde{v}}}_{i}^{T}\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{f,i}^{+},\bm{\mathsf{\tilde{u}}}_{f,i})\right)
iIJAikJ𝟏TnJ,i(𝘃~iT𝒇J,i(𝘂~f,i+,𝘂~f,i)).\displaystyle-\sum_{i\in I_{J}}A_{i}\sum_{k\in J}\bm{1}^{T}n_{J,i}\left(\bm{\mathsf{\tilde{v}}}_{i}^{T}\bm{f}_{J,i}(\bm{\mathsf{\tilde{u}}}_{f,i}^{+},\bm{\mathsf{\tilde{u}}}_{f,i})\right). (4.35)

The first part of (4.35) corresponds to the elements away from junction. By Lemma 4.1, we only need to consider the numerical flux contribution at the junction. Without loss of generality, assume that only one element from each domain is connected to the junction. For elements at the junction, we can write the remaining term in (4.35) as

iIJAikJ𝟏TnJ,i(𝘃~iT𝒇J,i(𝘂~f,i+,𝘂~f,i))\displaystyle-\sum_{i\in I_{J}}A_{i}\sum_{k\in J}\bm{1}^{T}n_{J,i}\left(\bm{\mathsf{\tilde{v}}}_{i}^{T}\bm{f}_{J,i}(\bm{\mathsf{\tilde{u}}}_{f,i}^{+},\bm{\mathsf{\tilde{u}}}_{f,i})\right) (4.36)
=\displaystyle= 12iIJAi𝟏TnJ,i(j=1|IJ|(𝘃~j𝘃~i)Tcij𝒇S(𝘂~f,i,𝘂~f,j))\displaystyle\frac{1}{2}\sum_{i\in I_{J}}A_{i}\bm{1}^{T}n_{J,i}\left(\sum_{j=1}^{|I_{J}|}\left(\bm{\mathsf{\tilde{v}}}_{j}-\bm{\mathsf{\tilde{v}}}_{i}\right)^{T}c_{ij}\bm{f}_{S}(\bm{\mathsf{\tilde{u}}}_{f,i},\bm{\mathsf{\tilde{u}}}_{f,j})\right) (4.37)
=\displaystyle= 12iIJAi𝟏TnJ,i(j=1|IJ|cij(ψ(𝘂~f,j)ψ(𝘂~f,i)))\displaystyle\frac{1}{2}\sum_{i\in I_{J}}A_{i}\bm{1}^{T}n_{J,i}\left(\sum_{j=1}^{|I_{J}|}c_{ij}\left(\psi(\bm{\mathsf{\tilde{u}}}_{f,j})-\psi(\bm{\mathsf{\tilde{u}}}_{f,i})\right)\right) (4.38)
=\displaystyle= 12𝟏TnJ,i(iIJj=1|IJ|Aicij(ψ(𝘂~f,j)ψ(𝘂~f,i)))\displaystyle\frac{1}{2}\bm{1}^{T}n_{J,i}\left(\sum_{i\in I_{J}}\sum_{j=1}^{|I_{J}|}A_{i}c_{ij}\left(\psi(\bm{\mathsf{\tilde{u}}}_{f,j})-\psi(\bm{\mathsf{\tilde{u}}}_{f,i})\right)\right) (4.39)
=\displaystyle= 12𝟏TnJ,i(j=1|IJ|Ajψ(𝘂~f,j)iIJAiψ(𝘂~f,i)),\displaystyle\frac{1}{2}\bm{1}^{T}n_{J,i}\left(\sum_{j=1}^{|I_{J}|}A_{j}\psi(\bm{\mathsf{\tilde{u}}}_{f,j})-\sum_{i\in I_{J}}A_{i}\psi(\bm{\mathsf{\tilde{u}}}_{f,i})\right), (4.40)

where we use the symmetry and conservation properties of the entropy conservative fluxes from Definition 3.1. Distributing these contributions among all channels, the interface contributions on the iith channel are

12𝟏TnJ,i(1|IJ|j=1|IJ|Ajψ(𝘂~f,j)Aiψ(𝘂~f,i)).\displaystyle\frac{1}{2}\bm{1}^{T}n_{J,i}\left(\frac{1}{|I_{J}|}\sum_{j=1}^{|I_{J}|}A_{j}\psi(\bm{\mathsf{\tilde{u}}}_{f,j})-A_{i}\psi(\bm{\mathsf{\tilde{u}}}_{f,i})\right). (4.41)

The flux contributions 1|IJ|j=1|IJ|Ajψ(𝘂~f,j)\frac{1}{|I_{J}|}\sum_{j=1}^{|I_{J}|}A_{j}\psi(\bm{\mathsf{\tilde{u}}}_{f,j}) in (4.41) cancel at the junction interface because the neighboring elements have opposite normals. Combining the results at and away from the junction and using (4.30) with ψ(𝘂~)𝘃T𝒇=0\psi(\tilde{\bm{\mathsf{u}}})-\bm{\mathsf{v}}^{T}\bm{f}^{*}=0 on non-junction boundaries, we reach the conclusion that

iIJAik=1Ki𝟏TJik𝗪dS(𝘂q,i)dt=0.\displaystyle\sum_{i\in I_{J}}A_{i}\sum_{k=1}^{K_{i}}\bm{1}^{T}J^{k}_{i}\bm{\mathsf{W}}\frac{{\rm{d}}S(\bm{\mathsf{u}}_{q,i})}{{\rm{d}}t}=0. (4.42)

We note that, for our numerical experiments, cijc_{ij} are fixed values, but they can potentially vary with time or depend on solution values. However, determining expressions for junction coefficients cijc_{ij} is beyond the scope of this paper. Fixed values of cijc_{ij} still provide reasonable approximations in certain cases. We illustrate the application of this framework with two junction examples.

4.3.1 Straight flow

Refer to captionnJ,1=1\xrightarrow{n_{J,1}=1}nJ,2=1\xrightarrow{n_{J,2}=1}nJ,3=1\xleftarrow{n_{J,3}=-1}
Figure 5: 1D-1D domain coupling.

First consider the following setting as in Figure 5. Let A1A_{1}, A2A_{2}, and A3A_{3} be the width of the corresponding channels. We assume that A1+A2=A3A_{1}+A_{2}=A_{3} and that the direction of the domains is aligned with the xx axis from left to right. Therefore, the outward surface normals are n1=1n_{1}=1, n2=1n_{2}=1, and n3=1n_{3}=-1 for channels 1, 2, and 3 respectively as marked in Figure 5. We apply periodic boundary conditions in the xx direction. Since we are using an entropy stable DG scheme on each 1D domain, the only component left to specify is the treatment of the junction interface. Let 𝒖1\bm{u}_{1}, 𝒖2\bm{u}_{2}, and 𝒖3\bm{u}_{3} be the conservative variables for channels 1, 2 and 3. We calculate the junction interface fluxes 𝒇J,i\bm{f}_{J,i} in the following ways: for channels 1 and 2, we have

𝒇J,1(𝒖1,𝒖2,𝒖3)=𝒇S(𝒖1,𝒖3),𝒇J,2(𝒖1,𝒖2,𝒖3)=𝒇S(𝒖2,𝒖3).\displaystyle\bm{f}_{J,1}(\bm{u}_{1},\bm{u}_{2},\bm{u}_{3})=\bm{f}_{S}(\bm{u}_{1},\bm{u}_{3}),\hskip 28.45274pt\bm{f}_{J,2}(\bm{u}_{1},\bm{u}_{2},\bm{u}_{3})=\bm{f}_{S}(\bm{u}_{2},\bm{u}_{3}). (4.43)

When two channels join together, we consider the width of each channel when calculating flux contributions. Because channels 1 and 2 merge into channel 3, we average the flux contributions from channels 1 and 2 weighted by their widths:

𝒇J,3(𝒖1,𝒖2,𝒖3)=𝒇S(𝒖1,𝒖3)A1+𝒇S(𝒖2,𝒖3)A2A3.\displaystyle\bm{f}_{J,3}(\bm{u}_{1},\bm{u}_{2},\bm{u}_{3})=\frac{\bm{f}_{S}(\bm{u}_{1},\bm{u}_{3})A_{1}+\bm{f}_{S}(\bm{u}_{2},\bm{u}_{3})A_{2}}{A_{3}}. (4.44)

This formulation falls under the general flux sharing framework in (4.30), with the following non-zero coefficients:

c13=c23=1,c31=A1A3,c32=A2A3.\displaystyle c_{13}=c_{23}=1,\hskip 14.22636ptc_{31}=\frac{A_{1}}{A_{3}},\hskip 14.22636ptc_{32}=\frac{A_{2}}{A_{3}}. (4.45)

By Theorem 4.3, this choice of coefficients is entropy conservative.

4.3.2 Partial wall boundary condition

Refer to captionA1,wA_{1,w}A1,3A_{1,3}A2,3A_{2,3}A2,wA_{2,w}nJ,1=1\xrightarrow{n_{J,1}=1}nJ,2=1\xrightarrow{n_{J,2}=1}nJ,3=1\xleftarrow{n_{J,3}=-1}
Figure 6: Notation for 1D-1D junction coupling with “partial” wall boundary conditions.

In this second example, we introduce “partial” wall boundary conditions, where we blend the flux from a reflecting wall into the interface condition between channels 1, 2, and 3. We note that when the channel widths do not satisfy A1+A2=A3A1+A2=A3, the inclusion of a partial wall boundary condition is necessary to ensure entropy conservation. Without loss of generality, assume A1+A2>A3A_{1}+A_{2}>A_{3} as shown in Figure 6. Let Ai,jA_{i,j} denote the width shared by channel ii and jj and let Ai,wA_{i,w} denote the width of the wall on channel ii at the junction. We then have:

A1=A1,3+A1,w,A2=A2,3+A2,w,A3=A1,3+A2,3.\displaystyle A_{1}=A_{1,3}+A_{1,w},\hskip 14.22636ptA_{2}=A_{2,3}+A_{2,w},\hskip 14.22636ptA_{3}=A_{1,3}+A_{2,3}. (4.46)

Again, recall that the direction of each domain is aligned with the xx axis from left to right such that the outward surface normals are n1=1n_{1}=1, n2=1n_{2}=1, and n3=1n_{3}=-1 for channels 1, 2, and 3 respectively. Let 𝒖iw\bm{u}_{i}^{w}denote the variables used in the entropy conservative flux to impose wall boundary conditions on the iith channel. For the shallow water equations, 𝒖iw\bm{u}_{i}^{w} is a “mirror state”, such that

𝒖iw=[hi(hu)i],\displaystyle\bm{u}_{i}^{w}=\begin{bmatrix}h_{i}\\ -(hu)_{i}\end{bmatrix}, (4.47)

where hih_{i} and (hu)i(hu)_{i} denote the water height and momentum on the iith channel Abc (2000, 2000). We calculate the fluxes in the following ways:

𝒇J,1(𝒖1,𝒖1w,𝒖2,𝒖2w,𝒖3)\displaystyle\bm{f}_{J,1}(\bm{u}_{1},\bm{u}_{1}^{w},\bm{u}_{2},\bm{u}_{2}^{w},\bm{u}_{3}) =𝒇S(𝒖1,𝒖3)A1,3+𝒇S(𝒖1,𝒖1w)A1,wA1,\displaystyle=\frac{\bm{f}_{S}(\bm{u}_{1},\bm{u}_{3})A_{1,3}+\bm{f}_{S}(\bm{u}_{1},\bm{u}_{1}^{w})A_{1,w}}{A_{1}}, (4.48)
𝒇J,2(𝒖1,𝒖1w,𝒖2,𝒖2w,𝒖3)\displaystyle\bm{f}_{J,2}(\bm{u}_{1},\bm{u}_{1}^{w},\bm{u}_{2},\bm{u}_{2}^{w},\bm{u}_{3}) =𝒇S(𝒖2,𝒖3)A2,3+𝒇S(𝒖2,𝒖2w)A2,wA2,\displaystyle=\frac{\bm{f}_{S}(\bm{u}_{2},\bm{u}_{3})A_{2,3}+\bm{f}_{S}(\bm{u}_{2},\bm{u}_{2}^{w})A_{2,w}}{A_{2}}, (4.49)
𝒇J,3(𝒖1,𝒖1w,𝒖2,𝒖2w,𝒖3)\displaystyle\bm{f}_{J,3}(\bm{u}_{1},\bm{u}_{1}^{w},\bm{u}_{2},\bm{u}_{2}^{w},\bm{u}_{3}) =𝒇S(𝒖1,𝒖3)A1,3+𝒇S(𝒖2,𝒖3)A2,3A3.\displaystyle=\frac{\bm{f}_{S}(\bm{u}_{1},\bm{u}_{3})A_{1,3}+\bm{f}_{S}(\bm{u}_{2},\bm{u}_{3})A_{2,3}}{A_{3}}. (4.50)

For the converged channel 3 in (4.50), we average the flux from channels 1 and 2 weighted by the width of the part of the channel that are shared with channel 3. However, for channels 1 and 2, we average the fluxes to capture interactions with channel 3 as well as from the imposition of wall boundary conditions weighted by their respective widths.

The “partial” wall boundary condition provides a treatment for channel junctions with non-matching widths, which preserves entropy conservation under entropy conservative wall boundary conditions Abc (2000). The partial wall boundary conditions correspond to the general junction treatment (4.30) with the following coefficients:

c1,1\displaystyle c_{1,1} =A1,wA1,\displaystyle=\frac{A_{1,w}}{A_{1}}, c1,2\displaystyle c_{1,2} =0,\displaystyle=0, c1,3\displaystyle c_{1,3} =A1,3A1\displaystyle=\frac{A_{1,3}}{A_{1}}
c2,1\displaystyle c_{2,1} =0,\displaystyle=0, c2,2\displaystyle c_{2,2} =A2,wA2,\displaystyle=\frac{A_{2,w}}{A_{2}}, c2,3\displaystyle c_{2,3} =A2,3A2\displaystyle=\frac{A_{2,3}}{A_{2}}
c3,1\displaystyle c_{3,1} =A1,3A3,\displaystyle=\frac{A_{1,3}}{A_{3}}, c3,2\displaystyle c_{3,2} =A2,3A3,\displaystyle=\frac{A_{2,3}}{A_{3}}, c3,3\displaystyle c_{3,3} =0.\displaystyle=0.

Here, note that the coefficients c11c_{11} and c22c_{22} scale 𝒇S(𝒖i,𝒖iw)\bm{f}_{S}(\bm{u}_{i},\bm{u}_{i}^{w}) rather than 𝒇S(𝒖i,𝒖i)\bm{f}_{S}(\bm{u}_{i},\bm{u}_{i}).

4.4 Entropy dissipation at interfaces

The final step of building the entropy stable DG method is adding entropy dissipation terms at the coupling interfaces. To accomplish this, we apply Lax-Friedrichs penalization Abc (2000). Local Lax-Friedrichs penalization augments the flux function at element interfaces with an additional term:

𝒇S(𝒖,𝒖+)𝒇S(𝒖,𝒖+)λ2𝒖in 1D,\displaystyle\bm{f}_{S}(\bm{u},\bm{u}^{+})\xrightarrow{}\bm{f}_{S}(\bm{u},\bm{u}^{+})-\frac{\lambda}{2}\llbracket\bm{u}\rrbracket\quad\textrm{in 1D}, (4.51)
𝒇i,S(𝒖,𝒖+)𝒇i,S(𝒖,𝒖+)λ2𝒖in 2D,\displaystyle\bm{f}_{i,S}(\bm{u},\bm{u}^{+})\xrightarrow{}\bm{f}_{i,S}(\bm{u},\bm{u}^{+})-\frac{\lambda}{2}\llbracket\bm{u}\rrbracket\quad\textrm{in 2D}, (4.52)

where λ\lambda is an estimate of the maximum wave speed and \llbracket\cdot\rrbracket denotes the jump across the interface, 𝒖=𝒖+𝒖\llbracket\bm{u}\rrbracket=\bm{u}^{+}-\bm{u}. While defining 𝒖\llbracket\bm{u}\rrbracket is straightforward on meshes in a single dimension, the procedure is more involved for 1D-2D meshes. Let 𝒇J,2Dp\bm{f}_{J,2D}^{p} denote the penalized 2D flux. We first compute the flux as specified in (4.4), then adding the Lax-Friedrichs penalization yields

𝒇J,2Dp(𝒖1D,𝒖2D)=i=1dni𝒇i,S(𝒖2D,𝒖2D+)λ2𝒖2D,𝒖2D+=𝑹𝒖1D,\displaystyle\bm{f}_{J,2D}^{p}(\bm{u}_{1D},\bm{u}_{2D})=\sum_{i=1}^{d}n_{i}\bm{f}_{i,S}(\bm{u}_{2D},\bm{u}_{2D}^{+})-\frac{\lambda}{2}\llbracket\bm{u}_{2D}\rrbracket,\qquad\bm{u}_{2D}^{+}=\bm{R}\bm{u}_{1D}, (4.53)

where nin_{i} is the iith component of the unit outward normal on the 2D side of the 1D-2D interface. Then, we can define the 1D flux at the interface in a manner similar to equation (4.5):

𝒇J,1D,p(𝒖1D,𝒖2D)=𝘄J,fT(𝑹T𝒇J,2Dp(𝒖1D,𝒖2D))𝘄J,fT𝟏.\displaystyle\bm{f}_{J,1D,p}(\bm{u}_{1D},\bm{u}_{2D})=\frac{\bm{\mathsf{w}}_{J,f}^{T}\left(\bm{R}^{T}\bm{f}_{J,2D}^{p}(\bm{u}_{1D},\bm{u}_{2D})\right)}{\bm{\mathsf{w}}_{J,f}^{T}\bm{1}}. (4.54)

We pass the penalized fluxes calculated at the 1D-2D interface to the 1D domain. We then scale the fluxes in 1D by the surface normal to ensure they have the correct sign. For mesh elements not on the 1D-2D interface, we use standard 1D or 2D Lax-Friedrichs penalization in their respective domains Abc (2000).

For 1D-1D junction treatments, to implement Lax-Friedrichs penalization, we simply make the following changes to fluxes between solutions on each channel:

𝒇S(𝒖f,i,𝒖f,j)𝒇S(𝒖f,i,𝒖f,j)λ2𝒖.\displaystyle\bm{f}_{S}(\bm{u}_{f,i},\bm{u}_{f,j})\xrightarrow{}\bm{f}_{S}(\bm{u}_{f,i},\bm{u}_{f,j})-\frac{\lambda}{2}\llbracket\bm{u}\rrbracket. (4.55)

5 Numerical results

In this section, we present numerical experiments to demonstrate the accuracy and stability of the entropy stable DG scheme with 1D-2D and 1D-1D junction couplings. The first experiment is a simple parallel “split and converge” channel network as shown in Figure 7. In the second experiment, the setup consists of a channel “split and converge” in the shape of diamond, as shown in Figure 12. We test both 1D-2D and 1D-1D coupling on these two setups. The third experiment studies the T-shaped junction as shown in Figure 14. The fourth experiment focuses on channels turning at different angles as shown in Figure 19. In the last experiment, we simulate a dam break on the domain shown in Figure 22. Here, a large reservoir is connected to a long channel with a 4545^{\circ} turn in the middle.

We perform computations with the shallow water equations on all setups. We also present experiments for the compressible Euler equations on select setups in Appendix A. For the shallow water equations, we have the following well-balanced and entropy conservative fluxes in 2D Abc (2000, 2000, 2000, 2000)

𝒇Sx(𝒖L,𝒖R)\displaystyle\bm{f}^{x}_{S}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{hu}}{{hu}}{{u}}+g{{h}}212g{{h2}}{{hu}}{{v}}],\displaystyle=\begin{bmatrix}\left\{\!\{hu\}\!\right\}\\ \left\{\!\{hu\}\!\right\}\left\{\!\{u\}\!\right\}+g\left\{\!\{h\}\!\right\}^{2}-\frac{1}{2}g\left\{\!\{h^{2}\}\!\right\}\\ \left\{\!\{hu\}\!\right\}\left\{\!\{v\}\!\right\}\end{bmatrix}, (5.1)
𝒇Sy(𝒖L,𝒖R)\displaystyle\bm{f}^{y}_{S}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{hv}}{{hv}}{{u}}{{hv}}{{v}}+g{{h}}212g{{h2}}].\displaystyle=\begin{bmatrix}\left\{\!\{hv\}\!\right\}\\ \left\{\!\{hv\}\!\right\}\left\{\!\{u\}\!\right\}\\ \left\{\!\{hv\}\!\right\}\left\{\!\{v\}\!\right\}+g\left\{\!\{h\}\!\right\}^{2}-\frac{1}{2}g\left\{\!\{h^{2}\}\!\right\}\\ \end{bmatrix}. (5.2)

The shallow water equations fluxes in 1D are

𝒇S1D(𝒖L,𝒖R)\displaystyle\bm{f}_{S1D}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{hu}}{{hu}}{{u}}+12ghLhR].\displaystyle=\begin{bmatrix}\left\{\!\{hu\}\!\right\}\\ \left\{\!\{hu\}\!\right\}\left\{\!\{u\}\!\right\}+\frac{1}{2}gh_{L}h_{R}\\ \end{bmatrix}. (5.3)

For all experiments, we use 4th order 5-stage low storage Runge-Kutta method of Abc (2000). Following the derivation of stable timestep restrictions in Abc (2000), we define the timestep Δt\Delta t as the following:

CN2D=(N2D+1)(N2D+2)2,CN1D=(N1D+1)22,\displaystyle C_{N2D}=\frac{(N_{2D}+1)(N_{2D}+2)}{2},\hskip 28.45274ptC_{N1D}=\frac{(N_{1D}+1)^{2}}{2}, (5.4)
Δt=min(CFL×h1DCN1D,CFL×h2DCN2D),\displaystyle\Delta t=min\left(CFL\times\frac{h_{1D}}{C_{N1D}},CFL\times\frac{h_{2D}}{C_{N2D}}\right), (5.5)

where CNC_{N} is the degree dependent constant in the inverse trace inequality Abc (2000), and CFL is a user-defined constant. We use CFL=0.25CFL=0.25 and g=1g=1 for all experiments. When comparing 1D and 2D solutions, we average the 2D solution along the width of the channel.

5.1 Shallow water equation experiments

5.1.1 Parallel split and converge (1D-2D and 1D-1D junction treatments)

We first consider the parallel “split and converge” geometry shown in Figure 7. We have a channel which split into two parallel channels. The fully 2D domain ranges from 4-4 to 44 in xx direction and 1-1 to 11 in yy direction. We apply periodic boundary conditions in the xx direction and wall boundary conditions in yy direction for the fullly 2D simulation. We consider both fully 2D, 1D-2D coupling and 1D-1D junction coupling for this case. A diagram of the fully 2D and 1D-2D couplings are shown in Figure 7. There are 32 uniform elements of size 0.25 in all 1D domains and 128 uniform triangles for the fully 2D mesh. We have parallel channels separated by a wall marked in a red dashed line on the mesh in Figure 7.

Refer to caption
Refer to caption
Figure 7: Fully 2D mesh and 1D-2D coupling mesh of parallel split and converge with wall marked in red dash line.

We use the following discontinuous initial conditions:

h0={3in channel 14in channel 2 and 3,u0=v0=0.\displaystyle h_{0}=\begin{cases}3&\text{in channel 1}\\ 4&\text{in channel 2 and 3}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.6)

We run this experiment until final time T=2T=2. We have the semi-discrete system

Md𝒖dt=r(𝒖).\displaystyle M\frac{{\rm d}\bm{u}}{{\rm d}{\rm t}}=r(\bm{u}). (5.7)

To verify entropy conservation, we compute the entropy right hand side (RHS) 𝒗Tr(u)\bm{v}^{T}r(u), without Lax-Friedrichs dissipation. Note that, according to Theorem 4.2 and 4.3, 𝒗Tr(u)\bm{v}^{T}r(u) should be zero in the absence of Lax-Friedrichs dissipation.

N2D=3N_{2D}=3 N2D=4N_{2D}=4 N2D=5N_{2D}=5
N1D=3N_{1D}=3 2.6468e-13 1.0147e-13 4.4698e-13
N1D=4N_{1D}=4 2.0872e-13 1.0147e-13 4.6718e-13
N1D=5N_{1D}=5 7.7982e-13 9.8765e-13 7.8337e-13
Table 1: Maximum of absolute value of entropy RHS for SWE 1D-2D coupling.

We test this setting without Lax-Friedrichs dissipation, We also utilize different polynomial degrees N1DN_{1D} and N2DN_{2D} in each domain. The maximum absolute values of the entropy RHS (5.7) throughout the run are listed in Table 1. We also list the values of the entropy RHS for the 1D-1D coupling in Table 3. We observe that the entropy RHS values are always close to machine precision, which confirms that our coupling scheme is entropy conservative for the shallow water equations.

To test accuracy, we compare the values of the conservative variables at the midpoints of each channel, which are marked in blue on the right side in Figure 7. We plot the water height at each midpoint for the fully 2D, 1D-2D, and 1D-1D junction treatment and compare the results in Figure 8. We set the polynomial degree to N=3N=3 in all domains and use the local Lax-Friedrichs penalization to add entropy dissipation. Note that oscillation appear in the numerical solution. This is due to the presence of shock discontinuities and absence of slope limiters and artificial viscosity in our numerical scheme. However, the solutions remain stable and do not blow up due to entropy stability.

Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 8: Water height in parallel split with initial conditions (5.6) at points P1 (a), P2 (b), and P3 (c) for the fully 2D, 1D-2D, and 1D-1D junction models.

We also test with the following initial conditions:

h0={4in channel 15in channel 26in channel 3,u0=v0=0.\displaystyle h_{0}=\begin{cases}4&\text{in channel 1}\\ 5&\text{in channel 2}\\ 6&\text{in channel 3}\end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.8)

We plot the water height at points P1, P2, and P3 under initial conditions (5.8) in Figure 9.

Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 9: Water height in parallel split with initial conditions (5.8) at points P1 (a), P2 (b), and P3 (c) for the fully 2D, 1D-2D, and 1D-1D junction models.

We notice that the reduced 1D-2D model produces results close to the fully 2D model as was observed in Abc (2000, 2000). The 1D-1D model deviates from the 2D model more significantly under initial conditions (5.8). With initial conditions (5.8), there is significant vertical water motion at the junction which the 1D-1D model fails to capture.

We also consider the parallel split with non-matching widths, where the sum of the widths of channels 2 and 3 does not match the width of channel 1. The mesh is shown in Figure 10, where channels 1, 2, and 3 have widths of 2\sqrt{2}, 1, and 1. Each channel has a length of 4 for the fully 2D simulation. We enforce wall boundary conditions in both the xx and yy direction. We use the mesh generator within PDEModel from MATLAB to construct our 2D mesh Abc (2000), with hmin=0.25h_{min}=0.25. In the 1D-1D model, each 1D domain consist of 32 uniform elements of size 0.25.

Refer to caption

(a)
Refer to caption
(b)
Figure 10: Parallel split with change in width at junction.

For 1D-1D model, we implement partial wall boundary conditions at the junction. We use the initial conditions (5.6) and plot the water height at the midpoints P1, P2, and P3 from the fully 2D model and from 1D-1D model in Figure 11. We observe that the 1D model performs reasonably well under such conditions.

Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 11: Water height in parallel split with non-matching widths at junction under initial conditions (5.8) at points P1 (a), P2 (b), and P3 (c) for the fully 2D, and 1D-1D junction models.

5.1.2 Diamond split and converge (1D-2D and 1D-1D junction treatments)

Refer to caption
(a)
Refer to caption
(b)

Refer to caption

(c)
Figure 12: Diamond split and converge. Fully 2D mesh (a), 1D-2D mesh (b), and solution snapshot (c).

The second numerical experiment consists of a diamond split and converge setup, as shown in Figure 12. We enforce wall boundary conditions everywhere except at the left side of the channel 1, which connects back to the right side of the domain to enforce periodicity. The horizontal channel has a width of 2\sqrt{2} and each channel in the diamond has a width of 11. The length of each 1D channel is 10, not including the junction. We visualize the solution at P1P1 and P2P2, the midpoints of channels 1 and 2. We use the mesh generator within PDEModel from MATLAB to construct our 2D mesh Abc (2000), with hmin=2h_{min}=\sqrt{2}.

The 1D-2D junction treatment is shown in Figure 12, where we represent junction using triangular meshes. Each 1D domain consists of 16 uniform elements of size 0.625. For this diamond split, we also implement a 1D-1D coupling scheme with partial wall boundary conditions at the junctions. We note that the 1D-1D junction treatments do not account for channel angles.

The initial conditions for shallow water equations with this setup are

h0={3in channel 14otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}3&\text{in channel 1}\\ 4&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.9)
Refer to caption
(a) P1
Refer to caption
(b) P2
Figure 13: Water height in diamond split with initial conditions (5.9) at points P1 (a) and P2 (b) for the fully 2D, 1D-2D, and 1D-1D junction models.

The computed entropy RHS (5.7) during the run are on the order of 101510^{-15} to 101310^{-13} when not applying Lax-Friedrichs dissipation, which verifies entropy conservation. To demonstrate the accuracy of the 1D-2D junction treatment, we use the same initial conditions with Lax-Friedrichs dissipation. We plot the water height at points P1P1 and P2P2 in Figure 13. We observe that the solutions from the 1D-2D model match the arrival time of the solutions from the fully 2D model, but display discrepancies in amplitude at P2P2. The results from 1D-1D model produce an earlier arrival time for the shock at P2P2.

5.1.3 T-junction (1D-1D junction treatment)

For the T-junction experiment, we present the setup in Figure 14. Since previous experiments and other authors Abc (2000, 2000) confirmed the accuracy of the 1D-2D junction treatments, we focus on the comparison between the 1D-1D junction model and the fully 2D junction model for this case. Each channel has a width of 1 and length of 10. We define P1P1, P2P2, and P3P3 as the midpoints of each channel and record the water heights at these points. PDEModel is used to construct the fully 2D mesh, with hmin=0.25h_{min}=0.25. For 1D-1D model, we represent each channel in 32 uniform elements of size 0.3125. We use the flux sharing framework with the following coefficients:

cij={0i=j12ij.\displaystyle c_{ij}=\begin{cases}0&\text{$i=j$}\\ \frac{1}{2}&\text{$i\neq j$}\\ \end{cases}. (5.10)

We use polynomial degree N=3N=3 in all experiments and run up to time T=6T=6. We turn on Lax-Friedrichs dissipation to compare solutions at midpoints of each 1D channel with solutions from the fully 2D model. We test on the following three sets of initial conditions for the shallow water equations:

Refer to caption
Refer to caption
Figure 14: Fully 2D mesh and snapshot of solution on T-junction.
h0={6in x4 channel 14otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}6&\text{in $x\leq 4$ channel 1}\\ 4&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.11)
h0={6in x4 channel 16in y4 channel 24otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}6&\text{in $x\leq 4$ channel 1}\\ 6&\text{in $y\geq 4$ channel 2}\\ 4&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.12)
h0={6in x4 channel 15in y4 channel 25.5in y4 channel 34otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}6&\text{in $x\leq 4$ channel 1}\\ 5&\text{in $y\geq 4$ channel 2}\\ 5.5&\text{in $y\leq-4$ channel 3}\\ 4&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.13)

These initial conditions correspond to shocks propagating from one, two, and all three channels. We plot the water heights at P1P1, P2P2, and P3P3 in Figure 15, 16, and 17 respectively.

Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 15: Water height in T-junction with initial conditions (5.11) at points P1 (a), P2 (b), and P3 (c) for the fully 2D and 1D-1D junction models.
Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 16: Water height in T-junction with initial conditions (5.12) at points P1 (a), P2 (b), and P3 (c) for the fully 2D and 1D-1D junction models.
Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 17: Water height in T-junction with initial conditions (5.13) at points P1 (a), P2 (b), and P3 (c) for the fully 2D and 1D-1D junction models.

We also test with a smooth initial conditions (5.14) where we perturb a constant water height with a small sine wave. We plot the water height at P1P1, P2P2, and P3P3 in Figure 18.

h0={4+0.1sin(πx)in channel 14+0.1sin(πy)in channel 24+0.1sin(πy)in channel 3,u0=v0=0.\displaystyle h_{0}=\begin{cases}4+0.1\sin(\pi x)&\text{in channel 1}\\ 4+0.1\sin(\pi y)&\text{in channel 2}\\ 4+0.1\sin(-\pi y)&\text{in channel 3}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.14)
Refer to caption
(a) P1
Refer to caption
(b) P2
Refer to caption
(c) P3
Figure 18: Water height in T-junction with initial conditions (5.14) at points P1 (a), P2 (b), and P3 (c) for the fully 2D and 1D-1D junction models.

We notice that in Figure 15, 16, and 17, the water heights under the 1D-1D junction models approach constant values towards the end of the simulation, while the solutions from fully 2D model display more oscillatory behavior. From other numerical experiments under the fully 2D model, we observe that the shock wave from channel 1 hits the wall on the right side boundary and reflects back. The reflected wave, however, does not simply travel in the opposite direction, but spreads out in semicircular shape. The 1D model cannot capture this 2D behavior and thus fails to accurately predict the reflected wave. We also observe discrepancies in amplitude when using the 1D-1D junction treatment for the continuous initial conditions (5.14) in Figure 18.

5.1.4 Turning channel (1D-1D junction treatment)

Refer to caption
Refer to caption
Figure 19: 2D mesh of 4545^{\circ} and 9090^{\circ} degree turning channel.

We continue testing 1D-1D junction treatments by investigating the effect of channel angle for turning channels. In the turning channel experiment, we use a channel with a 4545^{\circ} and a channel with a 9090^{\circ} turn, as shown in Figure 19. Each channel has a width of 1 and length of 10. We choose P1P1 and P1P1 to be the midpoint of each channel. PDEModel is used to construct the 2D mesh, with hmin=0.25h_{min}=0.25. For 1D-1D model, we represent each channel with 32 uniform elements of size 0.3125. We use polynomial degree N=3N=3 in all experiments and run the experiment up to time T=6T=6. We turn on Lax-Friedrichs dissipation to compare solutions at midpoints of the each 1D channel with solutions from the fully 2D model. We test on the same initial conditions for the shallow water equations:

h0={6in x4 channel 14otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}6&\text{in $x\leq 4$ channel 1}\\ 4&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.15)

These initial conditions contain discontinuities. We plot the water heights at P1P1 and P2P2 in Figure 20, 21.

Refer to caption
(a) P1
Refer to caption
(b) P2
Figure 20: Water height in 4545^{\circ} turn at points P1 (a) and P2 (b) for the fully 2D and 1D-1D junction models.
Refer to caption
(a) P1
Refer to caption
(b) P2
Figure 21: Water height in 9090^{\circ} turn at points P1 (a) and P2 (b) for the fully 2D and 1D-1D junction models.

We observe that the turning channel reflects part of the water back into channel 1. The magnitude of the reflected wave is greater for a larger turning angle. The 1D model approximates the fully 2D model reasonably well, but does not capture the reflected wave. We note that it may be possible to model this behavior using a partial wall boundary condition. However, this is beyond the scope of the paper and will be explored in the future work.

5.1.5 Dam break and turning channel (1D-2D junction treatment)

In this numerical experiment, we model a dam break and turning channel from Abc (2000) as shown in Figure 22. The reservoir is represented by a square with dimension 2.5×2.52.5\times 2.5 and the channel (with a width of 0.50.5) is connected to the right side of the reservoir. The length of each channel is 4. We also use the mesh generator within PDEModel to construct the 2D mesh, with hmin=0.25h_{min}=0.25. For the 1D-2D junction treatment, we model the reservoir using a 2D mesh. The point at which the channel turns is also modeled as a 2D domain. In the 1D mesh, we have 16 uniform elements for each channel of size 0.25. Wall boundary conditions are imposed on all boundaries for each simulation. We use polynomial degree N=3N=3 in all experiments. The initial conditions for the shallow water equations are taken to be the following:

h0={10in reservoir6in channel,u0=v0=0.\displaystyle h_{0}=\begin{cases}10&\text{in reservoir}\\ 6&\text{in channel}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.16)

Refer to caption

(a)

Refer to caption

(b)
Refer to caption
(c)
Figure 22: Dam break and turning channel meshes with initial conditions (5.16). Fully 2D mesh (a), 1D-2D (b) and solution snapshot (c).

We verify that the entropy RHS (5.7) is on the order of 101510^{-15} to 101310^{-13} on absence of Lax-Friedrichs dissipation. Then, we turn on the Lax-Friedrichs dissipation to compare the solutions at midpoints of the two 1D channels as marked in Figure 22. We run the model up to time T=2.5T=2.5 and plot the water height over time in Figure 23. We observe that solutions from the fully 2D and 1D-2D junction models are similar.

Refer to caption
(a) P1
Refer to caption
(b) P2
Figure 23: Water height in dam break and turning channel with continuous initial conditions (5.16) at points P1 (a) and P2 (b) for the fully 2D and 1D-2D junction models.

We also test the shallow water equations with the following continuous initial conditions:

h0={2+0.1sin(2π(x4.375)/3.75)in channel 12otherwise,u0=v0=0.\displaystyle h_{0}=\begin{cases}2+0.1\sin(2\pi(x-4.375)/3.75)&\text{in channel 1}\\ 2&\text{otherwise}\\ \end{cases},\hskip 28.45274ptu_{0}=v_{0}=0. (5.17)

We then plot the results using this continuous initial conditions (5.17) at P1P1 and P2P2 in Figure 24. Again, the fully 2D and 1D-2D junction models produce comparable results.

Refer to caption
(a) P1
Refer to caption
(b) P2
Figure 24: Water height in dam break and turning channel with discontinuous initial conditions (5.17) at points P1 (a) and P2 (b) for the fully 2D and 1D-2D junction models.

6 Conclusions

In this work, we present high-order entropy stable DG schemes for coupling 1D channels together. We construct both 1D-1D and 1D-2D junction treatments. We prove conservation of entropy for both junction treatments and describe how to apply entropy dissipation using Lax–Friedrichs interface penalization terms. We verify these results with numerical experiments for the shallow water and compressible Euler equations. We also compare numerical results on several different geometries with different initial conditions and conclude that 1D-2D model produces results similar to the fully 2D model, matching the observations in Abc (2000, 2000), whereas, the performance of the 1D-1D model is more sensitive to the domain geometry and initial conditions. This is due to the fact that the 1D-1D model cannot capture higher dimensional flows behavior (e.g., flow in the direction perpendicular to each 1D channel). Apart from computational cost, the only advantage of the 1D-1D junction is simplicity of implementation. The 1D-2D junction model is more robust to higher-dimensional flow effects at junctions; however, 1D-1D junction models can be used for flows which are known to be less sensitive to junction geometry. We note that this paper does not address the issue related to the accuracy of 1D-1D and 1D-2D junction models, but on ensuring that such junctions can be modeled numerically in an entropy stable fashion. Since comparisons of 1D-1D and 1D-2D junction models lie outside the scope of this paper, we refer interested readers to Abc (2000, 2000) for comparisons between types of junction models.

Acknowledgement

Authors Xinhui Wu and Jesse Chan gratefully acknowledge support from the National Science Foundation under awards DMS-1719818, DMS-1712639, and DMS-CAREER-1943186.

Appendix A

In this appendix, we examine junction treatments for the compressible Euler equations with entropy conservative fluxes. The compressible Euler equations for gas dynamics in two dimensions are given by

t[ρρuρvE]+x[ρuρu2+pρuvu(E+p)]+y[ρvρuvρv2+pv(E+p)]=0.\displaystyle\frac{\partial}{\partial t}\begin{bmatrix}\rho\\ \rho u\\ \rho v\\ E\end{bmatrix}+\frac{\partial}{\partial x}\begin{bmatrix}\rho u\\ \rho u^{2}+p\\ \rho uv\\ u(E+p)\end{bmatrix}+\frac{\partial}{\partial y}\begin{bmatrix}\rho v\\ \rho uv\\ \rho v^{2}+p\\ v(E+p)\end{bmatrix}=0. (A.1)

Here, ρ\rho and pp denote density and the pressure, respectively. The velocity in the xx direction is denoted by uu and the velocity in the yy direction is denoted by vv. The total energy is denoted by EE and satisfies the constitutive relation involving the pressure pp

E=12ρU2+pγ1,\displaystyle E=\frac{1}{2}\rho\left\|U\right\|^{2}+\frac{p}{\gamma-1}, (A.2)

where U2=u2+v2\left\|U\right\|^{2}=u^{2}+v^{2}, and γ=1.4\gamma=1.4 is the ratio of specific heat a diatomic gas. In this example, we have conservative variables 𝒖=[ρ,ρu,ρv,E]T\bm{u}=[\rho,\rho u,\rho v,E]^{T} and flux functions 𝒇1=[ρu,ρu2+p,ρuv,u(E+p)]T\bm{f}_{1}=[\rho u,\rho u^{2}+p,\rho uv,u(E+p)]^{T} and 𝒇2=[ρv,ρuv,ρv2+p,v(E+p)]T\bm{f}_{2}=[\rho v,\rho uv,\rho v^{2}+p,v(E+p)]^{T}.

The one-dimensional compressible Euler equations can also be derived under assumptions similar to those used to derive the one-dimensional shallow water equations from the two-dimensional system. In one dimension, the compressible Euler equations are

t[ρρuE]+x[ρuρu2+pu(E+p)]=0.\displaystyle\frac{\partial}{\partial t}\begin{bmatrix}\rho\\ \rho u\\ E\end{bmatrix}+\frac{\partial}{\partial x}\begin{bmatrix}\rho u\\ \rho u^{2}+p\\ u(E+p)\end{bmatrix}=0. (A.3)

where we define U2=u2\left\|U\right\|^{2}=u^{2} in one dimension.

The transform matrix 𝑹\bm{R} between 1D and 2D for the compressible Euler equations is

𝑹=[1000n100n20001],𝑹T𝑹=𝑰.\displaystyle\bm{R}=\begin{bmatrix}1&0&0\\ 0&n_{1}&0\\ 0&n_{2}&0\\ 0&0&1\\ \end{bmatrix},\qquad\bm{R}^{T}\bm{R}=\bm{I}. (A.4)

In this work, the mathematical entropy for the compressible Euler equations is taken to be the unique mathematical entropy for the compressible Navier-Stokes equations Abc (2000)

S(𝒖)=ρs,S(\bm{u})=-\rho s,

where s=log(pργ)s=\log\left(\frac{p}{\rho^{\gamma}}\right) is the physical specific entropy. The entropy variables 𝒗\bm{v} in dd dimensions are

v1=ρe(γ+1s)Eρe,v1+i=ρuiρe,vd+2=ρρe,\displaystyle v_{1}=\frac{\rho e(\gamma+1-s)-E}{\rho e},\qquad v_{1+i}=\frac{\rho{{u}_{i}}}{\rho e},\qquad v_{d+2}=-\frac{\rho}{\rho e}, (A.5)

for i=1,,di=1,\ldots,d. The inverse map from entropy to conservative variables is

ρ=(ρe)vd+2,ρui=(ρe)v1+i,E=(ρe)(1j=1dv1+j22vd+2),\displaystyle\rho=-(\rho e)v_{d+2},\qquad\rho{u_{i}}=(\rho e)v_{1+i},\qquad E=(\rho e)\left(1-\frac{\sum_{j=1}^{d}{v_{1+j}^{2}}}{2v_{d+2}}\right),

where i=1,,di=1,\ldots,d, and ρe\rho e and ss in terms of the entropy variables are

ρe=((γ1)(vd+2)γ)1/(γ1)esγ1,s=γv1+j=1dv1+j22vd+2.\rho e=\left(\frac{(\gamma-1)}{\left(-v_{d+2}\right)^{\gamma}}\right)^{1/(\gamma-1)}e^{\frac{-s}{\gamma-1}},\qquad s=\gamma-v_{1}+\frac{\sum_{j=1}^{d}{v_{1+j}^{2}}}{2v_{d+2}}.

To introduce the entropy conservative fluxes for the compressible Euler equations, we start with some notations. Let ff denote some piecewise continuous function, and f+f^{+} denote the exterior value of ff across an element face. The average and logarithmic averages are

{{f}}=f+f+2,{{f}}log=f+flog(f+)log(f).\displaystyle\left\{\!\{f\}\!\right\}=\frac{f+f^{+}}{2},\hskip 28.45274pt\left\{\!\{f\}\!\right\}^{\rm{log}}=\frac{f^{+}-f}{\rm{log}(f^{+})-\rm{log}(f)}. (A.6)

The average and logarithmic average are assumed to act component-wise on vector valued functions.

The entropy conservative numerical fluxes for the 2D compressible Euler equations are given by Chandrashekar Abc (2000):

𝒇Sx(𝒖L,𝒖R)\displaystyle\bm{f}^{x}_{S}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{p}}log{{u}}{{p}}log{{u}}2+pavg{{p}}log{{u}}{{v}}(Eavg+pavg){{u}}],𝒇Sy(𝒖L,𝒖R)\displaystyle=\begin{bmatrix}\left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}\\ \left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}^{2}+p_{\rm{avg}}\\ \left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}\left\{\!\{v\}\!\right\}\\ (E_{\rm{avg}}+p_{\rm{avg}})\left\{\!\{u\}\!\right\}\end{bmatrix},\qquad\bm{f}^{y}_{S}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{p}}log{{v}}{{p}}log{{u}}{{v}}{{p}}log{{v}}2+pavg(Eavg+pavg){{v}}].\displaystyle=\begin{bmatrix}\left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{v\}\!\right\}\\ \left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}\left\{\!\{v\}\!\right\}\\ \left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{v\}\!\right\}^{2}+p_{\rm{avg}}\\ (E_{\rm{avg}}+p_{\rm{avg}})\left\{\!\{v\}\!\right\}\end{bmatrix}. (A.7)

where we need to introduce the auxiliary quantities β=ρ2p\beta=\frac{\rho}{2p} and

pavg={{ρ}}2{{β}},Eavg={{ρ}}log2{{β}}log(γ1)+uavg22,uavg2=uLuR+vLvR.\displaystyle p_{\rm{avg}}=\frac{\left\{\!\{\rho\}\!\right\}}{2\left\{\!\{\beta\}\!\right\}},\hskip 28.45274ptE_{\rm{avg}}=\frac{\left\{\!\{\rho\}\!\right\}^{\rm{log}}}{2\left\{\!\{\beta\}\!\right\}^{\rm{log}}(\gamma-1)}+\frac{u_{\rm{avg}}^{2}}{2},\hskip 28.45274ptu_{\rm{avg}}^{2}=u_{L}u_{R}+v_{L}v_{R}. (A.8)

The entropy conservative fluxes for the compressible Euler equations in 1D are

𝒇S1D(𝒖L,𝒖R)\displaystyle\bm{f}_{S1D}\left(\bm{u}_{L},\bm{u}_{R}\right) =[{{p}}log{{u}}{{p}}log{{u}}2+pavg(Eavg+pavg){{u}}],\displaystyle=\begin{bmatrix}\left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}\\ \left\{\!\{p\}\!\right\}^{\rm{log}}\left\{\!\{u\}\!\right\}^{2}+p_{\rm{avg}}\\ (E_{\rm{avg}}+p_{\rm{avg}})\left\{\!\{u\}\!\right\}\end{bmatrix}, (A.9)

where we need calculate the term EavgE_{\rm{avg}} with uavg2=uLuRu_{\rm{avg}}^{2}=u_{L}u_{R} in 1D

A Numerical experiments for the compressible Euler equations

A.1 Parallel split and converge (1D-2D and 1D-1D junction treatments)

For the compressible Euler equations, we reuse the same mesh and setup in Section 5.1.1 (as shown in Figure 7) with the following initial conditions:

ρ0=sin(πx/2)+2,u0=2,v0=0,γ=1.4,p0=2.\displaystyle\rho_{0}=\sin(\pi x/2)+2,\hskip 22.76228ptu_{0}=2,\hskip 22.76228ptv_{0}=0,\hskip 22.76228pt\gamma=1.4,\hskip 22.76228ptp_{0}=2. (A.10)

We also test with different polynomial degree on each domain and list the maximum absolute value of the entropy RHS (5.7) up to time T=1T=1. Results for the 1D-2D model are shown in Table 2 and results for the 1D-1D model are shown in 3.

N2D=3N_{2D}=3 N2D=4N_{2D}=4 N2D=5N_{2D}=5
N1D=3N_{1D}=3 2.0872e-14 4.9950e-14 1.3084e-13
N1D=4N_{1D}=4 1.1824e-13 2.3324e-13 3.6135e-13
N1D=5N_{1D}=5 3.6599e-13 4.5905e-13 7.9016e-13
Table 2: Maximum of absolute value of entropy RHS (5.7) for compressible Euler 1D-2D coupling.
N1D=3N_{1D}=3 N1D=4N_{1D}=4 N1D=5N_{1D}=5
SWE 1.1191e-13 7.5495e-14 8.3311e-13
Euler 2.3082e-13 1.7586e-13 2.9110e-13
Table 3: Maximum of absolute value of entropy RHS (5.7) for compressible Euler 1D-1D coupling.
Refer to caption
(a) P1
Refer to caption
(b) Error
Figure 25: Density ρ\rho in the parallel split problem with initial conditions (A.10) at point P1 for the fully 2D, 1D-2D, and 1D-1D junction models. Errors are computed using the fully 2D model as the “exact” solution.

To test accuracy of these three models, fully 2D, 1D-2D and 1D-1D junction treatments, for the compressible Euler equations, we plot the results at the midpoints of each channel, as marked in Figure 7. Coincidentally, because we have the periodic initial conditions and these points are separated by exactly one wavelength, all three points share the same solutions. We notice that with continuous solutions, all three models produce very solutions with small errors as shown in Figure 25.

From these experiments, we can conclude that our numerical method is entropy conservative for both the shallow water equations and the compressible Euler equations using either 1D-2D or 1D-1D junction treatments. Different models produce different oscillations near the jump, but the their magnitudes are on the same scale. For the solutions that remain continuous, both 1D-2D and 1D-1D junction models generate solutions extremely close to the fully 2D model with absence of vertical flows. However, we expect the 1D-1D junction model to fail where fully 2D motions exist near the junction as in the shallow water experiment in Section 5.

A.2 Diamond split and converge

For our second experiment with the compressible Euler equations, we reuse the diamond split setup in Section 5.1.2 (as shown in Figure 12) with the following initial conditions:

ρ0=2,u0=v0=0,γ=1.4,p0={3in channel 14otherwise.\displaystyle\rho_{0}=2,\hskip 22.76228ptu_{0}=v_{0}=0,\hskip 22.76228pt\gamma=1.4,\hskip 22.76228ptp_{0}=\begin{cases}3&\text{in channel 1}\\ 4&\text{otherwise}\\ \end{cases}. (A.11)

We run the test without local Lax-Friedrichs penalization up to time T=5T=5 to verify the conservation of entropy. Then, we enable local Lax-Friedrichs penalization for our accuracy test. We plot the values of ρ\rho at midpoints P1P1 and P2P2 from both fully 2D and 1D-2D junction treatments in Figure 26.

Refer to caption
(a)
Refer to caption
(b)
Figure 26: Density ρ\rho in diamond split and converge with initial conditions (A.11) at points P1 (a) and P2 (b) for the fully 2D model and 1D-2D junction models.

We also test the compressible Euler equations with continuous initial conditions:

ρ0=2,u0=v0=0,γ=1.4,p0={2+sin(π(x+5.52+5)/5)in channel 12otherwise.\displaystyle\rho_{0}=2,\hskip 14.22636ptu_{0}=v_{0}=0,\hskip 14.22636pt\gamma=1.4,\hskip 14.22636ptp_{0}=\begin{cases}2+\sin(\pi(x+5.5\sqrt{2}+5)/5)&\text{in channel 1}\\ 2&\text{otherwise}\\ \end{cases}. (A.12)

We run the test up to time T=5T=5 and plot the values of ρ\rho at P1P1 and P2P2 from fully 2D and 1D-2D junction models in Figure 27.

Refer to caption
(a)
Refer to caption
(b)
Figure 27: Density ρ\rho in the diamond split and converge with initial conditions (A.12) at points P1 (a) and P2 (b) for the fully 2D and 1D-2D junction models.

In both shallow water and compressible Euler equations, we observe that the 1D-2D capture the general trend of the flow, but produce slightly different oscillation patterns compared to the fully 2D model.

A.3 Dam break and turning channel

Last, we test the compressible Euler equations on the dam break and turning channel setting in Section 5.1.5, as shown in Figure 22. We first confirm conservation of entropy in the absence of Lax-Friedrichs penalization with the initial conditions:

ρ0=2,u0=v0=0,γ=1.4,p0={5in reservoir 2in channel.\displaystyle\rho_{0}=2,\hskip 22.76228ptu_{0}=v_{0}=0,\hskip 22.76228pt\gamma=1.4,\hskip 22.76228ptp_{0}=\begin{cases}5&\text{in reservoir }\\ 2&\text{in channel}\\ \end{cases}. (A.13)

We test the accuracy of the model with Lax-Friedrichs penalization and plot ρ\rho at midpoints P1P1 and P2P2 in the Figure 28. We run up to time T=5T=5 and notice that similar patterns are generated from both the 1D-2D and fully 2D models. At P1P1, the oscillations from the fully 2D and 1D-2D junction models have noticeable discrepancies from time T=1.5T=1.5 to T=3.5T=3.5. We also find that there is a small bump at point P2P2 around time T=2T=2, which the 1D-2D model does not capture.

Refer to caption
(a)
Refer to caption
(b)
Figure 28: Density ρ\rho in the dam break and turning channel with initial conditions (A.13) at points P1 (a) and P2 (b) for the fully 2D and 1D-2D junction models.

References

  • Abc [2000] Francesca Bellamoli, Lucas O Müller, and Eleuterio F Toro. A numerical method for junctions in networks of shallow-water channels. Applied Mathematics and Computation, 337:190–213, 2018.
  • Abc [2000] Spencer J Sherwin, Luca Formaggia, Joaquim Peiro, and V Franke. Computational modelling of 1D blood flow with variable mechanical properties and its application to the simulation of wave propagation in the human arterial system. International journal for numerical methods in fluids, 43(6-7):673–700, 2003.
  • Abc [2000] Prapti Neupane and Clint Dawson. A discontinuous Galerkin method for modeling flow in networks of channels. Advances in Water Resources, 79:61–79, 2015.
  • Abc [2000] Dustin W West, Ethan J Kubatko, Colton J Conroy, Mariah Yaufman, and Dylan Wood. A multidimensional discontinuous Galerkin modeling framework for overland flow and channel routing. Advances in Water Resources, 102:142–160, 2017.
  • Abc [2000] Raul Borsche and Jochen Kall. ADER schemes and high order coupling on networks of hyperbolic conservation laws. Journal of Computational Physics, 273:658–670, 2014.
  • Abc [2000] Mapundi K Banda, Michael Herty, and Axel Klar. Coupling conditions for gas networks governed by the isothermal Euler equations. Networks & Heterogeneous Media, 1(2):295, 2006.
  • Abc [2000] Jens Brouwer, Ingenuin Gasser, and Michael Herty. Gas pipeline models revisited: model hierarchies, nonisothermal models, and simulations of networks. Multiscale Modeling & Simulation, 9(2):601–623, 2011.
  • Abc [2000] Gunhild A Reigstad, Tore Flåtten, Nils Erland Haugen, and Tor Ytrehus. Coupling constants and the generalized Riemann problem for isothermal junction flow. Journal of Hyperbolic Differential Equations, 12(01):37–59, 2015.
  • Abc [2000] Georges Kesserwani, Rabih Ghostine, José Vazquez, Robert Mosé, Maher Abdallah, and Abdellah Ghenaim. Simulation of subcritical flow at open-channel junction. Advances in Water Resources, 31(2):287–297, 2008.
  • Abc [2000] Ali Osman Akan and Ben Chie Yen. Diffusion-wave flood routing in channel networks. Journal of the Hydraulics Division, 107(6):719–732, 1981.
  • Abc [2000] Yi Zhang. Simulation of open channel network flows using finite element approach. Communications in Nonlinear Science and Numerical Simulation, 10(5):467–478, 2005.
  • Abc [2000] Charles A Taylor, Thomas JR Hughes, and Christopher K Zarins. Finite element modeling of blood flow in arteries. Computer methods in applied mechanics and engineering, 158(1-2):155–196, 1998.
  • Abc [2000] Alfio Quarteroni, Massimiliano Tuveri, and Alessandro Veneziani. Computational vascular fluid dynamics: problems, models and methods. Computing and Visualization in Science, 2(4):163–197, 2000.
  • Abc [2000] Lucas O Müller and Pablo J Blanco. A high order approximation of hyperbolic conservation laws in networks: application to one-dimensional blood flow. Journal of Computational Physics, 300:423–437, 2015.
  • Abc [2000] Tianheng Chen and Chi-Wang Shu. Entropy stable high order discontinuous Galerkin methods with suitable quadrature rules for hyperbolic conservation laws. Journal of Computational Physics, 345:427–461, 2017.
  • Abc [2000] Jesse Chan. On discretely entropy conservative and entropy stable discontinuous Galerkin methods. Journal of Computational Physics, 362:346–374, 2018.
  • Abc [2000] Jesse Chan, Zheng Wang, Axel Modave, Jean-François Remacle, and Tim Warburton. GPU-accelerated discontinuous Galerkin methods on hybrid meshes. Journal of Computational Physics, 318:142–168, 2016.
  • Abc [2000] Jesse Chan and Tim Warburton. GPU-Accelerated Bernstein–Bézier Discontinuous Galerkin Methods for Wave Problems. SIAM Journal on Scientific Computing, 39(2):A628–A654, 2017.
  • Abc [2000] Niklas Wintermeyer, Andrew R Winters, Gregor J Gassner, and Timothy Warburton. An entropy stable discontinuous Galerkin method for the shallow water equations on curvilinear meshes with wet/dry fronts accelerated by GPUs. Journal of Computational Physics, 375:447–480, 2018.
  • Abc [2000] Jesse Chan. Skew-symmetric entropy stable modal discontinuous Galerkin formulations. Journal of Scientific Computing, 81(1):459–485, 2019.
  • Abc [2000] Michael S Mock. Systems of conservation laws of mixed type. Journal of Differential equations, 37(1):70–88, 1980.
  • Abc [2000] Jared Crean, Jason E Hicken, David C Del Rey Fernández, David W Zingg, and Mark H Carpenter. High-order, entropy-stable discretizations of the Euler equations for complex geometries. In 23rd AIAA Computational Fluid Dynamics Conference. American Institute of Aeronautics and Astronautics, 2017.
  • Abc [2000] Tianheng Chen and Chi-Wang Shu. Review of entropy stable discontinuous Galerkin methods for systems of conservation laws on unstructured simplex meshes. submitted to CSIAM Transactions on Applied Mathematics, 2019. Accessed 3/18/20.
  • Abc [2000] Travis C Fisher and Mark H Carpenter. High-order entropy stable finite difference schemes for nonlinear conservation laws: Finite domains. Journal of Computational Physics, 252:518–557, 2013.
  • Abc [2000] Gregor J Gassner, Andrew R Winters, Florian J Hindenlang, and David A Kopriva. The BR1 scheme is stable for the compressible Navier–Stokes equations. Journal of Scientific Computing, 77(1):154–200, 2018.
  • Abc [2000] Gregor J Gassner, Andrew R Winters, and David A Kopriva. Split form nodal discontinuous Galerkin schemes with summation-by-parts property for the compressible Euler equations. Journal of Computational Physics, 327:39–66, 2016.
  • Abc [2000] Eitan Tadmor. The numerical viscosity of entropy stable schemes for systems of conservation laws. I. Mathematics of Computation, 49(179):91–103, 1987.
  • Abc [2000] Mark H Carpenter, Travis C Fisher, Eric J Nielsen, and Steven H Frankel. Entropy Stable Spectral Collocation Schemes for the Navier–Stokes Equations: Discontinuous Interfaces. SIAM Journal on Scientific Computing, 36(5):B835–B867, 2014.
  • Abc [2000] Jared Crean, Jason E Hicken, David C Del Rey Fernández, David W Zingg, and Mark H Carpenter. Entropy-stable summation-by-parts discretization of the Euler equations on general curved elements. Journal of Computational Physics, 356:410–438, 2018.
  • Abc [2000] Niklas Wintermeyer, Andrew R Winters, Gregor J Gassner, and David A Kopriva. An entropy stable nodal discontinuous Galerkin method for the two dimensional shallow water equations on unstructured curvilinear meshes with discontinuous bathymetry. Journal of Computational Physics, 340:200–242, 2017.
  • Abc [2000] Eitan Tadmor. Entropy stability theory for difference approximations of nonlinear conservation laws and related time-dependent problems. Acta Numerica, 12:451–512, 2003.
  • Abc [2000] Gregor J Gassner, Andrew R Winters, and David A Kopriva. A well balanced and entropy conservative discontinuous Galerkin spectral element method for the shallow water equations. Applied Mathematics and Computation, 272:291–308, 2016.
  • Abc [2000] Mark H Carpenter and Christopher A Kennedy. Fourth-order 2N-storage Runge-Kutta schemes. NASA-TM-109112, 1994.
  • Abc [2000] Timothy Warburton and Jan S Hesthaven. On the constants in hp-finite element trace inverse inequalities. Computer methods in applied mechanics and engineering, 192(ARTICLE):2765–2773, 2003.
  • Abc [2000] Partial Differential Equation Toolbox. https://www.mathworks.com/help/pde/index.html?s_tid=CRUX_lftnav, 2020. The MathWorks, Natick, MA, USA.
  • Abc [2000] Thomas JR Hughes, LP Franca, and M Mallet. A new finite element formulation for computational fluid dynamics: I. Symmetric forms of the compressible Euler and Navier-Stokes equations and the second law of thermodynamics. Computer Methods in Applied Mechanics and Engineering, 54(2):223–234, 1986.
  • Abc [2000] Praveen Chandrashekar. Kinetic Energy Preserving and Entropy Stable Finite Volume Schemes for Compressible Euler and Navier-Stokes Equations. Communications in Computational Physics, 14(5):1252–1286, 2013.