A semi-lagrangian finite difference WENO scheme for scalar nonlinear conservation laws

Similar documents
An Eulerian-Lagrangian WENO Scheme for Nonlinear Conservation Laws

A re-averaged WENO reconstruction and a third order CWENO scheme for hyperbolic conservation laws

ICES REPORT A Multilevel-WENO Technique for Solving Nonlinear Conservation Laws

Fifth order multi-moment WENO schemes for hyperbolic conservation laws

A Central Compact-Reconstruction WENO Method for Hyperbolic Conservation Laws

Semi-Lagrangian Formulations for Linear Advection Equations and Applications to Kinetic Equations

ICES REPORT Accuracy of WENO and Adaptive Order WENO Reconstructions for Solving Conservation Laws

A New Fourth-Order Non-Oscillatory Central Scheme For Hyperbolic Conservation Laws

A High Order Conservative Semi-Lagrangian Discontinuous Galerkin Method for Two-Dimensional Transport Simulations

Hybrid semi-lagrangian finite element-finite difference methods for the Vlasov equation

A parametrized maximum principle preserving flux limiter for finite difference RK-WENO schemes with applications in incompressible flows.

High Order Semi-Lagrangian WENO scheme for Vlasov Equations

A numerical study of SSP time integration methods for hyperbolic conservation laws

A Fourth-Order Central Runge-Kutta Scheme for Hyperbolic Conservation Laws

Hierarchical Reconstruction with up to Second Degree Remainder for Solving Nonlinear Conservation Laws

FDM for wave equations

Inverse Lax-Wendroff Procedure for Numerical Boundary Conditions of. Conservation Laws 1. Abstract

Chapter 17. Finite Volume Method The partial differential equation

Improvement of convergence to steady state solutions of Euler equations with. the WENO schemes. Abstract

YINGJIE LIU, CHI-WANG SHU, EITAN TADMOR, AND MENGPING ZHANG

NUMERICAL SOLUTION OF HYPERBOLIC PARTIAL DIFFERENTIAL EQUATIONS

Weighted ENO Schemes

A class of the fourth order finite volume Hermite weighted essentially non-oscillatory schemes

Positivity-preserving high order schemes for convection dominated equations

ENO and WENO schemes. Further topics and time Integration

A high order adaptive finite element method for solving nonlinear hyperbolic conservation laws

Hierarchical Reconstruction with up to Second Degree Remainder for Solving Nonlinear Conservation Laws

A Very Brief Introduction to Conservation Laws

Weighted Essentially Non-Oscillatory limiters for Runge-Kutta Discontinuous Galerkin Methods

A Bound-Preserving Fourth Order Compact Finite Difference Scheme for Scalar Convection Diffusion Equations

Non-linear Scalar Equations

Numerical Methods for Conservation Laws WPI, January 2006 C. Ringhofer C2 b 2

Divergence Formulation of Source Term

Numerical Solutions to Partial Differential Equations

Bound-preserving high order schemes in computational fluid dynamics Chi-Wang Shu

Notes: Outline. Shock formation. Notes: Notes: Shocks in traffic flow

Finite Volume Schemes: an introduction

Todd Arbogast. Department of Mathematics and Center for Subsurface Modeling, Institute for Computational Engineering and Sciences (ICES)

Advection / Hyperbolic PDEs. PHY 604: Computational Methods in Physics and Astrophysics II

Compact Central WENO Schemes for Multidimensional Conservation Laws

Application of the Kurganov Levy semi-discrete numerical scheme to hyperbolic problems with nonlinear source terms

CENTRAL DISCONTINUOUS GALERKIN METHODS ON OVERLAPPING CELLS WITH A NON-OSCILLATORY HIERARCHICAL RECONSTRUCTION

HIGH ORDER NUMERICAL METHODS FOR TIME DEPENDENT HAMILTON-JACOBI EQUATIONS

Runge-Kutta discontinuous Galerkin method with a simple and compact Hermite WENO limiter

Chapter 1. Introduction

Received 6 August 2005; Accepted (in revised version) 22 September 2005

Adaptive WENO Schemes for Singular in Space and Time Solutions of Nonlinear Degenerate Reaction-Diffusion Problems

Dedicated to the 70th birthday of Professor Lin Qun

THIRD ORDER NON-OSCILLATORY CENTRAL SCHEME FOR MULTIDIMENSIONAL HYPERBOLIC CONSERVATION LAWS

A genuinely high order total variation diminishing scheme for one-dimensional. scalar conservation laws 1. Abstract

The Discontinuous Galerkin Method for Hyperbolic Problems

Math 660-Lecture 23: Gudonov s method and some theories for FVM schemes

Generalised Summation-by-Parts Operators and Variable Coefficients

30 crete maximum principle, which all imply the bound-preserving property. But most

Entropy stable high order discontinuous Galerkin methods. for hyperbolic conservation laws

Fourier analysis for discontinuous Galerkin and related methods. Abstract

A FOURTH-ORDER CENTRAL WENO SCHEME FOR MULTIDIMENSIONAL HYPERBOLIC SYSTEMS OF CONSERVATION LAWS

Lecture Notes on Numerical Schemes for Flow and Transport Problems

An adaptive mesh redistribution method for nonlinear Hamilton-Jacobi equations in two- and three-dimensions

A recovery-assisted DG code for the compressible Navier-Stokes equations

Finite Differences for Differential Equations 28 PART II. Finite Difference Methods for Differential Equations

Lecture Notes on Numerical Schemes for Flow and Transport Problems

Lecture 16. Wednesday, May 25, φ t + V φ = 0 (1) In upwinding, we choose the discretization of the spatial derivative based on the sign of u.

An Improved Non-linear Weights for Seventh-Order WENO Scheme

Application of the relaxat ion met hod to model hydraulic jumps

Various lecture notes for

Efficient Implementation of Weighted ENO Schemes*

Lecture 4: Numerical solution of ordinary differential equations

0.3.4 Burgers Equation and Nonlinear Wave

High Order Accurate Runge Kutta Nodal Discontinuous Galerkin Method for Numerical Solution of Linear Convection Equation

Partial differential equations

Solution of Two-Dimensional Riemann Problems for Gas Dynamics without Riemann Problem Solvers

A Finite Volume Code for 1D Gas Dynamics

Strong Stability-Preserving (SSP) High-Order Time Discretization Methods

A Fifth Order Flux Implicit WENO Method

The RAMSES code and related techniques I. Hydro solvers

AMath 574 February 11, 2011

Finite difference Hermite WENO schemes for the Hamilton-Jacobi equations 1

Investigation of Godunov Flux Against Lax Friedrichs' Flux for the RKDG Methods on the Scalar Nonlinear Conservation Laws Using Smoothness Indicator

Part 1. The diffusion equation

A central discontinuous Galerkin method for Hamilton-Jacobi equations

On the positivity of linear weights in WENO approximations. Abstract

Info. No lecture on Thursday in a week (March 17) PSet back tonight

MIT (Spring 2014)

On the Cauchy Problems for Polymer Flooding with Gravitation

Anti-diffusive finite difference WENO methods for shallow water with. transport of pollutant

Sung-Ik Sohn and Jun Yong Shin

The method of lines (MOL) for the diffusion equation

Finite Difference and Finite Element Methods

Krylov Implicit Integration Factor Methods for Semilinear Fourth-Order Equations

The RAMSES code and related techniques 2- MHD solvers

CS 450 Numerical Analysis. Chapter 8: Numerical Integration and Differentiation

AN OPTIMALLY ACCURATE SPECTRAL VOLUME FORMULATION WITH SYMMETRY PRESERVATION

ADER Schemes on Adaptive Triangular Meshes for Scalar Conservation Laws

AM 205: lecture 14. Last time: Boundary value problems Today: Numerical solution of PDEs

A High-Order Discontinuous Galerkin Method for the Unsteady Incompressible Navier-Stokes Equations

Recovery of high order accuracy in radial basis function approximation for discontinuous problems

Simple Examples on Rectangular Domains

Finite volumes for complex applications In this paper, we study finite-volume methods for balance laws. In particular, we focus on Godunov-type centra

Francis X. Giraldo,

Transcription:

