High order time stepping and local time stepping for first order wave problems Marc Duruflé1 Sébastien Imperiale2 1 Project Bacchus INRIA Bordeaux Sud-Ouest 2 Project POems INRIA Rocquencourt October 25, 2012 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 1/1 Bibliography and motivation Case of second-order hyperbolic problems treated by : Jean-Charles Gilbert and Patrick Joly Higher order time stepping for second order hyperbolic problems and optimal CFL conditions, Julien Diaz and Marcus Grote, Energy Conserving Explicit Local Time-Stepping for Second-Order Wave Equations For first-order hyperbolic problems, second-order time scheme : Serge Piperno Symplectic local time-stepping in non-dissipative DGTD methods applied to wave propagation problems Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 2/1 Model problem First-order hyperbolic problem : d X ∂U ∂U + Ai (x) = f (x, t) ∂t ∂xi i=1 with Ai (x) symmetric matrices. Use of Local Discontinuous formulation with centered fluxes : Z K ∂U ϕ dx − ∂t Z X d K i=1 ∂ϕ Ai (x) U dx + ∂xi Z ( d X Ai (x)ni ){U}ϕ dx ∂K i=1 Z f (x, t)ϕ dx = K Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 3/1 Model problem First-order hyperbolic problem : d X ∂U ∂U + Ai (x) = f (x, t) ∂t ∂xi i=1 with Ai (x) symmetric matrices. Evolution problem : dU + Ah U = Fh ∂t With conservative boundary conditions, Ah is skew-symmetric. Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 3/1 Modified equation approach Leap-frog scheme : U n+1 − U n−1 + Ah U n = Fhn , 2∆t Stability condition of this scheme : ∆t||Ah ||2 ≤ 1 In absence of source, the exact solution is given by U n+1 − U n−1 = i sin(i∆tAh )U n 2 Taylor expansion of the sinus provide the following scheme : m h X U n+1 − U n−1 (∆t Ah )2q+1 i n + ∆t Ah + U = 0. 2 (2q + 1)! q=1 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 4/1 Stability condition of modified equation Let us denote the polynomial : τm (x) = x + m X q=1 (−1)q x 2q+1 (2q + 1)! Stability is obtained if |τm (x)| ≤ 1 ⇔ x ∈ [0, αm ] Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m even, αm ≤ Duruflé, Imperiale (INRIA) 3π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m even, αm ≤ Duruflé, Imperiale (INRIA) 3π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m even, αm ≤ Duruflé, Imperiale (INRIA) 3π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m even, αm ≤ Duruflé, Imperiale (INRIA) 3π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m odd, αm ≤ Duruflé, Imperiale (INRIA) π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m odd, αm ≤ Duruflé, Imperiale (INRIA) π 2 High-order local time stepping October 25, 2012 5/1 Stability condition of modified equation For m odd, αm ≤ Duruflé, Imperiale (INRIA) π 2 High-order local time stepping October 25, 2012 5/1 Improvement of modified equation Higher-order terms are added m r i U n+1 − U n−1 h X (∆t Ah )2q+1 i n h X + U + αq (∆tAh )2q+1 U n = 0 2 (2q + 1)! q=0 q=m+1 This scheme is written under the form U n+1 − U n−1 + 2i T2r +1 (i∆tAh )U n = 0 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 6/1 Improvement of modified equation Higher-order terms are added m r i U n+1 − U n−1 h X (∆t Ah )2q+1 i n h X + U + αq (∆tAh )2q+1 U n = 0 2 (2q + 1)! q=0 q=m+1 This scheme is written under the form U n+1 − U n−1 + 2i T2r +1 (i∆tAh )U n = 0 Optimal polynomial for m = 0, and nearly optimal for m = 1 1 Cheb (−1)r ξrm x T T2rm+1 (x) = ξr 2r +1 (2r + 1) where T2rCheb +1 are Chebyshev polynomials of the first kind and ξr0 = 1, Duruflé, Imperiale (INRIA) ξr1 = 2r + 1 p , 2 r (r + 1) High-order local time stepping October 25, 2012 6/1 Improvement of modified equation Optimal polynomial for m = 0, and nearly optimal for m = 1 T2rm+1 (x) = 1 Cheb (−1)r ξrm x T ξr 2r +1 (2r + 1) where T2rCheb +1 are Chebyshev polynomials of the first kind and ξr0 = 1, ξr1 = 2r + 1 p , 2 r (r + 1) Stability condition : ∆t||Ah ||2 ≤ 2r + 1 ξrm with ξr1 = 1 + O( Duruflé, Imperiale (INRIA) 1 ) r2 High-order local time stepping October 25, 2012 6/1 Chebyshev reccurence Use of Horner algorithm leads to numerical instabilities for large values of r Use of Chebyshev reccurence leads to stable algorithms : Q0 = U n ξr ∆tAh U n 2r + 1 2ξr Qn = ∆tAh Qn−1 + Qn−2 2r + 1 Q1 = ··· U n+1 = U n−1 − Duruflé, Imperiale (INRIA) 2 Q2r +1 ξr High-order local time stepping October 25, 2012 7/1 Two-level time stepping Computational domain split into a “fine region” and a “coarse region” Ph : projector onto the fine region m U n+1 − U n−1 h X (∆t Ah )2q+1 i n + U 2 (2q + 1)! q=0 +[ r X αq (∆tAh Ph )2q ] ∆tAh U n = 0, q=m+1 Presence of Ph ⇒ terms of second sum are computed only on the “fine region” Skew-symmetry of the matrices Ah Ph Ah · · · Ah Ph Ah ⇒ stability of this scheme Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 8/1 Stable two-level algorithm For m = 0, it is equivalent to the following scheme (obtained by reproducing the strategy of Diaz and Grote) : n wh = Ah (I − Ph )U Q0 = U n ∆t (wh + Ah Ph Q0 ) Q = − 1 2r + 1 For k = 1, 2r 2∆t (Ah Ph Qk + wδk even ) Qk+1 = Qk−1 − 2r + 1 End For n+1 U = U n−1 + 2Q2r +1 Stable algorithm even for large values of r Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 9/1 Multilevel algorithm Domain split into hierarchical subdomains [ [ Ω = Ωi = Ke with Ω ⊃ Ω1 ⊃ Ω2 · · · ⊃ Ωr Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 10 / 1 Multilevel algorithm For each element, a nominal time step is computed ∆te = Duruflé, Imperiale (INRIA) 2r + 1 ξrm ||Pe Ah Pe ||2 High-order local time stepping October 25, 2012 10 / 1 Multilevel algorithm by considering only direct neighbors of each element Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 10 / 1 Multilevel algorithm Global time step ∆t is chosen by the user, then a level i is affected to each element with respect to the rule : if Duruflé, Imperiale (INRIA) ∆te ≤ ξim ∆t , 2i + 1 then High-order local time stepping Ke ∈ Ωi . October 25, 2012 10 / 1 Multilevel algorithm We consider the following time scheme U n+1 − U n−1 2∆t +Ah U n + ∆t 2 Ah P1 Ah P1 Ah U n +∆t 4 Ah P1 Ah P2 Ah P2 Ah P1 Ah U n +∆t 6 Ah P1 Ah P2 Ah P3 Ah P3 Ah P2 Ah P1 Ah U n + · · · = 0 where Pk are diagonal matrices : 0 βk · · · · · · β1 · · · k Pk = ··· ··· ··· · · · βkr with βkm = 0, ∀m < k Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 10 / 1 Multilevel algorithm k If we write the expansion of optimal polynomial τopt (X ) as : k τopt (X ) = X + γ1k X 3 + γ2k X 5 + · · · + γkk X 2k+1 Coefficients βkm are chosen to coincide with these polynomials for each level For k = 1, r For m = 1, k-1 βkm = 0 End For For m = k, r p βkm = γkm For n = 1, k-1 βkm = βkm /βnm End For End For End For Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 10 / 1 Multilevel algorithm Use of Horner algorithm : Q0 = ∆tAh U n Q1 = ∆tAh P1 Q0 Q2 = ∆tAh P2 Q1 ··· Qr = ∆tAh Pr Qr −1 Qr −1 = Qr −1 + ∆tAh Pr Qr Qr −2 = Qr −2 + ∆tAh Pr −1 Qr −1 ··· Q0 = Q0 + ∆tAh P1 Q1 U n+1 = U n−1 − 2Q0 unstable due to round-off errors when r ≥ 14. Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 11 / 1 2-D numerical results We consider wave equation Ai = 0 ei ei∗ 0 and Neumann boundary conditions so that Ah is skew-symmetric Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results Box pierced with two small holes Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results Solution obtained for t = 2 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results Solution obtained for t = 4 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results Solution obtained for t = 6 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results Solution obtained for t = 8 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results ∆tmax = 0.01036, ∆tmin = 0.000737 ∆tmax Ratio = 14.1 ∆tmin Computational time with optimized fourth order (∆t = 0.005): 767s Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 2-D numerical results ∆tmax = 0.01036, ∆tmin = 0.000737 ∆tmax Ratio = 14.1 ∆tmin Computational time with optimized fourth order (∆t = 0.005): 767s Fourth-order local time stepping with the following repartition : Level Number of elements 1 1024 2 0 3 0 4 0 5 0 6 0 7 16 8 4 L2 error for t = 10 : 7.78e-6 Computational time (∆t = 0.01): 177s Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 12 / 1 3-D numerical results Scattering by a satellite Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Mesh used for the simulations Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Solution obtained for t = 0.1 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Solution obtained for t = 0.2 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Solution obtained for t = 0.3 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Solution obtained for t = 0.4 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results Solution obtained for t = 0.5 Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results ∆tmax = 1.177e − 3, ∆tmax = 81.6 Ratio ∆tmin ∆tmin = 1.442e − 5 Computational time with standard leap frog (∆t = 1e − 5): 63.4h Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1 3-D numerical results ∆tmax = 1.177e − 3, ∆tmax Ratio = 81.6 ∆tmin ∆tmin = 1.442e − 5 Computational time with standard leap frog (∆t = 1e − 5): 63.4h Second-order local time stepping with the following repartition : Level Number of elements 1 64468 2 7629 3 867 4 35 5 3 6 0 7 0 8 3 9 2 10 1 L2 error for t = 0.5 : 2.31e-3 Computational time (∆t = 2.5e − 4) : 9.48h Duruflé, Imperiale (INRIA) High-order local time stepping October 25, 2012 13 / 1