High order time stepping and local time stepping for first order wave

advertisement
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
Download