A semi-lagrangian finite difference WENO scheme for scalar nonlinear conservation laws Chieh-Sen Huang a,, Todd Arbogast b,, Chen-Hui Hung c a Department of Applied Mathematics, National Sun Yat-sen University, Kaohsiung 84, Taiwan, R.O.C. b University of Texas at Austin; Institute for Computational Engineering and Sciences; EAST 4th St., Stop C; Austin, TX 787 9; U.S.A. c Department of Mathematic and Physical Sciences, Air Force Academy, No. Sisou, Jieshou W. Rd., Gangshan Dist., Kaohsiung City 847, Taiwan, R.O.C. Abstract For a nonlinear scalar conservation law in one-space dimension, we develop a locally conservative semi-lagrangian finite difference scheme based on weighted essentially non-oscillatory reconstructions (SL-WENO). This scheme has the advantages of both WENO and semi-lagrangian schemes. It is a locally mass conservative finite difference scheme, it is formally high-order accurate in space, it has small time truncation error, and it is essentially nonoscillatory. The scheme is nearly free of a CFL time step stability restriction for linear problems, and it has a relaxed CFL condition for nonlinear problems. The scheme can be considered as an extension of the SL-WENO scheme of Qiu and Shu [J. Comput. Phys., ] developed for linear problems. The new scheme is based on a standard sliding average formulation with the flux function defined using WENO reconstructions of (semi-lagrangian) characteristic tracings of grid points. To handle nonlinear problems, we use an approximate, locally frozen trace velocity and a flux correction step. A special two-stage WENO reconstruction procedure is developed that is biased to the upstream direction. A Strang splitting algorithm is used for higher-dimensional problems. Numerical results are provided to illustrate the performance of the scheme and verify its formal accuracy. Included are applications to the Vlasov- Poisson and guiding-center models of plasma flow. Keywords: hyperbolic, semi-lagrangian, WENO reconstruction, Eulerian-Lagrangian, traceline, locally frozen MSC: 65M6, 65M5, 76M, 76X5. Introduction We develop a semi-lagrangian finite difference WENO (SL-WENO) scheme to approximate the scalar conservation law u t + ( f (u) ) x =, x R, t >, () u(x, ) = u (x), x R, () with the possibly nonlinear flux f (u) = f (u; x, t). Moreover, multiple space dimensions will be treated using operator splitting. The semi-lagrangian computational scheme uses a mixture of Eulerian and Lagrangian reference frames in the sense that it has a fixed (Eulerian) numerical grid but advances each time step by evolving the partial differential equations by propagating information along (Lagrangian) characteristic curves. A semi-lagrangian scheme does not Email addresses: huangcs@math.nsysu.edu.tw (Chieh-Sen Huang), arbogast@ices.utexas.edu (Todd Arbogast), hungch@math.nsysu.edu.tw (Chen-Hui Hung) Supported in part by Taiwan National Science Council grant NSC -5-M---MY3. Supported in part by U.S. National Science Foundation grant DMS-4875. Preprint submitted to Journal of Computational Physics May 4, 6

inherently suffer the CFL time step restriction of an Eulerian approach. In consequence, longer time step evolution can be achieved, potentially resulting in less computational effort and less numerical diffusion. In, Qiu and Shu [] (see also []) developed a semi-lagrangian finite difference WENO method for linear scalar conservation laws for which f (u) = au for some advection velocity a(x, t). In fact, they could develop the linear weights needed in the WENO reconstruction [3, 4] only when the velocity a is constant. For variable advection velocity, they developed weights based on heuristic empirical criteria. In this paper we develop a locally mass conservative SL-WENO scheme for nonlinear scalar conservation laws. In the linear case, it is an extension of the scheme of Qiu and Shu []. It reduces to their scheme if the advection velocity a is constant and linear WENO weights are used; however, our scheme has exact WENO linear weights in the case of variable advection problems. Our scheme is new in the case of nonlinear problems, and it can be viewed as an extension of related work on finite volume Eulerian-Lagrangian WENO schemes [5, 6], in which characteristic tracing is incorporated only in an approximate way. For simplicity of exposition, we will describe only the third order SL-WENO scheme (SL-WENO3), but in principle any order scheme can be implemented. Our finite difference scheme is based on the standard sliding average formulation of Shu and Osher [7, 8], but the flux function is defined using WENO reconstructions of (semi-lagrangian) characteristic tracings of grid points []. To handle nonlinear problems for which the trace velocity in unknown, we use a fixed, approximate trace velocity (as is done in, e.g., [9, 6] and in arbitrary Lagrangian-Eulerian (ALE) schemes [9]). This approximate trace velocity is locally frozen to avoid numerical difficulties [6]. The introduction of an approximate trace velocity means that we do not trace the exact characteristic curves, and necessitates the use of a flux correction step [6], which is implemented using the approach of Levy, Puppo, and Russo [] developed for CWENO schemes. Unlike the direct WENO reconstructions used by Qiu and Shu [], we develop a two-stage WENO reconstruction procedure. We first reconstruct cell averages of the numerical flux function, and then we reconstruct the flux function at the needed point. In our procedure, the linear WENO weights always exist. We nonlinearly weight at each stage using a smoothness indicator that is based on the underlying smoothness of the solution u; that is, rather than using the smoothness of the cell average fluxes in the second stage, we use the smoothness indicator for u in both stages. For nonlinear problems, the scheme requires a special upstream bias in the computation of the flux function between two grid points, since nonsmooth shocks may develop. The Rankine-Hugoniot shock speed is computed assuming a shock based on the solution u between the two grid points (i.e., the Roe speed []). The direction of this assumed shock determines the wave direction and consequent upstream biasing in our scheme. The flux correction step requires a relaxed CFL constraint, given later in (4) [, 6]. The constraint is based on the speed of the difference between the true value of f (u)/du and the fixed approximate trace velocity. If these are approximately equal, the constraint is very mild. For multi-dimensional problems, we use a standard, usually second order Strang splitting which decouples the differential equation into a sequence of one-dimensional problems (see (53)). The advantage of a finite difference scheme is that the splitting error manifests itself as temporal error, because the splitting does not induce a shearing of the variable coefficients, and so the scheme maintains its formal high order spatial accuracy []. We present a detailed description of our formally third order SL-WENO3 scheme in the next section. Sections 3 and 4 are devoted to numerical results of SL-WENO3 and SL-WENO5 in one and two space dimensions, respectively. In Section 5 we apply our new scheme to two models of plasma transport: () the Vlasov-Poisson system, which has a constant advection within the Strang split scheme, and () the guiding-center model [3, 4], which has a nonconstant advection. We conclude briefly in the last section.. The semi-lagrangian finite difference WENO scheme The development of our semi-lagrangian finite difference WENO (SL-WENO) scheme for nonlinear problems parallels and extends the development of the finite difference scheme given by Qiu and Shu [] for linear problems. For simplicity of exposition, we describe the third order SL-WENO scheme. Partition time and space as t < t < t < and < x < x < x <, respectively, where x = x i x i is constant. We approximate u(x i, t n ) as u n i. Integrate () over [tn, t n+ ] and evaluate at a grid point x i to obtain u n+ i ( t n+ = u n i t n ) f (u) dt x = u n i F (x i ), (3) x=xi

where F (x) = t n+ We introduce a function H(x) whose sliding average is F (x) [7, 8]; that is, F (x) = x t n f (u) dt. (4) x+ x/ x x/ H(ξ) dξ. (5) Taking the derivative in x gives F (x) = x[ H(x + x/) H(x x/) ], (6) and thus (3) can be written in conservative form as where x i+/ = x i + x/. We call H(x i+/ ) the flux function at x = x i+/... Evaluation of the cell averages H i of the flux function u n+ i = u n i x[ H(xi+/ ) H(x i / ) ], (7) As in a finite difference WENO scheme, H(x i+/ ) is reconstructed from its neighboring cell averages. For most of this section, consider that the index i is fixed. Then the cell average of H at x i is H i = x xi+/ x i / H(x) dx = F (x i ), (8) due to (5). We use Lagrangian tracing to define H i [], but to handle the complexity of nonconstant and possibly nonlinear velocities, we introduce a known, fixed trace velocity v i+/ (x, t) (fixed for each index i) [6] that approximates the true characteristic velocity. In Section.5 we will discuss how v i+/ should be chosen. The ith traceline from (x i, t n+ ) backward in time is defined by d ˇx i dt = v i+/ ( ˇxi (t), t ) and ˇx i (t n+ ) = x i. (9) t t n+ x ν Ei ( ) E i Ωi t n ( ) x ˇx n x i i v i+/ x i x i t t n+ ν Ei ( ) Ωi E i t n x ( i ) v i+/ < ˇx n i x x Figure : Representation of the triangular space-time region Ω i, depending on the sign of v i+/, which is bounded by the lines t = t n and x = x i and the curve E i (shown as a straight line). The counterclockwise orientation is shown in each case. From grid point (x i, t n+ ), we follow the traceline to define the curve E i = { ˇx i (t) : t n t t n+ } R [t n, t n+ ]. The end of this curve is located at ( ˇx n i, tn ), where the traceback point ˇx n i is ˇx i (t n ). We denote by Ω i R [t n, t n+ ] the space-time triangular region bounded by E i and the two lines joining ( ˇx n i, tn ) to (x i, t n ) and back to (x i, t n+ ), as shown in Fig.. We integrate () over the region Ω i and apply the Divergence Theorem. The sign of v i+/ determines 3

