A stabilized DG cut cell method for discretizing the linear transport equation
Christian Engwer, Sandra May, Andreas N\"u{\ss}ing, Florian, Streitb\"urger

TL;DR
This paper introduces a new stabilization technique for the discontinuous Galerkin method applied to the linear transport equation on cut cell meshes, enabling explicit time stepping without stability issues.
Contribution
The authors develop and analyze stabilization terms that allow explicit time stepping on cut cell meshes in DG discretizations of the linear transport equation.
Findings
Monotonicity proven for piecewise constant polynomials in 1D
Total variation diminishing stability shown for piecewise linear polynomials
Numerical results confirm theoretical stability and accuracy
Abstract
We present new stabilization terms for solving the linear transport equation on a cut cell mesh using the discontinuous Galerkin (DG) method in two dimensions with piecewise linear polynomials. The goal is to allow for explicit time stepping schemes, despite the presence of cut cells. Using a method of lines approach, we start with a standard upwind DG discretization for the background mesh and add penalty terms that stabilize the solution on small cut cells in a conservative way. Then, one can use explicit time stepping, even on cut cells, with a time step length that is appropriate for the background mesh. In one dimension, we show monotonicity of the proposed scheme for piecewise constant polynomials and total variation diminishing in the means stability for piecewise linear polynomials. We also present numerical results in one and two dimensions that support our theoretical findings.
| Angle : | 5∘ | 10∘ | 15∘ | 20∘ | 25∘ | 30∘ | 35∘ | 40∘ | 45∘ | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.02 | 2.01 | 2.01 | 2.00 | 2.00 | 2.01 | 2.01 | 2.01 | 2.02 | ||
| 1.88 | 1.68 | 1.63 | 1.60 | 1.60 | 1.56 | 1.54 | 1.53 | 1.58 | ||
| 2.02 | 2.01 | 2.01 | 2.01 | 2.01 | 2.01 | 2.01 | 2.01 | 2.00 | ||
| 1.62 | 1.60 | 1.57 | 1.55 | 1.51 | 1.55 | 1.54 | 1.53 | 1.59 | ||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
A stabilized DG cut cell method for discretizing the linear transport equation
Christian Engwer Applied Mathematics Münster: Institute for Analysis and Numerics, University of Münster, Germany
Sandra May Department of Mathematics, TU Dortmund University, Germany
Andreas Nüßing11footnotemark: 1
Florian Streitbürger22footnotemark: 2
Abstract
We present new stabilization terms for solving the linear transport equation on a cut cell mesh using the discontinuous Galerkin (DG) method in two dimensions with piecewise linear polynomials. The goal is to allow for explicit time stepping schemes, despite the presence of cut cells. Using a method of lines approach, we start with a standard upwind DG discretization for the background mesh and add penalty terms that stabilize the solution on small cut cells in a conservative way. Then, one can use explicit time stepping, even on cut cells, with a time step length that is appropriate for the background mesh. In one dimension, we show monotonicity of the proposed scheme for piecewise constant polynomials and total variation diminishing in the means stability for piecewise linear polynomials. We also present numerical results in one and two dimensions that support our theoretical findings.
1 Introduction
Finite element (FE) and more recently discontinuous Galerkin (DG) schemes have successfully been used on a huge variety of equations and are overall well understood. Therefore, research has advanced from solving model problems on simple geometries to trying to solve real-world problems. As a result, grid generation has become a huge issue. Simulating flow around an airplane, flow in blood vessels, or phase transitions requires to mesh very complicated geometries, which are often given as CAD models or implicitly. The generation of corresponding body-fitted meshes is a very involved process.
In recent years, the usage of embedded boundary or cut cell meshes has become increasingly popular. The details of these approaches vary. In this work, we will focus on the approach of cutting a given geometry out of given background mesh, resulting in so called cut cells along the boundary of the embedded object. These cells can have various shapes and may in particular become arbitrarily small. Special schemes must be developed to guarantee stability on these cells. There already exists a significant amount of literature for stabilizing problems of elliptic and parabolic type on cut cell meshes, see e.g. [11, 24, 18, 13, 2, 6, 1, 38, 29] and the references cited therein. For small cells, stability of higher derivatives is lost and different stabilization techniques have been proposed. A successful approach is the ghost penalty stabilization[12], sometimes referred to as the cutFEM method [13].
For hyperbolic conservation laws on cut cell meshes, different problems arise, compared to solving elliptic and parabolic PDEs. Probably the biggest issue is the small cell problem – that standard explicit schemes are not stable on the arbitrarily small cut cells when the time step is chosen according to the cell size of the background mesh. An additional complication is the fact that there is typically no concept of coercivity that could serve as a guideline for constructing stabilization terms. Furthermore one wants the numerical scheme to satisfy properties such as monotonicity and TVD (total variation diminishing) stability in order to avoid overshoot or oscillations in the presence of discontinuities, which could result in unphysical solutions.
In the context of finite volume schemes, which have traditionally been used for the solution of hyperbolic conservation laws, already several solution approaches exist that solve the small cell problem while dealing with arbitrarily small cut cells; e.g., the flux redistribution method [15, 36, 17], the h-box method [10, 25, 9], and the mixed explicit implicit scheme [33]. For the solution of hyperbolic conservation laws on cut cell meshes using DG schemes, very little work has been done. As one of the first ones, in Bastian et. al [7] use an implicit Euler method to overcome the small cell problem for a linear transport problem, but this approach is bound to first order accuracy. For explicit time stepping schemes some work relies on so called cell merging or cell agglomeration [35, 28]. In this approach, cut cells that are too small are merged with neighboring cells. As this approach puts the complexity back into the mesh generation we do not want to consider it here. Recently, Gürkan and Massing [23] suggested a new scheme for solving the steady advection-reaction problem on a cut cell mesh with potentially arbitrarily small cut cells that uses a ghost penalty approach. However, the authors consider only the steady case and do not discuss properties such as monotonicity or TVD stability. Also, Sticko and Kreiss [40] have worked on using penalty terms to stabilize the solution of the wave equation. In both cases, the penalty term employed has great similarity to the ghost penalty stabilization used for elliptic problems [12].
To the best of our knowledge, the scheme suggested in this work is the first DG scheme for overcoming the small cell problem for time-dependent scalar conservation laws by dealing with the potentially arbitrarily small cut cells while ensuring monotonicity and TVD stability. Therefore, we will focus on the linear advection equation as the standard model problem in the following. Many problems that occur for solving more complex hyperbolic equations already show up for this simple model.
Our approach is based on stabilizing the spatial discretization. One is free in the choice of the time stepping scheme. In particular, our stabilized spatial discretization allows for using standard explicit time stepping schemes everywhere, even on cut cells. We obtain stability on cut cells by adding penalty terms. In that sense the suggested scheme is similar to the ghost penalty approach [12]. However, the details of the terms differ significantly. In particular, the terms are fundamentally different from the ones used in [23, 40]. Conceptually, the terms are designed to reconstruct the proper domain of dependence on small cut cells and their neighbors, similar to the idea of the h-box method, but without an explicit geometry reconstruction. In this work we consider piecewise linear polynomials in one and two space dimensions.
This paper is structured as follows. In section 2.1, we provide background information, such as triangulation and geometry information as well as the standard scheme that we plan to stabilize. Section 3 contains the core of this work, the formulation of the stabilization terms in 2D. In section 4, we focus on the 1D case for a better understanding of the proposed stabilization and provide theoretical results for the case of piecewise constant and piecewise linear polynomials. We discuss implementational aspects of the proposed scheme in section 5. And in section 6, we provide numerical results in both 1D and 2D that support our theoretical findings. We conclude with a short summary and an outlook in section 7.
2 Discretization
2.1 Preliminaries
In this work, we focus on the linear advection equation as the classic model problem for hyperbolic scalar conservation laws, which is given by
[TABLE]
Here, is a open, connected, polygonal domain, denotes its boundary, and its inflow boundary. The velocity field is assumed to satisfy and denotes the canonical scalar product in .
To construct our discrete approximation, we first consider a larger polygonal domain , which is easy to mesh, see figure 1.
Definition 2.1** (Cut cell mesh).**
Given a background mesh of , we introduce a cut cell mesh . Let be a non-overlapping set of shape-regular elements such that . For simplicity, we will assume in this paper that corresponds to a Cartesian background mesh but this is not necessary. Intersecting and the background mesh induces the triangulation
[TABLE]
*Note that is a triangulation of consisting of structured (Cartesian) cells and cut cells. The internal and external skeletons of the partitioning are given by *
[TABLE]
Definition 2.2** (Discrete Function Space).**
Following the usual discontinuous Galerkin formulation we define the discrete space by
[TABLE]
where denotes the polynomial space of degree .
In this paper we will only consider the cases and , i.e., piecewise constant and piecewise linear polynomials. On the skeleton , functions are not well-defined. Therefore, we define jump and average as follows.
Definition 2.3** (Jump & Average).**
The jump in normal direction over a face between two elements and is defined as
[TABLE]
where denote the unit outward normals of and , respectively. Note that the jump of a scalar quantity is vector-valued, i.e., \left\llbracket u_{h}\right\rrbracket\in\mathbb{R}^{2}. We define a scalar-valued jump on a face as
[TABLE]
The (scalar-valued) average on a face is defined as
[TABLE]
2.2 Unstabilized DG Formulation
We now introduce the DG scheme as used on structured background cells. Additional stabilization terms will be necessary on small cut cells, as we will discuss in section 3. We will use a method of lines approach and first discretize (1) in space and then in time.
The spatial discretization of (1) corresponds to the standard DG discretization using upwind fluxes [19]: Find such that
[TABLE]
with
[TABLE]
where denotes the unit outer normal on and denotes a unit normal on a face (of arbitrary but fixed orientation). The negative and positive components of a quantity are defined as and Note that .
The new method does not rely on a particular time stepping scheme. Nevertheless, it is desirable that the scheme is explicit in order to allow for fast operator evaluation and to ease the use of limiters. Furthermore, it should be of the same order of accuracy as the spatial discretization and result in a discretization that is TVD.
While for piecewise constant polynomials in space the explicit Euler scheme suffices, it will diminish the convergence order for . We thus decided to employ the explicit second-order TVD Runge-Kutta (RK) scheme [22] that is given for the ODE by
[TABLE]
A limiter is necessary to avoid unphysical oscillations close to discontinuities when using piecewise linear polynomials. We have chosen a Barth-Jespersen type limiter [3] that has been extended to the DG setting by exploiting the structure of the local Taylor basis [30]. This limits the gradient in such a way that the local solution of a cell evaluated at each neighboring centroid does not over/undershoot the maximum/minimum taken over the cell’s average value and the average values of all of cell’s face neighbors. The limiter is applied as a postprocessing step to both the intermediate solution and the solution .
3 Stabilization
There are two problems that need to be dealt with in order to ensure stability on cut cells and to avoid overshoot and oscillations. First, the average mass in each cell must be controlled so that a piecewise constant approximation does not produce oscillations. Second, the gradients must be controlled to avoid oscillations within a single cell and unphysical evaluations at cell faces. Both goals must be reached without violating mass conservation. For this purpose, we introduce two stabilization terms and : the first one will control average values and the second one mainly gradients.
One way to think of the stabilization terms is that they ensure that only a certain fraction of the inflow stays in the small cut cell by transporting the remaining part of the cut cell’s inflow directly through the small cut cell into its outflow neighbors.
Definition 3.1** (Capacity).**
We define the capacity of a cut cell as
[TABLE]
For , the capacity measures the fraction of the inflow that is allowed to flow into the cut cell without producing overshoot.
We further denote with the set of cut cells on which the stabilization should be applied. The idea is that only small cut cells need stabilization:
[TABLE]
We assume that for every pair of neighboring cut cells, at most one of the two cut cells is an element of . While it is possible to extend the proposed scheme to several neighboring cut cells, the implementation would be more difficult. We design the stabilization such that the CFL condition for explicit time stepping schemes essentially only depends on the resolution of the background mesh and not on the size of small cut cells from the set .
Definition 3.2** (Inflow and outflow faces).**
For each cell we denote the set of inflow faces and outflow faces as
[TABLE]
where denotes the unit outer normal of cell on face .
Definition 3.3** (Outflow neighbors of ).**
The set of outflow neighbors of a cut cell is defined by
[TABLE]
Another way to think of the stabilization is that it reconstructs the proper domain of dependence, i.e., it ensures that the outflow neighbors of a small cut cell get information from the inflow neighbors of that cut cell. The stabilization term at a given point on an outflow face thus depends on the flux on the inflow faces, measured upstream along the trajectory.
Definition 3.4** (Trajectory operator).**
For every point the trajectory describes the curve traced out by a particle starting at and being transported with :
[TABLE]
Note that describes an injective mapping. We define as the operator that maps back onto and introduce the trajectory operator
[TABLE]
as the evaluation of on the inflow face, following the trajectory backwards from . An illustration of the trajectory operator is given in figure 2.
Definition 3.5** (Trajectory length).**
*The trajectory length measures the length of a trajectory within the cell . It is defined as follows: for a point we identify the point on the inflow face and consider the length of the curve from (through ) to a point on an outflow face of . *
In section 5.1 we will discuss how to realize and practically.
The penalty term is now constructed in such a way that any inflow that exceeds the capacity of a small cut cell is moved to the downwind cells and is given by
[TABLE]
The volume contribution can be seen as a transport within the cut cell of the quantity , which should not remain in the cut cell, from its inflow faces to its outflow faces. The second term which is applied on the outflow faces transports this quantity out of the cut cell into its downwind neighbors. We only allow the fraction instead of to stay within the cut cell as the latter one would result in too restrictive slope limiting, leading to close to zero gradients on the cut cells. The main task of the second stabilization term is to restore control over gradients. Its structure is similar to the one of , but it employs the derivative of the discrete solution and uses a different scaling and a different relation between skeleton and boundary terms:
[TABLE]
where denotes the derivative along the trajectory, which is evaluated , and . (We introduce the parameter here as we will later examine the stability of the resulting scheme for different values of .) The stabilized spatial discretization is then given by: Find such that
[TABLE]
Next, we will examine the mass conservation properties of the stabilization terms.
Definition 3.6** (Indicator function).**
The indicator function of a cell or cell patch is defined as
[TABLE]
Lemma 3.1**.**
Let . Then
[TABLE]
Proof.
We first focus on . Due to the linearity of in , there holds
[TABLE]
The same argumentation can be used for . ∎
This result (together with the local mass conservation properties of the standard DG discretization (8)) guarantees local mass conservation in the extended control volume of a small cut cell : the same amount of mass that is not allowed to stay in is redistributed to ’s outflow neighbors. This slightly extended setting of local mass conservation is a natural consequence of our stabilization.
4 The 1D case
For a better understanding of the proposed scheme and for the validation of some theoretical properties, we focus on the 1D case in this section. WLOG, we consider the interval and assume to be constant. Our PDE is given by
[TABLE]
with initial data . For the analysis in this section we will focus on solving the model problem MP shown in figure 3: we discretize the interval in cells of equidistant length . Then we split one cell, the cell , in two cells of lengths (referred to as cell ) and (referred to as cell ) with .
Remark 4.1** (Notation).**
*Different to 2D, there is a natural order of cells in 1D. In 1D, we will therefore use the notation indicated in figure 3 and refer to ‘cell ’ and associate faces with instead of using ‘cell ’ or ‘cell ’ or ‘face ’. *
Using the notation , the bilinear form (8) simplifies to
[TABLE]
The definitions of the jump and of , given by (5) and (9) in 2D, reduce in 1D to
[TABLE]
Further, we define the CFL number
[TABLE]
Note that is chosen only with respect to the background mesh width but the volume fraction in MP is allowed to become arbitrarily close to 0. For the considered model problem MP, the set of cells that need to be stabilized consists of and therefore and coincide with and , respectively. The stabilization terms and , given by (14) and (16) in 2D, simplify significantly for the considered setup in 1D:
- •
For cell , the inflow face is and the outflow face is .
- •
For , in 2D simply corresponds to \left\llbracket u_{h}\right\rrbracket_{k-\frac{1}{2}} in 1D: the trajectory operator is trivial and , defined in (6), on an inflow face corresponds to the definition of \left\llbracket u_{h}\right\rrbracket in 1D, given by (22), for .
- •
The length is simply .
- •
The derivative in the definition of simply corresponds to .
Summarizing , the stabilization term in 1D for the considered setup is of the form
[TABLE]
with
[TABLE]
Note that is exactly the 1D equivalent of the capacity defined in (11) as using we can reformulate
[TABLE]
The resulting stabilized scheme is then given by: Find such that
[TABLE]
Definition 4.1** (MP0 and MP1).**
Both MP0 and MP1 refer to
- •
solving the advection equation (20) using periodic boundary conditions for the model problem MP shown in figure 3,
- •
using the stabilized scheme (26) with CFL .
By MP0 we refer to the case of piecewise constant polynomials and by MP1 to the case of piecewise linear polynomials, respectively.
4.1 Behavior of the space discretization without stabilization term
Before we discuss the properties of our stabilized scheme, we shortly present numerical results that illuminate the different kind of instabilities that occur if one does not use the stabilization term .
4.1.1 Test 1: 1D single small cut cell
We consider the model problem MP and place the cell such that . We use discontinuous initial data
[TABLE]
We set , , , and , and use as well as periodic boundary conditions.
We compare three scenarios: (1) we do not use stabilization, i.e., we apply (26) without the term ; (2) we apply the stabilization ; (3) instead of the suggested in this work, we use a straight-forward adaption of the ghost penalty stabilization [12] to stabilize the problem. The ghost penalty stabilization has been used very successfully to stabilize the solution of elliptic problems on cut cell meshes. A first attempt to transfer the stabilization to the situation considered here would result in using a stabilization term of the form
[TABLE]
(instead of the that we suggest). We use (as for ).
We rewrite the described spatial discretization as a system of ODEs of the form with a suitable matrix . In figure 4(a) we present the eigenvalue distribution of where . Most values lie in the stability region of the explicit Euler scheme. But if we do not stabilize or use the ghost penalty stabilization (28), there is one outlier eigenvalue (corresponding to the small cut cell), leading to stability problems. With our stabilization, all values are in the stability region of explicit Euler.
Next, we consider the usage of an implicit time stepping scheme. The result after one time step for using the implicit Trapezoidal scheme is shown in figure 4(b). Despite the time stepping scheme being stable in an ODE stability sense, we observe a strong overshoot: instead of staying between 0 and 1, the value on the cut cell jumps up to 2 if we do not stabilize. When using the very simple ghost penalty stabilization (28) the overshoot is smaller but still significant. The reason for this behavior is that the implicit Trapezoidal scheme is not unconditionally TVD. In fact, no second- or higher-order scheme has this property [39, 27]. As a result, if the cell fraction becomes too small, the scheme develops unphysical oscillations and/or overshoot unless one uses a stabilization that prohibits that behavior. Our stabilization has been designed to achieve this.
In the following, we will support these numerical results by mathematical facts: we will prove that our stabilization term (a) makes explicit time stepping stable again and (b) guarantees that no unphysical oscillations and/or overshoot occur.
4.2 Piecewise constant polynomials
In the special case of piecewise constant polynomials, the discrete solution on cell at time , which we will denote by , is an approximation to the average of over cell and the method is equivalent to a first-order finite volume scheme. For MP0, the stabilization term (24) reduces to (with given by (25))
[TABLE]
4.2.1 Monotonicity
One very desirable property of a first-order scheme for hyperbolic conservation laws is to be monotone. This property guarantees for example that an overshoot as seen in figure 4(b) cannot occur.
Definition 4.2** (see [26]).**
A method is called monotone, if
[TABLE]
Since this is challenging to verify we will use the following equivalent definition.
Definition 4.3** (see [41]).**
A method is called monotone, if there holds for every with
[TABLE]
For a linear scheme this implies that all coefficients need to be non-negative. We will verify this property for our stabilized scheme using the concept of M-matrices.
Definition 4.4** (see [37]).**
Let be a Z-Matrix, i.e., for there holds for every . If and there exists a positive diagonal matrix such that is strictly diagonal dominant, we call B an M-matrix.
Lemma 4.1** (see [37]).**
Let be an M-matrix. Then exists and
Lemma 4.2**.**
Consider MP0. Discretize the time using the theta scheme. Then, the method is monotone under the CFL condition .
Proof.
The theta scheme for the ODE is defined as
[TABLE]
with ( explicit Euler, : implicit Euler, : implicit Trapezoidal). Let us first assume , which is the interesting case. Then, . Rewriting one time step of our stabilized discretization in matrix-vector formulation results in
[TABLE]
Defining and , the two matrices are of the form (entries on the main diagonal are boxed)
[TABLE]
and
[TABLE]
According to definition 31, we need to show that is non-negative. Following lemma 4.1 we will verify that is an M-matrix and is non-negative.
Most cells use a standard first-order upwind scheme in space and the theta scheme with standard CFL condition in time and obviously satisfy these conditions. We will focus on the rows corresponding to cells and , which differ from the remaining rows due to the stabilization term . We start with matrix and the row corresponding to cell . The diagonal entry is positive while the remaining entries are negative, since . To prove the diagonal dominance we compute:
[TABLE]
Similar calculations for the row corresponding to imply that is an M-matrix.
Next we will show positivity of , considering the CFL condition . For a standard, equidistant cell, the positivity of the entries is guaranteed already by the standard CFL condition and thus also by our slightly stricter condition. Straight-forward calculations further reveal that all entries in rows and are positive. We note that in particular the positivity of entry is guaranteed by the CFL condition and the fact that a lower bound for the size of is .
Finally, for , there holds and therefore the factor in the definition of evaluates to 0, i.e., we would not stabilize. But as in this case , all required properties of and would hold true without stabilization. This concludes the proof. ∎
Remark 4.2** (Ghost penalty stabilization).**
Using the stabilization (28) instead of the given in (29), this would result in additional blocks in the matrices and at positions and , respectively. We note that it is not possible to find factors and that guarantee that all entries of are non-negative for . In contrast, our stabilizing block has been shifted to . This shifted stabilization reflects the fact that for the hyperbolic equations there is a designated direction of information transport, whereas for elliptic problems there is not. This shifted stabilization is also a major difference to the stabilization terms used by other authors [23, 40].
4.2.2 stability and TVD stability
Next, we will show that MP0 with explicit Euler in time is stable as well as TVD stable (to be defined below) under the standard CFL condition, independent of the size of .
On standard cells away from the cut cells and , the scheme given by (26) in combination with explicit Euler in time corresponds to the standard upwind scheme [31]. We will assume for the rest of this subsection that . If this was not the case, we would still have a non-uniform mesh, but would no longer violate the CFL condition on cell needed for and TVD stability and the results in the following will remain valid. For , we get the following formulae in the neighborhood of the small cut cell after a minor reordering and simplification of the terms
[TABLE]
Lemma 4.3**.**
Consider MP0 with explicit Euler in time. Then, for there holds
[TABLE]
We note that the required CFL condition is independent of the size of (but takes into account that the bigger cut cell is not stabilized).
Proof.
We define
[TABLE]
On all cells except for cells and , the standard upwind scheme is used (compare also (34a) and (34d)). Plugging in the corresponding formulae and using as well as gives
[TABLE]
For cells and , we directly obtain from equations (34b) and (34c) (using and )
[TABLE]
Summing up the estimates for implies the claim. ∎
Definition 4.5** ([16]).**
A DG scheme is called TVDM (total variation diminishing in the means) if
[TABLE]
*holds for all . Here, denotes the mean of on cell at time . *
For piecewise constant polynomials, the means correspond to the unknowns and TVDM coincides with the TVD (total variation diminishing) [31] property. (For later use for piecewise linear polynomials we provide the more general definition here.)
Lemma 4.4**.**
Consider MP0 with explicit Euler in time. Then, the scheme is TVD stable for .
Proof.
We decompose
[TABLE]
For the standard parts of the scheme, we get
[TABLE]
Using (34a) and (34b), a direct substitution of the formulae results in
[TABLE]
For and , we reorder the terms resulting from the definitions (34b)-(34d) to get
[TABLE]
We emphasize that all factors outside of the absolute values are non-negative due to the made assumptions. Summing up the estimates for implies the claim. ∎
Remark 4.3**.**
On an equidistant mesh, a standard finite volume scheme that is monotone is automatically TVD [26]. As the standard proof for this result does not transfer to our situation, we provide here the proof for TVD stability in addition.
4.3 Piecewise linear polynomials
In this subsection we examine MP1 more closely. In this case, the stabilization term is given by (24). For simplicity, we will assume in this subsection that we use a centered, rescaled moment basis, see also section 5.2. In time, we will consider the second-order explicit TVD RK scheme given by (10).
4.3.1 Eigenvalue analysis
We now want to motivate the stability of our stabilized scheme in combination with the second-order explicit RK scheme (10) by means of an eigenvalue analysis using symbolic computations with sympy[34]. We consider the model problem MP for the special case of , i.e., we start with four equidistant cells of length and split the third cell in two cells of length and length . We use Dirichlet boundary conditions and WLOG .
We consider the stabilized scheme (26) with the stabilization term given by (24). For the construction of the stabilization term , we have made several design choices, e.g., the choices of and and the general structure of the terms. Here, we will focus on the parameter . We will show that is exactly the value that one needs to make explicit time stepping stable again.
We rewrite the variational formulation (26) as a system of ODEs with being the mass matrix, being the stiffness matrix incorporating , and incorporating the corresponding parts of . We then symbolically setup the operator
[TABLE]
which is the stability function used in the ODE stability analysis. As , a lower bound for the size of the unstabilized cut cell is . The limiting CFL number for piecewise linear polynomials is then . We therefore choose to compute the eigenvalues of . We find three pairs of complex eigenvalues:
[TABLE]
For a sequence of decreasing , we visualize the eigenvalues of and observe that for all eigenvalues stay within the stability region of the explicit second-order TVD RK scheme (10) (figure 5 left), indicating the stability of the explicit time stepping scheme. For fixing and testing different choices of , we observe (figure 5 right) that two eigenvalues diverge. These observations support our choice of and are consistent with our numerical experiments, in which we never observed stability issues due to using an explicit time stepping scheme on tiny cut cells.
4.3.2 TVDM stability
We can only expect to obtain a TVDM stability result for piecewise linear polynomials if we apply a limiter. Different to 2D, in 1D we only reconstruct to cell faces instead of to neighboring centroids, which results in an MC like limiter [31]. (In 2D, depending on the mesh, this could result in a limiter that is not linearity-preserving.) By assumption, our solution on cell resulting from solving (26) with the time stepping scheme (10), where stands for or , uses the centered moment basis
[TABLE]
Then, we enforce
[TABLE]
with
[TABLE]
Lemma 4.5**.**
Consider MP1 with explicit Euler in time. Assume that the moment basis (37) and limiter (38) is used, which has been modified on cell to additionally enforce
[TABLE]
Then, for the scheme is TVDM stable.
Proof.
The proof follows that of lemma 4.4. Details are given in appendix A. ∎
Corollary 4.1**.**
Let the assumptions of lemma 4.5 hold true but replace the explicit Euler scheme by the second-order scheme TVD RK scheme (10). Then, for the scheme is TVDM stable.
Proof.
The result follows directly from the fact that TVD RK schemes are constructed to be convex combinations of explicit Euler steps [22]. ∎
5 Implementation
The implementation is based on the DUNE [4, 5] framework, a feature rich C++ finite element library. For the cut cell discretization we rely on the dune-udg package[20] and its integration with dune-pdelab[8]. The dune-udg module was originally developed for the unfitted DG method[6]. We modified it to realize the extended stencil of the proposed stabilization terms and .
The domain is represented as a discrete level set function that uses vertex values, i.e., as a bi-linear finite element function. Given this representation, cut cells and their corresponding quadrature rules are constructed using the TPMC libary[21]. We note that this setup results in a restriction of the geometry that can be realized: it only allows for a polygonal representation of the domain and for the numerical tests we cannot resolve smooth geometries exactly.
5.1 Implementing the trajectory operator & trajectory length
In 1D, the trajectory operator is trivial. In higher space dimensions it becomes more involved to evaluate . We will now describe a simple approach to compute (approximately) the evaluation of for every point .
Let . From the unsteady problem (1), we derive a localized stationary equation given by
[TABLE]
and natural outflow boundary conditions on . The solution approximates . To discretize (40), we employ the bilinear form restricted to , i.e., to a single element, which we denote by . We thus search such that
[TABLE]
Remark 5.1** (Test spaces).**
Depending on the shape of the streamlines of the vector field and the domain setup, we might choose , i.e., use a different polynomial degree for this local subproblem. For and , the solution is also polynomial and can thus be computed exactly. If we assume to depend linearly on and use to solve (1), then and is exact for .
Remark 5.2** (Fast evaluation).**
Note that (40) is a linear problem. We can interpolate into a polynomial basis and also is represented in a local polynomial basis. We can therefore precompute local (per element) trajectory operators, mapping the coefficients onto coefficient , and store this operator as a small dense matrix.
The trajectory length can be computed in a very similar way. It consists of two steps. First, we solve a local problem, which yields the trajectory length for every point . In the second step we compute , which allows evaluating the local length of the corresponding trajectory for every point in .
To compute we consider the following local problem:
[TABLE]
and natural outflow boundary conditions on . It basically computes the path integral over 1 along the trajectory and thus yields the trajectory length . Again we discretize using the weak form as derived for (1) and then we extend from into the cell by computing in (40).
5.2 Construction of local shape-functions
Although in principal the choice of the local basis should not have impact on the method itself, there are practical aspects to consider. In particular the implementation of the limiter becomes significantly simpler, if one can separate the average value in the cell from the local fluctuations. Thus we choose to use a moment basis. In 1D we have chosen the local basis in cell (in global coordinates) as
[TABLE]
This allows modifying the gradient without changing the average mass in the cell.
In 2D we don’t have an explicit formula, but we again construct the basis via moments in such a way, i.e., we split into a constant function and linear functions with average zero. The linear functions are centered around the center of mass of the cut cell, but in contrast to the 1D case, we don’t do the additional rescaling, so that the gradients are the same as on the background mesh.
6 Numerical results
In this section we support our theoretical findings by numerical experiments in 1D and 2D.
6.1 Numerical results for the 1D case
For the numerical results in 1D, we solve (26) with the stabilization term defined in (24) using .
6.1.1 Test 2: 1D, smooth initial data
We consider a variant of MP1 by changing the model problem MP slightly: we split all cells between and in cut cell pairs of length and and compare 3 different scenarios:
S1: the fraction is the same for all cells, i.e., (‘’); 2. 2.
S2: the cell fraction varies and is computed as with being a uniformly distributed random number in (‘random ’); 3. 3.
S3: we do not split in cut cell pairs (‘equidistant’).
We use smooth initial data , set , , and use the time stepping scheme (10).
In figure 6, the error at time , measured in the and norm, are shown. We observe second-order convergence for all tested scenarios. In particular, the errors for pairs with and are almost the same and fairly comparable to the case of not cutting the cells.
Figure 7 (left) shows the solution at time for S2 without and with using the limiter described in lemma 4.5 for a coarse mesh with . Without limiter, the solution matches very well with the exact solution. With limiter, we observe the expected peak clipping but there is no form of staircasing or other unwanted interaction between the limiter and the gradient stabilization.
6.1.2 Test 3: 1D, discontinuous initial data
We use the setup of Test 2 with the scenario S2 but use discontinuous initial data given by (27). In figure 7 (right) we show the solution at time for with and without limiter. As expected, the solution does not show overshoot when the limiter is applied.
Additionally, we measure , defined in (35), and observe that it is non-increasing during the simulation if the limiter is used. We note that this is not the case if we do not apply the additional condition (39) for limiting on the inflow neighbor of a small cut cell of type .
6.2 Numerical results for the 2D case
For the numerical experiments in 2D we focus on the geometry of a ramp with angle , see figure 2(a): we use and discretize it with Cartesian cells, resulting in the mesh width . Afterwards we cut out a ramp at with angle with a straight intersection, resulting in the computational domain . Our initial data are defined with respect to a standard Cartesian coordinate system and then transformed to our rotated and shifted coordinate system by using the transformation
[TABLE]
The cut cells are located along the ramp and have various shapes and sizes. In our experiments, the smallest volume fractions of cut cells , computed as , varied typically between and . Generally the set should include all cells that are small in direction of . In this particular setup, this is equivalent to choosing triangular cut cells, where the cut (i.e., the hypotenuse) is shorter than . For ease of implementation we decided to simply use . Using this definition of for , the shortest hypotenuse of a triangle cut cell that is not stabilized corresponds to roughly .
When choosing the time step size , we need to take into account that the step size needs to be appropriate for for both Cartesian cells of size and cut cells that are not stabilized, i.e., for cut cells . Finding a tight bound for the latter category is non-trivial and a project in itself. We have chosen the constraint
[TABLE]
which has worked well in our numerical experiments and which is in good agreement with a recently suggested CFL condition for DG schemes on triangular meshes [14].
For , we choose
[TABLE]
This incompressible velocity field transports the mass parallel to the ramp with decreasing speed for increasing distance to the ramp. For comparison, we also use the constant velocity field
[TABLE]
6.2.1 Test 4: 2D Smooth initial data
We use the velocity field , choose smooth initial data
[TABLE]
and compute the solution at time T = 0.5 using .
Figure 8 shows the error at time in the and norm. We observe second-order convergence in the norm. Due to the irregularity of the cut cells, the error is not smooth, indicated by the zig-zag behavior of the plotted results. We therefore use a least squares fit to compute the convergence rates. The rates vary, depending on the angle, and lie between 1.52 and 1.63. This slightly reduced order of convergence will need to be examined in more detail in the future. In general it is challenging to achieve full second-order accuracy on cut cells as the sizes of neighboring cells differ by several orders of magnitude and therefore errors of neighboring cells do not cancel the same way as on a structured mesh.
For comparison we show in table 1 the convergence rates for additional angles as well as for using the constant velocity field . The results for the constant velocity are very similar to the ones for , except for degree. We note that it is reasonable that the results for a degree ramp are better as most cut cells have full length in flow direction, i.e., such a ramp contains significantly fewer ‘problematic’ cut cells than a ramp with a higher angle and the sizes of neighboring cut cells do not differ as strongly.
Finally, in figure 9 (left column), we show the solution for and on a coarse mesh of . The 1D profile along the cut boundary shows the expected sine curve. For the contour plot, we observe that the contour lines are straight lines all the way to the boundary. We note that for the initial data the contour lines are perpendicular to the ramp. Due to having decreasing speed for increasing distance to the ramp, the lines have been rotated during the simulation.
6.2.2 Test 5: 2D Discontinuous initial data
We use the velocity field and compute until time for discontinuous initial data
[TABLE]
Figure 9 (columns 2-4) shows the discrete solution for for for both and , the latter without and with limiter. For both and with limiter, the discrete solution stays between 0 and 1 and we do not observe overshoot. This is also indicated by the 1D line plots along the cut boundary. Further, we verified numerically for that all matrix indices in the matrix , compare (33) for the 1D version, are non-negative.
Examining the contour lines more closely, we find that for and without limiter the contour lines are straight lines all the way to the boundary, indicating that our stabilization does not add extra diffusion on the cut cells. For the case of with limiter, we observe slightly more diffusion along the boundary. We attribute this to the limiter: on a Cartesian cell, we only limit in - and -direction. On cut cells however we also limit roughly in advection direction when reconstructing to neighboring centroids. We expect this behavior to improve if a more accurate limiter, e.g., the LP limiter [32] is used, but this is not the focus of this work.
7 Conclusions and Outlook
We have presented a new stabilization for DG schemes for linear scalar conservation laws on cut cell meshes that solves the small cell problem and makes explicit time stepping stable again. Our stabilization is designed to only let a certain portion of the inflow of a small cut cell stay in that small cut cell and to transport the remaining portion directly into the cut cell’s outflow neighbors. As a by-product, we reconstruct the proper domain of dependence of the small cut cell’s outflow neighbors. In that sense our stabilization relies on similar ideas as the -box method [25, 9], but without an explicit geometry reconstruction.
The approach for realizing these ideas in a DG setting was inspired by the ghost penalty method [12] but significant changes were necessary to adjust the terms that were developed for elliptic problems to the setting of hyperbolic equations. In this contribution, we have focused on using two standard explicit time stepping schemes (the explicit Euler scheme and the standard second-order TVD RK scheme) and the standard Barth-Jespersen limiter but there are no explicit obstacles for working with other choices of time stepping schemes and limiters.
Our stabilization ensures conservation (in a slightly extended meaning). In one dimension, we have shown that the stabilized scheme is monotone for piecewise constant polynomials and total variation diminishing in the means for piecewise linear polynomials in combination with explicit time stepping schemes. In numerical tests we observed optimal convergence rates in the and norm for 1D. In 2D, the numerical results in the norm showed again full second-order convergence but the convergence rate in the norm was slightly reduced. This will be examined in more detail in future work. We also plan to extend the stabilization to higher-order polynomial degrees and to non-linear conservation laws.
Appendix A Proof of TVDM property
Proof of lemma 4.5.
The structure follows that of the proof of lemma 4.4. We will show that
[TABLE]
We exploit the fact that a moment basis is used. Testing with yields the update for . For the update of the gradient, it is sufficient to consider the information that the postprocessing by applying the limiter provides. Again it is sufficient to consider the case .
In the following denotes the full (linear) solution of cell evaluated at , which can be written as . We first provide the update formulae in the neighborhood of the cut cell induced by the stabilization (26):
[TABLE]
We decompose the sum of the TV in the means at time in terms to :
[TABLE]
In the following, we will estimate each of the terms to separately. We will use that the MC limiter guarantees
[TABLE]
which implies
[TABLE]
Using this property and (to guarantee the non-negativity of the pre-factors), there holds for two equidistant cells away from cells and
[TABLE]
This yields bounds for and :
[TABLE]
For we can show using (49a) and (49b)
[TABLE]
For this we need to verify that the two pre-factors are non-negative and that it is therefore allowed to pull them out of the absolute value. The pre-factor of the second term is non-negative due to (51). For the first pre-factor we obtain using (39)
[TABLE]
This implies with (50), , and (39)
[TABLE]
For , we get from (49b) and (49c)
[TABLE]
Again we check the pre-factors. The first pre-factor is obviously non-negative because of (51) and . Further, for . Therefore, using (50), the second pre-factor is non-negative as well. Finally, for we estimate
[TABLE]
For the last term there holds due to Together with other previously shown estimates, this implies that all three pre-factors are non-negative. Finally, summing up the estimates for implies the claim. ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. Badia, F. Verdugo, and A. Martín. The aggregated unfitted finite element method for elliptic problems. Comput. Method Appl. M. , 336:533 – 553, 2018.
- 2[2] J. W. Barrett and C. M. Elliott. Fitted and unfitted finite-element methods for elliptic equations with smooth interfaces. IMA J. Numer. Anal. , 7:283–300, 1987.
- 3[3] T. J. Barth and D. Jespersen. The design and application of upwind schemes on unstructured meshes. AIAA-89-0366 , 1989.
- 4[4] P. Bastian, M. Blatt, A. Dedner, C. Engwer, R. Klöfkorn , M. Ohlberger, and O. Sander. A generic grid interface for parallel and adaptive scientific computing. Part I: Abstract framework. Computing , 82(2–3):103–119, 2008.
- 5[5] P. Bastian, M. Blatt, A. Dedner, C. Engwer, R. Klöfkorn , R. Kornhuber, M. Ohlberger, and O. Sander. A generic grid interface for parallel and adaptive scientific computing. Part II: Implementation and tests in DUNE. Computing , 82(2–3):121–138, 2008.
- 6[6] P. Bastian and C. Engwer. An unfitted finite element method using discontinuous Galerkin. Internat. J. Numer. Methods Engrg. , 79:1557–1576, 2009.
- 7[7] P. Bastian, C. Engwer, J. Fahlke, and O. Ippisch. An unfitted discontinuous Galerkin method for pore-scale simulations of solute transport. Math. Comput. Simulation , 81(10):2051–2061, 2011.
- 8[8] P. Bastian, F. Heimann, and S. Marnach. Generic implementation of finite element methods in the distributed and unified numerics environment (dune). Kybernetika , 46(2):294–315, 2010.
