hybrid (dg) methods for the helmholtz equationschoeberl/wiki/talks/talk... · 2018-06-28 · hybrid...

21
Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch¨ oberl Computational Mathematics in Engineering Institute for Analysis and Scientific Computing Vienna University of Technology Contributions by A. Sinwel (Pechstein), P. Monk M. Huber, A. Hannukainen, G. Kitzler Numerical Analysis of Complex PDE Models in the Sciences, ESI June 2018 Joachim Sch¨ oberl Page 1

Upload: others

Post on 15-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Hybrid (DG) Methods for the Helmholtz Equation

Joachim Schoberl

Computational Mathematics in EngineeringInstitute for Analysis and Scientific Computing

Vienna University of Technology

Contributions byA. Sinwel (Pechstein), P. Monk

M. Huber, A. Hannukainen, G. Kitzler

Numerical Analysis of Complex PDE Models in the Sciences, ESI June 2018

Joachim Schoberl Page 1

Page 2: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Helmholtz Equation

Helmholtz Equation∆u+ ω2u = f

Impedance trace boundary condition

∂u

∂n+ iωu = iωgin

for convenience.better: PML, pole-condition, ...Weak form: Find u ∈ H1 s.t.∫

Ω

∇u∇v − ω2uv + iω

∫∂Ω

uv =

∫∂Ω

gv ∀ v ∈ H1

Joachim Schoberl Page 2

Page 3: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Weak and dual formulation

Mixed formulation. Introduce velocity σ := 1iω∇u:

∇u− iωσ = 0

div σ − iωu =1

iωf

σn + u = gin

Dual formulation. Eliminate u:∇ div σ + ω2σ = ∇f

Weak form:i

ω

∫div σ div τ − iω

∫στ +

∫∂Ω

σnτn =

∫f div τ +

∫∂Ω

ginτn

Joachim Schoberl Page 3

Page 4: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Function space H(div)

Dual formulation requires the function space

H(div) = τ ∈ [L2]d : div τ ∈ L2

has well-defined normal-trace operator

Raviart-Thomas Finite Elements:

VRT k = ~a+ b~x : ~a ∈ [P k]d, b ∈ P k

There holds[P k]d ⊂ VRT k ⊂ [P k+1]d, div VRT k = P k, trn,F VRT k ∈ P k(F )

Degrees of freedom are

• moments of normal traces on facets F of order k

• moments on the element T of order k − 1

dofs ensure continuity of normal-trace

Joachim Schoberl Page 4

Page 5: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Hybridization of RT -elements

Arnold-Brezzi hybridization technique: Do not incorporate normal-continuity

σ|T1· n1 + σ|T2

· n2 = 0

into the finite element space, but enforce it by additional equations (Lagrange multiplier):∫F

[σn]v = 0 ∀ v ∈ P k(F )

Hybrid system: Find σ ∈ V dcRT k

, u ∈ P k(F ) such that

∑Tiω

∫T

div σ div τ − iω∫Tστ +

∑T

∫∂Tτnu = 0 ∀τ∑

T

∫∂Tσnv +

∫∂Ωuv =

∫∂Ωginv ∀ v

u approximates the primal variable on the facet.

Wish to eliminate σ from first equation (small local problems !)BUT: local Dirichlet - problems are unstable for hω 1

Joachim Schoberl Page 5

Page 6: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Hybridization of Helmholtz equation

Add a second Lagrange multiplier [Monk+Sinwel+JS 11]

σn := σ|F · nF

and stabilize by adding 0 =∫∂T

(σn − σn)(τn − τn)

σ

σ

u^

σ^

n

∑Tiω

∫T

div σ div τ − iω∫Tστ +

∫∂Tσnτn +

∑T

∫∂Tτnu− τnσn = 0 ∀τ∑

T

∫∂Tσnv − σnτn +

∑T

∫∂Tσnτn +

∫∂Ωuv =

∫∂Ωginv ∀v

The element-variable σ can now be eliminated from the stable local equation (Robin - b.c.):

i

ω

∫T

div σ div v − iω∫T

στ +

∫∂T

σnτn =

∫∂T

(σn − u)τn

Joachim Schoberl Page 6

Page 7: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Analysis

• Unique discrete solution and convergence rate estimates by usual duality technique (h sufficiently small)

• Qualitative property: Impedance trace isometry

• conjecture: local solvability of discrete problem. brute-force proof for lowest order

Joachim Schoberl Page 7

Page 8: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Impedance trace isometry

Element equation reads as

i

ω

∫T

div σ div τ − iω∫στ +

∫∂T

σnτn =

∫∂T

(σn − u︸ ︷︷ ︸gin

)τn ∀ τ

define element-wise out-going impedance trace gout ∈ P k(F ) via

i

ω

∫T

div σ div v − iω∫στ −

∫∂T

σnτn =

∫∂T

goutτn

Choose τ = σ and take real parts: ‖σn‖2∂T = Re ∫

ginσn

So we get

‖gout‖2∂T = ‖gin − 2σn‖2∂T = ‖gin‖2 − 4Re

∫ginσn + 4‖gin‖2 = ‖gin‖2∂T

The facet-equations can be rephrased as (for neighbour elements T ).

gin = gout(σT )

Joachim Schoberl Page 8

Page 9: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Convergence plots

Comparing Hybrid-Helmholtz solution with conforming H1-FEM.

σ ∈ RT k, σn, u ∈ P k(F ). Postprocessing to u ∈ P k+1(T ).

1e-08

1e-07

1e-06