whether Ω i slopes to the left or the right. Letting the top and bottom signs in a stacked pair refer to the cases v i+/ and v i+/ <, respectively (more precisely, the cases are ˇx i n x i and ˇx i n > x i ), we obtain that [ = ut + ( f (u) ) ] x dx dt = x,t ( f (u), u) dx dt = ( f (u), u) ν Ei ds Ω i Ω i Ω i xi t n+ = u(x, t n ) dx ± f (u(x i, t)) dt + ( f (u), u) ν Ei ds, () t n E i ˇx n i where ν Ei is the outer unit normal to Ω i along E i. This direction is orthogonal to (v i+/ u, u), and so we can replace ( f (u), u) ν Ei ds = ( f (u) v i+/ u)ν Ei,x ds = g i (u)ν Ei,x ds, E i E i E i where g i (u) = f (u) v i+/ u. Thus H i = F (x i ) = t n+ f (u(x t n i, t)) dt is xi H i = u(x, t n ) dx g i (u)ν Ei,x ds. () E i ˇx n i Note that the last term above would vanish if f (u) = au has a constant linear velocity and one chose v i+/ = a. The finite difference schemes in [] are based on this assumption. Here, we allow a(x, t) to be non-constant, and we even treat nonlinear problems. The price we pay is that we must compute the last term involving g i (u) by some WENO reconstruction to the desired accuracy. t n+ t H i+/ H i, H i H i, x Ω i, Ω i Ω i, E i, E i E i, t n x x i x i x i + x i x i x i+ ˇx i, n ˇx i n ˇx i, n x k i x k i x k i x i+/ Figure : Representation of the triangular space-time region Ω i = Ω i, and its two translates Ω i,l for l =,, assuming v i+/ >. The region Ω i is highlighted, and each Ω i,l is bounded by the lines t = t n and x = x i+l and the curve E i,l (shown as a straight line), where E i = E i,. These regions are used to define H i,l, l =,, (H i = H i, ), which in turn are used to WENO reconstruct H i+/ H(x i+/ ). Later we will reconstruct H i+/ H(x i+/ ) from values of H near x i. We have defined H i in (). We define neighboring values in a similar way, but we use a locally frozen trace velocity [6] to insure that no numerical complications arise from merging or diverging tracelines (e.g., all the traceback points will be regularly spaced so that linear WENO weights will be known to exist). For fixed i, the parallel traceline for a neighboring point x i+l is defined by translation, that is, we let ˇx i,l (t) = ˇx i (t) + l x () be the ith traceline offset by index l. Then H i,l is defined by integrating over Ω i,l = Ω i + (l x, ) R [t n, t n+ ], which results in xi+l H i,l = u(x, t n ) dx g i (u)ν Ei,l,x ds, (3) E i,l ˇx n i,l 4

where ˇx n i,l = ˇx i,l(t n ) and E i,l = E i + (l x, ), as depicted in Fig.. We define x i to be the closest grid point to ˇx n i that is between x i and ˇx n i. That is, if v i+/, then x i is the closest grid point greater than or equal to ˇx n i, and if v i+/ <, then x i is the closest grid point less than or equal to ˇx n i. Since we keep the same tracing speed v i+/ for all indices, we have equal spacing ratio k i < as defined in ˇx i,l x i +l = x k i < x. Expand H i,l in (3) into three terms, respectively, as xi +l xi+l u(x, t n ) dx + u(x, t n ) dx g i (u)ν Ei,l,x ds, if v i+/, ˇx i,l H i,l = n x i +l E i,l ˇx n i,l xi +l u(x, t n ) dx u(x, t n ) dx + g i (u)ν Ei,l,x ds, if v i+/ <, x i +l x i+l E i,l = Ti,l + T i,l + T 3 i,l, l =,,,. (4) We next discuss approximation of the terms T i,l and T 3 i,l... Evaluation and reconstruction of Ti,l Unlike as is done in [], we use a simple WENO process to reconstruct Ti,l for the first term in (4), i.e., xi Ti,l = ± +l u(x, t n ) dx. ˇx n i,l Three values of Ti,l will be needed later when we reconstruct H i+/ in (44). When v i+/, these are l =,,, and we reconstruct from u n i, un i, and u n i +. When v i+/ <, these are l =,,, and we reconstruct from u n i, u n i +, and u n i +. To continue the exposition, we assume that v i+/. Let p i,l (x) be the linear polynomial that interpolates the pointwise data {u n i, un i } at {x i, x i }, respectively. Similarly, p i,r (x) is the linear polynomial interpolating {u n i, u n i + } at {x i, x i +}. For each l =,,, we seek the linear weights γ i,l,l and γ i,l,r so that xi +l xi +l γ i,l,l p i,l (x) dx + γ i,l,r p i,r (x) dx = ˇx n i,l ˇx n i,l xi +l ˇx n i,l Q i (x) dx T i,l, (5) where Q i (x) is the quadratic polynomial interpolating {u n i, un i, u n i + } at {x i, x i, x i +}. We see below that these linear weights exist, because we use a locally frozen trace velocity v i+/. This means that the traceback points remain a distance x apart from each other, and no confusion arises due to tracelines tracking to irregular positions that lie in the same grid cell or that skip a cell. In fact, this way we have that the offset ratio k i = (x i +l ˇx n i,l )/ x is constant for each fixed index i. We compute that when l =, xi ˇx i, n xi ˇx i, n xi ˇx n i, p i,l (x) dx = x k i [ ( + ki )u n i k iu n ] i, (6) p i,r (x) dx = x k i [ (4 + ki )u n i ( + k i)u n ] i +, (7) Q i (x) dx = x k i [ ( + 9ki + ki )un i (k i + 4ki )un i + (3k i + ki ] )un i +. Therefore, we see that the linear weights exist and are in fact γ + i,,l = + 9k i + k i + 6k i and γ + i,,r = 3k i + k i + 6k i. (8) 5

When l =, we compute xi and determine that ˇx i n xi Finally, when l =, xi + and so ˇx i, n xi + ˇx i n xi ˇx n i ˇx i, n xi + ˇx n i, p i,l (x) dx = x k i [ ki u n i + ( k i)u n ] i, (9) p i,r (x) dx = x k i [ ( + ki )u n i k iu n ] i +, () Q i (x) dx = x k i [ (3ki + ki )un i + ( 4k i )un i + ( 3k i + ki ] )un i +, γ + i,,l = 3 + k i 6 and γ i,,r + = 3 k i. () 6 p i,l (x) dx = x k i [ (ki )u n i + (4 k i)u n ] i, () p i,r (x) dx = x k i [ ki u n i + ( k i)u n ] i +, (3) Q i (x) dx = x k i [ ( 3ki + ki )un i + (k i 4ki )un i + ( 9k i + ki ] )un i +, γ + i,,l = 3k i k i 6k i and γ + i,,r = 9k i + k i 6k i. (4) We define Ti,l by (5) using (6) (4), but replacing the linear weights by their nonlinear counterparts defined using the usual smoothness indicator. For a uniform grid, this indicator is defined when v i+/ for the values {u n i, un i, u n i + } and when v i+/ < for the values {u n i, u n i +, un i + } as IS + i,l (un ) = (u n i un i ), IS + i,r (un ) = IS i,l (un ) = (u n i + un i ), and then nonlinear weights are defined for either sign of v i+/ as IS i,r (un ) = (u n i + un i + ), (5) γ ± i,l,l (γ± i,l,l, un ) = γ ± i,l,l (ɛ + IS ± i,l (un )) γ ± i,l,l (ɛ + IS ± i,l (un )) + γ ± i,l,r (ɛ + IS ± i,r (un )) and γ ± i,l,r = γ± i,l,l, (6) where ɛ > is some small parameter. Finally, for v i+/, we have Ti, = x k i + [ { γ i,,l ( + ki )u n i k iu n ] i + γ + [ i,,r (4 + ki )u n i ( + k i)u n ]} i +, (7) T i, = x k i T i, = x k i + [ { γ i,,l ki u n i + ( k i)u n ] i + γ + [ i,,r ( + ki )u n i k iu n ]} i +, (8) + [ { γ i,,l (ki )u n i + (4 k i)u n ] i + γ + [ i,,r ki u n i + ( k i)u n ]} i +. (9) Each reconstruction involves two linear weights which could be negative for some values of k i. In this case, we use the usual techniques for treating negative weights in WENO schemes [5]. 6

When v i+/ <, we need to reconstruct Ti,l for l =,, from un i, u n i +, and un i +. These can be determined by symmetry from the case when v i+/. We need to account for the change in sign, exchange L and R, and we need to identify indices i, i, and i + with i +, i +, and i, respectively. The linear weights are γ i,,l = 9k i + k i 6k i and γ i,,r = 3k i k i 6k i, (3) γ i,,l = 3 k i 6 and the values of T i,l, for v i+/ <, are and γi,,r = 3 + k i, (3) 6 γ i,,l = 3k i + k i + 6k i and γ i,,r = + 9k i + k i + 6k i, (3) using (5) (6). Ti, = x k i [ { γ i,,l (ki )u n i k iu n ] i + + γ [ i,,r (ki 4)u n i + + ( k i)u n ]} i +, (33) T i, = x k i T i, = x k i [ { γ i,,l ki u n i ( + k i)u n ] i + + γ [ i,,r (ki )u n i + k iu n ]} i +, (34) [ { γ i,,l ( + ki )u n i (4 + k i)u n ] i + + γ [ i,,r ki u n i + ( + k i)u n ]} i +, (35).3. Evaluation of T 3 i,l, the flux correction step We now turn our attention to computing the third term of (4), T 3 i,l = E i,l g i (u)ν Ei,l,x ds, l =,,,, ( g i u( ˇxi,l (t), t) ) dt. (36) which is the term in our scheme that corrects the mass flux when g i (u) = f (u) v i+/ u. After changing variables (see Fig. ), we have t n+ T 3 i,l = t n Applying a two-point Gauss quadrature rule gives T 3 i,l = t[ w G,L g i ( u( ˇxi,l (t G,L ), t G,L ) ) + w G,R g i ( u( ˇxi,l (t G,R ), t G,R ) )], (37) where w G,k are the weights and t G,k are the Gauss points, k = L, R. The main task is to find values for u( ˇx i,l (t), t) at the Gauss points along the traceline. We adapt an algorithm given originally by Levy, Puppo, and Russo [] for Eulerian CWENO methods and modified for the Lagrangian setting by two of the authors in [6]. The algorithm uses a Runge-Kutta method combined with its natural continuous extension for time evolution of the differential equation along the traceline curve. We describe the algorithm below; more details can be found in [, 6]. We remark that a more traditional flux correction procedure could be used to compute T 3 i,l, but this would require flux splitting. Our choice avoids the flux splitting, since the semi-lagrangian nature of our overall scheme is already upstream biased. In general, given the Cauchy problem u = F(t, u(t)) and u(t ) = u, (38) the solution at time step n + can be obtained by a ν-stage Runge-Kutta method u n+ = u n + t ν b i g (i), i= 7

