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

An Entropy Stable High-Order Discontinuous Galerkin Method on Cut Meshes

(Fall 2024)
Abstract

High-order entropy stable summation-by-parts (SBP) schemes are a class of robust and accurate numerical methods for hyperbolic conservation laws that are numerically stable at arbitrary order without the need for artificial stabilization. While SBP schemes are well-established on simplicial and tensor-product elements, they have not been extended to cut meshes. Cut meshes provide a convenient and efficient means of mesh generation for domains with embedded boundaries but can be difficult to use due to their arbitrarily shaped cut elements. Using the skew-hybridized SBP formulation of Chan [1], we present a high-order accurate, entropy stable scheme for hyperbolic conservation laws on cut meshes. The formulation requires positive/non-negative weight quadrature rules on cut elements, which we construct via explicit parameterizations, subtriangulations, and Carathéodory pruning. We numerically verify the accuracy and stability of our method using the shallow water and compressible Euler equations and note promising results for the use of state redistribution with entropy stable methods.

keywords:
Entropy stable , Discontinuous Galerkin , Summation-by-parts , Cut meshes , Carathéodory pruning , State redistribution
\affiliation

[1]organization=Oden Institute for Computational Science and Engineering, University of Texas at Austin

\affiliation

[2]organization=Department of Computational Applied Mathematics and Operations Research, Rice University

1 Introduction

We are interested in numerically solving systems of hyperbolic conservation laws taking the form

𝒖t+d=1Nd𝒇d(𝒖)xd=𝟎,𝒙ΩNd\dfrac{\partial\bm{u}}{\partial t}+\sum_{d=1}^{{N_{d}}}\dfrac{\partial\bm{f}_{d}(\bm{u})}{\partial x_{d}}=\bm{0},\quad\bm{x}\in\Omega\subset\mathbb{R}^{N_{d}} (1)

with appropriate boundary and initial conditions and where the solution 𝒖:nH\bm{u}:\mathbb{R}^{n}\to H for some convex set HnH\subset\mathbb{R}^{n}. The functions 𝒇d:Hn,d=1,,Nd\bm{f}_{d}:H\to\mathbb{R}^{n},d=1,...,{N_{d}} are the fluxes and can be linear or nonlinear. A number of important physical systems fall into this framework, including the shallow water, compressible Euler, and ideal magento-hydrodynamics equations.

We are interested in solving (1) on domains ΩNd\Omega\subset\mathbb{R}^{N_{d}} featuring embedded boundaries. For this work we restrict ourselves to 2D domains, i.e., Nd=2{N_{d}}=2. The ability to represent embedded boundaries is fundamental to a number of fluid dynamics problems, which often consider flow past a object. Domains with such boundaries can be defined mathematically as a Cartesian embedding domain, Ω^\hat{\Omega}, from which embedded regions, ΩE\Omega_{E}, are removed, i.e.

Ω=Ω^ΩE.\Omega=\hat{\Omega}-\Omega_{E}. (2)

An example of such a domain is given in Figure 1.

Refer to caption
Figure 1: An example of a domain with embedded boundaries.

The main difficulty of this work is in ensuring entropy stability and high-order accuracy on a cut mesh. Hyperbolic conservation laws present a number of challenges to numerical approximation. First and foremost, hyperbolic conservation laws can develop shocks, i.e., discontinuities, in their solution even when starting from a smooth initial condition [2]. Additionally, weak solutions of hyperbolic conservation laws need not be unique [2] and some may not in fact be physical.

Physically relevant weak solutions can be selected by augmenting (1) with additional requirements on a solution 𝒖\bm{u}. One such set of requirements comes in the form of entropy stability. Despite their ability to develop discontinuities and sharp gradients (which can induce numerical instability), hyperbolic conservation laws are well-behaved in another sense: many satisfy a statement of entropy conservation or stability, a nonlinear analog of energy conservation/stability. Indeed, entropy conservation and stability can be seen as an extension of energy conservation/stability for linear systems [3] to nonlinear systems.

A statement of entropy conservation can easily derived from Equation (1) given a scalar-valued, convex entropy function, U:HU:H\to\mathbb{R} and entropy fluxes Fd:H,d=1,2F_{d}:H\to\mathbb{R},d=1,2 satisfying

dFdd𝒖=dUd𝒖d𝒇dd𝒖.\dfrac{\text{d}F_{d}}{\text{d}\bm{u}}=\dfrac{\text{d}U}{\text{d}\bm{u}}\dfrac{\text{d}\bm{f}_{d}}{\text{d}\bm{u}}. (3)

Note here we use the convention that the derivative/partial derivatives of a function g:nmg:\mathbb{R}^{n}\to\mathbb{R}^{m} with respect to its argument is in m×n\mathbb{R}^{m\times n}; this implies the derivative/gradient a scalar with respect to a column vector is a row vector and the derivative of a column vector with respect to a scalar is a column vector.

While the entropy function is an arbitrary convex function and thus (in general) non-unique, it is typically chosen to be a quantity with physical relevance, such as the total energy for the shallow water equations [4] or the kinetic energy for Burgers equation. Stronger conditions on UU, such as uniform convexity or strict convexity, may yield other properties for a scheme or additional conditions on UU.

In the case of uniformly convex UU, a priori L2L_{2} bounds on entropy stable solutions are sometimes possible [5]. Strictly convex entropy functions are often of interest as the mapping between conservative variables 𝒖\bm{u} and entropy variables 𝒗\bm{v} is then one-to-one and can serve as a change of variables [6]. For strictly convex UU, the entropy-entropy flux pair must symmetrize (1) [7, 6]; this additional requirement can be enough to guarantee or suggest a unique entropy function for some systems, such as for the compressible Navier-Stokes equations with heat conduction [8].

Historically, (and still often for the compressible Euler and Navier-Stokes equations [9]) the entropy function was often related to the negative of physical, thermodynamic entropy, SS, which established the convention of denoting the entropy function as S(𝒖)S(\bm{u}). Here we follow the trend of more recent works in denoting the entropy function as U(𝒖)U(\bm{u}) to emphasize the arbitrary nature of the function, which need only be convex and have corresponding entropy fluxes.

To derive the statement of entropy conservation from (1), we define the entropy variables 𝒗:Hn\bm{v}:H\to\mathbb{R}^{n} as

𝒗(𝒖)=(dUd𝒖)T\bm{v}(\bm{u})=\left(\dfrac{\text{d}U}{\text{d}\bm{u}}\right)^{T} (4)

where we use the transpose to remain consistent with the notation used in the literature. By the chain rule and from the definition of the entropy function, entropy fluxes, and entropy variables we have that:

𝒗T𝒖t=dUd𝒖𝒖t=Ut\bm{v}^{T}\dfrac{\partial\bm{u}}{\partial t}=\dfrac{\text{d}U}{\text{d}\bm{u}}{}\dfrac{\partial\bm{u}}{\partial t}=\dfrac{\partial U}{\partial t} (5)

and

𝒗T𝒇dxd=dUd𝒖(d𝒇dd𝒖𝒖xd)=(dUd𝒖d𝒇dd𝒖)𝒖xd=dFdd𝒖𝒖xd=Fdxd.\bm{v}^{T}\dfrac{\partial\bm{f}_{d}}{\partial x_{d}}{}=\dfrac{\text{d}U}{\text{d}\bm{u}}\left(\dfrac{\text{d}\bm{f}_{d}}{\text{d}\bm{u}}\dfrac{\partial\bm{u}}{\partial x_{d}}{}\right)=\left(\dfrac{\text{d}U}{\text{d}\bm{u}}\dfrac{\text{d}\bm{f}_{d}}{\text{d}\bm{u}}\right)\dfrac{\partial\bm{u}}{\partial x_{d}}{}=\dfrac{\text{d}F_{d}}{\text{d}\bm{u}}{}\dfrac{\partial\bm{u}}{\partial x_{d}}{}=\dfrac{\partial F_{d}}{\partial x_{d}}{}. (6)

Left multiplying Equation (1) by 𝒗T\bm{v}^{T} and applying Equations (5) and (6) yields a conservation law for the entropy,

U(𝒖)t+d=12Fd(𝒖)xd=0,\dfrac{\partial U(\bm{u})}{\partial t}+\sum_{d=1}^{2}\dfrac{\partial F_{d}(\bm{u})}{\partial x_{d}}=0, (7)

which holds weakly for smooth 𝒖\bm{u}. In the presence of shocks, it can be shown via vanishing viscosity arguments that entropy is dissipated at shocks [6], yielding the entropy inequality:

U(𝒖)t+d=12Fd(𝒖)xd0\dfrac{\partial U(\bm{u})}{\partial t}+\sum_{d=1}^{2}\dfrac{\partial F_{d}(\bm{u})}{\partial x_{d}}\leq 0 (8)

which is again to be interpreted in a weak sense. Inequality (8) in particular testifies of the stability of the solution 𝒖\bm{u} with respect to a given entropy-entropy flux pair: it states that entropy can only decrease in time.

Numerical solutions to (1) that are able to satisfy an appropriate discrete or semi-discrete analog of the entropy conservation law (7) are said to be entropy conservative. Similarly, those satisfying analogs of the entropy inequality (8) are said to be entropy stable. Importantly, entropy stability in numerical methods helps to prevent numerical instability.

One of the first classes of entropy stable methods are based on the use of entropy stable numerical fluxes. The origins of flux-based entropy stable methods has its roots in first-order finite volume (FV) methods [10, 11, 12, 13]. That original context was expanded into several finite volume methods and, via “flux-differencing”, discontinuous Galerkin (DG) methods. Some of these flux-based entropy stable methods can also be augmented by other properties/procedures such as essentially non-oscillatory (ENO) methods [14] and kinetic energy preservation [15]. Fundamental to such methods are entropy conservative/stable two-point numerical fluxes as first defined by Tadmor in [10].

The definition for entropy conservative and entropy stable two-point fluxes in the sense of Tadmor [10] are given in Definitions 1.1 and 1.2. Necessary for these definitions are the entropy potentials, ψd:H,\psi_{d}:H\to\mathbb{R}, which are defined as