1e-05

0.0001

0.001

0.01

0.1

1

10

0.01 0.1 1

err

h

L-2 error u

RT3 - postprocstd FEM 4

Hybrid-Helmholtz has about twice the global dofs of standard FEM.

Joachim Schoberl Page 9

Page 10: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

How to solve ????

Want to iterate for facet-variables only.

Idea:

In the wave-regime the wave-relaxation

gin := gout(σT )

converges well. But, does not work for the elliptic regime when hω is small.

Try to combine with an elliptic preconditioner.

Joachim Schoberl Page 10

Page 11: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Facet dofs

Facet - dofs are Dirichlet and Neumann datau, σn,

or left- and right-going tracesgl, gr

transformation (gl

gr

)=

(1 11 −1

)(uσn

)holds point-wise since all variables are in P k(F )

Joachim Schoberl Page 11

Page 12: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Motivation: 1D system

The 1D system (with exact local problems) reads as(0 γ0 0

)(glj−1

grj−1

)+

(0 11 0

)(gljgrj

)+

(0 0γ 0

)(glj+1

grj+1,

)left and right-going plane waves with phase-shift γ.

left (right) going Gauss-Seidel for gl (gr) is an exact solve.

Matrix is not diagonal dominant.

But, exchanging rows pairwise gives a diagonal-dominant, non-symmetric matrix.

Krylov-space methods with most diagonal-like preconditioners do converge.

Joachim Schoberl Page 12

Page 13: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Facet-wise multiplicative Schwarz iteration

1 iteration 2 iterations 5 iterations

10 iterations

1e-09 1e-08 1e-07 1e-06 1e-05

0.0001 0.001 0.01 0.1

1 10

0 5 10 15 20 25 30 35 40 45 50

erro

r

iteration

k=16 Pi, p = 6k = 32 Pi, p = 12

Joachim Schoberl Page 13

Page 14: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Balancing domain decomposition methods

Domain decomposition, Ω = ∪Ωi, distribute elements

Sub-assemble fe matrices with sub-domain matrix Ai

A =∑

Ai

Balancing DD Preconditioner:

A−1 =∑

RiA−1i RTi

Elliptic case: local Neumann problems are singular !

Solution: BDD with constraints ⇒ BDDC (Dohrmann, Widlund, ...)

R

Acc Ac1 · · · AcmA1c A11

... . . .Amc Amm

−1

RT

Analysis for the elliptic case with logα condition numbers.

Joachim Schoberl Page 14

Page 15: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

BDDC for the Hybrid Helmholtz system

Bilinearform

B(σ, σ, u; τ, τn, v) =∑T

i1

ω

∫div σ div τ − iω

∫στ +

∫∂T

σnv + τnu+

+

∫∂T

(σn − σn)(τn − τn)− γ∫∂T

σnv + τnu

The new blue term is consistent

Apply BDDC preconditioner with mean-value facet-dof constraints

Good values for γ are found by experiments.

[M. Huber+JS, Hybrid Domain Decomposition Solvers for the Helmholtz Equation, DD XXI, 2014]

Joachim Schoberl Page 15

Page 16: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Iteration numbers

with coarse grid, 4 domains

L/λ 2 8 32p=2 21 25 -p=4 27 30 42p=8 38 46 41p=16 59 73 60

with coarse grid, 16 domains

L/λ 2 8 32p=2 23 32 -p=4 33 41 76p=8 42 57 71p=16 65 87 100

no coarse grid, 4 domains

L/λ 2 8 32p=2 51 40 -p=4 64 48 40p=8 96 61 43p=16 132 84 63

no coarse grid, 16 domains

L/λ 2 8 32p=2 85 80 -p=4 109 88 101p=8 148 110 89p=16 214 159 123

Joachim Schoberl Page 16

Page 17: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

p-Version on rectangular grid

p up to 2048 on rectangles (tensor product).

A. Hannukainen, M. Huber, JS, Journal of modern optics, 2011

Joachim Schoberl Page 17

Page 18: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Infrastructure

• general purpose hp - Finite Element Code Netgen/NGSolve V 5.1

C++, open source

MPI - parallel

• Dell R 910 Server

4 Xeon E7 CPUs 10 core @ 2.2 GHz

512 GB RAM shared memory (NUMA)

• Vienna Scientific Cluster 2

20 000 cores, 2 GB RAM / core

Joachim Schoberl Page 18

Page 19: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Diffraction from a grating

Sphere with D = 40λ, 127k elements, h ≈ λ, p = 5, 39M dofs (corresponds to 9.4M primal dofs)

78 sub-domains / processes, no coarse grid

Tass = 9m, Tpre = 12m, Tsolve = 21m, 156 its

Joachim Schoberl Page 19

Page 20: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Diffraction from rods

Sphere with D = 80λ, 2.24M elements, h ≈ 0.8λ, p = 4, 536M dofs

2000 sub-domains / processes, no coarse grid

Tass = 50s, Tpre = 30s, Tsolve = 12m, 496 its

Joachim Schoberl Page 20

Page 21: Hybrid (DG) Methods for the Helmholtz Equationschoeberl/wiki/talks/talk... · 2018-06-28 · Hybrid (DG) Methods for the Helmholtz Equation Joachim Sch oberl Computational Mathematics

Computational Optics

factor out wavy part

u = eik·xu

simple guess: k = n

(ω0

)

better: ray-tracing, Eikonal equation

lense, n = 2

smooth u wavy u

with LightTrans GmbH, Jena

Joachim Schoberl Page 21