where each g (i) is a Runge-Kutta flux g (i) = F ( t n + tc i, u n + t ν a i j g ( j)) j= and c i = j a i j. The method is completely determined by the vector b and the lower triangular matrix a, which has a zero diagonal for explicit methods. For our third order SL-WENO scheme, we use the two-stage method ( ) ( ) / a = and b =. / After all g (i) are obtained, the Natural Continuous Extension (NCE) [6] of the Runge-Kutta method provides a uniform accuracy of the solution in the time interval [t n, t n+ ]. Each ν-stage Runge-Kutta method of order p has an NCE of degree d p in the sense that there exist ν polynomials b i (θ), i =,, ν, of degree at most d, such that u(t n + θ t) u n+θ = u n + t ν b i (θ)g (i), θ, (39) i= satisfies max t n t t n + t d k [ u n+(t t n )/ t u(t) ] dt k = O( ( t) d+ k), k d. In our case, b (θ) = (b )θ + θ and b (θ) = b θ. In particular, we can evaluate the solution at the Gauss points t G,k using θ G,k = (t G,k t n )/ t. t n+ t x i x i x i+ x E i t n x i x i x i x i + x i + ˇx i, n ˇx i, n ˇx i n ˇx i, n ˇx i, n x Figure 3: An illustration of the evaluation of the Runge-Kutta fluxes g () and g () from evolution of (4) when v i+/. To reconstruct the derivatives appearing in g () at (x i, t n+ ), we need function values at x i, x i, and x i+ at time t n+. These function values are computed using three values of g (), which requires us to reconstruct derivatives at the points ˇx n i,, ˇxn i, and ˇxn i, at time tn, and so we need to reconstruct point values at the five points ˇx n i,l, l =,,,,. Moreover, we in fact need to reconstruct g() at the three points x i, x i, and x i+, and so ultimately we need to reconstruct g () at the five points ˇx n i,l, l =,,,,, and therefore we require point values reconstructed at the seven points ˇxn i,l, l = 3,,..., 3. In our setting, that is, to evaluate (37), we need to obtain values of the function g i along the traceline at the Gauss points. We solve Cauchy problems based on the original equation (), but modified to evolve along the traceline ˇx i (t) defined by v i+/ in (9). That is, at gridpoint x i, we have that Let ǔ i (t) = u( ˇx i (t), t). Then along the traceline, this is simply u t + v i+/ u x = v i+/ u x ( f (u) ) x. (4) dǔ i dt = v i+/ ǔ i,x ( f (ǔ i ) ) x = F(ǔ i). (4) We remark that the right-hand side reduces to F(ǔ i ) = ( g i (ǔ i (t)) ) x if v i+/ is taken to be a constant in space. Thus the computation of the ith Runge-Kutta flux g (i) requires the evaluation of the x-derivatives of f (ǔ i ) and ǔ i (or just of 8

g i (ǔ i (t)) when v i+/ is constant). We are using a two-stage method, so we need the two Runge-Kutta fluxes g () and g (). To continue, suppose that v i+/, so that l =,, rather than l =,,. Let ǔ i,l (t) = u( ˇx i,l (t), t). We use standard WENO schemes to reconstruct values and derivatives of ǔ n i,l and f (ǔn i,l ) at time tn to the appropriate order, where l =,,,,. As illustrated in Fig. 3, to obtain g () at x i requires g () at x i, x i, and x i+, since we need derivatives. The single value g () at x i+l requires reconstruction at ˇx i,l, ˇx i,l, and ˇx i,l+, again because we need derivatives. In fact, for this WENO3 scheme, we have to compute T 3 i,l, l =,,. Because we use a locally frozen velocity, we can reuse our reconstructions for l =. Thus we only require reconstructions of ǔ n i,l and f (ǔn i,l ) at time tn to the appropriate order for l = 3,,..., 3. In the end, we evolve (4) three times to obtain the needed values of ǔ i,l (t G,k ) in (37) to compute T 3 i,l, l =,,. For each traceback point, we could in fact use standard WENO to reconstruct two values for T 3 i,l from stencils biased either to the left or to the right of the point. The numerical results showed only an insignificant difference between the left and right choices for our SL-WENO3 scheme. The SL-WENO5 numerical results that we present later simply use the right reconstructed value. The requirement of a flux correction step imposes a relaxed CFL constraint on the time step. The constraint was identified by Stockie, Mackenzie, and Russell [, (.7)] and also in [6]. The relaxed CFL condition is x t t CFL := max f (u) u v. (4) i+/ Our choice of v i+/ later in (48) renders this constraint relatively mild compared to a purely Eulerian scheme that has v i+/ =..4. Reconstruction of the flux function H i+/ We determine H i+/ using a third order WENO reconstruction of H i,, H i = H i,, and H i, when v i+/ and H i, H i,, and H i, when v i+/ <. If R i+/ represents this linear reconstruction operator for index i, then H i+/ = R i+/ (H i,, H i, H i,, H i, ) = R i+/ (H i,l ) = R i+/ (Ti,l + T i,l + T 3 i,l ) = R i+/(ti,l + T 3 i,l ) + R i+/(ti,l ), (43) abusing the notation here and below by suppressing the argument list that should include arguments for indices l =,,, and (possibly omitting or ). Following the standard WENO reconstruction for average values, R i+/ (T i,l ) is defined with linear weights as r + T i, + 3T i, L + r + T i, + T i, R, if v i+/, R i+/ (T i,l ) = (44) rl T i, + T i, + rr 3T i, T i,, if v i+/ <, where the linear weights are r + L = r R = /3 and r+ R = r L = /3. From (4), we see that the second term T i,l = xi+l x i +l u(x, t n ) dx, l =,,,, is an integral over a complete set of grid cells. From [, Proposition 3.7 and the discussion in 3.3.3], the reconstruction is simply i u n k R i+/ (Ti,l ) = x, v i+/, k=i + i (45) u n k x, v i+/ <. k=i+ 9

Unlike as is done in [], we use a two-stage WENO process. Stage one gave us Ti,l and T 3 i,l, and now stage two is R(T i,l ), T i,l = Ti,l + T 3 i,l. Of course, to avoid discontinuities within the WENO framework, we modify the linear weights r L ± and r± R in (44) with a smoothness indicator. Normally, one would base the smoothness indicator on T i,l. However, we computed Ti,l from a WENO reconstruction that was already biased to the smoother stencil, so the T i,l do not reflect the discontinuities of the underlying function u(x). Therefore, we base the smoothness indicator directly on the values of u n i +l and use the previously defined indicator (5). So we define R i+/ by replacing the linear weights in (44) by the nonlinear weights, analogous to (6). Finally, then, the finite difference scheme for (), or (7), is with u n+ i = u n i [ H n i+/ x H i /] n, (46) H n i+/ = R(T i,l + T 3 i,l ) + R i+/(t i,l ), and T i,l as defined in (7) (9) or (33) (35), T 3 i,l as evaluated in (37) as described in Section.3, and R i+/(t i,l ) as evaluated in (45). A fifth order semi-lagrangian finite difference WENO (SL-WENO5) scheme can be defined analogously to our third order SL-WENO3 scheme. We need H i,l, l =,,,,. A similar Runge-Kutta-NCE computation is needed. Such a fifth order computation is described in [6], and we refer the reader to that paper for more details. We include SL-WENO5 computations in the two sections on numerical results..5. Determination of the upstream direction and selection of v i+/ For the linear problem, where f (u) = a(x, t) u, no special treatment of the trace velocity v i+/ is required. It may be evaluated simply as v i+/ (x, t) = a(x, t), possibly fixing t = t n or t n+ and x = x i, x i+, or x i+/. Assuming that a is smooth, all choices give essentially equivalent results. We choose v i+/ = a(x i, t n ) for most of our linear problems. We have observed numerically that the nonlinear problem requires a careful selection of v i+/ in regions where the characteristic wave speed changes direction and the velocity is not smooth, i.e., near shocks. Otherwise the scheme may exhibit instability or give an incorrect solution. The nonlinear weighting of the Eulerian WENO scheme provides good stabilization near shocks by biasing the finite difference stencil to one side of the shock where the solution remains smooth. To maintain this property in our semi-lagrangian scheme, we need to know which direction the shock is moving, which is given by the Rankine-Hugoniot jump condition. In our case, we take the shock speed as computed using u n i and u n i+ (this speed is also called the Roe speed []), and so s i+/ = f (un i ) f (un i+ ) u n i u n. (47) i+ We then set f v i+/ = u (un i ; x i, t n ) if s i+/, (48) f u (un i+ ; x i+, t n ) if s i+/ <. The entropy condition implies that f (u n i ) s i+/ f (u i+ ), so the shock speed and the trace velocity have the same sign. In regions where the solution is smooth, or a rarefaction forms, we use the same criterion, since it seems to matter little. We may as well also apply this criterion to linear problems instead of taking the simple condition v i+/ = a(x i, t n ). We remark that we tested the scheme using the trace velocity taken as the approximate particle velocity v i+/ = f (u n i )/un i or f (u n i+ )/un i+. The results are disappointing compared to using an approximate characteristic velocity. The condition (48) is problematic when the Roe speed s i+/ =. We arbitrarily took one of the two cases, but in truth we should not bias to either direction. We therefore modify the scheme for some small ɛ >, when s i+/ < ɛ, by replacing the construction of the numerical flux H i+/ in the scheme as follows. Compute H n, n,+ i+/ and Hi+/ using v i+/ defined in (48) assuming s i+/ > and s i+/ <, respectively. Also compute u i+/ and u+ i+/ using standard