ψd(𝒖)=𝒗(𝒖)T𝒇d(𝒖)Fd(𝒖),d=1,2.\psi_{d}(\bm{u})=\bm{v}(\bm{u})^{T}\bm{f}_{d}(\bm{u})-F_{d}(\bm{u}),\quad d=1,2. (9)
Definition 1.1.

In a given spatial dimension 𝐱d\bm{x}_{d}, a two-point numerical flux 𝐟ECd:H×Hn\bm{f}_{EC}^{d}:H\times H\to\mathbb{R}^{n} is said to be entropy conservative in the sense of Tadmor if for any 𝐮L,𝐮RH\bm{u}_{L},\bm{u}_{R}\in H it satisfies:

𝒇ECd(𝒖,𝒖)\displaystyle\bm{f}_{EC}^{d}(\bm{u},\bm{u}) =𝒇d(𝒖)\displaystyle=\bm{f}_{d}(\bm{u}) (consistency) (10)
𝒇ECd(𝒖L,𝒖R)\displaystyle\bm{f}_{EC}^{d}(\bm{u}_{L},\bm{u}_{R}) =𝒇ECd(𝒖R,𝒖L)\displaystyle=\bm{f}_{EC}^{d}(\bm{u}_{R},\bm{u}_{L}) (symmetry) (11)
(𝒗R𝒗L)T𝒇ECd(𝒖L,𝒖R)\displaystyle\left(\bm{v}_{R}-\bm{v}_{L}\right)^{T}\bm{f}_{EC}^{d}(\bm{u}_{L},\bm{u}_{R}) =ψd(𝒖R)ψd(𝒖L)\displaystyle=\psi_{d}(\bm{u}_{R})-\psi_{d}(\bm{u}_{L}) (entropy conservation) (12)

where 𝐯L=𝐯(𝐮L),𝐯R=𝐯(𝐮R)\bm{v}_{L}=\bm{v}(\bm{u}_{L}),\bm{v}_{R}=\bm{v}(\bm{u}_{R}).

Definition 1.2.

In a given spatial dimension 𝐱d\bm{x}_{d}, a two-point numerical flux 𝐟ESd:H×Hn\bm{f}_{ES}^{d}:H\times H\to\mathbb{R}^{n} is said to be entropy stable in the sense of Tadmor if for any 𝐮L,𝐮RH\bm{u}_{L},\bm{u}_{R}\in H it satisfies:

𝒇ESd(𝒖,𝒖)\displaystyle\bm{f}_{ES}^{d}(\bm{u},\bm{u}) =𝒇d(𝒖)\displaystyle=\bm{f}_{d}(\bm{u}) (consistency) (13)
(𝒗R𝒗L)T𝒇ESd(𝒖L,𝒖R)\displaystyle\left(\bm{v}_{R}-\bm{v}_{L}\right)^{T}\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R}) ψd(𝒖R)ψd(𝒖L)\displaystyle\leq\psi_{d}(\bm{u}_{R})-\psi_{d}(\bm{u}_{L}) (entropy stability) (14)

where 𝐯L=𝐯(𝐮L),𝐯R=𝐯(𝐮R)\bm{v}_{L}=\bm{v}(\bm{u}_{L}),\bm{v}_{R}=\bm{v}(\bm{u}_{R}).

Note in the case of entropy stable fluxes the symmetry requirement has been dropped and the entropy condition relaxed to an inequality. When performing calculations on the boundary of an element, information from the outward normal vector of the element is also needed to compute the final flux value in a given direction. When using entropy conservative fluxes, no changes are needed due to their symmetry property; the flux can simply be multiplied by the appropriate component of the outward normal vector. However, since entropy stable fluxes lack symmetry the classical two-point entropy stable flux 𝒇ESd(𝒖L,𝒖R)\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R}) is often augmented to a three-argument flux 𝒇ESd(𝒖L,𝒖R,𝒏d)\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R},\bm{n}_{d}) where 𝒏d\bm{n}_{d} is the dthd^{th} component of the outward normal vector 𝒏\bm{n}. The inclusion of the normal vector induces a pseudo “anti-symmetry” property

𝒇ESd(𝒖L,𝒖R,𝒏d)=𝒇ESd(𝒖R,𝒖L,𝒏d)\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R},\bm{n}_{d})=-\bm{f}_{ES}^{d}(\bm{u}_{R},\bm{u}_{L},-\bm{n}_{d}) (15)

which is vital for the proof of global entropy stability of such schemes.

In practice, entropy stable fluxes can be constructed as a combination of a consistent, symmetric (but not necessarily entropy conservative) two-point base flux 𝒇CSd:H×Hn\bm{f}_{CS}^{d}:H\times H\to\mathbb{R}^{n} combined with a two-point dissipation term 𝒅Ud:H×Hn\bm{d}_{U}^{d}:H\times H\to\mathbb{R}^{n}:

𝒇ESd(𝒖L,𝒖R,𝒏d)=𝒏d𝒇CS(𝒖L,𝒖R)+𝒅Ud(𝒖L,𝒖R)\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R},\bm{n}_{d})=\bm{n}_{d}\bm{f}_{CS}(\bm{u}_{L},\bm{u}_{R})+\bm{d}_{U}^{d}(\bm{u}_{L},\bm{u}_{R}) (16)

An example of such an entropy-stable flux is the Lax-Friedrichs flux

𝒇ESd(𝒖L,𝒖R,𝒏d)=𝒏d12(𝒖L+𝒖R)λ2(𝒖R𝒖L)\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R},\bm{n}_{d})=\bm{n}_{d}\frac{1}{2}\left(\bm{u}_{L}+\bm{u}_{R}\right)-\frac{\lambda}{2}\left(\bm{u}_{R}-\bm{u}_{L}\right) (17)

which can also be expressed in shorthand notation as

𝒇ESd(𝒖L,𝒖R)=𝒏d{{𝒖}}λ2[[𝒖]]\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R})=\bm{n}_{d}\left\{\!\{\bm{u}\}\!\right\}-\frac{\lambda}{2}\left[\![\bm{u}]\!\right] (18)

where {{𝒖}}\left\{\!\{\bm{u}\}\!\right\} is the arithmetic average of 𝒖L\bm{u}_{L} and 𝒖R\bm{u}_{R}, [[𝒖]]=𝒖R𝒖L\left[\![\bm{u}]\!\right]=\bm{u}_{R}-\bm{u}_{L} is the “jump” of 𝒖\bm{u}, and λ>0\lambda>0 is the maximum wavespeed or a suitable approximation thereof.

The Lax-Friedrichs flux is a special case of a the HLL flux (named for the HLLE/HLLC Riemann solvers which are themselves named for Harten, Lax, and van Leer [16]) and is entropy stable for suitable choices of λ\lambda [6, 17, 18] despite its use of the average of the left and right states as the base flux.

1.1 High-Order Summation-By-Parts Operators

While low-order methods can be extremely robust, their accuracy and efficiency per degree of freedom (DOF) can leave much to be desired. Low-order methods have higher numerical dispersion error than high-order equivalents [19] and are less efficient per degree of freedom [20]. As a result, high-order methods are increasingly preferred for fluid applications that are especially sensitive to diffusion, such as unsteady flows featuring vortices and turbulence [21], and the simulation over long distances or times [20]. However, the low-diffusion error of high-order methods is a double-edged sword: high-order methods tend to be unstable in the presence of shocks and discontinuities [20].

In the context of hyperbolic conservation laws, instability can be attributed in part to a method’s failure to satisfy the entropy inequality. Entropy stability can be imposed on a scheme externally by adding routines/operators that dissipate entropy to an otherwise entropy unstable scheme. Common approaches for externally enforcing entropy stability include artificial viscosity and regularization [22, 23], and filtering and/or limiting procedures [24, 25]. However, these approaches can result in the loss of high-order accuracy [20] and the need to tune parameters can result in a loss of robustness from one simulation to the next: too little dissipation and the scheme is unstable, too much and the solution is dominated by dissipation error.

A major difficulty in designing an inherently entropy stable high-order method is the use of the chain rule in space (as shown in (6)) in the derivation of the entropy statement as it has no semi-discrete equivalent. Summation-by-parts (SBP) operators paired with flux-differencing provides a means to side-step the need for the chain rule in the derivation of the semi-discrete entropy statement, a proof of which is presented in [26]. SBP operators are so named as they are a semi-discrete analog of integration-by-parts and as such allow information in a volume to be replaced by information on the volume’s boundary.

SBP operators have been established for a number of finite volume [10, 11, 14, 15, 12, 13] and DG schemes [27, 28, 29, 30]. SBP operators can also be constructed for finite difference schemes [31, 6]. SBP schemes are high-order accurate and can be used to create inherently entropy conservative/stable schemes.

Here, we use an entropy stable high-order SBP DG scheme, which pairs SBP operators with a flux-differencing DG formulation and entropy conservative/stable fluxes. In the DG setting, on a given element of the mesh classical diagonal-norm SBP schemes require the mass matrix 𝑴\bm{M} to be diagonal and positive-definite and SBP operators 𝑸d\bm{Q}_{d} (which act as differentiation operators on volume of the element) and boundary integration matrices 𝑩d\bm{B}_{d} satisfy the SBP property:

𝑸d+𝑸dT=𝑩d,d=1,2.\bm{Q}_{d}+\bm{Q}_{d}^{T}=\bm{B}_{d},\quad d=1,2. (19)

1.2 Constructing Summation-By-Parts Operators on Cut Meshes

While entropy stable high-order SBP methods are well-established, their treatment is typically limited to simplicial and tensor product elements; in 2D spatial domains these correspond to triangular and quadrilateral elements, respectively. Here, we are interested in domains with embedded boundaries. Embedded boundaries are most commonly handled via unstructured, fitted triangular meshes but such meshes can require either hh adaptivity or curvilinear elements to resolve curved boundaries well without loss of high-order accuracy.

As high-order elements have more DOF per element than lower order, to maintain reasonable computational cost they are best used on relatively coarse meshes, where “relatively” is interpreted with respect to an adequately refined mesh for low-order versions of that method. Fitted triangular meshes can require a large amount of elements to resolve a boundary well, potentially leading to bloated computational costs regardless of order. Here, we instead use Cartesian cut meshes, which feature a simple, unfitted Cartesian background mesh “cut” by the embedded boundaries to yield a hybrid mesh of Cartesian and cut elements as shown in Figure 2.

