Abstract
A high order time stepping applied to spatial discretizations provided by the method of lines for hyperbolic conservations laws is presented. This procedure is related to the one proposed in Qiu and Shu (SIAM J Sci Comput 24(6):2185–2198, 2003) for numerically solving hyperbolic conservation laws. Both methods are based on the conversion of time derivatives to spatial derivatives through a Lax–Wendroff-type procedure, also known as Cauchy–Kovalevskaya process. The original approach in Qiu and Shu (2003) uses the exact expressions of the fluxes and their derivatives whereas the new procedure computes suitable finite difference approximations of them ensuring arbitrarily high order accuracy both in space and time as the original technique does, with a much simpler implementation and generically better performance, since only flux evaluations are required and no symbolic computations of flux derivatives are needed.
Similar content being viewed by others
References
Donat, R., Marquina, A.: Capturing shock reflections: an improved flux formula. J. Comput. Phys. 125, 42–58 (1996)
Faá di Bruno, C.F.: Note sur un nouvelle formule de calcul différentiel. Quart. J. Math. 1, 359–360 (1857)
Hairer, E., Nørsett, S.P., Wanner, G.: Solving Ordinary Differential Equations I, 2nd edn. Springer, Berlin (1993)
Harten, A., Engquist, B., Osher, S., Chakravarthy, S.R.: Uniformly high order accurate essentially non-oscillatory schemes, III. J. Comput. Phys. 71(2), 231–303 (1987)
Hickernell, F.J., Yang, S.: Explicit hermite interpolation polynomials via the cycle index with applications. Int. J. Numer. Anal. Comp. 5(3), 457–465 (2008)
Jiang, G.S., Shu, C.W.: Efficient implementation of weighted ENO schemes. J. Comput. Phys. 126, 202–228 (1996)
Qiu, J., Shu, C.W.: Finite difference WENO schemes with Lax–Wendroff-type time discretizations. SIAM J. Sci. Comput. 24(6), 2185–2198 (2003)
Shu, C.W., Osher, S.: Efficient implementation of essentially non-oscillatory shock-capturing schemes. J. Comput. Phys. 77, 439–471 (1988)
Shu, C.W., Osher, S.: Efficient implementation of essentially non-oscillatory shock-capturing schemes, II. J. Comput. Phys. 83(1), 32–78 (1989)
Tiburce Abadie, J.C.F.: Sur la différentiation des fonctions de fonctions Nouvelles annales de mathématiques. Journal des candidats aux écoles polytechnique et normale 9(1), 119–125 (1850)
Tiburce Abadie, J.C.F.: Sur la différentiation des fonctions de fonctions. Séries de Burmann, de Lagrange, de Wronski. Nouvelles annales de mathématiques. Journal des candidats aux écoles polytechnique et normale 11(1), 376–383 (1852)
Toro, E.F.: Riemann Solvers and Numerical Methods for Fluid Dynamics, 3rd edn. Springer, Berlin (2009)
You, X., Zhao, J., Yang, H., Fang, Y., Wu, X.: Order conditions for RKN methods solving general second-order oscillatory systems. Numer. Algor. 66, 147–176 (2014)
Acknowledgments
This research was partially supported by Spanish MINECO grants MTM 2011-22741 and MTM 2014-54388-P.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1
For the sake of completeness, we prove Theorem 1 in this appendix, for we have not found satisfactory references for its proof.
The following result is easily established.
Lemma 1
Assume \(T:\mathbb R^n \rightarrow \mathcal {M}(s, n)\) is differentiable (equivalently, \(T_{i_{1},\dots ,i_{i_s}}\) are differentiable) and that \(A:\mathbb R\rightarrow \mathbb R^{n\times s}\), \(u:\mathbb {R}\rightarrow \mathbb {R}^n\) are also differentiable. Then, \(\forall x\in \mathbb {R}\)
where we have used the notation \(d_j A(x)\) for the \(n\times s\) matrix given by the columns:
We introduce some further notation for the proof of Theorem 1. For \(s\in \mathbb N\), we denote
We denote also
for \(1\le j<s\), and \(S_s\) that maps \((0,\dots ,0,1)\in \mathbb N^s\) to \((0,\dots ,0,1)\in \mathbb N^{s+1}\).
Proof
(of Theorem 1) We use induction on s, the case \(s=1\) being the chain rule. By the induction hypothesis for s and Lemma 1 we deduce:
Now,
where P is a permutation matrix corresponding to the transposition of j and \(\sum _{l\le k} m_l\), with \(\sum _{l< k} m_l < j \le \sum _{l\le k} m_l\) and E is a diagonal matrix with \(k+1\) in the \(\sum _{l\le k} m_l\) entry and 1 in the rest.
By the symmetry of \(f^{(|m|)}\), if \(\sum _{l< k} m_l < j \le \sum _{l\le k} m_l\)
therefore, collecting identical terms,
can be written as
where we point out that in the last expression the only terms that actually appear are those for which \(m_k>0\). Since \(m_k-1=(S_{k}(m))_{k}\), by collecting the terms for m, k such that \(S_k(m)=\widehat{m}\), (25) can be written as
where
For \(k\in \{1,\dots ,s\}\), and \( m\in \mathcal {P}_{s,k}\), such that \(\widehat{m}=S_k (m)\), i.e., \(\widehat{m}_i=m_i\), \(i\ne k, k+1\), \(\widehat{m}_{k}=m_{k}-1\), \(\widehat{m}_{k+1}=m_{k+1}+1\), we deduce:
Let \(\widehat{m}=S_k (m)\) with \(k<s\), then one has \(\widehat{m}_{s+1}=0\). The only element \(m\in \mathcal {P}_{s,s}\) is \((0,\dots ,0,1)\in \mathbb N^s\) and \(S_s(m)=(0,\dots ,0,1)\in \mathbb N^{s+1}\). Therefore
On the other hand, if \(\widehat{m}_1\ne 0\), then:
where the last equality holds since, as before, we have \(\widehat{m}_{s+1}=0\). Then, regardless of \(\widehat{m}_1\), (28) and (29) yield for \(\widehat{m}\in \mathcal {P}_{s+1}\)
since \(\widehat{m}\in \mathcal {P}_{s+1}\) means \(\sum _{k=1}^{s+1} \widehat{m}_{k}k=s+1\). We deduce from (26), (27) and (30) that
which concludes the proof by induction. \(\square \)
Appendix 2
We include here the proof of Proposition 1.
Proof
For the accuracy analysis of the local truncation error, we take
We now use induction on \(k=1,\dots ,R\) to prove that
for continuously differentiable functions \(c^k\). The result in (32) for \(k=1\) immediately follows from the fact that WENO finite differences applied to the exact data in (31) yield approximations
From the definition in (11) we deduce
thus proving the case \(k=1\), by taking \(c^1=-\widetilde{c}^1\) if \(2r=R+1\) or \(c^1=0\) if \(2r>R+1\).
Assume now the result to hold for k and aim to prove it for \(k+1\le R\). For this purpose we first prove the following estimate:
for continuously differentiable functions \(a^k, b^k\).
From (13) and (10), with \(q=\left\lceil \frac{R-k}{2}\right\rceil \) and the notation \(v=T_k[h, i, n]\), for fixed i, n:
Now, Faà di Bruno’s formula (7) and the fact that (12) implies \(v^{(p)}(0)=\widetilde{u}^{(p)}_{i,n}\), \(p=1,\dots ,k\), yields:
where we remark that \(D^{s} v (0)\) is an \(m\times |s|\) matrix formed by the columns \(\frac{\widetilde{u}_{i,n}^{(p)}}{p!}\) appearing in the previous expression. Since \(v=T_k[h, i, n]\) is a k-th degree polynomial, \(v^{(j)}=0\) for \(j>k\). Therefore, in the same fashion as before,
where \(\mathcal {P}^{k}_{k+2q}=\{s\in \mathcal {P}_{k+2q} / s_j=0, j>k\}\).
On the other hand, another application of Faà di Bruno’s formula to f(u), yields:
We have \( v(0)=\widetilde{u}_{i,n}^{(0)}=u(x_i, t_n)\) and, by induction,
For any \(s\in \mathcal {P}_{k}\), \(D^{s}v(0)\) is a \(m\times |s|\) matrix, and for any \(\mu \in \{1,\dots ,m\}\) and \(\nu \in \{1,\dots ,|s|\}\), we have from (8), (35), (37) and (38) that
for some \(l=l(s, \nu )\le k\). From the definition of the set \(\mathcal {P}_k\), the only k-tuple \(s\in \mathcal {P}_{k}\) such that \(s_k\ne 0\) is \(s^*=(0,\dots ,1)\). Therefore, from the definition of the operator \(D^s\) in (8) (or (37) (35)), the only \(s\in \mathcal {P}_{k}\), \(\nu \le |s|\), such that \(l(s, \nu )=k\) is \(s^*\), \(\nu =|s^*|=1\). We deduce from (39) that
We deduce from (39), (9), (35), (37), (40) that
where we have collected the order \(R-k+1\) leading terms originating from the first term associated to the k-tuple \(s^*=(0,\dots ,0,1)\). With a similar argument, taking into account that \(k+1\le R\), we deduce from (36) and (39) that
Now, (34), (37), (43) and (42) yield:
Since \(2q= R-k\) or \(2q= R-k+1\), we deduce (33) with
To prove (32) for \(k+1\), we apply the linear operator \(-\varDelta _h^{1,q}\), for \(q=\left\lceil \frac{R-k}{2}\right\rceil \), to both sides of the already established equality (33), taking into account (10) and that \(2q\ge R-k\):
where
The local truncation error is given by
where \(\widetilde{u}_{i,n}^{(l)}\) are computed from \(\widetilde{u}_{i,n}^{(0)}=u(x_i, t_n)\). Taylor expansion of the first term and the estimates in (32) yield that the local truncation error is:
since \(\varDelta t\) is proportional to h. \(\square \)
Rights and permissions
About this article
Cite this article
Zorío, D., Baeza, A. & Mulet, P. An Approximate Lax–Wendroff-Type Procedure for High Order Accurate Schemes for Hyperbolic Conservation Laws. J Sci Comput 71, 246–273 (2017). https://doi.org/10.1007/s10915-016-0298-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-016-0298-2