WENO to reconstruct the two values of u i+/ from stencils biased to the left and to the right of the point x i+/. Then define H n i+/ using a type of Lax-Friedrichs flux, which in this case is H n i+/ = [ H n, i+/ + H n,+ i+/ t α (u+ i+/ u i+/ )], (49) where α = max f / u. Note the presence of t above, which arises because H n,± i+/ is, more or less, an approximation to t n+ f (u) dt. We remark that a similar but more complex construction is used in the standard finite difference WENO t scheme n (WENO-FD) [7, pp. 4 5]; however, we cannot use the same construction here because f ± does not satisfy the hyperbolic equation u t + f ± (u) x =, where f (u) = f + (u) + f (u)..5 -.5 -.5.5 Figure 4: A Riemann test for the modified scheme using (49). The solution at time T =.5 to Burgers equation using the initial condition u (x) = u L = when x < and u (x) = u R = when x >. We use 8 grid cells in [, ] ( x = /4) and t =.3 x. The entropy solution, a rarefaction, is obtained. In fact, we require this modification only in the very rare cases for which s i+/ < ɛ. For most problems we do not even bother to check for this condition. However, it can be important in some cases, such as the famous example of a Riemann problem for Burgers equation using the initial condition u (x) = u L = when x < and u (x) = u R = when x >. The entropy solution is a rarefaction wave. The unmodified scheme does show slow convergence to a rarefaction wave, since the scheme is based on semi-lagrangian principles. However, the modified scheme provides the correct solution even on coarser meshes, as shown in Fig. 4. In fact, the modification comes into play only for the first time step, since the wave direction becomes clear after a single step. 3. Some numerical results in one space dimension We present several examples of our numerical scheme to test its accuracy and performance. Some of the examples are for the linear equation u t + (a(x, t)u) x =, (5) for which we specify only the velocity a(x, t). In that case, unless stated otherwise, we use the simple trace velocity v i+/ = a(x i, t n ). 3.. Example, linear velocity a = We begin with the simple test case of linear translation with velocity a = and the initial condition u (x) =.75 +.5 sin(πx) over [, ]. Since the traceback points could be found exactly, we perturb them randomly by an amount at most ±.5 x. We see from Table that the solution converges with a clean third or fifth order for SL-WENO3 and SL-WENO5, respectively, when the error is measured in either the L or L norm. The CPU time to compute T 3 is also given in Table. Since this is a linear problem, we can apply the scheme of Qiu and Shu []. Because their scheme and ours are computationally similar, the CPU time we need to compute T and T is essentially the time needed to compute the scheme of Qiu and Shu. We also report the percentage of extra CPU time needed to compute T 3 versus computing T, T, and T 3. For SL-WENO3, T 3 takes around 5% of the time, so our scheme is about twice as costly as the scheme of Qiu and Shu for the same x and t. For SL-WENO5, around 7% more time is needed for computing T 3, making the scheme about 3.3 times more costly. However, with the flux correction term T 3, our scheme may potentially allow a longer time step to be used for some problems, which results in a less numerically diffuse solution, so it is difficult to make a fair comparison of the computational effort. Moreover, our scheme handles nonlinear problems.

Table : Ex., linear velocity a =. SL-WENO error and convergence order at T = with t =.5 x. The traceback points are perturbed randomly by an amount at most ±.5 x. The CPU time needed to compute the term T 3, and the percentage of time spent computing T 3 versus computing all three terms. m L x error order L x error order CPU for T 3 (sec.) CPU for T 3 (%) SL-WENO3 7.366E-4 5.45853E-4.56E-4 3.6 4 8.79353E-5.99565 6.8958E-5.98485 4.3E-4 44.7 8.48E-5 3.6849 8.95E-6 3.6786.6E-3 44.3 6.3657E-6 3.49.9E-6.9984 5.83E-3 48. 3.6375E-7 3.3.8445E-7 3.3.3E- 48.4 64.483E-8.999.6473E-8 3.75 8.8E- 48.3 SL-WENO5.96E-4.994E-4.E-3 76.4 4.5764E-6 6.543.43448E-6 6.738 4.5E-3 78.9 8 3.43443E-8 5.565 5.6897E-8 4.6748.53E- 78. 6.644E-9 4.8874.5944E-9 5.47945 6.4E- 75. 3 3.4564E- 5.996 3.3533E- 5.383.46E- 73.7 64 9.38473E-3 5.857 9.69E-3 5.8.5E+ 68.8 The standard finite difference WENO scheme (WENO-FD) can handle nonlinear problems, and it is based more or less on a flux correction like ours (4). However, for each grid point x i, WENO-FD requires two solves due to flux splitting, and we need to compute our approximation three times for SL-WENO3 and five times for SL-WENO5. Therefore, the computational cost for WENO3-FD is roughly (/3).5 or 33% of our SL-WENO3, and WENO5-FD is roughly (/5).7 or 8% of our SL-WENO5. To put it more simply, we need about three to three and a half times more CPU time than a WENO-FD scheme. But again, it is difficult to make a fair comparison of the computational effort versus the accuracy achieved..8.8.8.8.6.6.6.6.4.4.4.4.....5.5.5.5.5.5.5.5 n =, CFL =.5 n =, CFL =.5 n = 4, CFL = 6.5 n = 4, CFL =.5 Figure 5: Ex., Shu s linear test. The traceback points are perturbed randomly by an amount at most ±.5 x. Results are shown at time T = for SL-WENO3 for various spatial resolutions x = /n and CFL numbers. Results for SL-WENO5 are similar. We also present the standard test case called Shu s linear test, which is simply the linear translate (with velocity a = ) of a complicated initial condition. Again, the traceback points are perturbed randomly by an amount at most ±.5 x. We see excellent results in Fig. 5 for SL-WENO3 at the final time T =. Results for SL-WENO5 are similar. 3.. Example, linear velocity a(x, t) = sin(t) In the next example, we consider linear transport with a(x, t) = sin(t) on [, ], for which the exact solution is u(x, t) = u (x + + cos(t)) and the initial condition is chosen to be u (x) =.75 +.5 sin(πx). Clean third order convergence is observed in Table for t = 5.5 x. If we increase the time step to t =.5 x, then clean fourth order convergence is observed. Similar results are observed for SL-WENO5, as given in Table 3.

Table : Ex., linear velocity a(x, t) = sin(t). SL-WENO3 errors and convergence order at T = 4 with t = 5.5 x and t =.5 x, using RK4 for the trace-back points. m L x error order L x error order t = 5.5 x.93569e-3.85e-3 4.4654E-4 4.8 8.84E-5 4.79568 8 5.85E-6 4.3833 4.4897E-6 4.367 6 3.96333E-7 3.73637 3.53E-7 3.73659 3 3.85977E-8 3.36 3.37E-8 3.36 64 4.385E-9 3.953 3.3955E-9 3.95 t =.5 x 4.8665E- 3.55E- 4.674E-3 4.34799.575E-3 4.349 8 8.3635E-5 4.667 6.47E-5 4.686 6 3.899E-6 4.73666.463E-6 4.7374 3.5367E-7 4.3977.657E-7 4.3977 64 9.576E-9 4.373 7.46968E-9 4.373 Table 3: Ex., linear velocity a(x, t) = sin(t). SL-WENO5 errors and convergence order at T = 4 with t = 5.5 x and t =.5 x, using RK4 for the trace-back points. m L x error order L x error order t = 5.5 x 6.9696E-5 6.384E-5 4.3375E-6 5.7535.3738E-6 5.6885 8.64693E-8 5.6447 3.733E-8 5.644 6.7479E-9 4.49385.985E-9 4.95864 3 3.578E- 5.736.945E- 5.354 64 9.34E-3 5.346 9.873E-3 5.47 t =.5 x.36e-3.636e-3 4.874E-5 6.846.47547E-5 6.6996 8.4995E-7 6.73.8956E-7 6.836 6 3.9645E-9 5.9456 3.89E-9 5.93338 3 5.89586E- 6.5738 4.75878E- 6.64 64 9.65577E-3 5.937 9.7644E-3 5.669 3.3. Example 3, linear velocity a(x, t) = sin(x) We test our scheme using a(x, t) = sin(x) over [, π] up to the final time T =. The exact solution is u(x, t) = sin ( arctan(e t tan(x/)) ). sin(x) We see from Table 4 that the error for SL-WENO3 as measured in L x converges at the optimal rate. However, when measured in L x, the error converges to one power less than optimal. Similar results are seen in Table 5 for SL- WENO5. If we apply the more complex choice of v i+/ using the Rankine-Hugoniot jump condition given in (48), we see very little change in the errors in Tables 6 7. Our results indicate a degeneracy in the L -norm error. In a 99 paper [8], Shu showed that an ENO scheme may experience a loss of one order of accuracy in the L -norm error when the stencil used by the scheme varies from one point to another. In particular, there is a problem when the stencil jumps over, and therefore omits, a point of the grid. The stencil jump is problematic due to a failure to cancel error in the conservative form (7). There appears to be no simple resolution of this problem. 3