Refer to caption
Figure 2: An example of a Cartesian cut mesh with cut elements shown in purple and yellow. Notice that for an equivalent quad-tri mesh every cut element would be decomposed into at least one curvilinear triangular element.

Cut meshes have a long history in fluid dynamics problems, with early work in the 1970’s [32]. Cut meshes allow embedded boundaries to be represented with high accuracy while simultaneously maintaining a coarse mesh away from embedded boundaries. The cost of flux-differencing methods is driven by the number of evaluations of the numerical fluxes, which scales linearly with the number of faces in the mesh and nonlinearly with the polynomial degree of the solution. Cut meshes feature fewer faces and thus fewer evaluations of the numerical flux functions than an equivalent quad-tri mesh and (typically) fewer elements and faces than fitted triangular meshes, making them a computationally economic partner for high-order methods.

While cut meshes are attractive for use with high-order methods, they present a number of challenges. Namely, cut elements can be arbitrarily shaped and sized leading to potentially extremely restrictive CFL conditions (i.e., the small cell problem) and difficulty in constructing high-quality quadrature rules. High-quality quadrature rules are necessary for SBP operators, which classically require diagonal norm mass matrices among other conditions.

On non-hybrid meshes (i.e. those consisting of a single element type) the cost of constructing SBP-appropriate quadrature (which can be expensive to compute) and the corresponding SBP operators is mitigated by the ability to construct the operators once on a single reference element for all elements in the mesh. The arbitrary geometries of cut elements, besides requiring custom quadrature rules for every cut element, cannot be mapped to a single reference element and thus greatly increase the difficulty and computational cost of constructing traditional SBP operators on cut meshes.

Even when limited to known element geometries, SBP operators present a new issue when used on hybrid meshes: the conditions needed to induce the classical diagonal-norm SBP property can differ between different types of elements. For example, despite SBP operators being well-established on simplices and tensor-product elements individually, the differing conditions on each type of element create compatibility issues on hybrid quad-tri meshes [1]. However, relaxations of the SBP property exist, such as the generalized SBP property and hybridized SBP property [33, 26, 1], which reduce the cost of constructing SBP operators.

Of particular interest to us are skew-hybridized SBP operators, which were developed by Chan in [1] to overcome the compatibility issue on hybrid quad-tri meshes. Hybridized SBP operators were originally introduced as “decoupled SBP” operators in [26] but subsequently became known as “hybridized” SBP operators [34]. “Skew” hybridized SBP operators are so named due to their use of the skew-symmetric matrix (𝑸d𝑸dT)(\bm{Q}_{d}-\bm{Q}_{d}^{T}). Given non-SBP differentiation operators 𝑸d\bm{Q}_{d} and boundary integration operators 𝑩d\bm{B}_{d}, skew-hybridized SBP operators 𝑸H,d\bm{Q}_{H,d} and 𝑩H,d\bm{B}_{H,d} can be constructed via

𝑸H,d=12[𝑸d𝑸dT𝑬T𝑩d𝑩dT𝑬𝑩d]\bm{Q}_{H,d}=\frac{1}{2}\begin{bmatrix}\bm{Q}_{d}-\bm{Q}_{d}^{T}&\bm{E}^{T}\bm{B}_{d}\\ -\bm{B}_{d}^{T}\bm{E}&\bm{B}_{d}\end{bmatrix} (20)

and

𝑩H,d=[𝟎𝑩d]\bm{B}_{H,d}=\begin{bmatrix}\bm{0}&\\ &\bm{B}_{d}\end{bmatrix} (21)

for d=1,2d=1,2. The skew-hybridized SBP operators satisfy the hybridized SBP property:

𝑸H,d+𝑸H,dT=𝑩H,d,\bm{Q}_{H,d}+\bm{Q}_{H,d}^{T}=\bm{B}_{H,d}, (22)

which is a block version of the traditional SBP property.

The matrix 𝑬\bm{E} used in (20) is an extrapolation operator taking the solution values at volume quadrature points and mapping them to values at surface quadrature points (its exact definition will be given later in Section 2.1.2). An important property of 𝑬\bm{E} is that it is dependent on both the volume and surface quadrature rules [26, 1]. With this dependence on volume and surface quadrature, skew-hybridized SBP operators can be thought of as a volume-based derivative operator (𝑸d\bm{Q}_{d}) with boundary-based correction terms coming from the terms with 𝑬\bm{E} [1, 35].

Importantly, the accuracy of a skew-hybridized SBP operator as a differentiation operator is now tied to the accuracy of the both the surface and volume quadrature [1, 26]. However, since skew-HSBP operators do not require 𝑸d\bm{Q}_{d} to be a SBP operator, they can be readily extended to cut meshes provided sufficiently exact quadrature rules can be constructed on cut elements.

1.3 Quadrature on Cut Elements

A number of methods exist for constructing quadrature rules on cut meshes/arbitrary geometries. In some cases, the shape of cut elements is restricted (e.g. to simplicies), allowing established quadrature rules to be applied [36]. Approaches for constructing quadrature rules typically fall into two categories: generative methods, which numerically create a custom quadrature rule for a specific cut element, and subdivision approaches, which divide the cut element into a collection of subelements who have established quadrature rules (e.g., subtriangulation) from which a composite rule is constructed.

A common starting point for many generative approaches is moment-fitting, where quadrature rules are constructed on a set of points from target integrals [37, 38, 39]. Not all moment-fitting approaches guarantee polynomial exactness (which is often dependent on boundary representation) and positive quadrature weights, though some, such as [38, 40], do but may rely on using a possibly-extreme number of points to do so [41]. Such methods are also subject to the quality of the sampling points used as they affect the conditioning of the system.

There are however, other generative methods for creating quadrature rules. Work by Saye in [42, 43] provides an algorithm for constructing polynomially exact, positive weight quadrature rules for geometries defined by polynomial level-sets and is commonly used in the cut mesh community. However, Saye’s algorithm depends on geometries defined by polynomial level-sets, though the algorithm has also been extended to non-polynoimally defined level-sets via localized projection [44]. Here, however, we use explicit parameterizations to represent cut boundaries as we did previously in [45] and thus are not eligible to use Saye’s routines.

Subdivision approaches use existing quadrature on known geometries, such as simplicies and tensor-product elements, to construct a composite quadrature rule on a single cut element. Examples include quad/oct-tree quadrature [46, 36] and subtriangulation approaches [47, 48]. While subdivision approaches have the advantage of leveraging known quadrature formulas and efficient, well-developed libraries, they–by construction–contain many more quadrature points than is needed for a given polynomial degree by virtue of the subdivision. In the case of moving boundaries, the modularity of subdivision-based rules can be beneficial, however, for static boundaries the cost is less permissible.

While the skew-hybridized SBP formulation only requires polynomially exact, positive weight quadrature, the number of quadrature points is an important factor in the computational costs of a scheme both in runtime and memory. Therefore rules using an excessive number of points, such as non-negative least-squares and subdivision, are less preferable with respect to computational cost. However, schemes yielding/using a large number of points can also be quite robust and utilize well-establish libraries and thus warrant further consideration.

1.3.1 Quadrature Pruning Approaches

In addition to routines which provide quadrature rules, there also exist quadrature pruning algorithms, which take an initial, many point quadrature rule and prune it to create a quadrature rule on a relatively small/efficient subset of the original points. Importantly, there are pruning algorithms which maintain positivity/non-negativity of the quadrature weights and polynomial exactness such as in [49, 50]. Pruning routines can be optimization-based such as in [41] or iterative processes [51, 52]. However, like non-negative moment fitting, pruning routines are generally expensive computationally. In the case of static meshes, however, this cost is only paid once as a preprocessing step.

Pairing a pruning algorithm with an excessive-point quadrature rule allows robust and versatile subdivision-based (and other robust many-point quadrature routines) to be used without excessive time and memory costs during time integration. Exactly how few points a quadrature rule can be reduced to depends on the geometry and the polynomial degree (when polynomial exactness is required).

Carathéodory’s theorem, originally developed in the context of convex geometry [53], can provide a useful upper bound on the minimum number of quadrature points needed. Theorem 1.3 states Caraéodory’s theorem in its original form while Theorem 1.4 states it as applied to quadrature rules.

Theorem 1.3.

(Carathéodory’s Theorem [53]) Let SmS\subset\mathbb{R}^{m}. Any point 𝐩conv(S)\bm{p}\in\operatorname{conv}(S) (the convex hull of SS), can be expressed as a convex combination of at most (m+1)(m+1) points in SS.

Theorem 1.4.

(Carathéodory’s Theorem as applied to quadrature) Let DNdD\subset\mathbb{R}^{N_{d}} be a set of non-zero measure and N=dim(N(D))N^{*}=\dim(\mathbb{P}^{N}(D)). Given any MM-point, non-negative weight quadrature rule exact for pN(D)\forall p\in\mathbb{P}^{N}(D), we can generate a (N+1)(N^{*}+1)-point non-negative weight quadrature rule exact pN(D)\forall p\in\mathbb{P}^{N}(D) whose quadrature points are a subset of the original rule’s points.

The proof of Theorem 1.4 given Theorem 1.3 is very straightforward: the points 𝒑m\bm{p}\in\mathbb{R}^{m} are replaced by vectors of each polynomial basis function evaluated at every quadrature point and the coefficients of the convex combination correspond to the new, normalized quadrature weights. The final quadrature weights must remove the scaling from the normalization. While

Carathéodory’s theorem provides a theoretically-motivated (when exact quadrature is desired) stopping point for quadrature pruning techniques, but it does not provide any means for obtaining the reduced/pruned quadrature rule. A number of quadrature pruning techniques exist based on various techniques, but a common factor is the use of null vectors of the transpose of the quadrature points’ Vandermonde matrix. Such null vectors can be used to manipulate the quadrature weights without altering polynomial exactness.

Here, to generate polynomially exact, positive/non-negative weight quadrature on cut elements we pair subtriangulation with a pruning technique introduced by van den Bos in [51], which computes the necessary null vectors via QR factorization. We terminate the pruning according to the upper bound on quadrature points given by Carathéodory’s theorem. The combination of a pruning routine with the upper bound from Carathéodory’s theorem we call Carathéodory pruning. Such an approach yields efficient, exact, non-negative quadrature on cut elements of arbitrary shape. There are other, potentially more efficient and theoretically attractive (e.g., better controlling the distribution of the quadrature weights) means of generating exact, strictly positive quadrature, such as Vioreanu quadrature [54], however, for our purposes the combination of subdivision and Carathéodory pruning is sufficient.

