C finite element time discretization of 4 th order Friedhelm Schieweck

advertisement
C 1 finite element time discretization of 4 th order
Friedhelm Schieweck1
1 Institut
für Analysis und Numerik
Otto-von-Guericke-Universität Magdeburg
European Finite Element Fair (EFEF)
Warwick, May, 20 - 21, 2010
C 1 finite element time discretization
1
Problem and FE space
problem :
Find u : [0, T ] → Rd such that
u′ (t) = F (t, u(t))
u(0) = u0
C 1 finite element time discretization
2
Problem and FE space
problem :
Find u : [0, T ] → Rd such that
u′ (t) = F (t, u(t))
u(0) = u0
FE mesh :
I := [0, T ] =
N
[
In ,
In := [tn−1 , tn ] ,
τn := tn − tn−1
n=1
C 1 finite element time discretization
2
Problem and FE space
problem :
Find u : [0, T ] → Rd such that
u′ (t) = F (t, u(t))
u(0) = u0
FE mesh :
I := [0, T ] =
N
[
In ,
In := [tn−1 , tn ] ,
τn := tn − tn−1
n=1
C 1 FE space :
Xτ := {uτ ∈ C 1 (I, Rd ) : uτ In ∈ P3 (In , Rd ) ∀ n = 1, . . . , N }
C 1 finite element time discretization
2
Problem and FE space
problem :
Find u : [0, T ] → Rd such that
u′ (t) = F (t, u(t))
u(0) = u0
FE mesh :
I := [0, T ] =
N
[
In ,
In := [tn−1 , tn ] ,
τn := tn − tn−1
n=1
C 1 FE space :
Xτ := {uτ ∈ C 1 (I, Rd ) : uτ In ∈ P3 (In , Rd ) ∀ n = 1, . . . , N }
reference transformation :
t = ωn (t̂) = tn−1/2 +
C 1 finite element time discretization
τn
2 t̂ ,
ωn : [−1, 1] → In
û(t̂) := u(t)
⇒
û′ (t̂) =
τn ′
2 u (t)
2
Hermite basis functions
1
C basis functions on [−1,1]
1
φ
φ
3
0.8
1
0.6
φ
0.4
4
0.2
0
φ2
−0.2
−0.4
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time t
ref
û(t̂) = û(1) φ1 (t̂) + û′ (1) φ2 (t̂) + û(−1) φ3 (t̂) + û′ (−1) φ4 (t̂)
|{z}
| {z }
| {z }
| {z }
U1
C 1 finite element time discretization
U2
U3
U4
3
Hermite basis functions
1
C basis functions on [−1,1]
1
φ
φ
3
0.8
1
0.6
φ
0.4
4
0.2
0
φ2
−0.2
−0.4
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
time t
ref
û(t̂) = û(1) φ1 (t̂) + û′ (1) φ2 (t̂) + û(−1) φ3 (t̂) + û′ (−1) φ4 (t̂)
|{z}
| {z }
| {z }
| {z }
U1
U2
U3
U4
thus, for uτ In ∈ P(In , Rd ) , it holds:
uτ (t) = uτ (tn ) φ1 (t) + τ2n u′τ (tn ) φ2 (t) + uτ (tn−1 ) φ3 (t) + τ2n u′τ (tn−1 ) φ4 (t)
| {z }
| {z }
| {z }
| {z }
U1
C 1 finite element time discretization
U2
U3
U4
3
Computation of the coefficients U 1 , . . . , U 4
task: compute the 4 coefficients Unj of uτ on a new In
C 1 finite element time discretization
4
Computation of the coefficients U 1 , . . . , U 4
task: compute the 4 coefficients Unj of uτ on a new In
by the C 1 -continuity it holds for n > 1 :
1
Un3 = uτ (tn−1 ) = Un−1
2
4
τn Un
= u′τ (tn−1 ) =
2
2
τn−1 Un−1
and for n = 1 :
U13 = u0 ,
⇒
2
4
τn U1
= u′ (t0 ) = F (t0 , u0 )
Un3 and Un4 are known !!
C 1 finite element time discretization
4
Computation of the coefficients U 1 , . . . , U 4
task: compute the 4 coefficients Unj of uτ on a new In
by the C 1 -continuity it holds for n > 1 :
1
Un3 = uτ (tn−1 ) = Un−1
2
4
τn Un
= u′τ (tn−1 ) =
2
2
τn−1 Un−1
and for n = 1 :
U13 = u0 ,
⇒
2
4
τn U1
= u′ (t0 ) = F (t0 , u0 )
Un3 and Un4 are known !!
Un2 depends explicitly on Un1 :
2
2
τn Un
= u′τ (tn )=F (tn , Un1 )
C 1 finite element time discretization
collocation at tn
4
nested iteration for Un1
conclusion :
we need only one more equation to determine Un1
this is the variational test equation :
Z
Z
′
uτ (t) · 1 dt =
πn F t, uτ (t) · 1 dt
In
where
In
4
X
πn F t, uτ (t) :=
F tn,k , uτ (tn,k ) Lk (t)
k=1
with
tn,k := ωn (t̂k ) ,
t̂k ∈ [−1, 1] 4 Gauss-Lobatto-points
and
L̂k ∈ P3
are Lagrange basis functions w.r.t.
C 1 finite element time discretization
t̂k
5
The final scheme
solve for Un1 by a quasi-Newton method :
Un1 − Un3 = g1 Un4 + g4
+ τn













τn
|2
F (tn , Un1 )
{z
}
=Un2
4
4
X
X
cj,2 Unj + g3 F tn,3 ,
g2 F tn,2 ,
cj,3 Unj
C 1 finite element time discretization
j=1
|
j=1
{z
with Un1
}
|
{z
with Un1











} 

6
Theoretical results
Theorem (Sch. ’10)
Assume V := Rd and
kF (t, u1 ) − F (t, u2 )kV ≤ Lku1 − u2 kV
Lτ ≤ δ0 sufficiently small
∀ u 1 , u2 ∈ V
( τ := maxn τn )
Then, for our method,
a unique solution uτ ∈ Xτ exists
it holds the optimal error estimate
ku − uτ kC(In ,V ) ≤ C max τ4k kd4t ukC(Ik ,V )
1≤k≤n
where C = C̃e2Ltn−1 .
Furthermore, the method is A-stable.
Remark: generalization to arbitrary order is possible
C 1 finite element time discretization
7
Simple numerical example
problem : Find u : [0, 1] → R2×2 such that
dt u(t) = Au(t) ∀ t ∈ [0, 1],
u(0) = u0 ,
−0.5 0.1
2
A=
, u0 =
10 −50
1.6
eigenvalues of A : λ1 ≈ −0.48, λ2 ≈ −50 ⇒ relatively stiff
we use our method with τn = τ ∀ n
error norm :
ku − uτ k∞ := max ku(tn ) − uτ (tn )k
1≤n≤N
C 1 finite element time discretization
8
Plot of the components of the solution: τ =
1
10
solution u(t) : Ntime = 10 emax = 1.17e−001
2
u1
ex
1.8
u2
ex
u1
h
1.6
u2
h
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
time t
C 1 finite element time discretization
9
Plot of the components of the solution: τ =
1
20
solution u(t) : Ntime = 20 emax = 1.87e−002
2
u1
ex
1.8
u2
ex
u1
h
1.6
u2
h
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
time t
C 1 finite element time discretization
10
Error norms
ku − uτ k∞ := max ku(tn ) − uτ (tn )k
1≤n≤N
τ
1/10
1/20
1/40
1/80
1/160
1/320
new method
ku − uτ k∞
EOC
1.170 e-01
1.875 e-02 2.6413
1.592 e-03 3.5583
9.301 e-05 4.0968
5.858 e-06 3.9891
3.645 e-07 4.0063
C 1 finite element time discretization
dG(1)
ku − uτ k∞ EOC
5.655 e-02
8.233 e-02 -0.542
5.191 e-02 0.666
1.829 e-02 1.505
5.713 e-03 1.679
1.594 e-03 1.842
11
Download