Table 4: Ex. 3, linear velocity a(x, t) = sin(x). SL-WENO3 error and convergence order at T = using RK4 tracing. m L x error order L x error order t =.5 x 3.4579E-.966E- 4 8.558E-.93 8.35633E-.8585 8 8.433E-3 3.39875.464E-.5785 6 4.4675E-4 4.3564.7685E-3.34484 3.9676E-5 3.777 5.55736E-4.3663 64 3.788E-6.995.3835E-4.644 t = 6.5 x 3.583E- 3.7E- 4 9.46767E-.73557 9.566E-.7749 8.599E-.9845 5.89933E-.6346 6.37485E-3 4.97 3.6835E-3 4.4 3 9.38E-5 3.98 6.375E-4.6475 64 6.85537E-6 3.796.3894E-4.379 t =.5 x 3.583E- 3.7E- 4 9.46767E-.73557 9.566E-.7749 8.549E-.986.6688E-.7786 6.63479E-3 3.9497.9583E-3 3.763 3.7356E-4 3.9863 6.959E-4.5348 64 8.43736E-6 3.66947.488E-4.65.5..5.5..5..5.3 3 4 5 6 7 n = 4..5..5.5..5..5.3 3 4 5 6 7 n = 8. Figure 6: Ex. 3, linear velocity a(x, t) = sin(x). The pointwise L x error for two resolutions n = 4 and n = 8 at the time T = /. Note that the error is clustered near x = π/ and x = 3π/ where the sign of the velocity a = sin(x) changes from positive to negative. Our scheme may experience a stencil jump in this problem near x = π where the velocity changes from positive to negative. The positive stencil at x i is {u i, u i, u i +} and the negative stencil at x i+ is {u (i+), u (i+) +, u (i+) +}. If x i + + x < x (i+), then we omit data at x i +, for example. To verify that stencil switching is the problem, we rescale the velocity to a(x) = sin(x) over [, π] so that we cover two complete periods and experience a change in stencil at x =, π/, π, and 3π/. Fig. 6 shows that the pointwise errors are indeed relatively large at the two points x = π/ and 3π/ where the sign of a(x) changes from positive to negative. Moreover, if we use a fixed stencil, say the one for positive velocities {u i, u i, u i +} regardless the sign of a(x), and we rely on the WENO nonlinear weights to pick up the correct stencil, we recover the lost order of accuracy in the L -norm. However, this modification breaks down in two space dimensional problems, and it cannot be expected to work for nonlinear problems. 4

Table 5: Ex. 3, linear velocity a(x, t) = sin(x). SL-WENO5 error and convergence order at T = using RK4 tracing. m L x error order L x error order t =.5 x 4.448E- 5.45453E- 4 3.668E-3 3.6485 4.7675E-3 3.569 8.345E-4 4.8697 5.93E-4 3.989 6.98E-6 5.377 3.9E-5 4.4 3 6.4899E-8 5.648.337E-6 4.847 64.59594E-9 5.44 5.5376E-8 4.357 8 4.9764E- 5.36 3.4876E-9 4.3 t = 6.5 x 4.453E- 4.98883E- 4 5.9E-3 3.8865 5.5775E-3 3.6 8.96E-4 4.756 5.6539E-4 3.35 6 6.44E-6 4.93593 4.3784E-5 3.8738 3.E-7 5.67.546E-6 4.8 64 5.634E-9 5.595.39E-7 4.3687 8.573E- 5.344 4.55E-9 4.8768 t =.5 x 4.453E- 4.98883E- 4 5.9E-3 3.8865 5.5775E-3 3.6 8.5895E-3.93 8.5896E-4.69896 6.87648E-5 5.9 5.335E-5 4.7 3 9.6836E-7 4.896 3.6933E-6 4.845 64 3.4895E-8 4.9896.58E-7 4.78 8 9.655E- 4.9889 5.53593E-9 4.83688 3.4. Example 4, Burgers equation In the next example we test Burgers equation with a simple initial condition to evaluate the convergence rates of the schemes for a nonlinear problem; that is, for u t + (u /) x = and u (x) =.5 + sin(πx) for x (, ). Shocks will form at time t = /π.3. To test convergence, we ran the computation over gradually refined meshes up to time T =.5, before the shocks are fully developed. The numerical errors and convergence orders for the scheme are given in Tables 8 9. We see third and fifth order convergence in the L -norm for SL-WENO3 and SL- WENO5, respectively, as the mesh becomes fine enough for this nonlinear problem, as expected. The L -norm is not as well behaved, but the rates also appear to be optimal in this norm. We note that our scheme, despite being based on exact time integration, nevertheless has some time discretization error in the approximation of the flux correction term T 3. Thus, the error from T 3 will eventually increase as t increases, as one sees in Tables 8 9, especially for the case t = 5 x, although third and fifth order convergence is maintained. Fig. 7 shows the solutions at T = 3/(π).48 after the shocks have formed. There is no numerical oscillation, and both schemes perform satisfactorily. 3.5. Example 5, Buckley-Leverett equation The next example for scalar conservation law () uses the Buckley-Leverett flux function f (u) = u u + ( u) 5

Table 6: Ex. 3, linear velocity a(x, t) = sin(x). SL-WENO3 error and convergence order at T = using RK4 tracing. Here we use the more complex choice of v i+/ using the Rankine-Hugoniot jump condition given in (48). m L x error order L x error order t =.5 x.499e- 8.683E- 4.8395E-.453 3.939E-.4897 8 3.946E-3.5488 8.64846E-3.83863 6 5.655E-4.79779.9878E-3.489 3 7.75E-5.86543 3.96888E-4.475 64 9.47769E-6 3.3 7.5554E-5.39389 t = 6.5 x 9.6643E- 8.49E- 4 5.595E-.8893 4.493E-.8967 8 5.48E-3 3.37579 8.6966E-3.34539 6 6.5369E-4.9439.4547E-3.8486 3 7.6363E-5 3.9768 4.7393E-4.49867 64 8.885E-6 3.44 6.8686E-5.63889 t =.5 x 9.6643E- 8.49E- 4 5.595E-.8893 4.493E-.8967 8.578E-.797.568E-.888 6.89E-3 3.8878 3.464E-3.9488 3 8.95787E-5 3.5656 5.6874E-4.593 64 9.374E-6 3.776 5.7534E-5 3.358.5.5.5.5.5.5.5 SL-WENO3.5.5.5 SL-WENO5 Figure 7: Ex. 4, Burgers equation with a shock. The solution at time T = 3/(π) of the SL-WENO schemes using m = 8 grid elements and t = x = 4/m. and involves the interaction of shocks and rarefactions. The initial condition is x for x.5, u (x) =.5 for.5 x.4, otherwise, (5) so the problem has two pulses that merge over time. We use m = 8 grid elements. The results for the third and fifth order schemes are shown in Fig. 8 and Fig. 9, respectively. The schemes handle the merging of the two pulses quite well and reproduce the solution to adequate accuracy even on a relatively low resolution grid. In fact, the SL-WENO results are somewhat better than those of the Eulerian finite difference WENO scheme (WENO-FD). In particular, WENO5-FD shows more numerical diffusion than SL-WENO in this test. 6

Table 7: Ex. 3, linear velocity a(x, t) = sin(x). SL-WENO5 error and convergence order at T = using RK4 tracing. Here we use the more complex choice of v i+/ using the Rankine-Hugoniot jump condition given in (48). m L x error order L x error order t =.5 x.7696e- 8.74E-3 4.569E-3.5493 4.3533E-3.9746 8.9633E-4 4.363 4.995E-4 3.54 6 4.3373E-6 4.65973 3.55E-5 3.9847 3.575E-7 4.8755.4944E-6 4.49 64 4.8499E-9 4.9773 4.6944E-8 4.9958 8.37993E- 5.355.9373E-9 4.664 t = 6.5 x.8933e-.78e- 4 4.594E-3.687 3.86699E-3.8548 8.8467E-4 4.63 3.948E-4 3.6747 6 7.6484E-6 4.5949.77E-5 3.86948 3.877E-7 4.73467 9.9356E-7 4.3876 64.79E-8 4.8989 7.854E-8 3.669 8 3.5343E- 4.85543 5.94584E-9 3.7349 t =.5 x.8933e-.78e- 4 4.594E-3.687 3.86699E-3.8548 8.74E-3.68 8.459E-4.477 6 4.566E-5 4.754.853E-4.973 3.6855E-6 4.7636.86E-5 4.8858 64 5.76343E-8 4.85 7.857E-7 4.7776 8.6E-9 4.8363 4.9683E-8 3.8465.8.8.8.8.6.6.6.6.4.4.4.4......4.6.8..4.6.8..4.6.8..4.6.8 t =., shock and rarefaction formation t =., initial pulse catches advanced pulse t =.4, the two pulses merge t =.5, the two pulses are fully merged Figure 8: Ex. 5, Buckley-Leverett, WENO3. An interaction of shocks and rarefactions, resulting from the evolution of the initial condition of two pulses given in (5). The solid line is the reference solution, given by CWENO5 with a very small x = /8 and t = /536. The filled black squares are our SL-WENO3 results, and the open red squares are WENO3-FD results, both using m = 8 and t =.4 x. 4. Some numerical results in two space dimensions There are standard ways to apply our finite difference scheme to two-space dimensional problems. For u t + ( f (u) ) x + ( g(u) ) y =, x, y R, t >, (5) we might simply compute the analogue of (7), which involves a sliding average function in the y-variable K. The conservative scheme is based on u n+ i j = u n i j [ H(xi+/, j ) H(x i /, j ) ] [ K(xi, j+/ ) K(x i, j / ) ]. (53) x y 7