The combination of non-negative-weight, exact quadrature, the skew-hybridized SBP formulation of [1], and entropy conservative/stable fluxes constitute, to the authors’ knowledge, the first instance of a high-order accurate entropy stable method on cut meshes; this is the major contribution of this work to the literature. The code for our work is written in the programming language Julia and the routines developed to generate our cut meshes and operators are provided in the Julia packages PathIntersections.jl [55] and StartUpDG.jl [56], respectively. Additionally the codes used for the experiments in this paper are provided in the repository [57].

While addressing the small cell problem is not one of the objectives of this paper, we do note that state redistribution, first introduced by Berger and Giuliani in [58] and extended to high-order methods in [59], is an extremely robust [58, 45] and powerful method for addressing the small cell problem. While we do not theoretically adapt state redistribution to the entropy-stable setting here, we do present promising numerical results demonstrating it can be used with an entropy stable scheme without numerically violating entropy stability. We use state redistribution as originally presented in [58, 59], however, a newer, more sophisticated and less-dissipative form of state redistribution has since been presented in [60] and [61].

In the rest of this paper we will discuss the details of the skew-hybridized SBP formulation, our cut mesh generator, and our Carathéodory pruning algorithm in Sections 2. In Section 3 we show results for our quadrature generation routine and numerically verify the accuracy and entropy conservation/stability of our scheme. Lastly, we conclude with Section 4 where we discuss future work and open problems.

2 Methods

2.1 The Skew-Hybridized Summation-by-Parts Formulation

2.1.1 Solution and Test Spaces

First, we define the solution and test spaces for our formulation. We assume without loss of generality a Cartesian embedding domain Ω^=[1,1]2\hat{\Omega}=[-1,1]^{2} over which we impose a uniform nx×nyn_{x}\times n_{y} Cartesian background grid. The boundaries of the embedded regions ΩE\Omega_{E} are allowed to cut the background grid to produce a Cartesian cut mesh 𝒯h\mathcal{T}_{h} of NhN_{h} non-overlapping elements.

On Cartesian elements, we use a reference element D^=[1,1]2\hat{D}=[-1,1]^{2} to define the solution. On the reference element we define the solution and test spaces as 𝒬N(D^)\mathcal{Q}^{N}(\hat{D}), the space of tensor product of polynomials of degree NN. The space 𝒬N(D^)\mathcal{Q}^{N}(\hat{D}) is defined by basis functions

φij(𝒙)=φij(x,y)=i(x)j(y),i,j=0,1,,N\varphi_{ij}(\bm{x})=\varphi_{ij}(x,y)=\ell_{i}(x)\ell_{j}(y),\quad i,j=0,1,...,N (23)

where i,j\ell_{i},\ell_{j} are 1D Lagrange polynomials in the xx and yy directions, respectively.

On cut elements we define the solution and test spaces on the physical element. For a given cut element DkD^{k}, we take the solution and test spaces as

N(Dk)=span{xiyj:i+jN,i,j=0,1,,N},\mathbb{P}^{N}(D^{k})=\text{span}\{\leavevmode\nobreak\ x^{i}y^{j}\leavevmode\nobreak\ :\leavevmode\nobreak\ i+j\leq N,\leavevmode\nobreak\ i,j=0,1,...,N\leavevmode\nobreak\ \}, (24)

the space of total degree NN polynomials on DkD^{k}. We use the 2D Lagrange polynomials basis functions

φi(𝒙)=φi(x,y)=i(x,y),i(xj,yj)=δij,i,j=0,1,,N\varphi_{i}(\bm{x})=\varphi_{i}(x,y)=\ell_{i}(x,y),\quad\ell_{i}(x_{j},y_{j})=\delta_{ij},\quad i,j=0,1,...,N (25)

whose nodal points {𝒙i}i=0N={(xi,yi)}i=0NDk\{\bm{x}_{i}\}_{i=0}^{N}=\{(x_{i},y_{i})\}_{i=0}^{N}\subset D^{k} are defined by approximate Fekete points. Fekete points are a class of interpolation nodes that yield well-conditioned Vandermonde matrices [62]. We generate approximate Fekete points using the same techniques presented in our previous work on an energy stable cut DG method in [45].

For ease of notation, on a given element DkD^{k} we denote the solution and test spaces as 𝒱N(Dk)\mathcal{V}^{N}(D^{k}), where

