The energy based discontinuous Galerkin method
Daniel Appelö Applied Mathematics University of Colorado, Boulder
The energy based discontinuous Galerkin method Daniel Appel Applied - - PowerPoint PPT Presentation
The energy based discontinuous Galerkin method Daniel Appel Applied Mathematics University of Colorado , Boulder Outline Applications / interests Why second order? Why energy based? Methods Contributors Thomas Hagstrom ,
The energy based discontinuous Galerkin method
Daniel Appelö Applied Mathematics University of Colorado, Boulder
ICERM 2018
Please Ask Questions Throughout
Contributors Thomas Hagstrom, Southern Methodist U. Fatemeh Pourahmadian, CU, Boulder. Olof Runborg, Royal Inst. of Technology. Siyang Wang, Chalmers Inst. of Technology.
ICERM 2018
balance of force and stress. Symmetric tensors.
with force-stress and couple-stress balance.
rotations.
1 2 3 4 5 6 1 2 3 4 5 6
Systems of wave equations (dispersive)
ICERM 2018
geometrically flexible (high order dG with upwind fluxes).
In particular micro models described in terms of (discrete) energy balance (Heterogenous Multiscale Models).
dispersive and non-linear effects.
Maxwell / acoustic cell problems.
multi-level algorithms in UQ, inverse problems and frequency domain solvers.
ICERM 2018
count and those who cannot… ” .
as 3 derivative matrices (although for complex materials the saving may be less).
upwind fluxes for second order formulations.
ICERM 2018
Plan:
ICERM 2018
E(t) =
1 2 ⏐ ⏐ ⏐ ⏐ ∂u ∂t ⏐ ⏐ ⏐ ⏐
2
+ G(u, ∇u, x).
The energy we consider is a non-negative functional of the kinetic and potential energy density. For example:
ICERM 2018
E(t) =
1 2 ⏐ ⏐ ⏐ ⏐ ∂u ∂t ⏐ ⏐ ⏐ ⏐
2
+ G(u, ∇u, x).
The energy we consider is a non-negative functional of the kinetic and potential energy density. For example: The equations we treat result from the Euler -Lagrange equations derived from the action principle associated with the Lagrangian
2
∂t
ICERM 2018
The Euler-Lagrange equations are
∂2ui ∂t2 =
∂ ∂xk ∂G ∂ui,k
∂ui + fi,
∂t − ∂vi ∂t −
∂ ∂xk ∂G ∂ui,k
∂ui = fi, ∂ui ∂t − vi = 0,
We prefer to evolve “displacement” and “velocity”
ICERM 2018
The Euler-Lagrange equations are
∂2ui ∂t2 =
∂ ∂xk ∂G ∂ui,k
∂ui + fi,
d dt
1 2|v|2 + G =
v · f +
vi ∂G ∂ui,k nk, .
∂t − ∂vi ∂t −
∂ ∂xk ∂G ∂ui,k
∂ui = fi, ∂ui ∂t − vi = 0,
We prefer to evolve “displacement” and “velocity” Seek methods that automagically satisfies
ICERM 2018
∂t − ∂vi ∂t −
∂ ∂xk ∂G ∂ui,k
∂ui = fi,
ICERM 2018
∂t − ∂vi ∂t −
∂ ∂xk ∂G ∂ui,k
∂ui = fi,
What about the displacement equation?
∂ui ∂t − vi = 0,
ICERM 2018
∂t − ∂vi ∂t −
∂ ∂xk ∂G ∂ui,k
∂ui = fi,
d dt
1 2|v|2 + G =
v · f +
vi ∂G ∂ui,k nk, .
Note that we are halfway there!
ICERM 2018
∂ui ∂t − vi = 0,
Test the displacement with the variation of the potential energy
ICERM 2018
∂ui ∂t − vi = 0,
ICERM 2018
Use solution as test function, integrate by parts, add up to get a Christmas present!
ICERM 2018
Use solution as test function, integrate by parts, add up to get a Christmas present!
Theorem 1. Suppose U h(t) and the fluxes v∗, w∗ are given. Suppose further that (2.2) is linear. Then
dUh dt
satisfying Problem 1 is uniquely determined and the energy identity for Eh(t) =
j Eh j (t)
(2.16) dEh dt =
vh
i fi(x, t) +
nk
i − vh i
∂G ∂ui,k (uh, ∇uh, x) + vh
i w∗ i,k
is satisfied.
h
Element-wise energy identity
Eh
j (t) =
1 2 ⏐ ⏐vh⏐ ⏐2 + G(uh, ∇uh, x)
Where
ICERM 2018
For the general parametrization We get element-wise contributions to the energy
ICERM 2018
For the general parametrization We get element-wise contributions to the energy
v∗
i = vh i,1,
w∗
i,k =
∂G ∂ui,k (uh
2, ∇uh 2, x).
v∗
i = {{vh i }} − ζi
2 [[D∇uiGh]], {{ }} − 2 w∗
i,k = − 1
2ζi [[vh
i ]]k + {{ ∂Gh
∂ui,k }}.
Alternating flux Sommerfeld flux Two attractive choices are:
ICERM 2018
Examples of equations that fit into the framework
σij = λuk,k δij + µ(ui,j + uj,i) + κ
2 (ϕi,j + ϕj,i) + β − γ 2 (ϕi,j − ϕj,i)
mji,j + εijkσjk − ρJ ¨ ϕi = 0 σji,j − ρ¨ ui = 0
Et = U, µ0ε0Ut = ∆E − µ0Z, Jt = Z, Zt = −ΓeZ + ε0ω2
peU,
Ht = V, µ0ε0Vt = ∆H − ε0Y, Kt = Y, Yt = −ΓmY + µ0ω2
pmV,
E = 1 2
+ (∇ × E)2 + (∇ × H)2 + µ0 ε0ω2
pe
Z2 + ε0 µ0ω2
pm
Y2
− G
Micropolar elasticity Maxwell Drude material
ICERM 2018
“Ok this is very general, but how do I implement it?!”
ICERM 2018
(uh
tt, U) + ah(uh, U)
= (f, U) ∀ U ∈ Vh, t ∈ J,
Test as usual, U is the test function.
ICERM 2018
(uh
tt, U) + ah(uh, U)
= (f, U) ∀ U ∈ Vh, t ∈ J,
ah(u, w) =
c∇u · ∇wdx −
[[u]] · {{c∇w}}dA −
[[w]] · {{c∇u}}dA + γ h
[[u]] · [[w]]dA.
Bilinear form: Test as usual, U is the test function.
ICERM 2018
(uh
tt, U) + ah(uh, U)
= (f, U) ∀ U ∈ Vh, t ∈ J,
ah(u, w) =
c∇u · ∇wdx −
[[u]] · {{c∇w}}dA −
[[w]] · {{c∇u}}dA + γ h
[[u]] · [[w]]dA.
Test as usual, U is the test function. Bilinear form: I.b.p, symmetry, penalty (stabilization). Energy conserving - optimal convergence - known bf.s.
ICERM 2018
ut − v = 0, in J × Ω, vt − ∇ · (c∇u) = f, in J × Ω, First order in time. (vh
t , V ) + bh(uh, V ) = (f, V ),
U = 0, ∀ V ∈ Vh, t ∈ J, Velocity equation looks as in SIPDG (b is not the same).
ICERM 2018
ut − v = 0, in J × Ω, vt − ∇ · (c∇u) = f, in J × Ω, First order in time. (vh
t , V ) + bh(uh, V ) = (f, V ),
U = 0, ∀ V ∈ Vh, t ∈ J,
Velocity equation looks as in SIPDG (b is not the same). We would like this type of estimate! What is missing above?
ICERM 2018
(vh
t , V ) + bh(uh, V ) = (f, V ),
U = 0, ∀ V ∈ Vh, t ∈ J,
dh(uh
t , U) − bh(U, vh) = 0,
V = 0, ∀ U ∈ Vh, t ∈ J.
Time for Christmas gifus!
ICERM 2018
(vh
t , V ) + bh(uh, V ) = (f, V ),
U = 0, ∀ V ∈ Vh, t ∈ J,
dh(uh
t , U) − bh(U, vh) = 0,
V = 0, ∀ U ∈ Vh, t ∈ J.
Time for Christmas gifus!
bilinear forms bh, and dh are dh(u, w) =
c∇u · ∇wdx, bh(u, w) =
c∇u · ∇wdx −
{{c∇u}} · [[w]]dA.
With the bilinear forms being.
ICERM 2018
(vh
t , V ) + bh(uh, V ) = (f, V ),
U = 0, ∀ V ∈ Vh, t ∈ J,
dh(uh
t , U) − bh(U, vh) = 0,
V = 0, ∀ U ∈ Vh, t ∈ J.
Time for Christmas gifus!
bilinear forms bh, and dh are dh(u, w) =
c∇u · ∇wdx, bh(u, w) =
c∇u · ∇wdx −
{{c∇u}} · [[w]]dA.
t , vh) + dh(uh t , uh) =
With the bilinear forms being. And we indeed get the energy identity.
ICERM 2018
The equation for u is
dh(uh
t − vh, U) = −
{{c∇U}} · [[vh]]dA,
dh(u, w) =
c∇u · ∇wdx,
t − vh) = L1vh. The form d is the “stiffness matrix” , which is singular So how should we evolve this?
ICERM 2018
t − vh) = L1vh.
t = vh + S†L1vh.
t − vh)dx = 0,
The energy does not see constants. So we add moments of its null space. Equivalently - compute Moore - Penrose inverse
ICERM 2018
S+ = (S + N)−1 − N.
hat g = (1, 0, . . . , 0)T .
is g = 1
n(1, 1, . . . , 1)T
sy to check that =
0) . If we use t N = ggT Given a choice of basis we know the null vector. Modal. Nodal. Not hard to show that
S†LR = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . 1/2 1/2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ , S†LL = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . −1/2 1/2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ .
uh
t = vh + S†L1vh.
Sometimes we can do even better! Legendre basis in 1D
ICERM 2018
Add appropriate dissipative but consistent terms
dh(uh
t , U) − dh(vh, U)
= −
{{c∇U}} · [[vh]] + [[∂U ∂n ]][[∂uh ∂n ]]dA, (vh
t , V ) + dh(uh, V )
= +
{{c∇uh}} · [[V ]] − [[V ]][[vh]] dA,
The upwind fluxes yields optimal convergence on general meshes (observed) and in 1D (theorem). Alternating fluxes are easily incorporated by replacing arithmetic averages with weighted averages
ICERM 2018
implementation in open source FEM libraries (MFEM, deal.ii, Fenics).
including learning MFEM…
estimate is easily extended to SBP-SAT, Galerkin differences, etc.