Table 8: Ex. 4, Burgers equation. Error and convergence order at T =.5 for the SL-WENO3 scheme. m L x error order L x error order t = x 4 5.66E-3.43E- 8.9974E-3.97 4.7879E-3.6448 6 3.5383E-4.998 3.6E-3.3477 3 4.9994E-5.98847 7.3E-4.5474 64 4.383E-6 3.7659.359E-4.63693 8 4.43564E-7 3.5373 5.5378E-5.397 t = 5 x 4 3.64E-.7858E- 8 5.7565E-3.65354 5.5E-.8687 6 8.599E-4.74397.8849E-.888 3.654E-4 3.699.6978E-3.6859 64.888E-5 3.5899.63E-4.97436 8 7.74855E-7 3.8393 4.75593E-5.8343 t = 5 x 4 3.64E-.7858E- 8 3.874E-.3353.4793E-.7844 6 3.93878E-3.96745.94998E-.3893 3 5.584E-4.96 6.94E-3.769 64 5.45E-5 3.94 8.66999E-4.8684 8 4.344E-6 3.65477 9.464E-5 3.9 Table 9: Ex. 4, Burgers equation. Error and convergence order at T =.5 for the SL-WENO5 scheme. m L x error order L x error order t = x 4.666E-3.859E- 8 3.78E-4.535 7.89E-3.37888 6.9663E-5 4.4484 5.89346E-4 3.57447 3 8.77459E-7 4.486.5835E-5 4.536 64.7669E-8 4.9899 8.697E-7 4.8998 8 8.7463E- 4.9886.84E-8 4.9539 t = 5 x 4 9.63E-3 4.9476E- 8 6.8874E-4 3.7337 7.538E-3.8868 6 3.676E-5 4.4949 5.857E-4 3.638 3.753E-6 4.58554.463E-5 4.7 64 3.7836E-8 5.383 5.8785E-7 5.96 8 7.39448E- 5.6489.79596E-8 5.35 t = 5 x 4 9.63E-3 4.9476E- 8.89E- -.496 6.965E- -.49458 6.55674E-3.9684 8.9897E-3.9536 3 7.8675E-5 4.3653.3385E-3.865 64 5.54985E-6 3.8534.859E-4 3.578 8.876E-7 4.9333 4.689E-6 4.668 8

..4.6.8.8.8.8.8.6.6.6.6.4.4.4.4......4.6.8..4.6.8..4.6.8..4.6.8 t =., shock and rarefaction formation t =., initial pulse catches advanced pulse t =.4, the two pulses merge t =.5, the two pulses are fully merged Figure 9: Ex. 5, Buckley-Leverett, WENO5. An interaction of shocks and rarefactions, resulting from the evolution of the initial condition of two pulses given in (5). The solid line is the reference solution, given by CWENO5 with a very small x = /8 and t = /536. The filled black squares are our SL-WENO5 results, and the open red squares are WENO5-FD results, both using m = 8 and t =.4 x. However, we prefer to view the treatment of space as a Strang splitting. For a first order Strang splitting, we compute the two-stage scheme ũ i j = u n i j x[ H(xi+/, j ) H(x i /, j ) ], (54) u n+ i j = ũ i j y[ K(x i, j+/ ) K(x i, j / ) ], (55) wherein K is computed using the values ũ i j rather than u n i j. For a second order Strang splitting, (54) is computed for the time interval [t n, t n+/ = t n + t/], (55) is applied to produce ũ i j, and (54) is applied to these values over the rest of the time interval [t n+/, t n+ ]. 4.. Example 6, rigid body rotation The first example in two space dimensions is rigid body rotation. The governing equation is u t ((y )u) x + ((x )u) y =, x [, ], y [, ], t >. (56) We begin with a test using an initial condition defined as the smooth, radial bump function u(x, y, ) = [ ( ) ( ) ] 5 ψ + r(x, y) ψ r(x, y) +, r(x, y) = (x ) + (y ), where ψ(s) = e /s for s > and ψ(s) = otherwise. Table gives the L x and L x errors and the corresponding orders of convergence, using t =.5h (so the CFL number is CFL t =.5). Third and fifth order convergence is observed for SL-WENO3 and SL-WENO5, respectively, as expected. We used a first order in time Strang splitting for the third order results and a second order in time Strang splitting for the fifth order results. We next use an initial condition that includes a slotted disk, a cone, and a smooth hump, similar to that used by LeVeque [9]. The initial condition is shown in Fig. (a). The numerical solution after six full revolutions of the scheme using t = 3 x (CFL t = 3) are shown in Fig. (b) (c). One-dimensional cross-sections of the solution are given in Fig., benchmarked against the exact solution. There is a little oscillation for the WENO5 results using N = grid elements. A refined result removes the oscillation. 4.. Example 7, swirling flow A more severe test than rigid rotation is obtained by using a swirling and deforming flow field. Following [9], we take the velocity in the form a (x, y) = sin ( πx ) sin(πy) g(t), a (x, y) = sin ( πy) sin(πx) g(t). (57) 9

Table : Ex. 6, rigid body rotation with smooth initial condition. SL-WENO errors and convergence order at t = π, using t =.5h (CFL t =.5). m 4 8 6 3 4 8 6 3 L x error order L x error order SL-WENO3, first order Strang splitting.384e-3 4.733E-3 4.73E-4.69574 5.5597E-4.947 6.975E-5.7637.3849E-4.8789 4.6648E-6 3.7686 9.43786E-6 3.595 5.387E-7 3.994.3354E-6 3.576 SL-WENO5, second order Strang splitting 8.688E-4 7.75444E-4 4.47859E-5 4.65 5.5745E-5 3.798.6637E-6 4.7595.3869E-6 4.5455 5.557E-8 5.35 8.433E-8 4.895.5765E-9 4.34 3.38E-9 4.6793.8.8.8.6.6.6.4.4.4...5.5.5 y..5.5 x (a) Initial condition.5.5 y.5.5 x (b) WENO3 solution.5.5 y.5 x (c) WENO5 solution Figure : Ex. 6, rigid body rotation with a nonsmooth initial condition. (a) The initial condition and (b) SL-WENO3 and (c) SL-WENO5 solutions at t = π, using t = 3h (CFL t = 3), shown using point values (top) and a graphically smoothed contour plot (bottom).. This flow satisfies a = a = on the boundaries of the domain (, ) (, ). The function g(t) is used to introduce time dependence in the flow field, and in our first test we use g(t) = cos(πt/t ) on the time interval t T. The flow swirls in the clockwise direction, slows down, and reverses direction in such a way that the initial data is recovered at time T. We use T =.5 and the nonsmooth initial condition Fig. (a) from in the previous example. We remark that in [9], LeVeque worked over the unit square domain. Compared to his work, we have rescaled both the velocity field and g(t). Moreover, Qiu and Shu [] used a similar scaling over the domain ( π, π). The second order Strang splitting results are shown in Fig. for time step, t = 3 x. We also report crosssectional slices in Fig. 3, benchmarked against the exact solution. The initial data becomes quite deformed by time T/. The solution is very similar to that given in [9, ]. We remark that very similar results are obtained if one uses the Rankine-Hugoniot jump condition to define the trace velocity (48). As a second test using the swirling flow (57), we take g(t). We also rescale the problem to the unit square and

N =....8.8.8.8.6.6.6.6.4.4.4.4.......5.5 N =....5.5...5.5..8.8.8.8.6.6.6.6.4.4.4.4.......5.5 (a) x = + x/..5.5.5.5.5. (b) x =.5 + x/...5..5.5 (c) y =.35 + x/. (d) y =.5 + x/. Figure : Ex. 6, rigid body rotation with a nonsmooth initial condition. Cross-sections of the numerical solution at (a) x = + x/, (b) x =.5 + x/, (c) y =.35, and (d) y =.5 + x/. The true solution is also shown as a solid line, circles are results of SL-WENO3, and crosses are results of SL-WENO5. The top row uses N = grid elements and the bottom uses N =..8.8.8.6.6.6.4.4.4...5..5.5 (a) WENO3 solution at T.5.5.5 y x.5.5.5 y.5.5 y x (b) WENO5 solution at T.5 x (c) WENO5 solution at T/ Figure : Ex. 7, swirling flow. Solutions for (a) SL-WENO3 at T =.5, (b) SL-WENO5 at T, and (c) SL-WENO5 at T/ using second order Strang splitting and t = 3 x (CFL t = 3), shown using point values (top) and a graphically smoothed contour plot (bottom).....8.8.8.8.6.6.6.6.4.4.4.4.......5.5 (a) x = + x/....5.5. (b) x =.5 + x/..5.5 (c) y =.35 + x/..5.5 (d) y =.5 + x/. Figure 3: Ex. 7, swirling flow. Cross-sections of the numerical solution at (a) x = + x/, (b) x =.5+ x/, (c) y =.35, and (d) y =.5+ x/. The true solution is also shown as a solid line. Circles are results of WENO3, crosses are results of WENO5 apply the initial condition u(x, y, ) = if (x /) + (y /) <.4, otherwise. Fig. 4 shows the computed solution at time t =.5 using t = 3 x, so the CFL number is CFL t = 3. The level of