𝒱N(Dk)={𝒬N(D^),DkCartesianN(Dk),Dkcut.\mathcal{V}^{N}(D^{k})=\left\{\begin{matrix}\mathcal{Q}^{N}(\hat{D}),&D^{k}\leavevmode\nobreak\ \text{Cartesian}\\[3.0pt] \leavevmode\nobreak\ \mathbb{P}^{N}(D^{k}),&D^{k}\leavevmode\nobreak\ \text{cut}\end{matrix}\right.. (26)

2.1.2 Operators

Now we define the operators for the skew-hybridized formulation. Given volume quadrature {(wq,i,𝒙q,i)}i=1nq\{(w_{q,i},\bm{x}_{q,i})\}_{i=1}^{n_{q}} and face quadrature {(wf,i,𝒙f,i)}i=1nf\{(w_{f,i},\bm{x}_{f,i})\}_{i=1}^{n_{f}} rules for a given element DkD^{k}, we define the interpolation matrices 𝑽q,𝑽f\bm{V}_{q},\bm{V}_{f} as

(𝑽q)ij\displaystyle(\bm{V}_{q})_{ij} =φj(𝒙q,i),i=1,,nq,\displaystyle=\varphi_{j}\left(\bm{x}_{q,i}\right),\quad i=1,...,n_{q}, (27)
(𝑽f)ij\displaystyle(\bm{V}_{f})_{ij} =φj(𝒙f,i),i=1,,nf,\displaystyle=\varphi_{j}\left(\bm{x}_{f,i}\right),\quad i=1,...,n_{f}, (28)

for j=1,,dim𝒱N(Dk)j=1,...,\dim{\mathcal{V}^{N}(D^{k}}) where 𝒙q,i\bm{x}_{q,i} is ithi^{th} volume quadrature point, 𝒙f,i\bm{x}_{f,i} the ithi^{th} face quadrature point, and nq,nfn_{q},n_{f} the number of volume and face quadrature points, respectively. Define the matrix of volume quadrature weights 𝑾=diag{wq,1,,wq,nq}\bm{W}=\operatorname{diag}\{w_{q,1},...,w_{q,n_{q}}\} and the similarly the matrix 𝑾f=diag{wf,1,,wf,nf}\bm{W}_{f}=\operatorname{diag}\{w_{f,1},...,w_{f,n_{f}}\} of the face quadrature weights. The mass matrix 𝑴\bm{M} is then given by

𝑴=𝑽qT𝑾𝑽q\bm{M}=\bm{V}_{q}^{T}\bm{W}\bm{V}_{q} (29)

and the boundary integration matrix in the dthd^{th} direction 𝑩d\bm{B}_{d} as

𝑩d=𝑾fdiag{𝒏f(d)}\bm{B}_{d}=\bm{W}_{f}\operatorname{diag}\{\bm{n}_{f}^{(d)}\} (30)

where 𝒏f(d)\bm{n}_{f}^{(d)} if the vector of the dthd^{th} component of the outward normal at evaluated at every face quadrature point. Note that the boundary integration matrix is diagonal and thus 𝑩d=𝑩dT\bm{B}_{d}=\bm{B}_{d}^{T}. We assume that the volume quadrature rule is sufficiently accurate for the mass-matrix to be positive definite and thus invertible (we will explore the conditions each quadrature rule must satisfy in greater detail in Section 2.1.4).

We define the differentiation (with respect to 𝒙d\bm{x}_{d}) matrix, 𝑫d\bm{D}_{d}, via the relation

φi𝒙d=j=1dim(𝒱N(Dk)(𝑫d)ijφj(𝒙).\dfrac{\partial\varphi_{i}}{\partial\bm{x}_{d}}=\sum_{j=1}^{\dim(\mathcal{V}^{N}(D^{k})}(\bm{D}_{d})_{i}j\varphi_{j}(\bm{x}). (31)

Next, we define the quadrature-based projection matrix 𝑷q\bm{P}_{q} as

𝑷q=𝑴1𝑽qT𝑾.\bm{P}_{q}=\bm{M}^{-1}\bm{V}_{q}^{T}\bm{W}. (32)

The quadrature-based projection operator projects an arbitrary function evaluated at the volume quadrature points of DkD^{k} onto 𝒱N(Dk)\mathcal{V}^{N}(D^{k}) and is vital for the entropy conservation/stability of the scheme. For conserved variables 𝒖h𝒱N(Dk)\bm{u}_{h}\in\mathcal{V}^{N}(D^{k}), 𝑷q\bm{P}_{q} is used to project the entropy variable 𝒗(𝒖h)\bm{v}(\bm{u}_{h}) onto 𝒱N(Dk)\mathcal{V}^{N}(D^{k}) via the L2L_{2}-based projection

Dk(Πp)q=Dkpq,q𝒱N(Dk).\int_{D^{k}}(\Pi p)q=\int_{D^{k}}pq,\quad\forall q\in\mathcal{V}^{N}(D^{k}). (33)

Using 𝑷q\bm{P}_{q}, we can define the entropy-projected conserved variables, 𝒖~\tilde{\bm{u}}, as

𝒖~=𝒖([𝑽q𝑽f]𝑷q𝒗(𝑽q𝒖h)),\tilde{\bm{u}}=\bm{u}\left(\begin{bmatrix}\bm{V}_{q}\\ \bm{V}_{f}\end{bmatrix}\bm{P}_{q}\bm{v}\left(\bm{V}_{q}\bm{u}_{h}\right)\right), (34)

which are defined at all volume and face quadrature nodes. We denote 𝒖~\tilde{\bm{u}} evaluated at just the face quadrature points as 𝒖~f\tilde{\bm{u}}_{f}.

Given 𝑷q\bm{P}_{q}, we can also define the extrapolation matrix

𝑬=𝑽f𝑷q\bm{E}=\bm{V}_{f}\bm{P}_{q} (35)

which extrapolates a function evaluated at the volume quadrature nodes to the face quadrature nodes via its polynomial projection from 𝑷q\bm{P}_{q}.

With all these operators defined, we can define 𝑸d\bm{Q}_{d}, the generalized SBP [1] operator in the dthd^{th} direction, as

𝑸d=𝑷qT𝑴𝑫d𝑷q.\bm{Q}_{d}=\bm{P}_{q}^{T}\bm{M}\bm{D}_{d}\bm{P}_{q}. (36)

Notice the generalized SBP operator and the boundary integration operator do not satisfy the typical SBP property, which would require

𝑸d+𝑸dT=𝑩d,\bm{Q}_{d}+\bm{Q}_{d}^{T}=\bm{B}_{d}, (37)

which is not in fact even dimensionally consistent for 𝑸d\bm{Q}_{d} and 𝑩d\bm{B}_{d} as defined above. However, from the generalized SBP operator, we can define the skew-hybridized SBP operator 𝑸H,d\bm{Q}_{H,d}:

𝑸H,d=12[𝑸d𝑸dT𝑬T𝑩d𝑩d𝑬𝑩d].\bm{Q}_{H,d}=\frac{1}{2}\begin{bmatrix}\bm{Q}_{d}-\bm{Q}_{d}^{T}&\bm{E}^{T}\bm{B}_{d}\\ -\bm{B}_{d}\bm{E}&\bm{B}_{d}\end{bmatrix}. (38)

The skew-hybridized SBP operator then satisfies the hybridized SBP property:

𝑸H,d+𝑸H,dT=[𝟎𝑩d]\bm{Q}_{H,d}+\bm{Q}_{H,d}^{T}=\begin{bmatrix}\bm{0}&\\ &\bm{B}_{d}\end{bmatrix} (39)

for sufficiently accurate surface and volume quadrature [1]. The exact conditions on the quadrature rules will be discussed in Section 2.1.4.

2.1.3 Formulation

Given the operators defined in Section 2.1.2 and entropy conservative two-point fluxes 𝒇ECd,d=1,2\bm{f}_{EC}^{d},d=1,2, the skew-hybridized formulation on a single element DkD^{k} for semi-discrete solution 𝒖h𝒱N(Dk)\bm{u}_{h}\in\mathcal{V}^{N}(D^{k}) is given by:

𝑴d𝒖hdt+d=12[𝑽q𝑽f]T2(𝑸H,d𝑭d)𝟙+𝑽fT𝑩d(𝒇d𝒇d(𝒖~f)=𝟎\bm{M}\dfrac{\text{d}\bm{u}_{h}}{\text{d}t}+\sum_{d=1}^{2}\begin{bmatrix}\bm{V}_{q}\\ \bm{V}_{f}\end{bmatrix}^{T}2\left(\bm{Q}_{H,d}\circ\bm{F}_{d}\right)\mathbbm{1}+\bm{V}_{f}^{T}\bm{B}_{d}\left(\bm{f}^{*}_{d}-\bm{f}_{d}(\tilde{\bm{u}}_{f}\right)=\bm{0} (40)

where 𝟙\mathbbm{1} is an appropriately sized vector of all ones and the flux matrices 𝑭d\bm{F}_{d} are given by

(𝑭d)ij=𝒇ECd(𝒖~i,𝒖~j),i,j=1,,(nq+nf).(\bm{F}_{d})_{ij}=\bm{f}_{EC}^{d}(\tilde{\bm{u}}_{i},\tilde{\bm{u}}_{j}),\quad i,j=1,...,(n_{q}+n_{f}). (41)

The vectors 𝒇d,d=1,2\bm{f}^{*}_{d},d=1,2 denote the boundary fluxes and can be defined using either the same two-point, entropy-conservative fluxes used in the volume, 𝒇ECd,d=1,2\bm{f}_{EC}^{d},d=1,2, or entropy-stable fluxes 𝒇ESd,d=1,2\bm{f}_{ES}^{d},d=1,2. For an entropy conservative scheme 𝒇d\bm{f}^{*}_{d} is given by

(𝒇d)i:=𝒇ECd((𝒖~f+)i,(𝒖~f)i),i=1,,nf(\bm{f}^{*}_{d})_{i}:=\bm{f}_{EC}^{d}\left((\tilde{\bm{u}}_{f}^{+})_{i},(\tilde{\bm{u}}_{f})_{i}\right),\quad i=1,...,n_{f} (42)

where 𝒖~f+\tilde{\bm{u}}_{f}^{+} is 𝒖~f\tilde{\bm{u}}_{f} on the appropriate face-neighbor of DkD^{k}. For an entropy stable scheme 𝒇d\bm{f}^{*}_{d} is instead defined by the three-argument entropy stable flux

𝒏i(d)(𝒇d)i:=𝒇ESd((𝒖~f+)i,(𝒖~f)i,𝒏i(d))\bm{n}^{(d)}_{i}(\bm{f}^{*}_{d})_{i}:=\bm{f}_{ES}^{d}\left((\tilde{\bm{u}}_{f}^{+})_{i},(\tilde{\bm{u}}_{f})_{i},\bm{n}^{(d)}_{i}\right) (43)

for i=1,,nfi=1,...,n_{f} where 𝒏i(d)\bm{n}^{(d)}_{i} is the dthd^{th} component of the outward normal vector at the ithi^{th} face quadrature point. Note for entropy stable fluxes defined as shown in Equation (16) this definition is necessary to avoid scaling the dissipation term in the entropy stable flux by the outward normal:

𝒏i(d)(𝒇d)i=𝒏i(d)𝒇ECd((𝒖~f+)i,(𝒖~f)i)+𝒅Ud((𝒖~f+)i,(𝒖~f)i).\bm{n}^{(d)}_{i}(\bm{f}^{*}_{d})_{i}=\bm{n}^{(d)}_{i}\bm{f}_{EC}^{d}\left((\tilde{\bm{u}}_{f}^{+})_{i},(\tilde{\bm{u}}_{f})_{i}\right)+\bm{d}_{U}^{d}\left((\tilde{\bm{u}}_{f}^{+})_{i},(\tilde{\bm{u}}_{f})_{i}\right). (44)

As shown in [1, 26], this formulation is high-order accurate, entropy conservative for sufficiently accurate quadrature, and locally conservative (which is necessary to show convergence under mesh refinement to the weak solution via a Lax-Wendroff type argument as defined in [63]). Next we discuss the exact conditions on quadrature needed for (40) to be high-order accurate and entropy conservative/stable.

2.1.4 Conditions on Quadrature/The Skew-Hybridized SBP Operator

For convenience, we again note the definition of the skew-hybridized operator:

𝑸H,d=12[𝑸d𝑸dT𝑬T𝑩d𝑩d𝑬𝑩d.]\bm{Q}_{H,d}=\frac{1}{2}\begin{bmatrix}\bm{Q}_{d}-\bm{Q}_{d}^{T}&\bm{E}^{T}\bm{B}_{d}\\ -\bm{B}_{d}\bm{E}&\bm{B}_{d}.\end{bmatrix} (45)

which by construction satisfies the hybridized SBP property:

𝑸H,d+𝑸H,dT=[𝟎𝑩d].\bm{Q}_{H,d}+\bm{Q}_{H,d}^{T}=\begin{bmatrix}\bm{0}&\\ &\bm{B}_{d}\end{bmatrix}. (46)

𝑸H,d\bm{Q}_{H,d} can be thought of as a volume-based differentiation operator (from the contribution of 𝑸d\bm{Q}_{d}) with boundary-based correction terms from the off-diagonal blocks involving 𝑬\bm{E} and 𝑩d\bm{B}_{d} [1]. A consequence of its dependence on 𝑬\bm{E} and 𝑩d\bm{B}_{d}, however, is that the accuracy of 𝑸H,d\bm{Q}_{H,d} as a differentiation operator is now tied to the accuracy of the volume (via 𝑬\bm{E}) and surface (via 𝑩d\bm{B}_{d}) quadrature rules.

As shown in [26], the formulation given in (40) is entropy stable/conservative if the skew-hybridized SBP operator 𝑸H,d\bm{Q}_{H,d} can satisfy

𝑸H,d𝟙=𝟎.\bm{Q}_{H,d}\mathbbm{1}=\bm{0}. (47)

Given 𝑸H,d\bm{Q}_{H,d} acts a differentiation matrix, Condition (47) corresponds to the ability to exactly differentiate constant functions [1].

While (47) is needed to ensure entropy stability/conservation, it is not sufficient to ensure high-order accuracy. To maintain high-order accuracy 𝑸H,d\bm{Q}_{H,d} must be able to exactly differentiate up to degree 2N12N-1 polynomials (this comes from the need to exactly integrate the product of a degree NN polynomial and the derivative of a degree NN polynomial). As shown in [1], this condition for high-order accuracy requires the volume quadrature rule used to construct 𝑬\bm{E} to be exact for polynomials of degree 2N12N-1 and the surface quadrature rule used for 𝑩d\bm{B}_{d} to be exact for polynomials of degree 2N2N.

In addition to the conditions imposed by 𝑸H,d\bm{Q}_{H,d} on the quadrature rules, entropy stability/conservation also requires the mass-matrix to be positive-definite. While the mass matrix is guaranteed to be positive definite (and exact) if the volume quadrature rule is exact for polynomials of degree 2N2N, the mass matrix will remain positive-definite even for inexact volume quadrature if the quadrature weights are non-negative and a sufficient number of the weights are strictly positive; these conditions are easily satisfied by the same conditions needed for 𝑸H,d\bm{Q}_{H,d}.

On Cartesian elements, the above conditions on quadrature are easily satisfied. On cut elements, we appeal to subtriangulation and Carathéodory pruning to produce the necessary quadrature rules, which we discuss next.

2.2 Cut Mesh Generation and Quadrature on Cut Elements

We construct our cut meshes using the Julia libraries PathIntersection.jl and StartUpDG.jl. Our cut meshes are constructed using explicit parameterizations of the embedded boundaries as previously detailed in [45]. Using explicit parameterization has a number of benefits, such as allowing piecewise-defined curves and thus an easy interface for imposing boundary conditions on portions of the cut boundaries and exact representation of sharp features. In particular, our code uses stop points to define both user-defined subintervals and junctions in piecewise curves.

Our code provides a piecewise representation of the boundary of every cut element, with stop points denoting the endpoints of the element’s faces. We use the stop points to triangulate each cut element via the Julia package Triangulate.jl. For a given cut element DkD^{k}, we decompose it into NTN_{T} polynomially-defined non-overlapping curvilinear triangles TiT_{i}:

Dk=i=1NTTiD^{k}=\bigcup_{i=1}^{N_{T}}T_{i} (48)

For each triangle, we construct a geometric mapping 𝒈d:T^Ti,d=1,2\bm{g}_{d}:\hat{T}\to T_{i},\leavevmode\nobreak\ d=1,2 from a reference triangle, T^\hat{T}, to each subtriangle TiT_{i}. Note for high-order accuracy the polynomial degree of the geometric mappings must be isogeometric, i.e., at least the same degree as the degree of the solution. We take the mappings to be total degree NN in all meshes, i.e. 𝒈dN(T^)\bm{g}_{d}\in\mathbb{P}^{N}(\hat{T}). An example of the subtriangulation process is shown in Figure 3.

Refer to caption
Figure 3: An example of the subtriangulation process used on each cut element mapping a subtraingle to the reference triangle T^\hat{T}.

The geometric mappings provide both a polynomial approximation of the typically non-linear curved boundaries and access to a reference element, allowing both exact surface and volume quadrature rules to be constructed. However, the geometric mapping and its Jacobian also increase the degree of the integrand.

We will illustrate the effect of the geometric mapping with respect to the volume integrals. Consider a polynomial pM(Dk)p\in\mathbb{P}^{M}(D^{k}). On a given subtriangle TiDkT_{i}\subseteq D^{k}, to map an integral with respect to 𝒙Ti\bm{x}\in T_{i} to an integral with respect to 𝒙^T^\hat{\bm{x}}\in\hat{T}, we take 𝒙d=𝒈d(𝒙^)\bm{x}_{d}=\bm{g}_{d}(\hat{\bm{x}}), d=1,2d=1,2. The subintegral on TiT_{i} is then related to its corresponding integral on T^\hat{T} by

Tip(𝒙)d𝒙=T^p(𝒈(𝒙^))|𝒈𝒙^|d𝒙^=T^p^(𝒙^)d𝒙^.\int_{T_{i}}p(\bm{x})\leavevmode\nobreak\ \text{d}\bm{x}=\int_{\hat{T}}p(\bm{g}(\hat{\bm{x}}))\left|\dfrac{\partial\bm{g}}{\partial\hat{\bm{x}}}\right|\leavevmode\nobreak\ \text{d}\hat{\bm{x}}=\int_{\hat{T}}\hat{p}(\hat{\bm{x}})\leavevmode\nobreak\ \text{d}\hat{\bm{x}}. (49)

For pM(Dk)p\in\mathbb{P}^{M}(D^{k}) and 𝒈dN(T^),d=1,2\bm{g}_{d}\in\mathbb{P}^{N}(\hat{T}),\leavevmode\nobreak\ d=1,2 we have that p𝒈MN(T^)p\circ\bm{g}\in\mathbb{P}^{MN}(\hat{T}). Similarly, the determinant of the Jacobian |𝒈/𝒙^|2(N1)\left|\nicefrac{{\partial\bm{g}}}{{\partial\hat{\bm{x}}}}\right|\in\mathbb{P}^{2(N-1)}. Thus the final integrand on the reference triangle is a polynomial of total degree MN+2(N1)MN+2(N-1). For the accuracy conditions on 𝑸H,d\bm{Q}_{H,d}, we need M=2N1M=2N-1, resulting in the final integrand p^\hat{p} on the reference triangle being total degree (2N2+N2)(2N^{2}+N-2); a quadratic increase in degree with respect to NN, the polynomial degree of the solution. To exactly integrate the mass matrix would result in the final integrand being degree 2(N2+N1)2(N^{2}+N-1). Table 1 shows the polynomial degree of the final integrand on the reference triangle for various values of NN for reference.

Table 1: Total degree of the final integrand p^\hat{p} on T^\hat{T} after applying the geometric mapping.
M\NM\backslash N 1 2 3 4 5 6 7 8
2N12N-1 1 8 19 34 53 76 103 134
2N2N 2 10 22 38 58 82 110 142

Table 1 helps to illustrate why subdivision type quadrature approaches–when used by themselves–are so inefficient when paired with high-order methods: the subquadrature rules must be constructed for polynomial degrees far in excess of the degree of the solution. Moreover, the cost of these many point subquadrature rules is multiplied by the number of triangles in the triangulation of each cut element.

However, subdivision based quadrature rules are good starting point for a pruning routine: by construction the subquadrature rules are exact and have purely positive weights. We use the QR factorization approach of van den Bos [51] for pruning, which we describe in Appendix 6.

2.3 State Redistribution and Entropy Conservation/Stability

While not the focus of this paper, one of the greatest challenges of/deterrents from using cut meshes is the small cell problem: cut elements can be arbitrarily small/skewed. When using explicit time integration schemes, the small cell problem can result in extremely prohibitive CFL conditions. One method for addressing the small cell problem is state redistribution, which was introduced [58] and adapted to high-order methods in [59].

State redistribution is high-order accurate and conserves the average of the solution. State redistribution involves projections spanning multiple elements and averaging of those projections (or more generally convex combinations of those projections [60, 61]) and as a result is dissipative in nature. In the context of linear symmetric hyperbolic conservation laws, state redistribution can be added to a L2L_{2} energy stable scheme without damaging the scheme’s energy stability/conservation as shown in [45]. However, state redistribution readily violates conservation of entropy when applied to an entropy conservative scheme.

Encouragingly, in the entropy stable case we have observed that state redistribution does not violate the entropy stability of our scheme. We show the effect of state redistribution on a system’s entropy in Section 3.2. In keeping with our observations, many of our entropy stable numerical experiment use state redistribution. However, we acknowledge that it remains to be proven whether state redistribution can in fact violate entropy stability; we save this investigation for future work.

3 Numerical Experiments

3.1 Equations, Fluxes, and Time Integration

In the following numerical experiments we consider two hyperbolic systems, the shallow water equations and the compressible Euler equations, on 2D domains. The definitions of these systems and their respective fluxes and the time integration scheme used are given in this section for reference.

In both systems, when an entropy stable flux is needed we use the Lax-Friedrichs flux

𝒇ESd(𝒖L,𝒖R,𝒏d)=𝒏d{{𝒖}}λ2[[𝒖]]\bm{f}_{ES}^{d}(\bm{u}_{L},\bm{u}_{R},\bm{n}_{d})=\bm{n}_{d}\left\{\!\{\bm{u}\}\!\right\}-\frac{\lambda}{2}\left[\![\bm{u}]\!\right] (50)

where λ\lambda is the maximum wavespeed or an estimate thereof as previously mentioned. We use the Lax-Friedrichs fluxes provided in the Trixi.jl library, which use the wavespeed approximation by Davis [64].

3.1.1 Shallow Water Equations

The 2D shallow water equations with constant bathymetry (i.e. bottom height) are given by:

t[hhu1hu2]+x[hu1hu12+12gh2hu1u2]+y[hu2hu1u2hu22+12gh2]=𝟎\dfrac{\partial}{\partial t}{}\begin{bmatrix}h\\ hu_{1}\\ hu_{2}\end{bmatrix}+\dfrac{\partial}{\partial x}{}\begin{bmatrix}hu_{1}\\ hu_{1}^{2}+\frac{1}{2}gh^{2}\\ hu_{1}u_{2}\end{bmatrix}+\dfrac{\partial}{\partial y}{}\begin{bmatrix}hu_{2}\\ hu_{1}u_{2}\\ hu_{2}^{2}+\frac{1}{2}gh^{2}\end{bmatrix}=\bm{0} (51)

for conserved variables 𝒖=(h,hu1,hu2)T\bm{u}=(h,hu_{1},hu_{2})^{T} where hh is the water height, u1u_{1} is the velocity in the xx-direction, and u2u_{2} is the velocity in the yy-direction. For the entropy conservative flux we use the Wintermeyer [4] flux provided in Trixi.jl.

3.1.2 Compressible Euler Equations

The compressible Euler equations are given by:

t[ρρu1ρu2E]+x[ρu1ρu12+pρu1u2u1(E+p)]+y[ρu2ρu1u2ρu22+pu2(E+p)]=𝟎\dfrac{\partial}{\partial t}{}\begin{bmatrix}\rho\\ \rho u_{1}\\ \rho u_{2}\\ E\end{bmatrix}+\dfrac{\partial}{\partial x}{}\begin{bmatrix}\rho u_{1}\\ \rho u_{1}^{2}+p\\ \rho u_{1}u_{2}\\ u_{1}(E+p)\end{bmatrix}+\dfrac{\partial}{\partial y}{}\begin{bmatrix}\rho u_{2}\\ \rho u_{1}u_{2}\\ \rho u_{2}^{2}+p\\ u_{2}(E+p)\end{bmatrix}=\bm{0} (52)

for conserved variables 𝒖=(ρ,ρu1,ρu2,E)T\bm{u}=(\rho,\rho u_{1},\rho u_{2},E)^{T} where ρ\rho is density, u1u_{1} is the velocity in the xx-direction, u2u_{2} is the velocity in the yy-direction, EE is the total energy, and pp is the pressure. The total energy is related to the other variables by:

E=12ρ(u12+u22)+pγ1E=\frac{1}{2}\rho(u_{1}^{2}+u_{2}^{2})+\frac{p}{\gamma-1} (53)

where γ\gamma is the ratio of specific heats for the gas.

We use the entropy conservative flux of Ranocha [65, 66] as provided in the Trixi.jl library.

3.1.3 Time Integration

In all experiments we use the explicit, adaptive time integration scheme Tsit5 [67] as provided in the Julia package OrdinaryDiffEq.jl [68]. The initial time step used is given in the description of each experiment.

3.2 Entropy Conservation and Stability

Here we numerically verify the entropy status of our scheme. For this experiment, we are interested in the evolution of the system’s entropy over time. This can be done by considering the integral over the domain of the time derivative of entropy which, for entropy conservative boundary conditions, satisfies

ΩU(𝒖)td𝒙0\int_{\Omega}\dfrac{\partial U(\bm{u})}{\partial t}\leavevmode\nobreak\ \text{d}\bm{x}\leq 0 (54)

with equality holding in the absence of shocks. At the semi-discrete level, this entity is called the entropy residual and is given by:

k=1Nh𝟙T𝑾(k)U(𝒖h(k))t=k=1Nh(𝒗h(k))T𝑴(k)d𝒖h(k)dt0\sum_{k=1}^{N_{h}}\mathbbm{1}^{T}\bm{W}^{(k)}\dfrac{\partial U(\bm{u}_{h}^{(k)})}{\partial t}{}=\sum_{k=1}^{N_{h}}\left(\bm{v}_{h}^{(k)}\right)^{T}\bm{M}^{(k)}\dfrac{\text{d}\bm{u}_{h}^{(k)}}{\text{d}t}\leq 0 (55)

where the superscript (k)(k) indicates the appropriate entity on the kthk^{th} element and

𝒗h(k)=𝑷q(k)𝒗(𝑽q(k)𝒖h(k)).\bm{v}_{h}^{(k)}=\bm{P}_{q}^{(k)}\bm{v}\left(\bm{V}_{q}^{(k)}\bm{u}_{h}^{(k)}\right). (56)

In the semi-discrete case, equality (up to round-off error) holds if the scheme is entropy conservative, while the inequality hold for an entropy stable scheme.

We first consider the shallow water equations on a Cartesian embedding domain Ω^=[1,1]2\hat{\Omega}=[-1,1]^{2} with a circle of radius R=0.331R=0.331 removed from the center. We impose a 16×1616\times 16 background Cartesian mesh. To test the entropy status of our scheme we compute the entropy residual as shown in (56) at each time step. We use an initial time step of Δt=1×104\Delta t=1\times 10^{-4} and integrate up to an end time of t=1t=1.

We enforce reflective wall boundary conditions, which are entropy conservative [69], on all boundaries including the circle walls. We start with a zero-velocity solution with discontinuous water height given by

h(x,y,t=0)={3,y0.52,y<0.5.h(x,y,t=0)=\left\{\begin{matrix}3,&\quad y\geq 0.5\\ 2,&\quad y<0.5\end{matrix}\right.. (57)

Note that in the continuous setting, weak solutions should dissipate entropy thanks to the discontinuity in the water height. This serves as a stress test for an entropy conservative scheme: it should conserve entropy despite the discontinuity, which in non-entropy conservative/stable scheme can lead to instability. In the entropy stable case, entropy should immediately be dissipated due to the discontinuity and the dissipation wane as the solution approaches its steady state. Figure 4 shows the initial water height.

Refer to caption
Figure 4: The initial water height for the entropy residual experiments.

We consider four schemes for this experiment: the entropy conservative scheme with and without state redistribution, and the entropy stable scheme with and without state redistribution. All schemes use polynomial degree N=4N=4. Figures 5 and 6 show the entropy residual for each of the four schemes.

Refer to caption
(a)
Refer to caption
(b)
Figure 5: The entropy residual for the entropy conservative scheme without (5(a)) and with (5(b)) state redistribution. Without state redistribution, the entropy residual is zero up to numerical round-off error.
Refer to caption
(a)
Refer to caption
(b)
Figure 6: The entropy residual for the entropy stable scheme both with (orange curve) and without (blue curve) state redistribution. As shown in (6(a)), the initial shock produces a large amount of dissipation which then tapers off as the system approaches its steady state. 6(b) highlights that the entropy residual remains less than or equal to zero both with and without state redistribution. Importantly, the difference between the entropy residual with and without state redistribution is quite small.

Without state redistribution, the entropy conservative scheme maintains entropy conservation within round-off error despite the presence of the shock. The addition of state redistribution to the entropy conservative scheme however violates entropy conservation by a non-negligible margin. The entropy stable scheme meanwhile maintains entropy stability even when state redistribution is applied. While it is encouraging to see that state redistribution did not violate entropy stability in this instance, we again stress that entropy stability may not always hold under state redistribution.

3.3 hh-Convergence Study

For this experiment we numerically verify the high-order accuracy of our scheme via an hh-convergence study. We take the Cartesian embedding domain Ω^=[1,1]2\hat{\Omega}=[-1,1]^{2} from which we remove a circle of radius R=0.331R=0.331 from the origin. We consider the manufactured solution to the shallow water equations defined by primitive variables:

[hu1u2]=[sin(2πx)sin(2πy)cos(πt)+311].\begin{bmatrix}h\\ u_{1}\\ u_{2}\end{bmatrix}=\begin{bmatrix}\sin(2\pi x)\sin(2\pi y)\cos(\pi t)+3\\ 1\\ 1\end{bmatrix}. (58)

Figure 7 shows the water height at time 0. We start with a 4×44\times 4 Cartesian background mesh and refine in each dimension by a factor of 2 up to a 3232 background mesh. We use the manufactured solution values as boundary conditions and simulate up to an end time of t=0.3t=0.3. We use an initial time step of Δt=1×104\Delta t=1\times 10^{-4} for the 4×44\times 4 mesh and Δt=1×105\Delta t=1\times 10^{-5} for the other meshes.

Refer to caption
Figure 7: Water height for the manufactured solution at time t=0t=0.

We conducted the convergence study for solutions of degree N=2,3,4N=2,3,4. As shown in Figure 8, our method recovers the expected convergence rate of hN+1h^{N+1} in each case.

Refer to caption
Figure 8: L2L_{2} error versus mesh size hh for solutions of degree N=2,3,4N=2,3,4 for the hh-convergence study.

3.4 Benchmark Problem: Entropy Wave

Here we consider an analytic solution to the compressible Euler equations. When initialized with constant velocity and pressure, the compressible Euler equations reduce to the advection equation with vector-valued coefficients applied to the initial density field. This special instance of the Euler equations is known as an entropy wave and is one of three modes of linear flow fluctuation in gases (the others being acoustic waves and vorticity waves) [70]. The reduced equations are:

ρt[1u1u212(u12+u22)]+ρx[u1u12u1u212(u12+u22)u1]+ρy[u2u1u2u2212(u12+u22)u2]=𝟎\frac{\partial\rho}{\partial t}\begin{bmatrix}1\\ u_{1}\\ u_{2}\\[6.0pt] \frac{1}{2}\left(u_{1}^{2}+u_{2}^{2}\right)\end{bmatrix}+\frac{\partial\rho}{\partial x}\begin{bmatrix}u_{1}\\ u_{1}^{2}\\ u_{1}u_{2}\\[6.0pt] \frac{1}{2}\left(u_{1}^{2}+u_{2}^{2}\right)u_{1}\end{bmatrix}+\frac{\partial\rho}{\partial y}\begin{bmatrix}u_{2}\\ u_{1}u_{2}\\ u_{2}^{2}\\[6.0pt] \frac{1}{2}\left(u_{1}^{2}+u_{2}^{2}\right)u_{2}\end{bmatrix}=\bm{0} (59)

which can also be expressed as

𝒄tρt+𝒄xρx+𝒄yρy=𝟎.\bm{c}_{t}\frac{\partial\rho}{\partial t}+\bm{c}_{x}\frac{\partial\rho}{\partial x}+\bm{c}_{y}\frac{\partial\rho}{\partial y}=\bm{0}. (60)

For this experiment, we again consider the embedding domain Ω^=[1,1]2\hat{\Omega}=[-1,1]^{2} over which we impose a 16×1616\times 16 background Cartesian mesh. A circle of radius R=0.331R=0.331 centered at the origin is removed. We consider the initial condition

p=3,u1=u2=12,p=3,\quad u_{1}=u_{2}=\frac{1}{2}, (61)
ρ(x,y,t=0)=sin(2πx)sin(2πy)+2\rho(x,y,t=0)=\sin(2\pi x)\sin(2\pi y)+2 (62)

which by the method of characteristics applied to the reduced PDE/advection equation (60) yields the analytic solution

ρ(x,y,t)=sin(2π(xu1t))sin(2π(yu2t))+2.\rho(x,y,t)=\sin\left(2\pi(x-u_{1}t)\right)\sin\left(2\pi(y-u_{2}t)\right)+2. (63)

For boundary conditions, we prescribe the analytic solution on all boundaries. For time integration we use an initial time step of 1×1061\times 10^{-6} (a typical timestep was on the order of 1×1041\times 10^{-4}) with state redistribution. The simulation was run to an end time of t=1.3t=1.3 with polynomial degree N=4N=4. Figure 9 shows snapshots the solution an error at various points in time alongside the error in the density field. As illustrated in the error plots, cut elements produce higher errors than Cartesian elements, however, the maximum error magnitude is five orders of magnitude less than the magnitude of the solution.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 9: Snapshots of the density (left column) and error of the density (right column) for the entropy wave simulation.

3.5 Biconvex Supersonic Airfoil

For this experiment we consider the compressible Euler equations to simulate supersonic flow over a biconvex airfoil. This experiment highlights our method’s ability to handle sharp features in the mesh and solution while remaining stable.

For the mesh we take the Cartesian embedding domain Ω^=[0.5,5.5]×[1.5,1.5]\hat{\Omega}=[-0.5,5.5]\times[-1.5,1.5] over which we impose a 120×60120\times 60 background Cartesian mesh. The airfoil, whose unscaled geometry is given in Figure 10, is scaled to a non-dimensionalized chord length of 0.5 and centered about the xx-axis at zero angle of attack and with its chord line at y=0y=0.

Refer to caption
Figure 10: Unscaled geometry of the biconvex airfoil.

We apply reflective wall boundary conditions to the airfoil and the top (y=1.5y=1.5) and bottom (y=1.5y=-1.5) walls of the domain. We take the left (x=0.5x=-0.5) boundary as the inlet with density ρ=50\rho_{\infty}=50, pressure p=50p_{\infty}=50, xx-velocity u,1=u_{\infty,1}= Mach 1.5, and yy-velocity u,2=0u_{\infty,2}=0. Extrapolation boundary conditions were used on the right (x=5.5x=5.5) boundary.

For the initial condition we use an impulsive start with the solution initialized to the freestream conditions. We take N=4N=4 and simulate the system up to time t=5t=5 with state redistribution using an initial time step of Δt=1×108\Delta t=1\times 10^{-8} (a typical timestep was on the order of 1×1041\times 10^{-4}). During this time period, a bow shock immediately forms off the leading edge of the airfoil before reflecting off the top and bottom walls as shown in Figure 11. Our method is able to capture these shock waves and shock-shock interactions without loss of stability.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 11: Snapshots of the biconvex airfoil simulation at various time stamps.

3.6 Dam Break

For our last experiment we consider the shallow water equations on a domain with three embedded objects. We take the Cartesian embedding domain to be Ω^=[1,1]×[0,5]\hat{\Omega}=[-1,1]\times[0,5] over which we impose a 16×4016\times 40 background Cartesian mesh. Figure 12 shows the mesh for this problem. The three embedded circles share the same radius R=0.31R=0.31 and are centered at the points (x,y)=(0,1),(0,2.5),(0.4)(x,y)=(0,1),(0,2.5),(0.4). We again use a zero velocity initial condition and take the initial water height to be the discontinuous function

h(x,y,t=0)={3,y4.52,y<4.5.h(x,y,t=0)=\left\{\begin{matrix}3,&\quad y\geq 4.5\\ 2,&\quad y<4.5\end{matrix}\right.. (64)
Refer to caption
Figure 12: Mesh for the dam break experiment.

We impose reflective wall boundary conditions on all boundaries and take the solution degree as N=4N=4. We simulate the system up to an end time of t=5t=5 using an initial time step of Δt=1×104\Delta t=1\times 10^{-4} with state redistribution. This end time is sufficient for the front to propagate to and reflect off of the far wall. Figure 13 shows snapshots of the solution at various points in time.

Refer to caption
(a) t=0.00t=0.00
Refer to caption
(b) t=1.34t=1.34
Refer to caption
(c) t=3.19t=3.19
Refer to caption
(d) t=4.28t=4.28
Refer to caption
(e) t=4.65t=4.65
Refer to caption
(f) t=4.91t=4.91
Figure 13: Snapshots of the dam break simulation at various times.

4 Conclusions

We have demonstrated, to the authors’ knowledge, the first high-order accurate entropy stable DG method on cut meshes which can be adapted to any hyperbolic conservation law taking the form in Equation (1).

The presented method allows the robustness of entropy-stable schemes to be combined with the superior approximation power of high-order DG and efficiency of cut meshes. We combine these features via the skew-hybridized SBP formulation of Chan [1], which allows the SBP property to be enforced on hybrid meshes for sufficiently accurate quadrature.

To generate such quadrature on cut meshes we triangulate each cut element in the mesh and create an initial, many-point composite quadrature rule as the sum of quadrature rules on each subtriangle. These initial many-point rules are then pruned via Carathéodory pruning using the QR factorization based approach of van den Bos [51]. We have numerically verified the entropy status and expected order of accuracy our method and demonstrated its accuracy and robustness on a number of problems.

While we have not theoretically explored the implications of state redistribution on entropy stability, we have shown that state redistribution violates entropy conservation (as expected) but that, in the very least, it does not always violate entropy stability. In future work we would like to further explore the impact of state redistribution on entropy stable schemes to increase the robustness of time integration on cut meshes.

5 Acknowledgments

The authors gratefully acknowledge support by the National Science Foundation under the awards NSF GRFP-1842494, DMS-2231482, and DMS-1943186 and the Oden Institute for Computational Engineering and Science. The authors would also like to thank Akil Narayan for helpful conversations on Carathéodory pruning.

6 Appendix

For a given cut element DkD^{k} and target polynomial degree MM, let M=dim(M(Dk))M^{*}=\dim(\mathbb{P}^{M}(D^{k})) and let {φi}i=1M\{\varphi_{i}\}_{i=1}^{M^{*}} be a basis for M(Dk)\mathbb{P}^{M}(D^{k}). Given an volume quadrature rule (𝒘,𝑿)(\bm{w},\bm{X}) with mm points exact for polynomials in M(Dk)\mathbb{P}^{M}(D^{k}), we can express the quadrature rule as the linear system:

Φ(𝑿)𝒘=𝒃\Phi(\bm{X})\bm{w}=\bm{b} (65)

where for a set of points 𝑿={𝒙1,,𝒙m}Nd\bm{X}=\{\bm{x}_{1},...,\bm{x}_{m}\}\subset\mathbb{R}^{N_{d}}

Φ(𝑿)=[φ1(𝒙1)φ1(𝒙m)φM(𝒙1)φM(𝒙m)],𝒃=[Dkφ1DkφM].\Phi\left(\bm{X}\right)=\begin{bmatrix}\varphi_{1}\left(\bm{x}_{1}\right)&\cdots&\varphi_{1}\left(\bm{x}_{m}\right)\\ \vdots&&\vdots\\ \varphi_{M^{*}}\left(\bm{x}_{1}\right)&\cdots&\varphi_{M^{*}}\left(\bm{x}_{m}\right)\end{bmatrix},\quad\bm{b}=\begin{bmatrix}\int_{D^{k}}\varphi_{1}\\ \vdots\\ \int_{D^{k}}\varphi_{M^{*}}\end{bmatrix}. (66)

Notice that Φ(𝑿q)=𝑽qT\Phi(\bm{X}_{q})=\bm{V}_{q}^{T} when the same polynomial basis is used for both matrices (in practice the bases are different). Let Δ𝒘\Delta\bm{w} be a null vector of Φ(𝑿q)\Phi(\bm{X}_{q}). By the definition of a null vector, for any scalar α\alpha we have that

Φ(𝑿(𝒘αΔ𝒘)=Φ(𝑿)𝒘=𝒃.\Phi(\bm{X}\left(\bm{w}-\alpha\Delta\bm{w}\right)=\Phi(\bm{X})\bm{w}=\bm{b}. (67)

Equation (67) is at the heart of quadrature pruning and/or modification techniques. It testifies that null vectors can be used to modify quadrature weights without impacting the exactness of the quadrature rule. In our case, we compute the null vector using a QR factorization of Φ(𝑿)\Phi(\bm{X}). Once an arbitrary null vector of Φ(𝑿)\Phi\left(\bm{X}\right) is known, we can choose the scalar α\alpha such that it zeros one or more quadrature weights while maintaining non-negativity in the other weights. We take α0\alpha_{0} to be

α=min{α,α+}\alpha=\min\{\alpha^{-},\alpha^{+}\} (68)

where

α\displaystyle\alpha^{-} =maxΔ𝒘i<0𝒘iΔ𝒘i,\displaystyle=\max_{\Delta\bm{w}_{i}<0}\frac{\bm{w}_{i}}{\Delta\bm{w}_{i}}, (69)
α+\displaystyle\alpha^{+} =maxΔ𝒘i>0𝒘iΔ𝒘i.\displaystyle=\max_{\Delta\bm{w}_{i}>0}\frac{\bm{w}_{i}}{\Delta\bm{w}_{i}}. (70)

This definition for α\alpha guarantees that

𝒘iαiΔ𝒘i0,i=1,,m,\bm{w}_{i}-\alpha_{i}\Delta\bm{w}_{i}\geq 0,\quad i=1,...,m, (71)

i.e., the quadrature weights all remain non-negative, with the entries used for α\alpha being zeroed. This process can be used to iteratively prune a quadrature rule one (or more) weights at a time. Let (𝒘(0),𝑿(0))(\bm{w}^{(0)},\bm{X}^{(0)}) be the initial mm point quadrature rule with non-negative quadrature weights. For a given stage of pruning let Δ𝒘(i)\Delta\bm{w}^{(i)} be a null vector of Φ(𝑿(i))\Phi(\bm{X}^{(i)}) and αi\alpha_{i} defined as shown in (68)-(70) using 𝒘(i)\bm{w}^{(i)} and Δ𝒘(i)\Delta\bm{w}^{(i)}. Let J={j1,,jmi}J=\{j_{1},...,j_{m_{i}}\} be the set of indices for all weights not zeroed by αiΔ𝒘(i)\alpha_{i}\Delta\bm{w}^{(i)}. The updated quadrature rule is then given by

𝑿(i+1)\displaystyle\bm{X}^{(i+1)} ={𝒙j𝑿(i):jJ}\displaystyle=\{\bm{x}_{j}\in\bm{X}^{(i)}\leavevmode\nobreak\ :\leavevmode\nobreak\ j\in J\} (72)
𝒘k(i+1)\displaystyle\bm{w}^{(i+1)}_{k} =𝒘jk(i),k=1,,|J|.\displaystyle=\bm{w}^{(i)}_{j_{k}},\quad k=1,...,|J|. (73)

The iteration is continued until a final quadrature rule with M+1M^{*}+1 points, the upper bound given by Carathéodory’s theorem, or less is achieved.

The main cost of pruning comes from the QR-factorization, as it must be repeated at every iteration. It may be possible to greatly reduce the cost of this step via computing a structurally orthogonal basis for the null space of the Φ(𝑿(0))\Phi(\bm{X}^{(0)}) and thereby reducing the cost to a single QR factorizations and the orthongonalization routine. However, constructing such a routine is quite difficult (e.g., it can require choosing which weights should be pruned) and so for this proof of concept work, which only features static cut boundaries, we do not explore optimizing the pruning process.

However, since our initial quadrature rule is based on a subtriangulation, it is often the case that duplicate and/or near-duplicate quadrature points are present in the initial rules; such pairs of duplicate points arise on neighboring subtriangles on their shared face. When such duplicate points are present, it is very likely that multiple quadrature weights will be zeroed at once. In the case of near-duplicate points quadrature weights can also become arbitrarily small. As previously mentioned, non-negative quadrature weights are permissible so long as enough strictly positive weights remain for the mass matrix to be positive definite. In particular, the mass matrix will be positive definite if the quadrature points corresponding to strictly positive weights are sufficient to define a basis for N(Dk)\mathbb{P}^{N}(D^{k}). This condition is typically easily met: the quadrature rules are designed for polynomials of degree 2N12N-1, and thus nqn_{q} is typically much larger than dim(N(Dk))\dim(\mathbb{P}^{N}(D^{k})) even after zeroed entries are discarded.

References