numerical diffusion is very low on this grid. SL-WENO3 SL-WENO5 Figure 4: Ex. 7, swirling flow (g(t) = ). SL-WENO3 and SL-WENO5 solutions at time t =.5 using t = 3 x (CFL t = 3) and x = /. Note the low level of numerical diffusion. 4.3. Example 8, -D Burgers equation The next example is a simple two dimensional Burgers equation with the initial condition u t + (u /) x + (u /) y =, x [, ], y [, ], t >, (58) u(x, y, ) = sin (πx) sin (πy) and periodic boundary conditions. The problem is solved using a second order Strang splitting in space. In Fig. 5 we present the SL-WENO5 solution obtained at time T =.5 with two different mesh spacings, 8 and 3 elements in each coordinate direction. The time step t is chosen to correspond to a CFL number of. One can easily see that, although shocks develop in the solution, they are well resolved and exhibit no spurious oscillations. The result is comparable to [, Fig. 4.5], although in that paper it appears that the solution has been plotted in reverse in both directions (and they show only one-quarter of what we plot here)..8.6.4..5 y.5.5 x.5 Figure 5: Ex. 8, a periodic -D Burgers equation. The solution at time T =.5 using t twice the CFL step is shown in profile and as contours using h = /8 and h = /3 for the two plots on the left and right, respectively. We now impose the more challenging initial condition used by Jiang and Tadmor [] involving the oblique data.5, x <.5, y <.5,.8, x >.5, y <.5, u(x, y, ) =., x <.5, y >.5,., x >.5, y >.5. We use no-flux boundary conditions. In Fig. 6 we present the solution obtained at time T =.5 with mesh spacing 8 elements in each coordinate direction. The time step t =.9 x is chosen to correspond to a CFL number of.7. The figure shows the control of spurious oscillations in this problem involving shock interaction.

...5.5.3.5.5.4.5.6.7.5.5.5.8.5 y.75 x.9.5.75.75.5.5.5.75 y.9 x.8.7.6.5.4.3.. Figure 6: Ex. 8, a Burgers problem subject to oblique initial data. The initial condition is similar to an example from [], and it is shown in profile and as contours using h = /8 for the two plots on the left. The solution at time T =. is on the right, with t being.7 of the CFL step. The contour plot has level lines. 4.4. Example 9, -D Buckley-Leverett equation The final example for scalar conservation law () uses the Buckley-Leverett flux function in each direction, fi (u) = u, u + ( u) and involves the interaction of shocks and rarefactions. dimensional Example 5. It is max( x, y) u (x) =.5 i =,, The initial condition is similar to (5) used in the one- for x.5 or y.5, for.5 x, y.4, otherwise. (59) We use m = grid elements and take a small nonzero constant in place of the strict minimal value zero. As one can observe in Fig. 7, the solution evolves cleanly..8.8.8.6.6.6.4.4.4....5.5.5.5.5.75.75.5.5.5.75.75.5.5.8.8.8.6.6.6.4.4.4....5.75.5.5.5.75.5.5.5.75.5.5.75.5.5.75.5.75.75.5.5.75 Figure 7: Ex. 9, -D Buckley-Leverett. An interaction of shocks and rarefactions, resulting from the evolution of the initial condition of two pulses given as the tensor product of (5). The SL-WENO5 results are shown at times,.,.,.3,.4, and.5. 3

5. Some numerical results related to plasma flow 5.. The Vlasov-Poisson (VP) system in one space dimension The well-known nondimensionalized Vlasov-Poisson (VP) system in one space dimension is f t + v f x + E(t, x) f v =, (6) E(t, x) = φ x, φ xx (t, x) = ρ(t, x), (6) where x and v are the coordinates in the phase space (x, v) R R, E is the electric field, φ is the self-consistent electrostatic potential, and f (t, x, v) is the probability distribution function describing the probability of finding a particle with velocity v at position x at time t. The probability distribution function couples to long ranges fields via the relative charge density ρ. For a periodic problem in x [, L x ], ρ(t, x) = R f (t, x, v) dv ρ, ρ = Lx L x R f (, x, v) dv dx, (6) where we take the limit of uniformly distributed, infinitely massive ions in the background. We recall three classical conserved quantities: (a) Preservation of the L p d norm, for p <, f (t, x, v) p dx dv = ; dt (b) Preservation of the energy, (c) Preservation of the entropy, d ( dt d dt f (t, x, v) v dx dv + ) E(t, x) dx = ; f (t, x, v) log( f (t, x, v)) dx dv =. We solve a periodic VP system by taking f periodic in x over a period [, L x ]. We also restrict the velocity to [ V max, V max ] for some V max >, so the phase space domain is [, L x ] [ Vmax, Vmax]. As is commonly done, we use Strang splitting to solve the problem (for details, see, e.g., [, 3]), which requires solution of f t + (v f ) x = and f t + (E f ) v =, both of which have constant advection. Recall that in this case, our scheme is very similar to the scheme of Qiu and Shu [] (only the nonlinear weighting technique differs). We report results for our fifth order SL-WENO5 scheme. A fast Fourier transform is used to solve the Poisson equation since f (t, x, v) is periodic in space. 5... Example, Landau damping Consider the example of Landau damping for the VP system with the initial condition f (t =, x, v) = ( ) ( v ) + α cos(kx) exp. (63) π For weak damping, take α =. and k =.5. We solve the system using L x = π/k = 4π and V max = 4π. We use a rectangular mesh of N x = 56 and N v = 5 elements, and we use the time step t = x = L x /N x. The correct rate of damping of the electric field is observed in Fig. 8, benchmarked with the theoretical slope γ =.533. The largest variation in the conserved quantities, the L -norm, L -norm, energy, and entropy are. 3, 5.7 7, 4.5 6, and. 6, respectively. For strong Landau damping of the VP system, take the initial condition (63) now with α =.5 and k =.5. We use N x = 8, N v = 56, L x = π/k = 4π, V max = π, and t = x. Results appear in Fig. 9. We also provide the time evolution of the first three Fourier modes of the electric field in Fig.. Results show damping rates of the electric field that agree with published values. All of our results are comparable to those in, e.g., [, 3, 4]. 4

3 4 5 6 4 4 6 8 6 8 4 4 6 6 Log of L -norm of electric field. 8 3 4 5 6 Log of L -norm of electric field. Figure 8: Ex., Weak Landau damping: time evolution of the electric field in L (left) and L (right). 3 3 4 4 5 5 6 6 7 7 3 4 5 6 Log of L -norm of electric field. 8 3 4 5 6 Log of L -norm of electric field. Phase space plot at T = 3. Figure 9: Ex., Strong Landau damping: time evolution of the electric field in L (left), L (middle) and phase space plot (right at time T = 3). 5 4 3 γ =.8 γ =.584 γ =.8 γ =.99 γ =.368 γ =.845 4 4 6 6 8 8 3 4 3 4 5 6 Amplitude of first mode. 3 4 5 6 Amplitude of second mode. 3 4 5 6 Amplitude of third mode. Figure : Ex., Strong Landau damping: time evolution of the amplitude of the first three modes of the electric field. 5... Example, Two stream instabilities Consider the first symmetric two stream instability with the unstable initial condition [ ( cos(kx) + cos(3kx) f (t =, x, v) = 7 + α + cos(kx) )]( + 5v ) exp ( v ), (64) π. where α =., and k =.5. We use L x = 4π, N x = 56, N v = 56, V max = 5, and t = x. The phase plots at times t = 3, t = 4 (as in [4]), and t = 53 (as in []) are shown in Fig.. The results appear to show less numerical diffusion than the results in [4, ]. Now consider the second symmetric two stream instability with initial condition f (t =, x, v) = ( ) [ +.5 cos(kx) exp ( v th π (v u) v th ) + exp ( (v + u) v th )], (65) where u =.99, v th =.3 and k = /3. We use L x = 3π, N x = 4, N v = 5, V max = 5, and t = x. The phase plot is shown in Fig.. The result compares favorably with that in []. 5

t = 3 t = 4 t = 53 Figure : Ex., Phase space plots of the first two stream instability using initial condition (64) at t = 3, t = 4, and t = 53. Figure : Ex., Phase space plot of the second two stream instability using initial condition (65) at time t = 7. 5.. Example, The guiding-center (GC) model A computationally more challenging Vlasov-type model of plasmas is given by the guiding-center (GC) model [3, 4, 4], because the advection is not constant within the Strang splitting algorithm. The model is ρ t + E ρ =, (66) E = φ, φ = ρ, (67) where ρ(t, x, y) is the particle density, E(t, x, y) = (E, E ) is the electric field, φ(t, x, y) is the electrostatic potential, and E(t, x, y) = (E, E ). This model preserves the L - and L -norms of ρ as well as the energy, the L -norm of E. We pose a periodic problem on the domain [, 4π] [, π] by using the periodic initial condition ρ(t =, x, y) = sin(y) + ɛ cos(kx), where ɛ =.5 and k =.5. We solve the transport problem using both SL-WENO3 and SL-WENO5 on various meshes with t =., and we solve for the electric field using the fast Fourier transform on a 64 64 grid....4.6.8...4.6.8....3.4.5.6.7.8.9. 3 4 5 6 SL-WENO3, N x = N y = 8. 3 4 5 6 SL-WENO5, N x = N y = 8. 3 4 5 6 SL-WENO5, N x = N y = 56 Figure 3: Ex., Guiding center model: time evolution of the (log of the) energy E L for two resolutions using SL-WENO3 or SL-WENO5. The electric field E is computed only on a 64 64 grid, and so some oscillation appears in the SL-WENO5 results. 6